我需要帮助重新定义SAML和WS-Security架构(或者可能完全不同的标准?(。
我有以下独立于平台的方案,我需要使用客户端证书身份验证来保护这些方案。方案不是交互式的,仅涉及 Web 服务客户端 (1(。
(1( WS 客户端 -> (2( 服务提供程序 (SP( 上的 WS> (3( 身份提供程序 (IdP(
- (1( 在其计算机上具有客户端证书并调用 (2(
- (2( 具有 (1( 需要使用的服务
- (3( 能够使用客户端证书对 (1( 客户端进行身份验证
我的问题是,SAML、WS-Trust 等安全标准究竟如何涵盖这种情况。
谢谢
几乎可以使用任何"联邦"协议 - OIDC,SAML,WS-Fed,WS-Trust...任你挑选。
- 浏览器导航到 SP。
- SP 说"我不认识你",并通过适用于上述所选协议的身份验证请求将您重定向到 IdP
- IdP 说"我不认识你,身份验证!
- 浏览器提供用于身份验证的证书
- IdP 验证证书,并构建适用于所选协议的"断言"。
- IdP 通过断言将您重定向回 SP
- SP 验证断言并允许浏览器进入
在列出的协议中...只有 WS-Trust 的工作方式略有不同...在 WS-Trust 中,根据 SP 和 IdP 的实际身份,SP 可以要求浏览器提供证书,SP 可以在 STS 调用中要求 IdP 进行身份验证。仅当 IdP 和 SP 都配置为信任同一特定 CA 时,这才有效。这将导致不会从 SP 退回到 IdP 再退回。