Product Documentation

配置智能卡身份验证

Sep 28, 2016

Citrix Receiver for Windows 支持以下智能卡身份验证特性。 有关 XenDesktop 和 StoreFront 配置的信息,请参阅这些组件的文档。 本主题介绍适用于智能卡的 Citrix Receiver for Windows 配置。

  • 直通身份验证 (Single Sign-On) –当用户登录到 Citrix Receiver for Windows 时,直通身份验证可捕获智能卡凭据。 Citrix Receiver for Windows 按以下方式使用捕获的凭据:
    • 使用智能卡凭据登录到 Citrix Receiver for Windows 的已加入域的设备用户无需再次进行身份验证即可启动虚拟桌面和应用程序。
    • 使用智能卡凭据登录到 Citrix Receiver for Windows 的未加入域的设备用户必须再次输入凭据才可启动桌面或应用程序。

    直通身份验证需要使用 StoreFront 和 Citrix Receiver for Windows 配置。

  • 双模式身份验证 – 双模式身份验证可使用户在使用智能卡和输入用户名和密码之间进行选择。 此功能在无法使用智能卡时非常有用(例如,用户将其遗忘在家里或登录证书已过期)。 必须根据站点设置专用应用商店以启用此功能,方法是将 DisableCtrlAltDel 设置为 False 以允许使用智能卡。 双模式身份验证需要 StoreFront 配置。 如果解决方案中包含 NetScaler Gateway,也需要此配置。

    双模式身份验证现在还允许 StoreFront 管理员向最终用户提供针对同一个应用商店使用用户名和密码身份验证以及智能卡身份验证的功能,方法是从 StoreFront 控制台中进行选择。 请参阅 StoreFront 文档。

  • 多个证书 – 如果正在使用多个证书,则其可用于单个智能卡。 如果用户将智能卡插入读卡器,则这些证书可用于在用户设备上运行的所有应用程序,包括 Citrix Receiver for Windows。 要更改证书的选择方式,请配置 Citrix Receiver for Windows。
  • 客户端证书身份验证 – 客户端证书身份验证需要使用 NetScaler Gateway 和 StoreFront 配置。
    • 要通过 NetScaler Gateway 访问 StoreFront 资源,在移除智能卡后用户可以必须重新进行身份验证。
    • 当 NetScaler Gateway SSL 配置设置为强制客户端证书身份验证时,操作更加安全。 但是,强制客户端证书身份验证与双模式身份验证不兼容。
  • 双跳会话 – 如果需要双跳,则需要在 Receiver 和用户的虚拟桌面之间建立更进一步的连接。 支持双跳的部署在 XenDesktop 文档中有介绍。
  • 支持智能卡的应用程序 – 支持智能卡的应用程序,如 Microsoft Outlook 和 Microsoft Office,允许用户对虚拟桌面或应用程序会话中的文档进行数字签名或加密。

必备条件

本主题假设您熟悉 XenDesktop 和 StoreFront 文档中的智能卡主题。

限制

  • 证书必须存储在智能卡上,而非用户设备上。
  • Citrix Receiver for Windows 不保存用户证书选项,但是可以在配置时存储 PIN。 PIN 仅在用户会话期间缓存在非分页内存中,任何时候都不会存储在磁盘中。
  • 插入智能卡后,Citrix Receiver for Windows 不会重新连接会话。
  • 针对智能卡身份验证进行配置后,Citrix Receiver for Windows 不支持虚拟专用网络 (VPN) Single Sign-On 或会话预启动。 要将智能卡身份验证与 VPN 隧道结合使用,用户必须安装 NetScaler Gateway 插件并通过 Web 页登录,在每一步都使用智能卡和 PIN 进行身份验证。 使用 NetScaler Gateway 插件通过直通身份验证访问 StoreFront 不适用于智能卡用户。
  • Citrix Receiver for Windows Updater 与 citrix.com 通信,且 Merchandising Server 与 NetScaler Gateway 上的智能卡身份验证不兼容。

警告

本主题中说明的部分配置涉及注册表编辑操作。 注册表编辑器如果使用不当,会导致可能需要重新安装操作系统的严重问题。 Citrix 无法保证因“注册表编辑器”使用不当导致出现的问题能够得以解决。 使用“注册表编辑器”需自担风险。 请确保在编辑注册表之前进行备份。

为智能卡身份验证启用 Single Sign-On

要配置 Citrix Receiver for Windows,请在安装时包含以下命令行选项:

  • ENABLE_SSON=Yes

    Single Sign-On 是另一个用于直通身份验证的术语。 启用此设置可阻止 Citrix Receiver for Windows 第二次显示 PIN 提示。

