Active Directory - 基于证书的身份验证 - 用户的多个证书

信息安全 证书 证书颁发机构 活动目录
2021-09-02 22:14:41

首先,我对AD的了解非常有限。

问题:我使用用户证书对 AD 上的用户进行身份验证。我想在各种设备(包括移动设备)上对用户进行身份验证。每个都将通过 CA 生成自己的证书。CA 与 AD 绑定,因此用户通过证书在 AD 上进行身份验证。

问题是:AD 上的用户帐户可以为单个用户持有多个证书。因为在我的情况下,私钥不会在设备之间共享(设备将与 CA 连接以检索自己的身份证书)

请帮忙

1个回答

在 Microsoft / Active Directory 世界中,可以通过多种方式进行基于证书的身份验证,但简短的回答是:是的,一个用户可以拥有多个证书。

在 IIS 术语中,这称为“证书映射”,带有选项clientCertificateMappingAuthentication(不要与iisClientCertificateMappingAuthentication混淆)。有两种方法可以将给定的客户端证书映射到用户 AD 帐户:

  • userCertificateAD 中的帐户可能在其属性中包含证书的副本(不是私钥) 。
  • AD 服务器可以从经过验证的客户端证书中提取 UPN 并将其用作帐户名称。

由于该userCertificate属性是多值的,它可以包含多个证书,因此这适用于您要查找的内容。第二种映射设置起来可能很复杂(AD 服务器也必须有自己的证书,并且与“企业 NTAuth 证书存储”有一个复杂的游戏)但意味着几乎无限数量的证书,而不是事先知道,可以映射到给定的用户帐户。