Oracle OpenSSO Update 2 发行说明

第 3 章 使用安全令牌服务

作为可信赖的权威服务,OpenSSO 安全令牌服务用于分发和验证安全令牌。作为 Web 服务安全提供者,安全令牌服务可确保 Web 服务客户端与 OpenSSO STS 服务本身之间通信的安全。自 OpenSSO 8.0 Update 2 以来,已经为安全令牌服务新增了许多增强功能。

本章包含以下主题:

添加 WSSAuth 验证模块

Web 服务安全验证模块使 OpenSSO 可以通过作为验证令牌接收并包含在从 Web 服务客户端到 Web 服务提供者的服务请求中的摘要密码验证用户名。

Procedure添加新的 Web 服务安全验证模块实例

  1. 在“Access Manager”选项卡中,单击“验证”子选项卡。

  2. 在“模块实例”部分,单击“新建”。

  3. 在“名称”字段中,键入此 WSSAuth 验证模块实例的名称。

  4. 对于“类型”,选择“WSSAuth”。

  5. 配置 WSSAuth 验证模块实例。

Procedure 配置 WSSAuth 验证模块实例

  1. 在“Access Manager”选项卡中,单击“验证”子选项卡。

  2. 在“模块实例”部分,单击您要配置的 WSSAuth 验证模块实例的名称。

  3. 为 WSSAuth 验证模块实例领域属性提供值。

    下表列出您可以配置的属性及其描述。

    用户搜索属性

    待编写

    用户领域

    待编写

    用户密码属性

    待编写

    验证级别

    待编写

添加 OAMAuth 验证模块

Oracle 验证模块可让 OpenSSO 使先前通过了 Oracle Access Manager 验证的管理员通过 OpenSSO 的验证,并使该管理员可以单点登录到 OpenSSO。该管理员无需提供 OpenSSO 凭据。

Procedure添加新的 Oracle 验证模块实例

  1. 在“Access Manager”选项卡中,单击“验证”子选项卡。

  2. 在“模块实例”部分,单击“新建”。

  3. 在“名称”字段中,键入此 Oracle 验证模块实例的名称。

  4. 对于“类型”,选择“OAMAuth”。

  5. 单击“确定”。

  6. 配置 OAMAuth 验证模块实例。

Procedure配置 Oracle 验证模块实例

  1. 在“Access Manager”选项卡中,单击“验证”子选项卡。

  2. 在“模块实例”部分,单击您要配置的 OAMAuth 验证模块实例的名称。

  3. 为 Oracle 验证模块实例领域属性提供值。

    下表列出您可以配置的属性及其描述。

    远程用户标头名称

    待编写

    允许的标头值

    “当前值”列表显示“待编写”

    • 要在列表中添加标头值,请在“新值”字段中键入“待编写”,然后单击“添加”。

    • 要从“当前值”列表中删除条目,请选择该条目,然后单击“删除”。

    验证级别

    待编写

生成安全令牌

Oracle OpenSSO 安全令牌服务 (OpenSSO STS) 可在 Web 服务客户端与 Web 服务提供者之间建立信任关系,然后在它们之间维持这种信任。Web 服务可信任仅由一个实体 (OpenSSO STS) 分发的令牌,而不必与多个客户端进行通信。通过这种方式,OpenSSO STS 可大大降低信任点管理的系统开销。

以下部分将提供有关以下内容的说明:如何确定安全令牌需求,如何配置安全令牌服务以生成安全令牌并验证其是否满足这些需求。

将 Web 服务提供者注册到 OpenSSO STS

当添加新的 Web 服务提供者安全代理配置文件时,Web 服务提供者会自动注册到 OpenSSO STS。有关详细信息,请参见下面的部分:

将某 Web 服务提供者注册到 OpenSSO STS 后,可以配置 OpenSSO STS 以生成该 Web 服务提供者可接受的 Web 客户端安全令牌。

从 OpenSSO STS 请求 Web 服务客户端安全令牌

