公共安全互操作性 V2 (CSIv2)
公共安全互操作性 V2 (CSIv2) 是用于满足认证、授权和权限的 CORBA 安全互操作性需求的体系结构。在 CSIv2 体系结构中,将使用 SAS 协议在 GIOP 请求和回复消息的服务上下文中交换令牌以建立安全上下文。传输层安全性 (SSL/TLS) 是 SAS 必需的,它再提供两层以用于客户机认证和授权。
SAS 协议分为两层。认证层用于在传输时未能完成足够认证的情况下执行客户机认证。客户机可使用属性层将安全属性(例如,身份)推送或提交至目标服务器,在目标服务器中,可在访问控制决策中应用这些属性。在 CSIv2 文档中,传输又称为另一层(以便于进行讨论),尽管它不在 SAS 协议消息中,并且 SAS 消息位于传输之上。

CSIv2 身份断言
使用 RMI/IIOP 执行请求时,属性层中的 CSIv2 身份断言支持用于在从客户机进程至服务器进程的传输过程中断言身份。
断言是一个实体对另一个实体的声明,用于代表它自身接受身份。客户机可断言表示主体集的身份,该主体集在启动远程资源时生效。除表示该用户的身份令牌外,客户机进程还会在认证层或传输层中发送它自己的身份。目标服务器通过执行信任验证确保客户机进程能够断言身份。如果目标服务器信任客户机,那么服务器使用已断言身份以创建服务器端主体集,该主体集表示调用时在客户机进程上生效的用户。
客户机可断言使用主体名称身份令牌的用户。主体名称的格式取决于客户机进程上配置的用户注册表。匿名身份令牌类型也是受支持的,服务器接收到这类令牌时会使用未认证主体集。
有关使用身份断言配置 CSIV2 属性层的信息,请参阅配置入站 CSIv2 属性层或配置出站 CSIv2 属性层。
CSIv2 认证层
使用 RMI/IIOP 执行请求时,系统使用 CSIv2 认证层将认证信息从客户机进程传输至服务器进程。
CSIv2 认证层可包含客户机发送的令牌,服务器随后可使用该令牌认证客户机。各种令牌类型在认证层都受支持。例如,系统使用 GSSUP 令牌传输客户机的用户名和密码,系统将针对目标服务器的用户注册表进行验证。轻量级第三方认证 (LTPA) 令牌表示无需传输密码的客户机用户,但在进行远程方法调用之前,系统必须在客户机进程上认证该用户,并且客户机和服务器进程必须共享 LTPA 密钥。
对于任一令牌类型,系统使用令牌以在服务器进程上认证远程用户,并在客户机启动远程对象之前创建在客户端生效的主体集的主体集表示。如果还启用了身份断言,那么认证层可包含安全信息,此信息表示客户机身份,而身份断言令牌表示调用时的实际远程用户。
有关配置 CSIV2 认证层的信息,请参阅配置入站 CSIv2 认证层或配置出站 CSIv2 认证层。
CSIv2 传输层
公共安全互操作性 V2 (CSIv2) 传输层支持用于保护 SAS 协议请求消息及支持从客户机进程至服务器进程的客户机证书认证。
传输层的主要功能是在从客户机进程至服务器进程的传输过程中提供 SAS 协议消息传输的安全特征。可使用加密和/或签名来保护消息。Liberty SSL 支持用作提供这类特征的底层机制。
传输层的第二个功能是在未使用认证层时提供认证材料来源。如果已启用身份断言并且未启用认证层,那么系统从传输的客户机证书链获取客户机进程身份。目标服务器进程通过将客户机证书链映射至其用户注册表中的用户来认证客户机证书链。证书链签发者专有名称用于确定是否信任客户机断言身份。
如果未启用任何身份断言和认证层,那么在目标服务器进程上启动实际远程方法调用时,通过映射客户机证书链获取的主体集将用作调用者主体集。即使目标服务器的认证层受支持但并非必需,并且客户机未发送认证令牌和身份令牌,这一点也适用。
有关使用身份断言配置 CSIV2 属性层的信息,请参阅配置入站 CSIv2 传输层或配置出站 CSIv2 传输层。
关键术语
- ORB – 对象请求代理程序。
- 它在可能已并置或未并置在同一进程中的实体间调解对象方法调用。
- 安全上下文
- 一些信息,用于规定对于 ORB 中对象的特定操作的安全特征。例如,要在调用对象操作期间使用的身份。
- 客户机安全服务 (CSS)
- 一个实体,此实体启动 SAS 协议请求,以在目标安全服务中建立针对目标 ORB 内对象的操作的安全上下文。
- 目标安全服务 (TSS)
- 一个实体,此实体接收 SAS 协议请求,以建立与针对目标 ORB 内对象的操作相关联的安全上下文。它接受或拒绝要建立或使用安全上下文的请求。
- 客户机认证
- 基于令牌的机制,用于认证客户机。GSSUP(用户名密码 GSS)是最低要求,但可能有其他要求,例如,LTPA。
- 身份断言
- 一种机制,中介实体通过此机制为另一实体担保,TSS 通过此机制对调用主体使用所断言身份。TSS 可决定它是否信任用于断言该身份的代理。
- 无状态
- 仅在处理单个请求期间使用该安全上下文,不会对后续请求重复使用该安全上下文。
- 有状态
- 建立该安全上下文后,多个请求可复用该安全上下文,直到 TSS 或 CSS 使其失效。
- 传输层安全性
- 底层传输提供的安全性支持。