SAML基本原理(一)

日期: 2007-12-25 来源:TechTarget中国

  SAML将所有与检索、传输和共享安全信息相关的功能标准化为以下形式:

  * 为用户提供XML安全信息格式和请求及传输信息的格式。
  * 定义这些消息与SOAP等协议协作的方式。
  * 为像Web SSO这样的常见用例定义精确的消息交换。
  * 支持众多种隐私保护机制,包括在不披露用户身份的情况下确定用户属性的功能。
  * 详述在Unix、Microsoft Windows、X509、LDAP、DCE和XCML这些广泛应用的技术所提供的格式中处理身份信息的方法。
  * 提供一种系统的元数据机制,使得所有参与其中的系统能就所支持的SAML选项进行通讯。

  此外,SAML的设计特别关注了灵活性。遇到标准尚未涵盖的需求时可扩展。

  SAML的角色、断言和语句

  一个联邦环境至少包括三个角色。

  * 信任方——利用身份信息;具代表性的信任方是Service Provider,由其决定允许何种请求。
  * 断言方——提供安全信息;SAML称之为“Identity Provider”。
  * 主题——与身份信息相关的用户。

  任何环境下都会有许多主题和数个Service Provider。也可能存在多个Identity Provider。

  基本上,Service Provider或信任方需要了解三件事情:

  * 身份信息。
  * 产生请求的一方请求的用户是主题。
  * 提供身份信息的Identity Provider是可信任的。

  在SAML中,断言携带信息。断言中包含头信息、主题名称和一个或多个语句。头信息包含Identity Provider的名称和像发行与有效期等其他信息。

  两类最重要的语句为:

  * 身份验证语句——关于该主题是一个在特定时间和地点、使用特殊的方法进行过身份验证的报告。SAML提供了超过20种不同身份验证方法的详细定义。身份验证语句支持SSO, 其中Identity Provider代表Service Provider进行登录。
  * 属性语句——包含与主题有关的属性。一条属性语句中的典型属性是组和角色,除此之外还会携带财政数据或任何其它属性。

  一种断言可同时携带这两种类型的语句。也可以自行定义其他语句类型。实际上,XACML已经定义一个可传送策略的语句和一个通讯授权决策结果的语句。

  SAML的强项之一就是其灵活性。Identity Provider能对断言进行数字签名。而且它还可选择使用其它像SSL这样的方法,以确保信息的完整性。断言可以包含一个名为Subject Confirmatin的元素,Service Provider使用该元素来确定断言中的信息是否涉及提出当前请求的一方。再强调一下,SAML允许Service Provider采用多种手段实现此目的。

 

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