您必须先确定 Web 服务提供者需要哪种类型的安全令牌,然后才能配置安全令牌服务以生成 Web 客户端安全令牌。OpenSSO STS 支持 Liberty Alliance Project 安全令牌和 Web 服务互操作性基本安全配置文件安全令牌。

安全令牌生成过程流

使用 Liberty Alliance Project 令牌启用安全性时,HTTP(超文本传输协议)客户端(即浏览器)会通过 Web 服务客户端向 Web 服务提供者发送访问请求。Web 服务安全代理会将该请求重定向至 OpenSSO STS 验证服务。如果采用 Liberty Alliance Project 安全机制,HTTP(超文本传输协议)安全代理会发出重定向命令。如果使用 WS-IBS 安全,SOAP 安全代理会发出重定向命令。

OpenSSO STS 验证服务会确定 Web 服务提供者注册的安全机制,并检索相应的安全令牌。成功进行验证后,Web 服务客户端会提供 SOAP 消息体,而 Web 服务客户端上的 SOAP 安全代理会插入安全标头和一个令牌。然后,在将请求发送给 WSP 之前,会对该消息进行签名。

Web 服务提供者端的 SOAP 安全代理会先验证 SOAP 请求中的签名和安全令牌,然后再将该请求转发给 Web 服务提供者自身。Web 服务提供者然后将处理该请求并将 SOAP 安全代理签名的响应返回给 Web 服务客户端。然后,Web 服务客户端上的 SOAP 安全代理会验证签名,之后再将该响应转发给 Web 服务客户端。

下表列出 Liberty Alliance Project 事务支持的令牌及其简短描述。

表 3–1 请求者令牌 - Liberty Alliance Project

令牌

满足以下要求

X.509 

  • 安全 Web 服务使用公钥基础结构 (Public Key Infrastructure, PKI),在该基础结构中,Web 服务客户端提供公钥作为识别请求程序以及向 Web 服务提供者进行验证的方式。

  • 安全 Web 服务使用公钥基础结构 (Public Key Infrastructure, PKI),在该基础结构中,Web 服务客户端提供公钥作为识别请求程序以及向 Web 服务提供者进行验证的方式。

持有者令牌 

  • 安全 Web 服务使用安全声明标记语言 (Security Assertion Markup Language, SAML) SAML 持有者令牌确认方法。

  • WSC 为 SAML 声明提供公钥信息,以此作为向 Web 服务提供者验证请求程序的方式。

  • 第二个签名将该声明绑定到 SOAP 消息。

  • 第二个签名绑定使用 Liberty Alliance Project 定义的规则。

SAML 令牌 

  • 安全 Web 服务使用 SAML 密钥持有者确认方法。

  • WSC 将 SAML 声明和数字签名添加到 SOAP 标头中。

  • 该签名还会随附一个发件人证书或公钥。

  • 将使用 Liberty Alliance Project 定义的规则来处理发送。

下表列出 WS-IBS 事务支持的令牌及其简短描述。

表 3–2 请求者令牌 - WS-IBS

令牌

满足以下要求

用户名 

  • 安全 Web 服务需要用户名、密码及已签名的请求(可选)。

  • Web 服务使用者提供用户名令牌作为识别请求程序的方式

  • Web 服务使用者提供密码、共享密码或等效密码以向 Web 服务提供者验证身份。

X.509 

安全 Web 服务使用 PKI(公钥基础结构),在该基础结构中,Web 服务使用者提供公钥作为识别请求程序以及完成向 Web 服务提供者进行的验证的方式。 

SAML 密钥持有者 

  • 安全 Web 服务使用 SAML 密钥持有者确认方法。

  • Web 服务使用者为 SAML 声明提供公钥信息,以此作为向 Web 服务提供者验证请求程序的方式。

  • 第二个签名将该声明绑定到 SOAP 有效载荷。

SAML 发件人担保 

  • 安全 Web 服务使用 SAML 发件人担保确认方法。

  • Web 服务使用者将 SAML 声明和数字签名添加到 SOAP 标头中。该签名还会随附一个发件人证书或公钥。

