cas和saml_揭穿SAML神话和误解

cas和saml

作为新手,SAML规范正在与现有的单点登录技术,身份验证服务和目录服务进行比较。 SAML是可能利用身份验证协议的第一个协议,以利用Web基础结构,其中XML数据通过TCP / IP 络上的HTTP协议移动。

OASIS小组将SAML开发为用于交换安全信息的基于XML的框架。 SAML与其他安全方法的不同之处主要在于,SAML以关于主题的断言形式表示安全性。 其他方法使用中央证书颁发机构来颁发证书,以保证 络中从一个点到另一点的安全通信。 使用SAML, 络中的任何点都可以断言它知道用户或数据的身份。 如果接收方的应用程序信任该断言,则由它接受。 任何符合SAML的软件都可以声明其对用户或数据的身份验证。 这对于即将到来的业务工作流Web服务标准浪潮很重要,在该标准中,安全数据需要在多个系统中移动才能完全处理事务。

误解: SAML是完整的身份管理解决方案

在身份管理解决方案中,SAML作为服务器之间的通信协议扮演着重要的角色。 但是,SAML并不是一个完整的解决方案。 在信息系统安全领域, 身份管理最近以一个新术语出现,涵盖了以下计算领域:

  • 供应。 将新用户添加到企业内部和合作伙伴信息系统外部的 络操作系统目录和应用程序服务器目录中。
  • 密码管理。 使用户拥有一套凭据即可登录公司信息系统。 此外,它使用户可以自我管理其密码,用户帐户数据和特权。
  • 访问控制。 使系统能够识别用户组的安全策略。 例如,安全策略将阻止人们更改自己的职位,而将更改职位的请求路由到适当的权限。

SAML是两个服务器需要共享身份??验证信息时使用的协议规范。 SAML规范中没有任何内容提供商业目录服务器否则提供的实际身份验证服务。

误解:企业之间的Web单点登录已被很好地理解并且易于实现

SAML是降低许多服务提供商之间可互操作的信息系统的构建和运营成本的众多尝试之一。 在当今竞争激烈,瞬息万变的环境中,出现了企业联合会,这些联合会通过浏览器和支持Web的应用程序为用户提供互操作性。 例如,在旅行 站上,用户可以预订机票和租车,而不必多次登录。 如今,需要成群的软件开发人员,QA技术人员和IT经理来处理复杂且不可靠的后端系统,这些后端系统提供了企业之间的联合安全性。

在典型的基于Web的基础架构中,运行领先企业系统的软件需要处理授权服务器之间的浏览器重定向; 服务器域,公共密钥基础结构(PKI)加密和数字证书之间的HTTP发布命令; 以及共同商定的机制,用于说明任何给定用户或组的信任级别。 SAML向软件开发人员展示了如何表示用户,识别需要传输的数据以及定义发送和接收授权数据的过程。

误解: SAML是一个复杂的设计

SAML为需要在Web基础结构(XML / HTTP / TCP)上设计和构建可伸缩和联合系统的系统架构师提供了一个蓝图。 即使您决定不使用SAML,SAML规范也会回答许多系统架构师在构建可互操作的,启用Web的系统时需要回答的许多设计问题。

作为示例,请考虑用于将授权请求编码为XML请求的SAML断言机制。 SAML定义了几种类型的语句:

身份验证。 主题已登录。例如,用于身份验证的SAML声明可能如下所示:

属性。 标识主题的属性。 例如,fcohen@pushtotest.com的角色为Admin。

授权决定。 声明允许对象对资源执行操作。 例如,fcohen @ pushtotest.com被授权 http://www.pushtotest.com/ptt/kits/index.html。

断言属性。 一种可选机制,使行业联盟可以定义特定于其行业的属性。

此外,SAML定义了断言中的语句共享的断言属性,包括:

版本属性。 标识断言所遵循的SAML规范的主要版本和次要版本。

签名。 SAML定义了一个XML签名元素来标识授权。 它可以包含带有公共密钥,到期日期和使用策略的X509证书。 XML签名还包含签名值本身,该签名值由权限为元素的内容生成。 可以使用X509证书中的授权机构的公钥信息来验证签名。 通常,SAML的复杂性来自基于SAML的软件的部署以及公共密钥基础结构(PKI)环境和数字证书的设置。

SAML还定义了可选的条件元素,以限制授权请求的有效性。 例如,SAML令牌可能在指定的UTC编码日期之前有效,而不是或 。 请注意,像SOAP-DSIG一样,SOAP安全与SAML不同。 SOAP在WS-I和WS-Security中都有自己的安全提议,它们使用SOAP标头来嵌入安全性,加密和认证令牌。 SAML更适合基于TCP的Web应用程序上的HTTP。

误解: SAML预定义了大多数行业的所有属性含义

SAML并未定义任何行业的属性含义。 相反,SAML定义了一种命名空间机制,行业协会可以使用该机制来定义其特定行业的属性。 例如,在航空航天业中,SAML属性定义了航空公司的机械师。 系统两端的各方需要分别就SAML使用的名称空间达成一致。

SAML规范标识其自己的名称空间以限定SAML属性和元素。 例如,名称空间定义了SAML操作使用的get / head / put / post http操作。 如果SAML名称空间格式看起来很奇怪,那可能是因为SAML名称空间不遵循SOAP和XML-RPC中已成为传统XML名称空间格式的格式。 XML名称空间是URI。 SAML使用URI的URN变体,而其他使用URL的变体。

