智能卡组策略和注册表设置

本文面向 IT 专业人员和智能卡开发人员介绍了可用于配置智能卡的组策略设置、注册表项设置、本地安全策略设置和凭据委派策略设置。

以下部分和表列出了智能卡相关组策略设置和注册表项,这些设置和注册表项可以基于每台计算机进行设置。 如果使用域组策略对象 (GPO) ,则可以编辑组策略设置并将其应用于本地或域计算机。

智能卡的主要组策略设置

以下智能卡 组策略设置位于计算机配置\管理模板\Windows 组件\智能卡中。

注册表项位于以下位置:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ScPnP\EnableScPnP
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\SmartCardCredentialProvider
  • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CertProp

注意

智能卡读取器注册表信息位于 HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Calais\Readers中。
智能卡注册表信息位于 HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Calais\SmartCards中。

下表列出了这些 GPO 设置的默认值。 本文中的策略说明下记录了变体。

服务器类型或 GPO 默认值
默认域策略 未配置
默认域控制器策略 未配置
独立服务器默认设置 未配置
域控制器有效默认设置 禁用
成员服务器有效默认设置 禁用
客户端计算机有效默认设置 禁用

允许没有扩展密钥使用证书属性的证书

可以使用此策略设置来允许未使用扩展密钥的证书 (EKU) 设置为用于登录。

注意

扩展密钥用法证书属性也称为扩展密钥用法。

在 Windows Vista 之前的 Windows 版本中,用于登录的智能卡证书需要具有智能卡登录对象标识符的 EKU 扩展。 此策略设置可用于修改该限制。

启用此策略设置后,具有以下属性的证书也可用于使用智能卡登录:

  • 没有 EKU 的证书
  • 具有所有用途 EKU 的证书
  • 使用客户端身份验证 EKU 的证书

如果未启用此策略设置,则仅包含智能卡登录对象标识符的证书可用于使用智能卡登录。

项目 描述
注册表项 AllowCertificatesWithNoEKU
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

允许使用 ECC 证书进行登录和身份验证

可以使用此策略设置来控制是否可以使用智能卡上的 ECC (ECC) 证书的椭圆曲线加密来登录域。

启用此设置后,智能卡上的 ECC 证书可用于登录到域。

如果未启用此设置,则智能卡上的 ECC 证书不能用于登录域。

项目 描述
注册表项 EnumerateECCCerts
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无
说明和资源 此策略设置仅影响用户登录到域的能力。 用于其他应用程序(如文档签名)的智能卡上的 ECC 证书不受此策略设置的影响。
如果使用 ECDSA 密钥登录,则还必须具有关联的 ECDH 密钥,以允许在未连接到网络时登录。

允许在登录时显示集成的“取消阻止”屏幕

可以使用此策略设置来确定集成取消阻止功能在登录用户界面 (UI) 中是否可用。 此功能在 Windows Vista 的凭据安全支持提供程序中作为标准功能引入。

启用此设置后,集成的取消阻止功能可用。

如果未启用此设置,则该功能不可用。

项目 描述
注册表项 AllowIntegratedUnblock
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无
说明和资源 若要使用集成的取消阻止功能,智能卡必须支持该功能。 请与硬件制造商联系,验证智能卡是否支持此功能。
可以通过配置策略设置“在阻止智能卡时显示字符串”策略设置,创建用户在智能卡被阻止时看到的自定义消息。

允许登录有效的签名密钥

可以使用此策略设置来允许枚举并可用于登录的基于签名密钥的证书。

启用此设置后,登录屏幕上会列出智能卡上可用的仅签名密钥的所有证书。

如果未启用此设置,则登录屏幕上不会列出具有仅签名密钥的智能卡上可用的证书。

项目 描述
注册表项 AllowSignatureOnlyKeys
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

允许时间无效的证书

可以使用此策略设置来允许显示已过期或尚未有效的证书进行登录。

注意

