1、ICS 33.040.40M 32 YD中 华 人 民 共 和 国 通 信 行 业 标 准YD/T .2安 全 断 言 标 记 语 言 第 2 部 分 : 断 言 和 协 议Security assertion markup language-Part 2, Assertions and Protocols(报批稿)-发布 -实施中 华 人 民 共 和 国 工 业 和 信 息 化 部 产 业 部 发 布 YD/T20I目 次目 次 I前 言 21 范围 32 标 准 性 引 用 文 件 33 术 语 、 定 义 和 缩 略 语 33.1 定义 33.2 缩略语 84 通 用 数 据 类 型 8
2、4.1 字 符 串 值 84.2 URI 值 84.3 时间值 94.4 ID 和 ID 参考值 95 SAML 断 言 和 协 议 95.1 概述 95.2 SAML 断 言 95.3 SAML 协 议 .275.4 SAML 版 本 .505.5 SAML 和 XML 签 名 的 语 法 和 处 理 .525.6 SAML 和 XML 加 密 语 法 和 处 理 .575.7 SAML 扩 展 性 .575.8 已 定 义 的 SAML 标 识 符 58YD/T204前 言YD/T XXXX-20XX 安 全 断 言 标 记 语 言 分 为 七 部 分 : 第 1部 分 : 绑 定第 2
3、部 分 : 断 言 和 协 议第 3 部 分 : 模 式 定 义第 4 部 分 : 认 证 上 下 文第 5 部 分 : 一 致 性 要 求第 6 部 分 : 应 用 配 置第 7 部 分 : 元 数 据YD/T XXXX-20XX 安 全 断 言 标 记 语 言 ( 所 有 部 分 ) 修 改 采 用 ITU-T X.1141 安 全 断 言 标 记 语 言 ( SAML 2.0) ( 2006 年 英 文 版 ) , 与 ITU-T X.1141 的 对 应 关 系 如 下 : 第 1部 分 对 应 于 ITU-T X.1141第 10章 和 附 件 I; 第 2部 分 对 应 于 ITU
4、-T X.1141第 7章 和 第 8章 ; 第 3部 分 对 应 于 ITU-T X.1141附 录 A; 第 4部 分 对 应 于 ITU-T X.1141第 12章 和 附 件 VI、 附 件 IV; 第 5部 分 对 应 于 ITU-T X.1141第 13章 ; 第 6部 分 对 应 于 ITU-T X.1141第 11章 ; 第 7部 分 对 应 于 ITU-T X.1141第 9章 。本部分修改采用 ITU-T X.1141 的第 7 章和第 8 章的内容,与 ITU-T X.1141 的第 7 章 和第 8 章的不同点在于: 根据我国行业标准格式进行了编写; 增加了 ITU-T
5、 建议书 X.1141 第 2、3、4 章中与第 7 章和第 8 章的内容相关的规 范性引用文件、定义、缩略语等内容作为本部分的第 2、 3、 4 章。 对 ITU-T 建议书 X.1141 中相关章节号进行了重新编辑; 对应于系列标准中的相应 章节号。本部分由中国通信标准化协会提出并归口。 本部分起草单位:工业和信息化部电信研究院 本部分主要起草人:毕立波、聂秀英、张蓓、薛宁、武静、江浩洁。YD/T203安 全 断 言 标 记 语 言 第 2 部 分 : 断 言 和 协 议1 范围本部分规定了安全断言标记语言(SAML 2 .0) 的 断 言 和 协 议 , 包 括 SAML 断言的结构、
6、相 关 的 协 议 集 , 以 及 包 含 在 管 理 SAML 系 统 中 的 处 理 规 则 。本部分适用于基于 SAML 实 现 跨 机 构 统 一 认 证 的 中 间 件 。2 标准性引用文件下列标准和其他参考文献的条款, 通过在本部分中的引用而构成本部分的条款。 在出版 时, 所指出的版本是有效的。 所有的标准和其他参考文献都会被修订, 使用本部分的各方应 探讨使用下列标准或其他参考文献最新版本的可能性。YD/T XXXX.1-XXXX 安 全 断 言 标 记 语 言 第 1 部 分 : 绑 定YD/T XXXX.3-XXXX 安 全 断 言 标 记 语 言 第 3 部 分 : 模
7、式 定 义YD/T XXXX.4-XXXX 安 全 断 言 标 记 语 言 第 4 部 分 : 认 证 上 下 文YD/T XXXX.5-XXXX 安 全 断 言 标 记 语 言 第 5 部 分 : 一 致 性 要 求YD/T XXXX.6-XXXX 安 全 断 言 标 记 语 言 第 6 部 分 : 应 用 配 置ITU-T X.660 (2004) 信 息 技 术 开 放 系 统 互 联 OSI 注 册 机 构 运 行程序:通用程序ITU-T X.667 (2004) 信 息 技 术 开 放 系 统 互 联 OSI 注 册 机 构 运 行 程 序 : 全 局 惟 一 标 识 符 的 生 成
8、 和 注 册 以 及 他 们作为 ASN.1 对 象 标 识 符 组 件 的 使 用ITU-T X.811 (1995) 开 放 系 统 的 安 全 架 构 : 认 证 架 构ITU-T X.1142 (2006) 可 扩 展 访 问 控 制 标 记 语 言 (XACML 2.0)IETF RFC 2246:1999 TLS 协议 V1IETF RFC 2253:1997 轻 型 目 录 访 问 协 议 (v3):著 名 名 称 的 UTF-8 字 符表示法IETF RFC 2396:1998 通 用 资 源 标 识 符 (URI): 通 用 语 法IETF RFC 2828:2000 互 联
9、 网 安 全 术 语 表W3C 字 符 模 型 :2005 用 于 Web1.0 的 字 符 模 型 : 基 础W3C 加 密 :2002 XM 加 密 语 法 以 及 处 理W3C 命 名 空 间 :1999 XML 中 的 命 名 空 间W3C 签 名 :2002 XM 签 名 语 法 以 及 处 理W3C 签 名 模 式 定 义 :2001 XML 签 名 模 式 定 义W3C XML 1.0:2004 可 扩 展 标 记 语 言 (XML) 1.0 (第 三 版 )W3C XML 模 式 定 义 第 一 部 分 :2001 XML 模 式 定 义 第 一 部 分 : 结 构3 术语、定
10、义和缩略语3.1 术语和定义下列术语和定义适用于本部分。3.1.1管 理 者 administrator搭建或维护系统的人或使用它来管理系统实体、用户和/或内容的人。管理者通常会与 特定的管理域相关联并且可能与不止一个管理域相关联。3.1.2匿 名 annonmity匿名的量或状态,该量或状态是具有一个未知或隐藏的名字或标识的条件。YD/T2043.1.3断 言 方 asserting party正式地,断言方是管理一个或多个 SAML 授权方的管理域。非正式地,断言方是 SAML 授权方的实例。3.1.4断言 assertion由 SAML 授 权 者 生 成 的 一 些 数 据 , 这 些
11、 数 据 可 能 与 在 一 个 主 体 上 执 行 的 鉴 权 动 作 、 主 体 的属性信息有关,或者是根据特定资源而应用到一个主体的授权数据有关。3.1.5属 性 attribute客体的一个明确的特征。对于现实世界的主体,属性通常以物理特征规定,如大小、形 状 、 重 量 和 颜 色 。 在 安 全 空 间 的 客 体 可 能 有 描 述 大 小 、 编 码 类 型 、 网 络 地 址 等 等 。 属 性 通 常 以“属性 名 ”和“属 性 值”对的 形 式表示, 例 如, “foo”有值“bar” , “count”有值“1” , “gizmo”有 值“frob” 和“2” 。3.1
12、.6属 性 断 言 attribute assertion承载与主体的属性相关信息的断言。3.1.7认 证 authentication认证是指在一定程度的信任范围内,确定某人或某事事实上是其自身所宣称的人或事的 过程。3.1.8认 证 断 言 authentication assertion承载有关针对某一主体所发生的成功认证结果的信息断言。3.1.9鉴 权 authorization通 过 评 估 可 应 用 的 访 问 控 制 信 息 来 确 定 是 否 允 许 某 主 体 具 有 接 入 到 特 定 资 源 所 规 定 的 类 型 的 过 程 。 通 常 情 况 下 , 鉴 权 在 认
13、 证 上 下 文 文 中 进 行 。 一 旦 某 主 体 被 认 证 , 它 可 以 被 授 权 执行不同类型的接入。3.1.10授 权 决 定 authorization decision授权动作的结果。 该结果可以是否定的, 也就是说, 它可以指示不允许该主体接入任何 资源。3.1.11授 权 决 定 断 言 authorization decision assertion承载与认证决定相关的信息的断言。3.1.12绑定,协议绑定 b inding, protocol binding通常情况下, 这是指某些给定协议消息和消息互换模式到具体形式下的另一个协议的映 射 标 准 。 例 如 ,
14、SAML 消 息 到 HTTP 的 映 射 是 绑 定 的 一 个 例 子 。 同 样 的 SAML 消 息 到 SOAP 的 映 射 是 另 一 种 绑 定 。 在 SAML 上 下 文 中 , 每 一 种 绑 定 都 是 通 过 “SAML XXX 绑YD/T205定”的模式来给定一个名称。3.1.13信任状 credentials:为建立所宣称的主要标识而传送的数据。3.1.14实 体 entity:见系统实体。3.1.15联盟建立 federate:将两个或多个实体联系或绑定在一起。3.1.16联 盟 federation:在如下两种情况下使用该术语:1) 在两个实体之间建立关系的动作
15、;2) 包含任何数量的业务提供者和标识提供方的关联。3.1.17标 识 符 identifier映射到 专指 该系统 实体 的一个 系统 实体的 数据 客体( 例如 ,一个 串) 。 一个系 统实 体可 以具有表示该系统实体的多个不同的标识符。 本质上, 一个标识符是一个实体的 “特征属性” 。3.1.18身份 identity:一个实体的本质。 通常使用特征来描述某个身份, 在这些特征中可以是任何数量的标识 符。3.1.19身 份 提 供 者 identity provider为责任人生成、 维护以及管理身份信息的一种业务提供商, 这种业务提供商也可以在一 个联盟内对其他的业务提供者进行责任
16、人认证,例如,通过 Web 浏 览 器 应 用 配 置 进 行 认 证 。3.1.20标 记 语 言 markup language为特定目的, 应用于 XML 文件结构的一系列 XML 元素和 XML 属性。 通过一系列 XML 方 案 和相关的文件来规定标记语言。3.1.21方 p arty非正式地, 参与某一过程或通信, 如接收一个断言或接入某一资源的一个或多个责任人。3.1.22策 略 决 定 点 ( PDP) policy decision point (PDP)为自身或为请求这样决定的其他系统实体进行认证决定的系统实体。 例如, SAML PDP 吸 收 认 证 决 定 请 求 ,
17、 并 生 成 认 证 决 定 断 言 作 为 响 应 。 PDP 是 “策 略 决 定 点 。3.1.23YD/T206策 略 执 行 点 ( PEP) policy enforcement point (PEP)请求然后执行认证决定的系统实体。例如,SAML PEP 向 PDP 发 送 认 证 决 定 请 求 , 然 后 吸收响应中发送的认证决定断言。3.1.24应 用 配 置 profile用于几个目的之一的一系列规则; 每一个系列以 “SAML 的 XXX 应用配置 ” 或 “XXX SAML 应用配置”的模式给定一个名称 。1) 如 何 将 断 言 嵌 入 到 一 个 协 议 或 使
18、用 的 其 他 上 下 文 ,并 将 其 从 一 个 协 议 或 使 用 的 其 他 上下文中分离出来的规则。2) 在 使 用 的 特 定 上 下 文 中 使 用 SAML 协 议 消 息 的 规 则 。3) 将以 SAML 表示的属性映射到另一个属性表示系统的规则。 这样的一系列规则称为 “属 性应用配置” 。3.1.25协 议 绑 定 protocol binding见“绑定” 。3.1.26提 供 者 provider一般用来表示身份提供者和业务提供者。3.1.27信 任 方 relying party根据来自另一个系统实体的信息决定采取动作的系统实体。例如,SAML 信任方依赖于 从有
19、关主体的断言方(SAML 机 构 ) 接 收 到 的 断 言 。3.1.28请 求 者 requester利 用 SAML 协 议 从 另 一 个 系 统 实 体 ( SAML 机 构 , 响 应 者 ) 请 求 业 务 的 系 统 实 体 。 因 为 许 多 系 统 实 体 同 时 或 串 行 地 作 为 客 户 端 和 服 务 器 , 因 此 本 概 念 不 使 用 “客 户 端 ”术 语 表 示 。 在 SAML 使 用 SOAP 绑 定 的 情 况 下 , SAML 请求者在体系结构上区分于初始的 SOAP 发送者。3.1.29资 源 resource信息系统中包含的数据(例如,以文件
20、的形式存在于存储器中的信息等等) ,以及 : 1) 系 统 提 供 的 业 务 。2)一个系统 设备(换句话讲,系统构件如硬件、固件、软件或文档) 。3.1.30响 应 者 responder一个系统实体(SAML 机 构) ,该系统 实体利用 SAML 协议响应 来自另一个系统实体(请 求者) 对业务的请求。 因为许多系统实体同时或串行地作为客户端和服务器, 因此本概念不 采用“服务器”作为术语名称。在将 SOAP 与 SAML 相 绑 定 的 情 况 , SAML 响应者在总体上与 最 终 的 SOAP 接 收 者 明 显 区 分 。3.1.31YD/T207角 色 role字典中 将角
21、色定义 为“ 表演者 所扮 演的部 分或 特征” 或者 “功能 或位 置” 。系统 实 体连 续地和/或同时扮演各种类型的角色,例如主动角色或被动角色。管理者的概念通常是一个 角色的例子。3.1.32SAML 机 构 SAML authoritySAML 域模型中的一个抽象系统实体,该系统实体签发断言。也见属性机构,认证机构 和策略决定点(PDP) 。3.1.33安 全 security确保信息的机密性的一系列安全措施, 这些措施保护使用的系统或网络处理信息, 同时 控 制 访 问 它 们 。 典 型 地 , 安 全 包 括 保 密 性 、 机 密 性 、 完 整 性 和 有 效 性 。 安
22、全 的 目 的 是 确 保 系 统抵制相关的冲击。3.1.34安 全 断 言 security assertion在安全体系架构中细察的断言。3.1.35业 务 提 供 者 service provider系统实体所代表的角色, 在业务提供者处, 系统实体向责任人或其他系统实体提供业务。3.1.36会 话 session在系统实体之间持续的交互, 通常包括责任人、 为在持续交互期间维护某些交互状态所 代表的系统实体。3.1.37主 体 subject在安全域的上下文中的一个责任人。SAML 断 言 对 主 体 进 行 相 关 的 声 明 。3.1.38系 统 实 体 system entity
23、计算机/网络系统的一个激活的元素。例如,一个自动的过程或过程集,一个子系统, 或参与特定功能集的一个人或一组人。3.1.39超 时 time-out若某一事件没有发生, 在某一条件变为真之后的一段时间。 例如, 由于 某一会话在一段 特定时间内处于非激活状态,使得其被终止,该会话被称为“超时” 。3.1.40XML 属性 XML attribute嵌入到 XML 元素开始标记中并具有一个名字和值的一个 XML 数据结构。3.1.41XML 元素 XML element在一个 XML 文件中, 和其他此类结构一起按分级体系进行安排的一个 XML 数据结构, 该YD/T208XML 数 据 结 构
24、 可 以 由 一 个 开 始 标 识 和 结 束 标 识 或 者 一 个 空 标 识 来 指 示 。3.2 缩略语下列缩略语适用于本部分。ASP DCEApplication Service Provider Distributed Computing Environment应用业务提供者 分布式计算环境DNS HTTPDomain Name System HyperText Transfer Protocol域名系统超文本传送协议HTTPSIdPSecure HyperText Transport Protocol Identity Provider安全超文本传送协议身份提供者IP IPSE
25、CInternet ProtocolInternet Protocol SECurity网际协议网际协议安全性MIME OIDMultipurpose Internet Mail Extensions Object Identifier多用途网络邮件扩展客 体 标 识 符PDP PEPPolicy Decision Point Policy Enforcement Point策略决定点策略执行点PGP RSAPretty Good PrivacyRivest Shamir Adleman public key algorithm一种非对称加密软件Rivest,Shamir 和 Adleman
26、公 钥 算 法SP SSOService Provider Single Sign On业务提供者单点登录TLS URITransport Layer Security protocol Uniform Resource Identifier传输层安全协议通用资源标识符UTC UUIDCoordinated Universal Time Universal Unique Identifier协调的通用时间通用惟一标识符XACML XMLeXtensible Access Control Markup Language eXtensible Markup Language可扩展访问控制标识语言可
27、扩展标识语言4 通用数据类型4.1 字符串值所有的 SAML 字符串值都具有 xs:string 类 型 , 它 建 立 在 W3C XML 数 据 类 型 中 。 除 非 在本部分中有特别的说明, 否则所有 SAML 消 息中的字符串都必须包含至少一个非空字符。除非在本部分中或者特定的应用配置中有明确的规定, 否则, SAML 文件 中具有 SAML 模式定义的 xs:string 类型或者从该类型衍生出来的类型的所有元素都必须通过一个确切的 二进制对比方式进行对比。 而且, SAML 执行以及部署不依赖对大小写不敏感的字符串对比 方式, 标准化或者修正空字段, 或者本地特有的格式例如数量或
28、者货币的转化。 这个要求的目的是要符合 W3C 串的规定。 如果一个执行是对比使用不同的字符编码来表示的值, 执行必须采用一个可以返回和将两个值都转换为 Unicode 字符编码的方式,标准化格式 C,相同结果的对比方法,然后执 行一个确定的二进制对比。 这个要求目的是符合 W3C 字符 模 型, 尤其是用于 Unicode 标准 化文本的规则。对比在 SAML 文件中接收的数据与来自外部资源数据的应用必须考虑到 XML 规定的标 准化规则。标准化包含在组件内的文本,因此通过换行符(ASCII 码 10 Decimal) 来 代 表 行 的结束。定义为串(或者来自串的类型)的 XML 属性值按
29、照 W3C XML1.0, 3.3.3 中的描 述来进行标准化。利用 blank( ASCII 码 32 Decimal) 来 替 代 所 有 的 空 字 符 。本部分并没有为 XML 属 性 值 或 者 元 素 内 容 定 义 整 理 或 者 排 列 顺 序 。 SAML 执行一定不能依赖值的特定排列顺序,因为根据涉及到的主机的本地设置,它们有可能不同。4.2 URI 值YD/T209所有的 SAML URI 参考值都具有类型 xs:anyURI, 它 建 立 在 W3C XML 数 据 类 型 里 。 除非在该部分中有明确的说明,否则在 SAML 定义的元素或者属性中的所有 URI 参考值
30、都必须包括至少一个非空字符,而且要求这些参考值必须完全。本部分扩展了 URI 参考作为标识符的使用情况,例如状态编码、格式类型、属性和相 同实体名等。因此,对这些值的基本要求是惟一并且一致,也就是说同样的 URI 不能在不 同时间代表不同的信息。4.3 时间值所有 SAML 时间值都具有 xs:dateTime 类型,它建立在 W3C XML 数 据 类 型 中 并 且 必 须通过 UTC 格式来表达,它没有时区成份。SAML 系统 实体不应该期望时间解析精度高于毫秒。 执行一定不能生成规定闰秒的时间 值。4.4 ID 和 ID 参 考 值xs: ID 简单的类型就是用来声明用于断言、请求和应
31、答的 SAML 标识符。在本部分中 断言属于类型 xs:ID 的 值 除 了 必 须 满 足 xs:ID 类 型 本 身 定 义 的 属 性 外 , 还 需 要 满 足 下 面 的 属 性:分 配 标 识 符 的 任 何 一 方 必 须 确 保 那 一 方 或 任 何 其 他 方 偶 然 地 把 同 样 的 标 识 符 分 配 给 不 同数据客体的概率可以忽略不计。一旦一个数据客体宣布它具有一个特定的标识符,那么必须确实有这样一个声明。SAML 系统 实体保证标识符惟一性的机制由具体的执行来定。 此时采用了一种随机的或 者伪随机的机制, 两个随机选择的标识符相同的概率必须小于或者等于 21 2
32、8 并 且应该小 于或者等于 21 60。 可以 通过把一个随机选定的值编码在 128 到 160 比特长度之间来满足 这个需求。 编码方式必须符合 xs:ID 数据类型中定义的规则 。 必须为一个伪随机码生成器输 入惟一的内容,从而保证不同系统之间所需的惟一特性。在 SAML 中 利 用 xs:NCName 简单类型来引用类型为 xs:ID 的 标 识 符 , 因 为 xs:IDREF 无法用于这个目的。在 SAML 中 , 通 过 SAML 标识符引用指出的元素实际上可能没有在采 用 标 识 符 的 文 档 中 进 行 定 义 , 而 是 在 另 外 的 文 档 中 有 定 义 。 采 用
33、 xs:IDREF 会妨碍它的值与 同一个 XML 文档中某些元素中的 ID 属性值相匹配的需求。5 SAML 断 言 和 协 议5.1 概述SAML 定义 了由一个系统实体生成一个主体的断言的语法和处理语义。 在生成或者信任 这样一个断言的情况下, SAML 系统 实体可以采用其他的协议来沟通断言本身或者一个断言 的主体。本部分定义了 SAML 断 言 的 结 构 , 相 关 的 协 议 , 同 时 还 定 义 了 管 理 一 个 SAML 系 统所涉及到的处理规则。SAML 断言和协议消息利用 XML 编码(见 W3C XML1.0) 并 且 采 用 XML 的命名空间(见 W3C 命名空
34、间)。它们通常是嵌入到其它结构中进行传输例如 HTTP POST 请求或 者 XML 编码 的 SOAP 消 息。 在 YD/T XXXX.1-XXXX安全断言标记语言 第 1 部分: 绑定 中提供了 SAML 协议消息的嵌入和传输情况。在 YD/T XXXX.6-XXXX 安 全 断 言 标 记 语 言 第 6 部分:应用配置中提供了使用 SAML 断 言 和 协 议 的 一 个 基 本 应 用 配 置 集 , 从 而 在 使 用 SAML 特 性 的 时 候 , 实 现 特 定 使 用 情 况 或 者 实 现 的 互 通 。5.2 SAML 断言一个断言是一个信息包, 该信息包提供了由 S
35、AML 机构提出的 0 个或者多个 断言; SAML 机构有时候是指讨论断言生成和交换的断言方, 利用接收到断言的系统实体, 通常称作信任 方。(这些术语和请求者与应答者不同,它们用于讨论 SAML 协议信息的交换。)SAML 断 言 通 常 是 针 对 一 个 主 体 而 言 , 通 过 来 表 示 。 但 是 , 元 素 可 选,其他标准或者应用配置可能会采用 SAML 断言结构来生成相似的断言而无需定义一个 主 体 , 或 者 通 过 另 外 一 种 方 式 来 定 义 主 体 。 典 型 地 , 存 在 一 定 数 量 的 业 务 供 应 商 , 他 们 可 以 利用关于一个主体的断言
36、来控制接入并且提供用户化的业务, 因此他们会成为一个称作身份 提供者的断言方的信任方。本部分定义了由一个 SAML 机构生成的三类不同的断言。所有 SAML 定 义 的 断 言 都 和YD/T2010一个主体有关。在本部分中定义的三类不同的断言如下: 认证:断言主体在特定的时间采用特定的方式来进行认证。 属性:断言主体和提供的属性相关联。 授权决定:接收或者拒绝请求允许断言主体访问特定资源的请求。 注 : PE13( 参 见 OASIS PE:2006) 建 议 附 加 “或 是 不 确 定 的 ”到 上 述 段 落 。一个断言的外部结构是普通的, 它提供的信息对它内部的所有断言来讲都一样。
37、在断言 的内部, 一系列内部元素用来描述认证、 属性、 授权决定或者用户定义的保护特定需求的断言。SAML 断言 允许按 5.7 中的描述扩展, 它允许用户对断言以及陈述定义扩展, 同样也允 许定义新的断言以及断言类别。5.2.1 模式定义头和命名空间断言接下来的模式定义片段为断言模式定义定义了 XML 命名空间以及其他头信息。文 档 标 识 符 : saml-schema-assertion-2.0位置: http:/docs.oasis-open.org/security/saml/v2.0/修订历史:V1.0 (2002 年 11 月 ):初 始 标 准 模 式 定 义 。V1.1 (2
38、003 年 9 月):在相同的 V1.0 命 名 空 间 中 更 新 。V2.0 2005 年 3 月):用于 SAMLV2.0 命 名 空 间 的 新 断 言 模 式 定 义 。5.2.2 名字标识符5.2.2.1 概述下面的内容定义了包含主体描述性标识符以及断言和协议消息发起者的 SAML 构 造 。 在 SAML 中 , 有 多 种 情 况 对 两 个 系 统 实 体 与 相 关 的 第 三 方 通 信 有 用 , 例 如 , SAML 认证请求协议可以让第三方认证一个主体。 因此, 有必要建立一种方法, 通过该机制每一方可 以和对每个团体有意义的标识符关联起来。 在某些情况下, 需要限
39、制一定的范围, 在这个范围 内 标 识 符 只 对 一 个 小 的 系 统 实 体 集 有 用 ( 例 如 , 保 证 一 个 主 体 的 私 密 性 ) 。 同 样 的 , 标 识 符也可以用来指示一个 SAML 协 议 消 息 或 者 断 言 的 发 起 者 。两个或者多个系统实体可能会采用同样的名字标识符值来指示不同的实体。 因此, 每个 实体对同样的名字可能会有不同的理解。 SAML 通过把名字标识符放置在一个和名字限定词有关的联盟的命名空间里, 来提供名字限定词从而消除一个名字标识符的歧义。 SAML V2.0根据一个断言方或者一个特定的信任方或者联系来限定一个标识符, 从而在需要的
40、时候, 允YD/T2011许标识符给出成双的语义。 还可以对名字标识符进行加密从而进一步提高它们的私密性特性, 尤其是在可能通过中间媒介来对标识符进行传输的情况下。注:为了避免使用相对高级的 XML 模式结构,标识符元素的不同类型不会共享一个通用的类型层次。5.2.2.2 元 素元 素 是 一 个 扩 展 点 , 它 允 许 应 用 增 加 新 的 标 识 符 类 型 。 它 的 BaseIDAbstractType 复杂类型是摘要性质的,因此只能用在衍生出来的类型基础上。它包 括下面的属性,扩展标识符表示法可以利用这些属性:- NameQualifier 可选限制标识符的安全或者管理域。 这
41、个属性提供了在没有冲突的情况下将不同用户存储的 标识符联合起来的方法。- SPNameQualifier 可选通过一个业务提供者的名字或者提供者的联盟来进一步限制一个标识符。 这个属性为在 可信任方的基础上关联标识符提供了另外一个方法。应该忽略 NameQualifier 和 SPNameQualifier 属性,除非标识符类型定义明确地定义 了它们的用途和语义。下 面 的 模 式 段 定 义 了 元 素 和 它 的 BaseIDAbstractType 复杂类型:5.2.2.3 复 杂 类 型 NameIDType如果一个元素通过一个赋值的字符串名字来代表一个实体,采用 NameIDType
42、 复杂类 型 。 相 对 元 素 , 这 是 一 个 更 加 严 格 的 标 识 符 , 它 是 在 和 元 素 下面的一个类型。除了包含实际标识符的字符串内容,它还提供下面可选的属性:- NameQualifier 可选限制名字的安全或者管理域。 这个属性提供了一个在避免冲突的情况下把不同用户存储 的名字联合到一起的方法。- SPNameQualifier 可选利用业务提供者的名字或者提供者联盟来进一步限制一个名字。 这个属性提供了在可信 任方的基础上关联名字的一个额外的方法。- Format 可选代表基于字符串标识符信息的分类的 URI 参考。 对于可以用作 Format 属性值以及它们
43、相关描述和处理规则值的 SAML 定 义的 URI 引用的详细信息见 5.8.3。 除非由一个元素根据 这 个 类 型 而 进 行 了 定 义 , 否 则 如 果 没 有 提 供 Format ( 格 式 ) 值 , 那 么 值urn:oasis:names:tc:SAML:1.0:nameid-format:unspecified( 见 5.8.3.1) 开 始 起 作 用 。如果采用了 5.8.3 中定义的一个格式值而不是其它的, 那么可以根据本部分之外提供的 对格式的定义来对这个类型的元素的内容进行解释。 否则如果不是由格式的定义来指示, 那 么匿名, 使用假名的发布以及坚持使用和断言以
44、及可信任方有关的标识符都是和特定执行有 关。- SPProvidedID 可选若 它 和 元 素 的 内 容 中 给 出 的 最 初 的 名 字 标 识 符 不 同 , 业 务 提 供 者 或 者 提 供 者 联 盟 为 一 个实体建立一个名字标识符。这个属性提供了一个把 SAML 以及现存的由业务提供者已经 在 使 用 的 标 识 符 集 成 起 来 的 方 法 。 例 如 , 可 以 通 过 在 5.3.7 中定义的名字标识符管理协议把 一个现存的标识符“附加”到实体上。利 用 这 个 类 型 的 元 素 , 通 过 特 定 的 Format 定 义 为 这 些 属 性 的 内 容 定 义
45、 附 加 的 规 则 。 如 果元素或者格式没有明确地定义 NameQualifier 和 SPNameQualifier 属性的使用以及语义,那么忽略它们。YD/T2012下面的模式定义片段定义了 NameIDType 复杂类型:5.2.2.4 元 素元 素 的 类 型 是 NameIDType (见 5.2.2.3), 可 以 用 在 不 同 的 SAML 断言结构 中 , 例 如 在 和 元 素 以 及 不 同 的 协 议 消 息 中 使 用 ( 见 5.3) 。下 面 的 模 式 定 义 片 段 定 义 了 元 素 :5.2.2.5 元 素元 素 属 于 EncryptedElemen
46、tType 类型,它通过加密的方式携带未加密 的标识符元素内容,见 W3C 加 密 的 定 义 。 元 素 包 括 下 面 的 元 素 :-必 需 加密的内容以及相关的机密细节见 W3C 加密中 的定义。 需要出现类型属性并且如果出 现 , 必 须 包 含 一 个 http:/www.w3.org/2001/04/xmlenc#Element。 加 密 的 内 容 必 须 包 含 一 个 元素, 该元素 具有一个 NameIDType 或 者 AssertionType 类型, 或者从 BaseIDAbstractType, NameIDType 或者 AssertionType 衍生出来的一
47、个类型。- 0 或者多个包 装 好 的 解 密 密 钥 , 见 W3C 加 密 中 的 定 义 。 每 个 包 装 好 的 密 钥 应 该 包 括 一 个 责 任 人 属 性,该属性指定为之加密密钥的实体。接收属性的值应该是一个 SAML 系统实体的 URI 标 识符,见 5.5 中的定义。加密标识符的目的是当纯文本值穿越一个中间媒介的时候, 它可以作为一个私密性保护 机制。因此,对于任何加密操作来讲,密码应该都是惟一的。想要了解更多这方面的内容, 见 W3C XML 加密 5.3 中的描述。完 整 的 断 言 可 以 加 密 到 这 个 元 素 中 并 且 用 作 一 个 标 识 符 。 在
48、 这 种 情 况 下 , 加 密 断 言 的元素提供封装断言的主体的“标识符”。因此,如果标识断言无效,那么整个封 装的断言均无效。接 下 来 的 模 式 定 义 片 段 定 义 了 元 素 和 它 的 EncryptedElementType 复 杂 类型:5.2.2.6 元 素元 素 和 复 杂 类 型 NameIDType 一起提供关于 SAML 断言或者协议消息发起者 的信息。 元素要求利用一个字符串来携带发起者的名字, 但是允许携带不同的描述性的数据(见 5.2.2.3) 。除了这个元素类型的基本规则,如果没有为这个元素提供 Format( 格 式 ) 值 , 那 么 值 urn:o
49、asis:names:tc:SAML:2.0:nameid-format:entity 起作用(见 5.2.2.3) 。接 下 来 的 模 式 定 义 片 段 定 义 了 元 素 :5.2.3 断言5.2.3.1 元 素元 素 通 过 它 惟 一 的 标 识 符 来 引 用 一 个 SAML 断言,但是引用内容没YD/T2013有规定发起断言或者可以得到断言的特定机构。 一个协议元素利用这样一个引用来请求相应 断言的具体情况,见 5.3.4。接 下 来 的 模 式 定 义 片 段 定 义 了 元 素 :5.2.3.2 元 素元 素 通 过 URI 引 用 来 引 用 一 个 SAML 断 言 。 通 过 URI 引用的一个 特定方式, 利用它可以重新获得相应的断言。 如何在一个协议绑定中利用这个元素来完成上 述任务,见 5.2.2.3。下 面 的 模 式 定 义 片 段 定 义 了 元 素 :5.2.3.3 元 素元素是 AssertionType 复 杂类型。 本类型