密钥存储提供程序 (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

类型:字符串

值: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) 远程处理(预览版)