在 Windows Vista 之前,证书必须包含有效时间且不会过期。 若要使用证书,域控制器必须接受该证书。 此策略设置仅控制在客户端计算机上显示的证书。

启用此设置后,无论证书的时间是否无效或时间有效期已过期,都会在登录屏幕上列出。

如果未启用此策略设置,则登录屏幕上不会列出已过期或尚无效的证书。

项目 描述
注册表项 AllowTimeInvalidCertificates
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

允许用户名提示

可以使用此策略设置来确定在登录期间是否显示可选字段,并提供后续提升过程,用户可以在其中输入其用户名或用户名和域,从而将证书与用户相关联。

启用此策略设置后,用户会看到一个可选字段,可在其中输入用户名或用户名和域。

如果未启用此策略设置,则用户不会看到此可选字段。

项目 描述
注册表项 X509HintsNeeded
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

配置根证书清理

可以使用此策略设置来管理根证书的清理行为。 使用信任链验证证书,数字证书的信任定位点是根证书颁发机构 (CA) 。 CA 可以颁发多个证书,其中根证书作为树结构的顶级证书。 私钥用于对其他证书进行签名。 这会立即为根证书下的所有证书创建继承的可信度。

打开此策略设置后,可以设置以下清理选项:

  • 无清理。 当用户注销或删除智能卡时,会话期间使用的根证书将保留在计算机上。
  • 在智能删除卡时清理证书。 删除智能卡后,将删除根证书。
  • 注销时清理证书。 当用户注销 Windows 时,根证书将被删除。

如果未启用此策略设置,则当用户注销 Windows 时,根证书会自动删除。

项目 描述
注册表项 RootCertificateCleanupOption
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

阻止智能卡时显示字符串

可以使用此策略设置更改用户在其智能卡是否被阻止时看到的默认消息。

启用此策略设置后,可以创建和管理显示的消息,用户在智能卡被阻止时看到该消息。

当 (未启用此策略设置并且) 还启用了集成的取消阻止功能时,当智能卡被阻止时,用户会看到系统的默认消息。

项目 描述
注册表项 IntegratedUnblockPromptString
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:仅当启用 登录策略时显示“允许集成取消阻止”屏幕 时,此策略设置才有效。

筛选重复登录证书

可以使用此策略设置来配置显示的有效登录证书。

注意

在证书续订期间,用户的智能卡可以具有多个从同一证书模板颁发的有效登录证书,这可能会导致有关选择哪个证书的混淆。 续订证书且旧证书尚未过期时,可能会发生此行为。

如果两个证书是从具有相同主版本的同一模板颁发的,并且它们针对的是同一用户, (这由其 UPN) 确定,则确定它们相同。

打开此策略设置后,将进行筛选,以便用户只能从最新的有效证书中进行选择。

如果未启用此策略设置,则会向用户显示所有证书。

应用 “允许时间无效证书 ”策略设置后,此策略设置将应用于计算机。

项目 描述
注册表项 FilterDuplicateCerts
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无
说明和资源 如果智能卡上存在两个或多个相同的证书,并且启用了此策略设置,则会显示过期时间最远的证书。

强制从智能卡读取所有证书

可以使用此策略设置来管理 Windows 如何从智能卡读取所有证书进行登录。 在登录期间,Windows 仅从智能卡读取默认证书,除非它支持在单个调用中检索所有证书。 此策略设置强制 Windows 从智能卡读取所有证书。

启用此策略设置后,Windows 会尝试从智能卡读取所有证书,而不考虑 CSP 功能集。

如果未启用此策略,Windows 会尝试从不支持在单个调用中检索所有证书的智能卡中读取默认证书。 除默认证书外,其他证书不可用于登录。

项目 描述
注册表项 ForceReadingAllCertificates
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

重要说明:在某些情况下,启用此策略设置可能会对登录过程中的性能产生负面影响。
说明和资源 请联系智能卡供应商,以确定智能卡和关联的 CSP 是否支持所需行为。

通知用户智能卡驱动程序安装成功

可以使用此策略设置来控制安装智能卡设备驱动程序时用户是否看到确认消息。

