本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

智能卡和远程桌面服务

 

适用对象:Windows Vista, Windows Server 2008, Windows 7, Windows 8.1, Windows Server 2008 R2, Windows Server 2012 R2, Windows Server 2012, Windows 8

本主题面向 IT 专业人员介绍实现智能卡登录时的远程桌面服务的行为。

本主题中的内容适用于版本的 Windows 中指定的应用于本主题开头的列表。 在这些版本中,智能卡重定向逻辑和WinSCardAPI 组合以形成一个过程中支持多个重定向的会话。

启用多个远程桌面服务方案需要智能卡支持。 其中包括:

  • 使用快速用户切换或远程桌面服务。 用户不能建立的重定向基于智能卡的远程桌面连接。 也就是说,连接尝试未成功在快速用户切换中或从远程桌面服务会话。

  • 启用加密文件系统 (EFS) 来查找从本地安全机构 (LSA) 进程的用户的智能卡读卡器中快速用户切换或远程桌面服务会话中。 如果 EFS 不能找到的智能卡读卡器或证书,EFS 不能对用户文件进行解密。

在远程桌面方案中,用户正在运行的服务,使用远程服务器和智能卡是该用户正在使用的计算机本地。 在智能卡登录方案中,远程服务器上的智能卡服务重定向到将智能卡读卡器连接到本地计算机用户正试图登录。

Flow chart

远程桌面重定向

有关重定向模型的说明:

  1. 这种情况下是远程登录会话中使用远程桌面服务的计算机上。 在远程会话中 (标记为"客户端会话"),用户运行net use /smartcard

  2. 箭头表示后用户在命令提示符下键入 PIN 直到达到在智能卡读卡器连接到远程桌面连接 (RDC) 客户端计算机的用户的智能卡的 PIN 的流。

  3. 在会话 0 中,LSA 执行身份验证。

  4. CryptoAPI 处理 LSA (Lsass.exe) 中执行。 这可能是因为 RDP 重定向程序 (rdpdr.sys) 允许每个会话而不是每个进程、 上下文。

  5. WinScardSCRedir组件,是在早于 Windows Vista 操作系统中单独的模块,现已包含在一个模块。 ScHelper库是特定于 Kerberos 协议的 CryptoAPI 包装。

  6. 重定向决定在智能卡上下文按每个基于会话的执行的线程上SCardEstablishContext调用。

  7. 在进行了更改到 WinSCard.dll 实现Windows Vista以提高智能卡重定向。

作为符合通用准则的一部分,RDC 客户端必须配置为使用凭据管理器来获取和保存用户的密码或智能卡 PIN。 符合通用准则要求应用程序不具有直接访问权限的用户密码或 PIN。

符合通用准则专门要求密码或 PIN 决不会让 LSA 以未加密状态。 分布式应用情况应允许密码或 PIN 来一个受信任的 LSA 和另一个,之间传播并且它不能为未加密传输的过程。

当启用智能卡的单一登录 (SSO) 用于远程桌面服务会话时,用户将仍需要为每个新的远程桌面服务会话中的登录。 但是,不是提示用户输入 PIN 不止一次以建立远程桌面服务会话。 例如,用户双击驻留在远程计算机的 Microsoft Word 文档图标后,则将提示用户输入 PIN。 使用凭据 SSP 已建立一个安全通道即可发送此 PIN。 PIN 是路由回 RDC 客户端通过安全通道并发送到 Winlogon。 用户不固定,接收的任何其他提示,除非 PIN 不正确或没有与智能卡相关的故障。

远程桌面服务使用户能够使用智能卡登录通过 RDC 客户端计算机上输入 PIN 并将其发送到 RD 会话主机服务器的方式类似于基于用户名和密码的身份验证。

System_CAPS_note注意

如果运行中指定这些客户端版本的 RDC 客户端计算机适用于列表中,使用和服务器运行 Windows Server 2003、 支持仅在智能卡的默认容器中的单个证书。 若要支持多个证书和域提示功能,使用运行中指定的操作系统的受支持的版本的计算机应用于本主题开头的列表。

此外,需要启用的基于智能卡登录特定于远程桌面服务的组策略设置。

若要启用智能卡登录到远程桌面会话主机 (RD 会话主机) 服务器,密钥分发中心 (KDC) 证书必须存在 RDC 客户端计算机上。 如果计算机不在同一个域或工作组中,可以使用以下命令以将证书部署:

certutil –dspublish NTAuthCA"DSCDPContainer"

DSCDPContainer公用名 (CN) 通常是证书颁发机构的名称。

示例

certutil –dspublish NTAuthCA < CertFile > "CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=engineering,DC=contoso,DC=com"

有关此选项的命令行工具的信息,请参阅-dsPublish

若要启用对企业中的资源的远程访问,必须在智能卡上配置的域的根证书。 从计算机加入到域中,在命令行运行以下命令:

certutil –scroots update

有关此选项的命令行工具的信息,请参阅-SCRoots

对于跨域远程桌面服务,RD 会话主机服务器上的 KDC 证书还必须是客户端计算机的 NTAUTH 存储区中存在。 若要添加存储,请在命令行运行以下命令:

certutil –addstore –enterprise NTAUTH < CertFile >

其中< CertFile >是 KDC 证书颁发者的根证书。

有关此选项的命令行工具的信息,请参阅-addstore

System_CAPS_note注意

如果您使用的凭据中指定的运行支持的操作系统版本的计算机上的 SSP应用于本主题开头的列表:若要使用来自未加入到域的计算机的智能卡登录,智能卡必须包含域控制器的根证书颁发。 无法在不使用的域控制器的根证书颁发的情况下建立公钥基础结构 (PKI) 的安全通道。

登录到远程桌面服务跨域仅适用于证书中的 UPN 使用以下形式:< 应答 > @< DomainDNSName >

在证书中的 UPN 必须包括可解决的域。 否则,Kerberos 协议不能确定要联系哪个域。 可以通过启用 GPO X 509 域提示来解决此问题。 有关此设置的详细信息,请参阅智能卡组策略和注册表设置

显示: