SAML2.0协议翻译

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SAML2.0SecurityAssertionMarkupLanguage(SAML)是以XML为基础的,为在安全域间交换认证和授权数据的标准,即在身份提供者(断言的产生者)和服务提供者(断言消费者)间进行交换。SAML是OASISSecurityServicesTechnicalCommittee提出并定为标准的。SAML2.0在2005年3月被批准成为OASIS的标准。SAML2.0的重要方面是他的官方文档#SAMLConform,#SAMLCore,#SAMLBind,和#SAMLProf覆盖了协议的详细细节。如果你初次接触SAML,你应该先阅读SAML主题的介绍,然后从OASIS中阅读#SAMLOverview文档。来自24个企业和组织超过30人参与了SAML2.0的创建。特别值得一提的是,自由联盟把他们的身份联盟框架(ID-FF)捐献给OASIS,ID-FF成为了SAML2.0基础规范。因此SAML2.0代表SAML1.1,自由ID-FF1.2,和Shibboleth1.3的集中。SAML2.0断言SAML断言一个重要的类型被称为“bearer”断言,它被用于帮助Web浏览器的SSO。下面是一个很短活跃周期的bearer断言,他是由身份提供者()发布给服务提供方的断言中包含saml:AuthnStatement和saml:AttributeStatement,假设该断言是服务提供方用来做访问控制决定的。saml:Assertionxmlns:saml=urn:oasis:names:tc:SAML:2.0:assertionxmlns:xs=:xsi==b07b804c-7c29-ea16-7300-4f3d6f7928acVersion=2.0IssueInstant=2004-12-05T09:22:05Zsaml:Issuer:Issuerds:Signaturexmlns:ds=:Signaturesaml:Subjectsaml:NameIDFormat=urn:oasis:names:tc:SAML:2.0:nameid-format:transient3f7b3dcf-1674-4ecd-92c8-1544f346baf8/saml:NameIDsaml:SubjectConfirmationMethod=urn:oasis:names:tc:SAML:2.0:cm:bearersaml:SubjectConfirmationDataInResponseTo=aaf23196-1773-2113-474a-fe114412ab72Recipient==2004-12-05T09:27:05Z//saml:SubjectConfirmation/saml:Subjectsaml:ConditionsNotBefore=2004-12-05T09:17:05ZNotOnOrAfter=2004-12-05T09:27:05Zsaml:AudienceRestrictionsaml:Audience:Audience/saml:AudienceRestriction/saml:Conditionssaml:AuthnStatementAuthnInstant=2004-12-05T09:22:00ZSessionIndex=b07b804c-7c29-ea16-7300-4f3d6f7928acsaml:AuthnContextsaml:AuthnContextClassRefurn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport/saml:AuthnContextClassRef/saml:AuthnContext/saml:AuthnStatementsaml:AttributeStatementsaml:Attributexmlns:x500=urn:oasis:names:tc:SAML:2.0:profiles:attribute:X500x500:Encoding=LDAPNameFormat=urn:oasis:names:tc:SAML:2.0:attrname-format:uriName=urn:oid:1.3.6.1.4.1.5923.1.1.1.1FriendlyName=eduPersonAffiliationsaml:AttributeValuexsi:type=xs:stringmember/saml:AttributeValuesaml:AttributeValuexsi:type=xs:stringstaff/saml:AttributeValue/saml:Attribute/saml:AttributeStatement/saml:Assertion注意saml:Assertion元素包含如下的子元素:saml:Issuer元素,包含了身份提供者的唯一身份。ds:Signature元素,包含了在saml:Assertion元素中完整保存的数字签名.saml:Subject元素,定义了认证过的主体,但是在该实例中,因为保密的原因,主体身份被隐藏在透明的transient标识之后。saml:Conditions元素,给出了断言被认为有效的验证条件。saml:AuthnStatement元素,描述了在身份提供者的认证行为。saml:AttributeStatement元素,声明了认证主体相关的多值属性。通俗的说,断言被编码成如下信息:在时间为2004-12-05T09:22:05Z时,身份提供者()唯一发布了关于主体(3f7b3dcf-1674-4ecd-92c8-1544f346baf8)的断言(b07b804c-7c29-ea16-7300-4f3d6f7928ac),发送给服务提供方()。特殊说明的是,认证声明说明如下信息:包含在saml:subject中的认证过的主体元素,在时间“2004-12-05T09:22:00Z”被认证,也就是说密码通过受保护的通道被发送过来。同样,属性声明陈述为:在saml:Subject元素中的被验证的主体在一个机构中的工作人员。SAML2.0协议在#SAMLCore中制定了如下协议:断言查询和请求协议#AuthenticationRequestProtocol认证请求协议#ArtifactResolutionProtocolartifact解决协议命名身份管理协议单点退出协议命名身份映射协议这些协议中最重要的协议,认证请求协议,在下面讲详细讨论。认证请求协议记得SAML1.1的WebBrowserSSOProfiles是idp初始化的,也就是说,一个未经同意的samlp:Response元素通过浏览器从身份提供方传递到服务提供方。在SAML2.0里,流程从服务提供方开始,服务提供方发布一个详细的认证请求到身份提供方。因此,AuthenticationRequestProtocol是SAML2.0的一个重要的新特性。当一个主体或者代表主体的实体,希望获得包含认证声明时,samlp:AuthRequest元素需要被传输到身份提供方。samlp:AuthnRequestxmlns:samlp=urn:oasis:names:tc:SAML:2.0:protocolxmlns:saml=urn:oasis:names:tc:SAML:2.0:assertionID=aaf23196-1773-2113-474a-fe114412ab72Version=2.0IssueInstant=2004-12-05T09:21:59ZAssertionConsumerServiceIndex=0AttributeConsumingServiceIndex=0saml:Issuer:Issuersamlp:NameIDPolicyAllowCreate=trueFormat=urn:oasis:names:tc:SAML:2.0:nameid-format:transient//samlp:AuthnRequest上面的samlp:AuthnRequest元素,暗中还请求了包含认证声明的断言,很显然是由服务提供方发布,随后通过浏览器传给身份提供方。身份提供方认证主体,并且发布认证响应,通过浏览器传输回服务提供方。ArtifactResolutionProtocolSAML消息通过值或者值引用从一个实体传到另一个实体。对SAML消息的引用被成为artifact。Artifact的接受者,通过直接发送samlp:ArtifactResolve请求到artifact的发布者来处理引用,然后发布者响应由artifact引用的真实的消息。例如,假设身份提供方通过后台通道直接发送如下的samlp:ArtifactResolve请求到服务提供方:samlp:ArtifactResolvexmlns:samlp=urn:oasis:names:tc:SAML:2.0:protocolxmlns:saml=urn:oasis:names:tc:SAML:2.0:assertionID=_cce4ee769ed970b501d680f697989d14Version=2.0IssueInstant=2004-12-05T09:21:58ZDestination=:Issuer:Issuerds:Signaturexmlns:ds=:Signaturesamlp:ArtifactAAQAAMh48/1oXIM+sDo7Dh2qMp1HM4IF5DaRNmDj6RdUmllwn9jJHyEgIi8=/samlp:Artifact/samlp:ArtifactResolve作为响应,服务提供方附上artifact返回SAML元素。该协议格式就是HTTPArtifactBinding基础。SAML2.0绑定SAML2.0支持的绑定有如下的绑定规范:SAMLSOAP绑定(基于SOAP1.1)反SOAP绑定(PAOS);HTTP重定向绑定(GET);HTTPPOST绑定;SAMLURI绑定。对于Web浏览器的SSO,最常用的属于HTTPPOST绑定。不管是服务提供方还是身份提供方使用HTTPPOST来传输协议消息,一个实体的绑定选择是和其伙伴的绑定选择是独立的。例

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功