启用此策略设置后,安装智能卡设备驱动程序时,用户会看到一条确认消息。

如果未打开此设置,则用户不会看到智能卡设备驱动程序安装消息。

-- --
注册表项 ScPnPNotification
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无
说明和资源 此策略设置仅适用于已通过 Windows 硬件质量实验室 (WHQL) 测试过程的智能卡驱动程序。

防止凭据管理器返回纯文本 PIN

可以使用此策略设置来防止凭据管理器返回纯文本 PIN。

注意

凭据管理器由本地计算机上的用户控制,它存储来自支持的浏览器和 Windows 应用程序的凭据。 凭据保存在用户配置文件下计算机上的特殊加密文件夹中。

打开此策略设置后,凭据管理器不会返回纯文本 PIN。

如果未启用此设置,凭据管理器可以返回纯文本 PIN。

项目 描述
注册表项 DisallowPlaintextPin
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无
说明和资源 如果启用此策略设置,某些智能卡可能无法在运行 Windows 的计算机中工作。 请咨询智能卡制造商,确定是否应启用此策略设置。

显示时反向存储于证书中的使用者名称

可以使用此策略设置来控制登录期间使用者名称的显示方式。

注意

为了帮助用户区分一个证书和另一个证书,默认情况下会显示用户主体名称 (UPN) 和公用名称。 例如,启用此设置时,如果证书使用者为 CN=User1、OU=Users、DN=example、DN=com 且 UPN 为 user1@example.com则 User1 将显示为 user1@example.com。 如果 UPN 不存在,则会显示整个使用者名称。 此设置控制该主题名称的外观,可能需要针对组织进行调整。

打开此策略设置后,登录期间的使用者名称与证书中的存储方式相反。

如果未启用此策略设置,则使用者名称的显示与证书中存储的名称相同。

项目 描述
注册表项 ReverseSubject
默认值 每个操作系统版本均无更改
禁用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无

从智能卡启用证书传播

可以使用此策略设置来管理插入智能卡时发生的证书传播。

注意

当已登录用户在附加到计算机的读取器中插入智能卡时,证书传播服务适用。 此操作会导致从智能卡读取证书。 然后将证书添加到用户的个人存储区。

打开此策略设置后,当用户插入智能卡时,将发生证书传播。

关闭此策略设置后,不会进行证书传播,并且证书不可用于应用程序(如 Outlook)。

项目 描述
注册表项 CertPropEnabled
默认值 每个操作系统版本均无更改
已启用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:必须启用此策略设置,以允许启用“从智能卡传播根证书”设置在启用时正常工作。

从智能卡启用根证书传播

可以使用此策略设置来管理插入智能卡时发生的根证书传播。

注意

当已登录用户在附加到计算机的读取器中插入智能卡时,证书传播服务适用。 此操作会导致从智能卡读取证书。 然后将证书添加到用户的个人存储区。

启用此策略设置后,当用户插入智能卡时,将发生根证书传播。

如果未启用此策略设置,则当用户插入智能卡时,不会发生根证书传播。

项目 描述
注册表项 EnableRootCertificate Propagation
默认值 每个操作系统版本均无更改
已启用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:若要使此策略设置正常工作,还必须启用“从智能卡启用证书传播”策略设置。
说明和资源

打开智能卡即插即用服务

可以使用此策略设置来控制是否启用智能卡即插即用。

注意

用户可以使用供应商提供的智能卡,这些供应商通过Windows 更新发布了其驱动程序,而无需特殊的中间件。 这些驱动程序的下载方式与 Windows 中其他设备的驱动程序下载方式相同。 如果Windows 更新中没有相应的驱动程序,则任何受支持的 Windows 版本随附的 PIV 兼容微型驱动程序将用于这些卡。

打开此策略设置后,系统首次在智能卡读取器中插入智能卡时,会尝试安装智能卡设备驱动程序。

如果未启用此策略设置,则在智能卡读取器中插入智能卡时,不会安装设备驱动程序。

