我对所有这些安全功能都是新手,最近我被要求研究 ADFS 2.0。我发现 ADFS 使用以下类型的 X.509 证书与依赖方 (RP) 进行通信:
- 所有 RP 通用:1) 服务通信 2) 令牌签名 3) 令牌解密
- RP专用:4)加密证书
请帮助我找出在涉及所有 3 个部分的实际生产场景中哪个是真正重要和需要的:用户、服务提供商(我们公司)、IdP(ADFS)(在客户的服务器上)。
1) 我在 MS 帮助中发现的第一个证书:“这是联邦服务器用作 Internet 信息服务 (IIS) 中的 SSL 证书的相同证书”我不确定这是真的,因为我能够单独替换它们不会相互影响,因此它们肯定可以并行运行。所以不知道这个证书是干什么用的。
2) 第二个是用于签署已发行的令牌,以便 RP 能够确保令牌确实由受信任的 ADFS 发行,而不是被拦截,对吧?
3) 第三个可能是出于相反的目的:ADFS 确保消息确实来自受信任的 RP。
4)特定RP的加密证书有助于加密整个消息(令牌),因此即使您获得https公钥并拦截来自ADFS的消息,您也无法读取它没有其他应该只有RP知道的公钥,正确的?
如果我错了,请纠正我。
所有这些证书都是可选的,Micorosoft 没有说明其中的重要性,我在 WIF SDK 中唯一提到的就是说在现实生活中最好使用令牌加密证书。问题是我们为 ADFS-RP 通信建立了 HTTPS 协议(IIS 设置为在双方都使用 https)。安全通信还不够吗?我想知道:我们真的需要 2)、3) 甚至 4) 吗?