使用安全令牌生成矩阵

使用安全令牌生成矩阵可以帮助您配置 OpenSSO STS 以生成 Web 服务提供者所需的 Web 服务客户端安全令牌。首先,在名为“OpenSSO STS 输出令牌”的最后一列中,找到满足 Web 服务提供者令牌要求的描述。然后,使用同一行中的参数值来配置安全令牌服务。“令牌生成矩阵图例”提供有关表标题和可用选项的信息。有关详细的配置说明,请参见第 5.2.3 部分“配置安全令牌服务”。有关 Web 服务安全性和相关术语的一般信息,请参见:

安全令牌生成矩阵汇总了常用的安全令牌服务参数设置和 OpenSSO STS 基于这些设置生成的安全令牌的类型。

表 3–3 安全令牌生成矩阵

消息级别安全绑定

Web 服务客户端令牌

KeyType

代表令牌

使用密钥

OpenSSO STS 输出令牌

非对称  

X509  

持有者  

是  

否  

SAML 持有者,无证明密钥 

非对称  

用户名  

持有者  

是  

否  

SAML 持有者,无证明密钥 

非对称  

X509  

持有者  

否  

否  

SAML 持有者,无证明密钥 

非对称  

用户名  

持有者  

否  

否  

SAML 持有者,无证明密钥 

非对称  

X509  

对称  

是  

否  

SAML 密钥持有者,对称证明密钥 

非对称  

用户名  

对称  

是  

否  

SAML 密钥持有者,对称证明密钥 

非对称  

X509  

对称  

否  

否  

SAML 密钥持有者,对称 

非对称  

用户名  

对称  

否  

否  

SAML 密钥持有者,对称证明密钥 

非对称  

X509  

非对称  

否  

Web 服务客户端公钥  

SAML 密钥持有者,非对称证明密钥 

150 

非对称  

X509  

Oracle 专属 SAML 发件人担保  

是  

否  

SAML 发件人担保,无证明密钥 

11 

非对称  

用户名  

Oracle 专属 SAML 发件人担保  

是  

否  

SAML 发件人担保,无证明密钥 

12 

非对称  

X509  

Oracle 专属 SAML 发件人担保  

否  

否  

错误 

13 

非对称  

用户名  

Oracle 专属 SAML 发件人担保  

否  

否  

错误 

14 

传输  

用户名  

持有者  

是  

否  

SAML 持有者,无证明密钥 

15 

传输  

用户名  

持有者  

否  

否  

SAML 持有者,无证明密钥 

16 

传输  

用户名  

对称  

是  

否  

SAML 密钥持有者,对称 

17 

传输  

用户名  

对称  

否  

否  

SAML 密钥持有者,对称证明密钥 

18 

传输  

用户名  

Oracle 专属 SAML 发件人担保  

是  

否  

SAML 发件人担保,无证明密钥 

19 

传输  

用户名  

Oracle 专属 SAML 发件人担保  

否  

否  

错误 

20 

非对称  

用户名  

非对称  

否  

Web 服务客户端公钥  

错误 

21 

传输  

用户名  

非对称  

否  

Web 服务客户端公钥  

错误 

22 

非对称  

X509  

非对称  

是  

否  

错误 

23 

非对称  

用户名  

非对称  

是  

否  

错误 

24 

传输  

用户名  

非对称  

是  

否  

错误 

25 

非对称  

X509  

非对称  

否  

否  

SAML 密钥持有者,非对称证明密钥 

26 

非对称  

X509  

否  

否  

否  

SAML 密钥持有者,非对称证明密钥 

27 

非对称  

用户名  

否  

否  

否  

SAML 密钥持有者,对称证明密钥 

28 

传输  

用户名  

否  

否  

否  

SAML 密钥持有者,对称证明密钥 

安全令牌服务问题和解决方法

待编写

配置问题和解决方法

待编写

文档勘误表

待编写