GB-T 29242-2012 信息安全技术 鉴别与授权 安全断言标记语言.pdf
- 文档编号:14660866
- 上传时间:2023-06-25
- 格式:PDF
- 页数:72
- 大小:1.18MB
GB-T 29242-2012 信息安全技术 鉴别与授权 安全断言标记语言.pdf
《GB-T 29242-2012 信息安全技术 鉴别与授权 安全断言标记语言.pdf》由会员分享,可在线阅读,更多相关《GB-T 29242-2012 信息安全技术 鉴别与授权 安全断言标记语言.pdf(72页珍藏版)》请在冰点文库上搜索。
ICS35.040L80中华人民共和国国家标准GB/T292422012信息安全技术鉴别与授权安全断言置标语言InformationsecuritytechnologyAuthenticationandauthorizationSecurityassertionmarkuplanguage2012-12-31发布2013-06-01实施中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会发布中华人民共和国国家标准信息安全技术鉴别与授权安全断言置标语言GB/T292422012*中国标准出版社出版发行北京市朝阳区和平里西街甲2号(100013)北京市西城区三里河北街16号(100045)网址:
www.gb168.cn服务热线:
010-51780168010-685220062013年5月第一版*书号:
1550661-46985版权专有侵权必究目次前言引言1范围12规范性引用文件13术语和定义14缩略语25一致性26SAML断言26.1概述26.2方案头与命名空间声明36.3名称标识符46.4断言66.5主体86.6条件116.7建议156.8声明167SAML协议237.1概述237.2方案头与命名空间声明237.3请求与响应247.4断言查询和请求协议297.5认证请求协议347.6假名解析协议407.7名称标识符管理协议427.8单点登出协议447.9名称标识符映射协议478SAML版本488.1概述488.2SAML规范集版本488.3SAML命名空间版本509SAML和XML签名句法与处理519.1概述519.2签名断言519.3请求/响应签名519.4签名的继承519.5XML签名机制51GB/T29242201210SAML和XML加密句法与处理5210.1概述5210.2签名和加密的组合5311SAML扩展性5311.1概述5311.2方案扩展5311.3方案通配符扩展点5411.4标识符扩展5412SAML定义标识符5412.1概述5412.2行为命名空间标识符5512.3属性名称格式标识符5612.4名称标识符格式标识符5612.5许可标识符58附录A(规范性附录)部分定义和格式要求60A.1方案组织和命名空间schemaorganizationandnamespaces60A.2字符串值stringvalues60A.3URI值URIvalues61A.4时间值timevalues61A.5ID及ID引用值idandidreferencevalues61附录B(资料性附录)签名响应的示例62参考文献65GB/T292422012前言本标准依据GB/T1.12009给出的规则起草,在制定过程中参考了信息标准促进组织(OASIS:
OrganizationfortheAdvancementofStructuredInformationStandards)的saml-core-2.0-os。
本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。
本标准起草单位:
中国科学院软件研究所、工业和信息化部电信研究院。
本标准主要起草人:
陈驰、冯登国、付艳艳、张立武、荆继武、聂秀英、毕立波、薛宁、江浩洁、武静。
GB/T292422012引言近年来,越来越多的信息系统通过Web服务、门户和集成化应用程序等方式实现互联,彼此间的安全信息共享需求日益强烈。
但在互联网跨安全领域应用场景中,缺乏关于认证、属性和授权信息传输格式和协议的规范,信息安全产品之间互操作困难的情况,仍没有得到很好的解决。
本标准通过定义一整套严格的、遵从XML编码格式的、关于安全断言的语法和语义规范以及标准的协议集合来缓解这种状况。
本标准参考了结构化信息标准促进组织(OASIS)的文件SecurityAssertionMarkupLanguage(SAML)v2.0。
在原文件的基础上增加了“术语和定义”部分,增加了对标准范围的说明,修改了原文件的简介部分并增设了附录说明。
同时新增了协议关系图说明各SAML协议间的关系。
GB/T292422012信息安全技术鉴别与授权安全断言置标语言1范围本标准定义了一系列遵从XML编码格式的关于安全断言的语法、语义规范、系统实体间传递和处理SAML断言的协议集合和SAML系统管理相关的处理规则。
本标准适用于在互联网跨安全域应用场景中,身份鉴别,认证与授权服务的开发、测试、评估和采购。
2规范性引用文件下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
ISO/IEC13568:
2002信息技术Z形式规范注释语法、形式系统和语义学(Informationtech-nologyZformalspecificationnotationSyntax,typesystemandsemantics)RFC1510Kerberos网络认证请求器(V5)(TheKerberosNetworkAuthenticationService(V5)RFC2253轻量级目录访问控制(V3)(LightweightDirectoryAccessProtocol(V3)RFC2396统一资源标识:
通用语法(UniformResourceIdentifiers(URI):
GenericSyntax)RFC2822因特网消息格式(InternetMessageFormat)RFC3513IPV6地址结构(InternetProtocolVersion6(IPv6)AddressingArchitecture)3术语和定义下列术语和定义适用于本文件。
3.1断言assertion由SAML权威生成的对于主体认证行为的结果,包括与主体相关的属性信息或主体可使用的授权信息等数据。
3.2鉴别authentication验证实体所声称的身份的动作。
3.3授权authorization给予权利,包括访问权的授予。
3.4绑定,协议绑定binding,protocolbinding将一个关于协议消息和消息交换模式的标准映射到另一个协议的具体形式标准。
注:
将SAML中的消息映射到HTTP就是绑定的一个例子。
下文中,在SAML上每个绑定都以“SAMLxxxbinding”的格式命名。
1GB/T2924220123.5依赖方relyingparty根据从另一实体处获得的信息来决定如何进行动作的系统实体。
注:
SAML依赖方依赖于从断言方(SAML权威)接收到的关于主体的断言。
3.6SAML权威SAMLauthoritySAML域模型中签发断言的抽象系统实体。
3.7主体subject能访问客体的主动实体。
注:
在本标准中,SAML断言是对主体进行的声明。
3.8用户user使用系统和系统资源的自然人。
注:
尽管用户的概念能够被扩充以包含机器网络自主智能代理,但在本标准中,用户仅限于自然人。
4缩略语下列缩略语适用于本标准:
HTTP超文本传输协议(HypertextTransferProtocol)IdP身份提供者(IdentityProvider)RFC请求注解(RequestForComments)SAML安全断言置标语言(SecurityAssertionMarkupLanguage)SOAP简单对象访问协议(SimpleObjectAccessProtocol)SP服务提供者(ServiceProvider)URI统一资源标识(UniformResourceIdentifier)URL统一资源定位符(UniformResourceLocator)URN统一资源名(UniformResourceName)UTC世界标准时间(UniversalTimeCoordinated)XML可扩展置标语言(eXtensibleMarkupLanguage)5一致性对于一个特定的应用,并非必须涉及安全断言置标语言的所有特征。
鉴于此,本标准提供了一种通过对置标语言的特征进行选择以适用特定应用的方法。
本标准中所定义的所有必需的核心特征集合都采用显式的必需进行标注,其他可选的特征集合则会采用可选进行标注,以方便使用者针对特定的应用进行选择。
6SAML断言6.1概述断言是一个包含零个或更多个由SAML权威作出的声明的信息包。
SAML断言通常与由元素表示的主体有关,但是断言中的元素是可选的,以便其他的标准利用SAML断2GB/T292422012言来构建不包含特定主体的声明或通过其他方式来指定主体。
通常,多个服务提供者SP会利用关于主体的断言来进行访问控制和提供个性化服务,这些SP就成为了这些断言发布者(称为身份提供者IdP)的依赖方。
本标准定义了SAML权威可以生成的三种不同的断言声明。
所有符合SAML定义的声明都与一个主体有关。
这三种声明分别为:
a)认证断言主体在特定的时间通过特定的方式被认证过。
b)属性断言主体与提供的属性相关联。
c)授权结果断言主体对特定资源的访问请求通过或被拒绝。
断言的外部结构是通用的,提供了内部声明的公共信息。
断言内部,通过一系列的内部元素描述了认证、属性、授权结果以及用户自定义的声明。
SAML断言方案允许用户对现有断言和声明进行扩展或定义新的断言和声明类型,相关信息参见第11章。
6.2方案头与命名空间声明下面的示例定义了断言方案的XML命名空间以及其他头信息。
示例:
Documentidentifier:
saml-schema-assertion-2.0Location:
http:
/docs.oasis-open.org/security/saml/v2.0/Revisionhistory:
V1.0(November,2002):
InitialStandardSchema.V1.1(September,2003):
UpdateswithinthesameV1.0namespace.V2.0(March,2005):
NewassertionschemaforSAMLV2.0namespace.3GB/T292422012.6.3名称标识符6.3.1概述本节中定义了包含主体、断言签发者和协议消息的描述标识符的SAML结构体。
在某些环境中,SAML中的两个系统实体需要关于第三方进行一些通信(例如SAML认证协议允许第三方认证一个主体),因此有必要建立一个将参与方与标识符进行关联的方法。
在某些情况下,需要限制标识符的使用范围,使其只能被少数几个系统实体使用(例如保护主体的隐私)。
类似的标识符也可以用来引用协议消息或断言的签发者。
多个系统实体可能会对不同的身份使用同样的标识符,因为不同的系统实体对同样名称的理解是不同的。
SAML通过名称限定词,即把名称标识符置入一个和名称限定词相关的命名空间来消除该种歧义。
SAML允许标识符通过断言发布方和特定依赖方或从属关系的方式被限定,需要时允许以配对语意的形式出现。
当需要通过中间人来传输名称标识符时,可以通过对标识符加密来增强其隐私保护特性。
注:
为了避免使用高级XML方案结构(以及其他原因),不同类型的标识符元素不能共享同一个类型层次。
6.3.2元素元素是一个扩展点,使得应用程序可以添加新类型的标识符。
它是BaseIDAbstractType复合类型的元素,该复合类型是一个抽象类型,因此只能作为被继承的源类型。
它包含下列用来扩展的属性:
a)NameQualifier可选限定该标识符的安全域或管理域的名称。
该属性与标识符联合作用,以避免同名用户的冲突。
b)SPNameQualifier可选使用服务提供者的名称进一步限定标识符。
该属性为依赖方提供了一种联合标识符的方法。
如果标识符类型定义中未明确定义NameQualifier和SPNameQualifier的用途和语义,则这两个属性应该被省略。
下面的示例定义了元素及BaseIDAbstractType复合类。
示例:
6.3.3NameIDType复合类当元素通过字符串描述一个实体时,需要使用NameIDType复合类。
它比元素拥有更加严格的限制,它也是元素和元素的底层类型。
除了描述实体的字符串外,它还包括下列属性:
4GB/T292422012a)NameQualifier可选限定该标识符的安全域或管理域的名称。
该属性把标识符和名称限定词联合以避免同名用户的冲突。
b)SPNameQualifier可选使用服务提供者的名称进一步限定标识符,该属性为依赖方提供了一种联合标识符的方法。
c)Format可选一个URI指针,用于描述基于字符串的标识符所属的类别。
如果Format的值没有指定,并且没有其他特殊说明,则以urn:
oasis:
names:
tc:
SAML:
1.0:
nameid-format:
unspecified作为默认值。
如果指定的Format值不符合12.4给出的细节要求,将根据标准外提供的说明进行解释。
除非定义中明确指出,否则与断言发送方和依赖方相关的标识符的匿名性、假名性和持续性将由具体实现决定。
d)SPProvidedID可选服务提供者建立的一个与元素中的主标识符不同的名称标识符。
该属性提供了一种根据服务提供者的标识符进行整合的方法。
例如,一个已存在的标识符可以通过使用7.7节中描述的名称标识符管理协议“连结”一个实体。
关于上述属性的额外使用规则可以在使用此复合类的上层元素中定义,或者通过Format值来进行定义。
如果上层元素定义和Format均未明确定义NameQualifier和SPNameQualifier的用途和语义,则这两个属性应该被省略。
下面的示例定义了NameIDType复合类。
示例:
6.3.4元素元素为NameIDType类型,用在和元素等多种SAML断言结构和多种协议消息中。
下面的示例定义了元素。
示例:
6.3.5元素元素为EncryptedElementType类型,包含一个加密的标识符元素。
元素包含以下元素:
a)必需加密内容及相关细节。
其Type属性应该存在,并且若该属性存在,应包含值http:
/www.w3.org/2001/04/xmlenc#Element。
加密内容应包含一个NameIDTy-pe或AssertionType类型的元素,5GB/T292422012或起源于BaseIDAbstractType、NameIDType和AssertionType类型的元素。
b)0个或多个打包解密密钥。
每个解密密钥应该包含一个Recipient属性,指出该密钥加密的实体,该属性的值应该为SAML系统实体的URI标识符。
加密标识符可在通过中间人进行明文的值传输时提供隐私保护。
对于每个加密操作,密文应唯一。
一个完整的断言也可通过加密到该元素内作为标识符使用。
这种情况下,该断言的元素提供了该断言的主体标识符。
如果该认证断言无效,则其内部的封装断言也是无效的。
下面的示例定义了元素及其EncryptedElementType复合类。
示例:
6.3.6元素元素为NameIDType复合类型,提供了SAML断言或协议消息的签发者信息。
该元素应使用字符串作为签发者的名称,可以包含其他类型的说明信息。
如果该元素的Format值没有指定,则以urn:
oasis:
names:
tc:
SAML:
2.0:
nameid-format:
entity作为默认值。
下面的示例定义了元素。
示例:
6.4断言6.4.1元素元素使用唯一的标识符来创建一个SAML断言的引用。
该元素内不包含断言的签发者。
参见7.4.1中给出的使用该索引来获取相应断言的具体协议元素。
下面的示例定义了元素。
示例:
6.4.2元素元素使用URI指针来引用SAML断言。
也就是说,可以通过URI指针以特定的方式来获取对应的断言。
下面的示例定义了元素。
示例:
6.4.3元素元素为AssertionType复合类型。
该类型对断言包含的基本信息进行了说明,包括下列元素和属性:
a)Version必需6GB/T292422012断言的版本。
使用本标准中定义的标识符版本是“2.0”,更详细的版本信息参见第8章。
b)ID必需断言标识符的ID,用xs:
ID格式表示,且应遵循附录A中关于唯一性的要求。
c)IssueInstant必需使用UTC格式表示的断言签发时间。
d)必需声明该断言的SAML权威(签发者)。
对于依赖方,签发者应该是明确的。
本标准没有定义本元素中所描述的实体和对断言进行签名的实体间的具体关系。
任何由断言使用方作出的强制要求与本标准无关。
e)可选用来保护断言完整性和认证签发者的XML签名。
具体信息参见下面的描述以及第9章中的描述。
f)可选断言中声明的主体。
g)可选当使用断言或验证断言有效性时,应对条件进行评价。
评价过程的细节见6.6。
h)可选进行操作时附加的帮助信息。
应用程序可根据需要忽略这些信息。
断言中还包含零或多个的下列元素:
i)声明。
应使用一个xsi:
type属性来指出其具体类型。
j)认证声明。
k)授权结果声明。
l)属性声明。
一个不包含声明的断言应包含一个元素,这样的断言确定了一个主体但并不包含任何该主体的其他信息。
除此之外,元素定义了该断言内所有声明的主体。
如果该元素被省略,则断言中的声明将应用于通过其他方法确定的一个主体上。
SAML标准本身没有对不包含元素的断言进行定义,因此在本标准中不讨论此类断言的意义。
根据具体协议的要求,SAML断言的签发者通常需要经过认证并拥有完整性保护。
认证和完整性保护可以由协议绑定提供的机制来完成。
SAML断言可以通过签名来认证签发者并提供完整性保护。
如果应用了签名,则应同时使用元素,且依赖方应对签名的有效性进行检验。
如果签名无效,则依赖方应不信任断言的内容。
如果签名有效,依赖方应该对签名进行评价以确定签发者的身份及其适当性并进一步使用其标准对断言内容进行分析。
无论是否经过签名,如果它们的主体、环境等相同,则包含在同一断言内的一系列声明和单独包含这些声明的一系列断言在语意上都是相等的。
下面的示例定义了元素及AssertionType复合类。
示例:
7GB/T2924220126.4.4元素元素描述了一个加密的断言。
该元素包含以下元素:
a)必需加密内容及相关细节。
其Type属性应该存在且若存在,应包含为http:
/www.w3.org/2001/04/xmlenc#Element的值。
其加密部分应包含一个源自AssertionType的元素。
b)0个或多个打包解密密钥。
每个解密密钥应该包含一个Recipient属性以指出该密钥加密的实体,该属性的值应该为该实体的SAMLURI标识符。
加密断言可在通过中间人进行明文的值传输时提供隐私保护。
下面的示例定义了元素。
示例:
6.5主体6.5.1元素可选的元素确定了断言内所有声明(0个或多个)的共同主体,包含一个标识符或者若干个主体证明。
a),或可选确定主体。
b)0个或多个可以证明主体的信息。
如果存在一个以上的主体证明,则检验其中任意一个即可。
一个元素可以同时包含标识符以及主体证明,使得依赖方可以在处理断言时进行校验。
如果其中包含的任意一个主体证明通过校验,依赖方可以将提出该断言的实体与断言内的主体和声明相关联,该实体可以不同于真正的主体。
如果不包含主体证明,断言的提交者与主体间不存在任何关系。
一个元素不应该
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB-T 29242-2012 信息安全技术 鉴别与授权 安全断言标记语言 GB 29242 2012 信息 安全技术 鉴别 授权 安全 断言 标记 语言