密钥存储提供程序 (KSP) 远程处理(预览版)

简介

以前,从 Windows VDA 到 FAS 服务器的加密操作的远程处理是使用在 VDA 上运行的一对加密服务提供程序 (CSP) 实现的:

  • CitrixLogonCsp.dll - 用于单点登录 (SSO) 到 VDA
  • CitrixVirtualSmartcardCsp.dll - 用于会话中证书

借助此功能,还可以使用一对 KSP 实现远程加密操作:

  • CitrixLogonKsp.dll - 用于 SSO 到 VDA
  • CitrixVirtualSmartcardKsp.dll - 用于会话中证书

KSP 是向 Windows 应用程序公开加密操作的最新方式,它提供了更多功能。例如:

  • 支持带有 ECC 密钥的证书
  • 支持概率签名方案 (PSS) 填充

注意:

无法在 FAS 上启用 ECC 密钥。

启用 KSP 远程处理

请通过创建以下注册表项来启用 KSP 远程处理:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Citrix\Authentication\UserCredentialService\RemoteKspFeature

类型: string

值:on

  • FAS 服务器和 VDA 软件都必须运行 CVAD 2407 软件。

  • 请通过在 FAS 服务器和 VDA 上创建注册表项来启用 KSP 远程处理。

  • 重新启动 FAS 服务器和 VDA 以使更改生效。

如果不满足上述任何条件,VDA 将回退到使用 CSP 远程处理。

验证 KSP 远程处理是否已开启

在 FAS 服务器上,可以使用 PowerShell 检查 KSP 远程处理是否已开启:

KSP 远程处理已启用

要检查是否已将 KSP 远程处理用于 VDA SSO,请在 FAS 服务器的 Windows 应用程序日志中查找以下事件:

VDA SSO

操作 SignHash2 表示使用 KSP 远程处理,而 SignHash 表示使用 CSP 远程处理。

同样,使用会话中证书进行加密(例如,TLS 客户端身份验证)时,请在 FAS 服务器上查找以下事件:

加密事件

已知限制

仅当 FAS 本身配置为使用 KSP 时,才支持 KSP 远程处理。这是默认配置。如果将 FAS 配置为使用 CSP,KSP 远程处理将无法运行。

相关设置如下:

%programfiles%\Citrix\Federated Authentication Service\Citrix.Authentication.FederatedAuthenticationService.exe.config 文件中的 <add key="Citrix.TrustFabric.ClientSDK.TrustAreaJoinParameters.ProviderLegacyCsp" value="false" />

此处 False 表示 FAS 配置了 KSP,因此支持 KSP 远程处理。

密钥存储提供程序 (KSP) 远程处理(预览版)