项目 描述
注册表项 EnableScPnP
默认值 每个操作系统版本均无更改
已启用和未配置是等效的
策略管理 重启要求:无
注销要求:无
策略冲突:无
说明和资源 此策略设置仅适用于已通过 Windows 硬件质量实验室 (WHQL) 测试过程的智能卡驱动程序。

基本 CSP 和智能卡 KSP 注册表项

可为基础加密服务提供程序 (CSP) 和智能卡密钥存储提供程序 (KSP) 配置以下注册表项。 下表列出了键。 所有键都使用 DWORD 类型。

基本 CSP 的注册表项位于 的注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Microsoft Base Smart Card Crypto Provider

智能卡 KSP 的注册表项位于 中HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Cryptography\Providers\Microsoft Smart Card Key Storage Provider

基本 CSP 和智能卡 KSP 的注册表项

注册表项 描述
AllowPrivateExchangeKeyImport 非零值允许 RSA 交换 (例如,导入加密) 私钥以用于密钥存档方案。
默认值:00000000
AllowPrivateSignatureKeyImport 非零值允许导入 RSA 签名私钥,以便在密钥存档方案中使用。
默认值:00000000
DefaultPrivateKeyLenBits 根据需要定义私钥的默认长度。
默认值:00000400
默认密钥生成参数:1024 位密钥
RequireOnCardPrivateKeyGen 此密钥设置需要卡私钥生成 (默认) 的标志。 如果设置了此值,则可以将主机上生成的密钥导入智能卡。 这用于不支持卡密钥生成或需要密钥托管的智能卡。
默认值:00000000
TransactionTimeoutMilliseconds 使用默认超时值可以指定花费过多时间的事务是否会失败。
默认值:000005dc
将事务保存到智能卡的默认超时为 1.5 秒。

智能卡 KSP 的其他注册表项:

注册表项 描述
AllowPrivateECDHEKeyImport 此值允许导入临时椭圆曲线 Diffie-Hellman (ECDHE) 私钥,以便在密钥存档方案中使用。
默认值:00000000
AllowPrivateECDSAKeyImport 此值允许导入椭圆曲线数字签名算法 (ECDSA) 私钥,以便在密钥存档方案中使用。
默认值:00000000

CRL 检查注册表项

下表列出了在密钥分发中心 (KDC) 或客户端中关闭证书吊销列表 (CRL) 检查的密钥和相应值。 若要管理 CRL 检查,必须为 KDC 和客户端配置设置。

注册表项 详细信息
HKEY_LOCAL_MACHINE\SYSTEM\CCS\Services\Kdc\UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors 类型 = DWORD
值 = 1
HKEY_LOCAL_MACHINE\SYSTEM\CCS\Control\LSA\Kerberos\Parameters\UseCachedCRLOnlyAndIgnoreRevocationUnknownErrors 类型 = DWORD
值 = 1

其他智能卡 组策略设置和注册表项

在智能卡部署中,可以使用其他组策略设置来增强易用性或安全性。 可以补充智能卡部署的其中两个策略设置是:

  • 关闭计算机的委派
  • 交互式登录:不需要 CTRL+ALT+DEL (不建议)

以下智能卡相关组策略设置位于计算机配置\Windows 设置\安全设置\本地策略\安全选项中。

本地安全策略设置

组策略设置和注册表项 默认值 描述
交互式登录: 需要智能卡

scforceoption
禁用 此安全策略设置要求用户使用智能卡登录到计算机。

启用用户只能使用智能卡登录到计算机。
禁用 用户可以使用任何方法登录到计算机。

注意:启用后,Windows LAPS 管理的本地帐户将从此策略中免除。
交互式登录: 智能卡移除行为