此外,也可以通过以下策略和注册表更改执行此配置:

  • 管理模板 > 经典管理模板(ADM) > Citrix 组件 > Citrix Receiver > 用户身份验证 > 本地用户名和密码
  • 如果未安装 Single Sign-On 组件,请在下列任一注册表项中将 SSONCheckEnabled 更改为 false 。 此注册表项可阻止 Citrix Receiver for Windows 身份验证管理器查找 Single Sign-On 组件,因此允许 Citrix Receiver for Windows 向 StoreFront 进行身份验证。

    HKEY_CURRENT_USER\Software\Citrix\AuthManager\protocols\integratedwindows\

    HKEY_LOCAL_MACHINE\Software\Citrix\AuthManager\protocols\integratedwindows\

此外,可以为 Storefront 启用智能卡身份验证,而非 Kerberos。 要为 Storefront 启用智能卡身份验证而非 Kerberos,请使用下面的命令行选项安装 Citrix Receiver for Windows。 执行此操作需要管理员权限。 计算机无需加入域。

  • /includeSSON 安装单点登录(直通)身份验证。 启用凭据缓存以及使用基于域的直通身份验证。
  • 如果用户使用智能卡以外的 Receiver 身份验证方法(如用户名和密码)登录端点,命令行应采用:
    /includeSSON LOGON_CREDENTIAL_CAPTURE_ENABLE=No

    这样可阻止凭据在登录时被捕获,并在登录到 Citrix Receiver for Windows 时允许 Citrix Receiver for Windows 存储 PIN。

  • 转到“策略”>“管理模板”>“经典管理模板(ADM)”>“Citrix 组件”>“Citrix Receiver”>“用户身份验证”>“本地用户名和密码”。

    启用直通身份验证。 根据您的配置和安全设置,您可能需要选择允许对所有 ICA 执行直通身份验证选项才能使用直通身份验证。

配置 StoreFront:

  • 配置身份验证服务时,请选中智能卡复选框。

有关将智能卡用于 StoreFront 的详细信息,请参阅 StoreFront 文档中的配置身份验证服务

使用户设备支持使用智能卡

  1. 将证书颁发机构根证书导入设备的密钥库。
  2. 安装供应商的加密中间件。
  3. 安装和配置 Citrix Receiver for Windows。

更改证书的选择方式

默认情况下,如果多个证书有效,则 Citrix Receiver for Windows 将提示用户从列表中选择证书。 或者,可以将 Citrix Receiver for Windows 配置为使用默认证书(根据智能卡提供商)或近期即将过期的证书。 如果没有有效的登录证书,则会向用户发出通知,并提供使用其他可用登录方法的选项。

有效证书必须具备以下所有特点:

  • 本地计算机上时钟的当前时间在证书有效期内。
  • 使用者公钥必须使用 RSA 算法且密钥长度为 1024、2048 或 4096 位。
  • 密钥用法必须包含数字签名。
  • 使用者备用名称必须包含用户主体名称 (UPN)。
  • 增强型密钥用法必须包含智能卡登录和客户端身份验证或所有密钥用法。
  • 证书颁发者链条中的证书颁发机构之一必须匹配服务器在 TLS 握手时发送的允许的可分辨名称 (DN) 之一。

使用以下方法之一可更改证书的选择方式:

  • 在 Citrix Receiver for Windows 命令行中,指定选项 AM_CERTIFICATESELECTIONMODE={ Prompt | SmartCardDefault | LatestExpiry }

    默认有提示。 对于 SmartCardDefaultLatestExpiry,如果有多个证书符合条件,则 Citrix Receiver for Windows 将提示用户从中选择。

  • 将以下键值添加到注册表项 HKCU 或 HKLM\Software\[Wow6432Node\]Citrix\AuthManagerCertificateSelectionMode={ Prompt | SmartCardDefault | LatestExpiry }

    在 HKCU 中定义的值优先级高于 HKLM 中的值,可更好地帮助用户选择证书。

使用 CSP PIN 提示

默认情况下,向用户显示的 PIN 提示由 Citrix Receiver for Windows 而不是智能卡加密服务提供程序 (CSP) 提供。 Citrix Receiver for Windows 在需要时提示用户输入 PIN,然后将 PIN 传递给智能卡 CSP。 如果您的站点或智能卡有更严格的安全要求,如禁止在每进程或每会话缓存 PIN,则可将 Citrix Receiver for Windows 配置为使用 CSP 组件以管理 PIN 条目,包括输入 PIN 的提示。

使用以下方法之一更改 PIN 条目的处理方式:

  • 在 Citrix Receiver for Windows 命令行中,指定选项 AM_SMARTCARDPINENTRY=CSP
  • 将以下键值添加到注册表项 HKLM\Software\[Wow6432Node\]Citrix\AuthManagerSmartCardPINEntry=CSP