误解: SAML是身份验证机构

SAML是在服务器之间使用的身份验证协议 。 您仍然需要一些可以真正为您执行登录的东西。 SAML只能说“您已登录”。 例如,当LDAP服务器对用户进行身份验证时,即使LDAP服务器可能正在使用SAML来传达授权,身份验证机构还是LDAP服务器。

在完整的身份验证系统中,您仍然需要编写策略决策点来确定用户是否可以访问 页。 此外,您仍然需要编写策略执行点。 这是一个servlet或应用程序,它接收授权,检查角色和授权,然后进行断言。 包括IBM在内的多家公司提供商业策略决策点和策略执行点解决方案。

误解:在身份验证需要传输大数据的地方,SAML不能很好地工作

当授权请求对于HTTP重定向而言过长时,SAML定义了一种人工机制。 SAML工件长40字节,包含一个类型代码(源ID为20字节)和一个20字节的随机数,服务器使用这些随机数来查找断言。 源服务临时存储断言。 目标站点接收该断言,并从源站点上的工件直接提取所需的数据。 这允许两个不同的安全服务器使用构件。

误解:使用重播技术很容易打破SAML

重播攻击是拦截有效消息并将其重播回服务的位置。 您可以使用重播攻击来创建数据完整性问题以及拒绝服务攻击。

SAML通过在传输断言和消息时要求使用SSL加密,特别是防止断言的拦截,从而提供了免受重放攻击的保护。 另外,SAML提供了一种数字签名机制,该机制使断言具有有效时间范围,以防止断言稍后被重播。

最后,工件概要文件还有两个附加的重放对策:

  • SAML源站点仅将断言返回到向其发送工件的请求者。
  • 第一次使用工件后,SAML源站点将擦除其工件到断言的映射,从而使重播的工件无效。

误解: SAML定义了发现过程以查找认证机构

SAML没有定义一种机制来查找接受SAML断言的目标站点。 SAML定义了一种用于身份验证的推送机制:用户登录到源站点,然后该站点将一个断言发送到目标站点。 此过程需要在源站点和目标站点之间进行数字签名。 在Web环境中,浏览器将表单发布到目标站点,并在隐藏的表单变量中包含Base64编码的签名和断言。 将来的SAML规范可能会包含发现机制。

误解: SAML无法自动处理匿名访问或来宾访问

SAML没有提供匿名身份验证的规定。 请考虑以下情形: 站允许您使用合作伙伴 站的功能,但是不允许合作伙伴 站知道您的身份。 SAML不提供此功能。 可以获取SAML来处理匿名或来宾访问,但这需要参与的企业同意自己的匿名或来宾授权访问约定。

误解: SAML提供了自己的证书机制

SAML建立在需要SSL证书的基础上,以提供SAML断言的数字签名和加密。 因此,SAML带来了SSL带来的所有痛苦。

SAML是最早要求这种程度的细粒度安全性的协议之一。 例如,XKMS提供的细粒度安全性对SAML声明进行身份验证。 同时,SAML通过要求使用HTTP Basic或SSL客户端证书认证的HTTP客户端授权来为SAML工件提供安全性。 工件仅发送给预期的请求者,并且在检索之后将其删除。

误解: SAML是蒸气软件; 尚无人实施

已经有许多商业和开源产品提供SAML,包括:

  • IBM Tivoli Access Manager
  • Oblix NetPoint
  • SunONE身份服务器
  • 巴尔的摩,SelectAccess
  • 诚信解决方案AssureAccess
  • Internet2 OpenSAML
  • Netegrity SiteMinder
  • Sigaba安全消息解决方案
  • RSA安全性ClearTrust
  • 威瑞信信任集成工具包
  • 委托GetAccess 7

误解:不需要XML签名中的规范化

这是完全错误的。

这根本是错误的。 XML签名是一种规范,旨在满足将数字签名与XML文档(包括SAML)一起使用的特殊要求。 W3C的XML签名工作组正在开发一种XML语法,以对几乎所有内容进行签名(例如XML文档,SOAP消息头和XML元素),并提供用于创建和验证数字签名的协议和过程。

XML签名中的规范化对于允许多个服务之间的认证是必需的。 例如,考虑当您通过浏览器界面从制造商那里购买个人计算机时,在服务器端会发生什么情况。 多种服务处理您的订单部分:一项提供搜索以查找您想要订购的产品,另一项是提供您的付款信息的计费服务,而最后一项服务则提供您的运输信息。 这三个系统使用SAML断言共享您的记录。 规范化确保即使三个不同的系统正在处理记录,记录中字节的顺序也保持不变。 如果不进行规范化,则记录可能会更改,并使XML签名无效,因为XML签名的任务是确保已签名的内容完整且具有相同的字节顺序。 使用SAML不需要XML签名或WS-Security。

结论

由于已经有许多专注于安全性的公司提供运输产品,SAML有了一个良好的开端。 SAML规范提供了一个良好的框架,用于在一组联合服务之间设计启用Web的单点登录服务。 SAML规范工作组继续合理化SAML与其他新兴标准(包括WS-Security)之间的互操作性要求。


翻译自: https://www.ibm.com/developerworks/xml/library/x-samlmyth/index.html

cas和saml

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览93916 人正在系统学习中 相关资源:水和蒸汽计算软件源程序-C++代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年5月16日
下一篇 2020年5月16日

相关推荐