GB T 29242-2012 信息安全技术.鉴别与授权.安全断言置标语言.pdf

上传人:orderah291 文档编号:198728 上传时间:2019-07-14 格式:PDF 页数:72 大小:2.91MB
下载 相关 举报
GB T 29242-2012 信息安全技术.鉴别与授权.安全断言置标语言.pdf_第1页
第1页 / 共72页
GB T 29242-2012 信息安全技术.鉴别与授权.安全断言置标语言.pdf_第2页
第2页 / 共72页
GB T 29242-2012 信息安全技术.鉴别与授权.安全断言置标语言.pdf_第3页
第3页 / 共72页
GB T 29242-2012 信息安全技术.鉴别与授权.安全断言置标语言.pdf_第4页
第4页 / 共72页
GB T 29242-2012 信息安全技术.鉴别与授权.安全断言置标语言.pdf_第5页
第5页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、GB ICS 35.040 L 80 国家标准国不H-+1: -、民中华人G/T 29242-2012 信息安全技术鉴别与授权安全断言置标语言Information security technology-Authentication and authorization一Security assertion markup language 2013-06-01实施2012-12-31发布发布中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会LF/ 飞毛er介酌明白Arr白山叫只你闷,46 中华人民共和国国家标准信息安全技术鉴别与授权安全断言置标语言GB/T 29242-2012 争

2、夺中国标准出版社出版发行北京市朝阳区和平里西街甲2号(100013)北京市西城区三里河北街16号(100045) 网址总编室:(010)64275323发行中心:(010)51780235读者服务部:(010)68523946中国标准出版社秦皇岛印刷厂印刷各地新华书店经销9峰开本880X1230 1/16 印张4.5 字数132千字2013年5月第一版2013年5月第一次印刷奇峰书号:155066 1-46985 定价60.00元如有印装差错由本社发行中心调换版权专有侵权必究举报电话:(010)68510107GB/T 29242-2012 目次前言皿引言.N 1 范围-2 规范性引用文件-3

3、 术语和定义4 缩略语25 一致性26 SAML断言26.1 概述26.2 方案头与命名空间声明36. 3 名称标识符46.4 断言66. 5 主体86. 6 条件116. 7 建议156. 8声明167 SAML协议 n 7.1 概述237.2 方案头与命名空间声明237.3 请求与响应247.4 断言查询和请求协议297.5 认证请求协议M7.6 假名解析协议407.7 名称标识符管理协议427.8 单点登出协议. 44 7.9 名称标识符映射协议478 SAML版本 48 8.1 概述488.2 SAML规范集版本 48 8.3 SAML命名空间版本 50 9 SAML和XML签名句法与

4、处理519.1 概述519.2 签名断言519. 3 请求/响应签名519.4 签名的继承519.5 XML签名机制51国-GB/T 29242-2012 10 SAML和XML加密句法与处理5210.1 概述5210. 2 签名和加密的组合5311 SAML扩展性. . . . ., . . . ., . . . ., . . . . . . . . . . . .,. . . . . . . 53 11. 1 概述5311. 2 方案扩展5311. 3 方案通配符扩展点5411. 4 标识符扩展5412 SAML定义标识符M12. 1 概述5412.2 行为命名空间标识符5512. 3 属

5、性名称格式标识符5612.4 名称标识符格式标识符5612. 5 许可标识符四附录A(规范性附录)部分定义和格式要求60人1方案组织和命名空间schema organization and namespaces 60 A.2 宇符串值string values 60 A.3 URI值URIvalues U A. 4 时间值time values 61 A.5 ID及ID引用值id and id reference values 61 附录B(资料性附录)签名响应的示例62参考文献H 国-GB/T 29242-2012 前言本标准依据GB/T1. 1-2009给出的规则起草,在制定过程中参考了信

