管理传输层安全性 (TLS)

配置 TLS 密码套件顺序

密码套件是一组加密算法。 不同的 Windows 版本支持不同的 TLS 密码套件和优先级顺序。 请参阅 TLS/SSL (Schannel SSP) 中的密码套件,了解不同 Windows 版本中 Microsoft Schannel 提供程序支持的默认顺序。

注意

还可以使用 CNG 函数修改密码套件列表,有关详细信息,请参阅确定 Schannel 密码套件的优先级

对 TLS 密码套件顺序的更改将在下一次启动时生效。 在重启或关闭之前,现有顺序生效。

警告

不支持更新默认优先级排序的注册表设置,并且可以使用服务更新进行重置。

使用组策略配置 TLS 密码套件顺序

可以使用 SSL 密码套件顺序组策略设置来配置默认 TLS 密码套件顺序。

  1. 在组策略管理控制台中,转到“计算机配置”“管理模板”>“网络”“SSL 配置设置”。

  2. 双击 SSL 密码套件顺序,然后选择 “已启用 ”选项。

  3. 右键点击“SSL 密码套件”框,然后从弹出菜单中选择“全选”。

    组策略设置

  4. 右键单击所选文本,然后从弹出菜单中选择“复制”。

  5. 将文本粘贴到文本编辑器(如 notepad.exe)中,使用新的密码套件顺序列表进行更新。

    注意

    TLS 密码套件顺序列表必须采用严格的逗号分隔格式。 每个密码套件字符串的右侧以逗号结尾。 此外,密码套件列表限制为 1,023 个字符。

  6. 将 SSL 密码套件中的列表替换为更新后的有序列表。

  7. 选择 “确定”“应用”。

使用 MDM 配置 TLS 密码套件顺序

Windows 10 策略 CSP 支持配置 TLS 密码套件。 有关详细信息,请参阅 Cryptography/TLSCipherSuites

使用 TLS PowerShell Cmdlet 配置 TLS 密码套件顺序

TLS PowerShell 模块支持获取 TLS 密码套件的有序列表、禁用密码套件和启用密码套件。 有关详细信息,请参阅 TLS 模块

配置 TLS ECC 曲线顺序

从 Windows 10 和 Windows Server 2016 开始,ECC 曲线顺序可以独立于密码套件顺序进行配置。 如果 TLS 密码套件顺序列表具有椭圆曲线后缀,则在启用时,它们将被新的椭圆曲线优先级顺序覆盖。 这样,组织就可以使用组策略对象来配置具有相同密码套件顺序的不同版本的 Windows Server。

使用 CertUtil 管理 ECC 曲线

从 Windows 10 和 Windows Server 2016 开始,Windows 通过命令行实用工具 certutil.exe提供椭圆曲线参数管理。 椭圆曲线参数存储在 bcryptprimitives.dll 中。 管理员可以使用 certutil.exe在 Windows Server 中添加和删除曲线参数。 Certutil.exe 将曲线参数安全地存储在注册表中。 Windows Server 可以通过与曲线关联的名称开始使用曲线参数。

显示已注册的曲线

使用以下 certutil.exe 命令显示为当前计算机注册的曲线列表。

certutil.exe –displayEccCurve

Certutil 显示曲线

添加新曲线

组织可以创建和使用其他受信任实体研究的曲线参数。 想要在 Windows 中使用新曲线的管理员必须添加这些曲线。 使用以下 certutil.exe 命令将曲线添加到当前计算机:

Certutil —addEccCurue curveName curveParameters [curveOID] [curveType]
  • curveName 参数表示添加曲线参数的那条曲线的名称。
  • curveParameters 参数表示包含要添加的曲线参数的证书的文件名
  • curveOid 参数表示证书的文件名,其中包含要添加的曲线参数的 OID(可选)。
  • curveType 参数表示 EC 命名曲线注册表中命名曲线的十进制值(可选)。

Certutil 添加曲线

删除以前添加的曲线

管理员可以使用以下 certutil.exe 命令删除以前添加的曲线:

certutil.exe –deleteEccCurve curveName

管理员从计算机中删除曲线后,Windows 无法使用命名曲线。

使用组策略管理 ECC 曲线

组织可以使用组策略和组策略首选项注册表扩展将曲线参数分发到与域连接的企业计算机。 分发曲线的过程如下:

  1. 使用 certutil.exe 添加新的已注册命名曲线。

  2. 在同一台计算机上,打开组策略管理控制台 (GPMC),创建一个新的组策略对象,然后对其进行编辑。

  3. 导航到“计算机配置”|“首选项”|“Windows 设置”|“注册表”。 右键单击“注册表”。 将鼠标悬停在“新建”上,选择“集合项”。 重命名集合项以匹配曲线的名称。 为 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Cryptography\ECCParameters 下的每个注册表键创建一个注册表集合项。

  4. 通过为 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Cryptography\ECCParameters[curveName] 下列出的每个注册表值添加一个新的注册表项,配置新创建的组策略首选项注册表集合

  5. 将包含组策略注册表集合项的组策略对象部署到应接收新命名曲线的计算机。

    组策略管理编辑器“首选项”选项卡的屏幕截图。

管理 TLS ECC 顺序

从 Windows 10 和 Windows Server 2016 开始,ECC 曲线顺序组策略设置可用于配置默认 TLS ECC 曲线顺序。 组织可以将其自己的受信任命名曲线添加到操作系统,然后将这些命名曲线添加到曲线优先级组策略设置中,以确保在将来的 TLS 握手中使用它们。 收到策略设置后,新的曲线优先级列表将在下次重启时生效。

“EEC 曲线顺序”对话框的屏幕截图。