scremoveoption
未定义此策略设置,这意味着系统会将其视为 “无操作”。 此设置确定从智能卡读取器中删除已登录用户的智能卡时会发生什么情况。 这些选项有:
无操作
锁定工作站:删除智能卡后,工作站会锁定,因此用户可以离开该区域,带着智能卡,并仍保留受保护的会话。
强制注销:删除智能卡时,用户会自动注销。
如果远程桌面服务会话断开连接:删除智能卡会断开会话的连接,而无需注销用户。 用户可以重新插入智能卡并稍后在装有智能卡阅读器的另一台计算机上重新插入会话,而无需再次登录。 如果会话是本地会话,则此策略设置的功能与 “锁定工作站” 选项相同。

从本地安全策略编辑器 (secpol.msc) ,可以编辑和应用系统策略来管理本地或域计算机的凭据委派。

以下智能卡相关组策略设置位于计算机配置\管理模板\系统\凭据委派中。

注册表项位于 中 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa\Credssp\PolicyDefaults

注意

在下表中,新凭据是运行应用程序时系统提示输入的凭据。

凭据委派策略设置

组策略设置和注册表项 默认值 描述
允许委派新凭据

AllowFreshCredentials
未配置 此策略设置适用于:
通过受信任的 X509 证书或 Kerberos 协议实现服务器身份验证时。
例如,对于使用 CredSSP 组件的应用程序, (远程桌面服务) 。

已启用:可以指定可以委托用户新凭据的服务器。
未配置:正确相互身份验证后,允许将新凭据委派给任何计算机上运行的远程桌面服务。
已禁用:不允许将新凭据委派到任何计算机。

注意:此策略设置可以设置为一个或多个服务主体名称, (SPN) 。 SPN 表示可在其中委托用户凭据的目标服务器。 指定 SPN 时,允许使用单个通配符,例如:
对于在任何计算机上运行的远程桌面会话主机 (RD 会话主机) ,请使用 *TERMSRV/**。
对 host.humanresources.fabrikam.com 计算机上运行的 RD 会话主机使用 TERMSRV/ host.humanresources.fabrikam.com。
对 .humanresources.fabrikam.com 中的所有计算机上运行的 RD 会话主机使用 TERMSRV/* .humanresources.fabrikam.com
允许使用仅限 NTLM 的服务器身份验证委派新凭据

AllowFreshCredentialsWhenNTLMOnly
未配置 此策略设置适用于:
使用 NTLM 实现服务器身份验证时。
对于使用 CredSSP 组件 (的应用程序,例如远程桌面) 。

已启用:可以指定可以委托用户新凭据的服务器。
未配置:正确相互身份验证后,允许将新凭据委派给任何计算机上运行的 RD 会话主机, (TERMSRV/*) 。
已禁用:不允许将新凭据委派到任何计算机。

注意:此策略设置可以设置为一个或多个 SPN。 SPN 表示可在其中委托用户凭据的目标服务器。 指定 SPN 时,允许使用单个通配符 (*) 。
有关示例,请参阅 允许委派新凭据 策略设置说明。
拒绝委派新凭据

DenyFreshCredentials
未配置 此策略设置适用于使用 CredSSP 组件 (的应用程序,例如远程桌面) 。

已启用:可以指定无法委托用户新凭据的服务器。
禁用未配置:未指定服务器。

注意:此策略设置可以设置为一个或多个 SPN。 SPN 表示无法委派用户凭据的目标服务器。 指定 SPN 时,允许使用单个通配符 (*) 。
有关示例,请参阅“允许委派新凭据”策略设置。

如果使用具有智能卡登录的远程桌面服务,则无法委托默认凭据和已保存凭据。 下表中的注册表项位于 ,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Lsa\Credssp\PolicyDefaults相应的组策略设置将被忽略。

注册表项 相应的组策略设置
AllowDefaultCredentials 允许委派默认凭据
AllowDefaultCredentialsWhenNTLMOnly 允许使用仅限 NTLM 的服务器身份验证委派默认凭据
AllowSavedCredentials 允许委派保存的凭据
AllowSavedCredentialsWhenNTLMOnly 允许使用仅限 NTLM 的服务器身份验证委派保存的凭据

另请参阅

智能卡技术参考