6、息标准促进组织(OASIS: Organization for the Advancement of Structured Information Standards)的saml-core-2.O-os。本标准由全国信息安全标准化技术委员会(SAC/TC260)提出并归口。本标准起草单位:中国科学院软件研究所、工业和信息化部电信研究院。本标准主要起草人:陈驰、冯登国、付艳艳、张立武、荆继武、聂秀英、毕立波、薛宁、江浩洁、武静。皿GB/T 29242-2012 引近年来,越来越多的信息系统通过Web服务、门户和集成化应用程序等方式实现互联,彼此间的安全信息共享需求日益强烈。但在互联网跨安全领域应

7、用场景中,缺乏关于认证、属性和授权信息传输格式和协议的规范,信息安全产品之间互操作困难的情况,仍没有得到很好的解决。本标准通过定义一整套严格的、遵从XML编码格式的、关于安全断言的语法和语义规范以及标准的协议集合来缓解这种状况。本标准参考了结构化信息标准促进组织(OASIS)的文件SecurityAssertion Markup Language (SAML) v2.0 。在原文件的基础上增加了术语和定义部分,增加了对标准范围的说明,修改了原文件的简介部分并增设了附录说明。同时新增了协议关系图说明各SAML协议间的关系。N 范围信息安全技术鉴别与授权安全断言置标语言GB/T 29242-201

8、2 本标准定义了一系列遵从XML编码格式的关于安全断言的语法、语义规范、系统实体间传递和处理SAML断言的协议集合和SAML系统管理相关的处理规则。本标准适用于在互联网跨安全域应用场景中,身份鉴别,认证与授权服务的开发、测试、评估和采购。2 规范性引用文件下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。ISO/IEC 13568:2002 信息技术Z形式规范注释语法、形式系统和语义学(Informationtech nology一Zformal specification notatio

9、n-Syntax, type system and semantics) RFC 1510 Kerberos 网络认证请求器(V5)(TheKerberos Network Authentication Service(V5) RFC 2253 轻量级目录访问控制(V3)(Lightweight Directory Access Protocol (V3) ) RFC 2396 统一资源标识:通用语法(UniformResource ldentifiers (URl): Generic Syntax) RFC 2822 因特网消息格式元素表示的主体有关,但是断言中的元素是可选的,以便其他的标准

10、利用SAML断GB/T 29242-2012 言来构建不包含特定主体的声明或通过其他方式来指定主体。通常,多个服务提供者SP会利用关于主体的断言来进行访问控制和提供个性化服务,这些SP就成为了这些断言发布者(称为身份提供者IdP)的依赖方。本标准定义了SAML权威可以生成的三种不同的断言声明。所有符合SAML定义的声明都与一个主体有关。这三种声明分别为:a) 认证断言主体在特定的时间通过特定的方式被认证过。b) 属性断言主体与提供的属性相关联。c) 授权结果断言主体对特定资源的访问请求通过或被拒绝。断言的外部结构是通用的,提供了内部声明的公共信息。断言内部,通过一系列的内部元素描述了认证、属性

