令牌签名证书

联合服务器要求使用令牌签名证书来防止攻击者在尝试获得对联合资源的非授权访问时更改或伪造安全令牌。 与令牌签名证书结合使用的私钥/公钥对是任何联合身份验证伙伴关系最重要的验证机制,因为这些密钥验证安全令牌是否由有效的合作伙伴联合服务器颁发,以及验证令牌在传输过程中是否被修改。

令牌签名证书要求

令牌签名证书必须满足以下要求才能用于 AD FS:

  • 若要使令牌签名证书成功签署安全令牌,令牌签名证书必须包含私钥。

  • AD FS 服务帐户必须有权访问本地计算机个人存储中的令牌签名证书私钥。 该访问权限是在设置阶段授予的。 如果随后更改令牌签名证书,你还可以使用 AD FS 管理管理单元来授予此访问权限。

注意

不将私钥用于多种用途是公钥基础结构 (PKI) 的最佳做法。 因此,请勿使用联合服务器上安装的作为令牌签名证书的服务通信证书。

如何跨合作伙伴使用令牌签名证书

每个令牌签名证书包含用于对安全令牌进行数字签名(通过私钥的方式)的加密私钥和公钥。 以后在伙伴联合服务器接收到这些密钥时,它们会验证加密的安全令牌的真实性(通过公钥的方式)。

因为每个安全令牌由帐户伙伴进行数字签名,资源伙伴可以验证安全令牌是否确实由帐户伙伴颁发且未进行修改。 数字签名由合作伙伴的令牌签名证书的公钥部分验证。 验证签名后,资源联合服务器为其组织生成自己的安全令牌,并使用自己的令牌签名证书对安全令牌进行签名。

对于联合合作伙伴环境,当 CA 已颁发令牌签名证书时,请确保:

  1. 信任联合服务器的依赖方和 Web 服务器可以访问证书的证书吊销列表 (CRL)。

  2. 信任联合服务器的依赖方和 Web 服务器信任根 CA 证书。

资源合作伙伴中的 Web 服务器使用令牌签名证书的公钥来验证安全令牌是否由资源联合服务器签名。 然后,Web 服务器允许对客户端进行适当的访问。

令牌签名证书的部署注意事项

在新的 AD FS 安装中部署第一个联合服务器时,必须获取令牌签名证书并在该联合服务器上的本地计算机个人证书存储中安装它。 可以通过从企业 CA 或公共 CA 申请,或通过创建自签名证书来获得令牌签名证书。

  • 同一令牌签名证书中的私钥由场中的所有联合服务器共享。

    在联合服务器场环境中,建议所有联合服务器共享(或重用)同一令牌签名证书。 你可以在联合服务器上安装一个来自 CA 的令牌签名证书,然后导出私钥,前提是颁发的证书标记为可导出。

    如下图所示,来自同一令牌签名证书的私钥可以由场中的所有联合服务器共享。 如果计划从公共 CA 获取令牌签名证书,则此选项与以下“唯一令牌签名证书”选项相比可降低成本。

    Illustration that shows the private key from a single token-signing certificate can be shared to all the federation servers in a farm.

有关在使用 Microsoft 证书服务作为企业 CA 时如何安装证书的详细信息,请参阅 IIS 7.0:在 IIS 7.0 中创建域服务器证书

有关从公共 CA 安装证书的详细信息,请参阅 IIS 7.0:请求 Internet 服务器证书

有关安装自签名证书的详细信息,请参阅 IIS 7.0:在 IIS 7.0 中创建自签名服务器证书

另请参阅

Windows Server 2012 中的 AD FS 设计指南