联合服务器需要令牌签名证书,以防止攻击者在试图获得对联合资源的未经授权的访问时更改或伪造安全令牌。 与令牌签名证书一起使用的私钥/公钥配对是任何联合伙伴关系最重要的验证机制,因为这些密钥验证安全令牌是否由有效的合作伙伴联合服务器颁发,并且令牌在传输期间未修改。
令牌签名证书要求
令牌签名证书必须满足以下要求才能使用 AD FS:
若要使令牌签名证书成功对安全令牌签名,令牌签名证书必须包含私钥。
AD FS 服务帐户必须有权访问本地计算机个人存储中令牌签名证书的私钥。 该访问权限是在设置阶段授予的。 如果随后更改令牌签名证书,你还可以使用 AD FS 管理管理单元来授予此访问权限。
注释
这是一种公钥基础结构(PKI)最佳做法,不能出于多种目的共享私钥。 因此,不要使用在联合服务器上安装的服务通信证书作为令牌签名证书。
如何在合作伙伴之间使用令牌签名证书
每个令牌签名证书都包含用于对安全令牌进行数字签名(通过私钥)进行数字签名的加密密钥和公钥。 稍后,合作伙伴联合服务器收到它们后,这些密钥会验证加密安全令牌的真实性(通过公钥)。
由于每个安全令牌都由帐户合作伙伴进行数字签名,资源合作伙伴可以验证安全令牌实际上是由帐户合作伙伴颁发的,并且该令牌未修改。 数字签名由合作伙伴令牌签名证书的公钥部分进行验证。 验证签名后,资源联合服务器会为其组织生成自己的安全令牌,并使用自己的令牌签名证书对安全令牌进行签名。
对于联合合作伙伴环境,当 CA 已颁发令牌签名证书时,请确保:
证书吊销列表(CRL)可供信任联合服务器的信赖方和 Web 服务器访问。
根 CA 证书受到信赖方和信任联合服务器的 Web 服务器的信任。
资源伙伴中的 Web 服务器使用令牌签名证书的公钥来验证安全令牌是否已由资源联合服务器签名。 然后,Web 服务器允许对客户端进行适当的访问。
令牌签名证书的部署注意事项
在新 AD FS 安装中部署第一个联合服务器时,必须获取令牌签名证书,并将其安装在该联合服务器上的本地计算机个人证书存储中。 可以通过从企业 CA 或公共 CA 请求令牌签名证书,或通过创建自签名证书来获取令牌签名证书。
同一令牌签名证书中的私钥由场中的所有联合服务器共享。
在联合服务器场环境中,我们建议所有联合服务器共享(或重复使用)相同的令牌签名证书。 可以在联合服务器上从 CA 安装单个令牌签名证书,然后导出私钥,前提是颁发的证书标记为可导出。
如下图所示,来自同一令牌签名证书的私钥可以由场中的所有联合服务器共享。 此选项与以下“唯一令牌签名证书”选项相比,如果计划从公共 CA 获取令牌签名证书,可降低成本。
有关在使用 Microsoft证书服务作为企业 CA 时安装证书的信息,请参阅 IIS 7.0:在 IIS 7.0 中创建域服务器证书。
有关从公共 CA 安装证书的信息,请参阅 IIS 7.0:请求 Internet 服务器证书。
有关安装自签名证书的信息,请参阅 IIS 7.0:在 IIS 7.0 中创建 Self-Signed 服务器证书。
另请参阅
Windows Server 2012 中的 AD FS 设计指南