11、、授权结果以在用户自定义的声明。二SAML断言方案允许用户对现有断言和声明进行扩展或定义新的断言利声明类型,相关信息参见第11章。6.2 方案头与命名空间声明下面的示例定义了断言方案的XML命名空间以及其他头信息c示例:(schema targ臼tN缸nespace=飞rn:oasis:names,tc,S且ML,2.0:assertio日Hxmlns l= http,/www.w3.org 20l/XMLSchema 泪nlns:s部n1+ urn:oas5:oa皿es:tc,SAML,2.0:assertionxmlns: ds = http:/www. w3. org/20O/09/xn

12、lldsig :j:j: xmlns:阴阳=飞ttp:/www.w3.org,2001l04/xmlenc:j:j:elementFormDfaul t = unqt且lifiednattributeFormDElfault = 皿qualifiedblockDefa,llt = substitutio口version= 2.0) (import namespce = bttp:/ /www. w3. org/2000/09/xmlds工g:j:j: schemaLocation = http:/阳w.w3.org/TR/2002/RE巳xmldsig-core-20020212/xmldsi

13、g-co(-schema.主sd/)(import namespace = http / I w阳w3.orqj2001/04/xmlenc :j:j: schemaLocation =飞ttp:/w刚w3.org/TR/2002/REC-xmlenc-core-20021210/xenc-schema. xsd /) ( annotation) (documentation) Document identifier: saml-schema-assertion-2.0 Location: http:/docs.oasis-open.org/security/saml/v2.0/ Revisi

14、on history: Vl.0 (November, 2002): Initial Standard Schema Vl.l (September, 2003): Updates within the s缸neVl. 0 n缸nespace.V2.0 (March, 2005): New assertion schema for SAML V2. 0 namespace. 3 回-GB/T 29242-2012 元素(BaseID元素是一个扩展点,使得应用程序可以添加新类型的标识符。它是BaseIDAbstractType复合类型的元素,该复合类型是一个抽象类型,因此只能作为被继承的源类型。

15、它包含下列用来扩展的属性:a) NameQualifier可选限定该标识符的安全域或管理域的名称。该属性与标识符联合作用,以避免同名用户的冲突。b) SPNameQualifier可选使用服务提供者的名称进一步限定标识符。该属性为依赖方提供了一种联合标识符的方法。如果标识符类型定义中未明确定义NameQualifier和SPNameQualifier的用途和语义,则这两个属性应该被省略。下面的示例定义了元素及BaseIDAbstractType复合类。示例:元素拥有更加严格的限制,它也是(NameID元素和(Issuer元素的底层类型。除了描述实体的字符串外,它还包括下列属性:4 GB/T 2

16、9242-2012 a) NameQualifier可选限定该标识符的安全域或管理域的名称。该属性把标识符和名称限定词联合以避免同名用户的冲突。b) SPNameQualifier可选使用服务提供者的名称进一步限定标识符,该属性为依赖方提供了一种联合标识符的方法。c) Format 可选一个URI指针,用于描述基于字符串的标识符所属的类别。如果Format的值没有指定,并且没有其他特殊说明,则以urn:oasis: names: tc: SAML: 1. 0: nameid-format: unspecified作为默认值。如果指定的Format值不符合12.4给出的细节、要求,将根据标准外提

17、供的说明进行解释。除非定义中明确指出,否则与断言发送方和依赖方相关的标识符的匿名性、假名性和持续性将由具体实现决定。d) SPProvidedID 可选服务提供者建立的一个与元素中的主标识符不同的名称标识符。该属性提供了一种根据服务提供者的标识符进行整合的方法。例如,一个己存在的标识符可以通过使用7.7节中描述的名称标识符管理协议连结一个实体。关于上述属性的额外使用规则可以在使用此复合类的上层元素中定义,或者通过Format值来进行定义。如果上层元素定义和Format均未明确定义NameQualifier和SPNameQualifier的用途和语义,则这两个属性应该被省略。下面的示例定义了Na

18、meIDType复合类。示例:(complexType口缸ne;:;:N缸neIDType)(simpl巳Content)( extens ion base = str i口g)(attributeGroup ref = saml: IDNameQualifiers /) (attribute name = Format type = 出yURIuse =飞ptional/)(attribute name = SPProvided四type = string use = optional /) (/extension) (/simpleContent) (/complexType) 6.3.4

19、 (NameID元素(NameID元素为NameIDType类型,用在(Subject和(Su bjectConfirma tion 元素等多种SAML断言结构和多种协议消息中。下面的示例定义了(NameID元素。示例:(element口ame= NameID type = s四l:NameIDType/)6.3.5 元素( EncryptedID元素为EncryptedElementType类型,包含一个加密的标识符元素。(EncryptedID 元素包含以下元素:a) (xenc: EncryptedData 必需加密内容及相关细节。其Type属性应该存在,并且若该属性存在,应包含值htt

20、p:/www.w3. org/2001/04/xmlenc# Element。加密内容应包含一个NameIDTy-pe或AssertionType类型的元素,回-G/T 29242一2012或起晾于BaseIDAbstractType、NameIDType和AssertionType类型的元素。b) 元素Ossuer)元素为NameIDTy复合类型,提供了SAML断言或协议消息的签发者信息。该元素应使用宇符串作为签发者的名称.可以包含骂他类型的说明信息。如果该元素的Format值没有指定,则以urn:oa!is: names: tc: S八ML:2. 0: nameid-format: ent

21、ity 作为默认值。下面的示例定义了Ossuer):束。示例:(elernent narne Issuer type = sarnl: NarneIDType , ) 6.4 断言6.4. 1 元素使用唯一的标识符来创建一个SAML断言的引用。该元素内不包含断言的签发者。参见7.4.1中给出的使用该索引来获取相应断言的具体协议元素。下面的示例定义了元素。示例:(elernent narne = AssertionIDRef type = NCNarne /) 6.4.2 元素使用URI指针来引用SAML断言。也就是说,可以通过URI指针以特定的方式来获取对应的断言。下面的示例定义了元素。示例:

22、(elernent narne = 且ssertionURIReftype = anyURI /) 6. 4. 3 (Assertion)元素可选进行操作时附加的帮助信息。应用程序可根据ZT要忽略这些信息Q断言中还包含零或多个的下歹IJ)已袁ti) (Statement) 声明。应使用一个XS1:typc 属性来指出其具体类型。j) (AuthnStatemenl; 认证声明。k) (AuthzDecisionStatemcnt) 授权结果声明。) 属性声明。一个不包含声明的断言应包含一个 (element ref = saml: Issuer / (element ref = ds:Sign

23、ature minOccurs = 0/ (element ref = saml: Subj ect minOccurs =可/(element ref = saml:Conditions minOccurs = 0/ (element ref = saml: Adv ice minOccurs = 0 / (choice minOccurs = 0 maxOccurs = unbounded (element ref = saml: Statement / (element ref = saml: AuthnStatement / (element ref = saml: AuthzDeci

24、sionStatement / (element ref = saml: AttributeStatement / (/choice (/ sequence (attribute name = Vers工ontype= string use= required/ (attribute n四e;:;:;:n四type = ID use = required / (attribute name = Issue工nstanttype = dateTime use =气equired/(/complexType 6.4.4 (EncryptedAssertion元素( EncryptedAsserti

25、on元素描述了一个加密的断言。该元素包含以下元素:a) (xenc: EncryptedData 必需加密内容及相关细节。其Type属性应该存在且若存在,应包含为http:/www.w3. org/ZOOl/ 04/ xmlenc # Element的值。其加密部分应包含一个源自AssertionType的元素。b) ( xenc: EncryptedKey 0个或多个打包解密密钥。每个解密密钥应该包含一个Recipient属性以指出该密钥加密的实体,该属性的值应该为该实体的SAMLURI标识符。加密断言可在通过中间人进行明文的值传输时提供隐私保护。下面的示例定义了(EncryptedAsse

26、rtion元素。示例:(element name = EncryptedAssertion type =飞回l:EncryptedElementType/6.5 主体6. 5. 1 (Subject元素可选的(Subject元素确定了断言内所有声明(0个或多个)的共同主体,包含一个标识符或者若干个主体证明。a) (BaseID , (NameID或可选确定主体。b) (SubjectConfirmation 0个或多个可以证明主体的信息。如果存在一个以上的主体证明,则检验其中任意一个即可。一个(Subject元素可以同时包含标识符以及主体证明,使得依赖方可以在处理断言时进行校验。如果其中包含的

27、任意一个主体证明通过校验,依赖方可以将提出该断言的实体与断言内的主体和声明相关联,该实体可以不同于真正的主体。8 如果不包含主体证明,断言的提交者与主体间不存在任何关系。个(Subject元素不应该定义一个以上的主体。下面的示例定义了元素及SubjectType复合类。示例:(element name = Subjecttype =飞aml:SubjectType/)(complexType name =飞ubjectType)(choice) (sequence) (choice) (element ref = saml: BaseID /) (element ref = saml: Nam

28、e四/)(element ref = saml: EncryptedID /) (/choice) (element ref = saml:SubjectConfirmatio丑In inOccurs = 0 maxOccurs = u口bou口ded/)(/sequence) (element ref = saml:SubjectConfirmation maxOccurs = unbounded/) (jchoice) (/complexType) 6.5.2 元素G/T 29242-2012 元素为依赖方提供了校验主体的方法,它包含以下属性和元素:a) Method 必需指向确定主体的协

29、议或机制的URI指针。协议使用者可以通过定义新的URI或私下协商来引人新的方法。b) , ,或可选标明要验证是否满足主体证明请求的实体。c) 可选某些证明方法需要的额外信息。例如一个元素,可用来代表一个密钥。其他标准可对中包含的信息内容作具体要求。下面的示例定义了元素及Subj ectConfirmation Type复合类。示例:(element name = SubjectConf irmation type = saml: SubjectConf irmationType /) (complexType口四e= SubjectConfirmationType) (sequence) (c

30、hoice minOccurs = 0) (element ref = saml: BaseID /) (element ref = saml: NameID /) (element ref = saml: EncryptedID /) (jchoice) (element ref = saml: SubjectConf irmationData minOccurs = 0 /) (/seque口ce)(attribute name = Method type = 田yURIuse = requ工red/)(j complexType) 6.5.3 元素结向上添加任意的命名空间限定的XML属性

31、,而不需要提出特定的扩展方案。这种附加域可按需添加,以提供所需要的附加证明信息。SAML扩展应不舔加任何本地(非命名空间限定的)XML属性或Subj ectConfir mationDataType类型及起源于该类型的SAML格式的命名空间限定的XML属性。这些属性为SAML所保留.以备维护及改进之用。g) Arbitrary elements 本复合类可利用扩展点在元素的NotBefore和NotOnOrAfter属性中,且本复合类中NotBefore应早于NotOnOrAfter。下面的示例定义了元素以及Subj ectConfirm元素应包含若干个(ds:Keylnfo元素,用(ds:K

32、eylnfo元素来指明认证证明方的密文密钥。证明方法中应详细定义数据使用的机制。SubjectConfirma tionDa ta Type复合类中出现的可选属性也可以在本复合类中出现。使用(ds:Keylnfo元素来定义数据的证明方法应该可以使用本类型和本类型的衍生类。所有(ds:Keylnfo元素应识别单一的密文密钥Q多重的密钥可以使用单独的(ds:Keylnfo进行识别。例如,主体可利用不同的密钥向不同依赖方证明自己。下面的示例定义了KeyInfoConfirmationDa ta Type复合类。示例:元素的实例。请注意其中使用KeylnfoConfirmationDataType复合

33、类型包含的元素6. 6. 1. 1 概述(conditions元素可以包括下列元素与属性:11 GB/T 29242-2012 a) NotBefore可选指定了断言生效的最初时间。此时间值采用UTC编码,相关信息参见附录Aob) NotOnOrAfter可选指定了断言失效的时间。此时间值采用UTC编码,相关信息参见附录Aoc) (Condition任意数目定义在一个扩展方案中某个类型的条件。应使用属性xsi:type来指明实际的条件类别。d) (AudienceRestriction 任意数目指定断言只能针对特定依赖方发布。e) (OneTimeUse可选1指定断言应当立即被使用,不应保留备

34、用。尽管方案允许多次出现,但对此元素应至多只有一个实例。f) (ProxyRestriction 可选指定断言发送方对符合下列条件的依赖方作出的限制,依赖方希望下一步自己作为断言发送方根据初始断言中包含的信息发布自己的断言。尽管方案允许多次出现,但对此元素应至多只有一个实例。使用属性XS1:type使得一个断言中可能会包含多个ConditionsType子类型(如OneTimeUse类型)的实例,方案中也并没有明确限制某ConditonsType的子类型可以被包含的次数。但是,特定的属性类型可以限定这类条件的使用。如上面的ProxyRestriction等。下面的示例定义了元素(Conditi

35、ons及复合类型ConditionsType。示例:( el ement name = Co口ditio口stype=s四l:ConditionsType/)(complexType n缸ne= ConditionsType) (choice minOccurs = 0 maxOccurs = unbounded) (element ref = saml:Condition/) (element ref = saml: AudienceRestriction /) (element ref = saml: OneTimeUse /) (element ref = saml:ProxyRestr

36、iction/) (/choice) (attr ibute name = NotBefore type = dateTime use = optional /) (attribute name = NotOnOrAfter type = dateTime use = optional /) (/complexType) 6.6. 1. 2 属性NotBefore与NotOnOrAfter属性NotBefore与NotOnOrAfter指定了断言在其使用上下文中断言有效性的时间限制。这两个属性并不保证断言中的陈述在该有效期内恰当或精确。属性NotBefore指定有效期的起始时间。属性NotOn

37、OrAfter指定有效期的终止时间。若属性NotBefore或NotOnOrAfter的值被省略,则认为该值未指定。若属性NotBefore未指定(且所有其他条件值均为有效).则该断言在属性NotOnOrAfter指定的时间前的任何时刻都是关于条件有效的。若属性NotOnOrAfter未指定(且所有其他条件均为有效).则该断言从属性NotBefore指定的时间起关于条件有效,没有失效期。若两个属性都未指定(且所有其他条件均为有效).则该断言任何时刻都是对于条件有效的。若属性NotBefore与NotOnOrAfter都存在,则属性NotBefore的值应小于(或早于)属性NotOnOrAfte

38、r的值。6. 6. 1. 3 (Condition元素(Condition元素是为新条件提供的扩展点。其中的ConditionAbstractType复合类是抽象的,所12 以只可用作一个衍生类的基础。下面的示例定义了元素始终有效。亦即,此条件是一个使用条件,不影响断言的有效性。下面的方案片断定义了元素及OneTime U se Type复合类。示例:(element name = OneTimeUse typ=押saml:OneTimeUseTypej)(complexType n缸ne= OneTim启UseType手(complexContent) / (extension base =

39、 :回叫:CoriditionAbstractTypej)/ (jcomplexContentY (/complexType) 6. 6. 1. 6 元素 , 该元素指定了断言发送方对依赖方的限制,指定哪些依赖左下一步可作为断言发送方,发布其在初始断言包含的信息基础上自行生成的断言。违应该元素中限制的倍赖方不得作为断宫发送方发布一个断言。O个或多个指定了断言发送方允许的,基于本断言产生的新断言可发送到的依施方的集合。Count值为O.表明该依赖方绝对不可向另一个依额方发布一个基于本断吉的断言。如果大于0,任何基于本断言发布的断言应包含一个元素 ,其中的Gount值不得大于本断言的Count值减

40、10如果没有指定Audience元素,则没有向依赖方施加发布后续断言的依赖方限制。否则,这样发布的断言中应包含一个元素,其中至少包含本断言(ProxyRestriction元素中的二个 , 元素,以及非SAML命名空间的其他命名空间有效元素。下面是元素的一些应用:包含支持断言声明被引用的证据,可以是直接的(通过合并声明)或间接的(通过指向支持的断言); 陈述断言声明的依据;指定断言更新的时间与发布点。下面的示例定义了 (element口阻巳=AuthnContextClassRef type = anyURI / (element nam白=Aut:hnCo丑textDeclReftype =

41、飞且yURI(element naIUe = 且uthnContexLDecltype = anyType (element name = AuthenticatingAuthori tyype = anyURI /) 6, 8.3 元素6.8.3. 1 概述(choice maxOccurs = unbounded) (element ref = saml:且ttribute/)(element ref = saml: EncryptedAttribute /) (/choice) (/ extension) (/complexContent) (/ complexType) 6. 8. 3

42、. 2 (complexType口ame= Attribute1)pe (sequence (element ref = saml:且ttributeV(/seque口ce(attribute n四e=飞础巴type=string use= required/ (attribute name = NameFormat type = anyURI use = optional / (attribute name = Friendl yName type = string use = optional / (anyAttribute口amespace= :j:j: :j:j: other processContents = lax / (/complexType 元素应为空(一般表示为(AttributeValue/)。这条规则的优先级高于附录A中SAML内容的串值至少包含个非空白字符的需求。如果SAML属性包含一个null值

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1