管理传输层安全性 (TLS)

配置 TLS 密码套件顺序

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

Note

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

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

Warning

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

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

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

  1. From the Group Policy Management Console, go to Computer Configuration>Administrative Templates>Network>SSL Configuration Settings.

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

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

    组策略设置

  4. Right-click the selected text, and select copy from the pop-up menu.

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

    Note

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

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

  7. Select OK or Apply.

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

Windows 10 策略 CSP 支持配置 TLS 密码套件。 For more information, see Cryptography/TLSCipherSuites.

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

TLS PowerShell 模块支持获取 TLS 密码套件的有序列表、禁用密码套件和启用密码套件。 For more information, see TLS Module.

配置 TLS ECC 曲线顺序

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

使用 CertUtil 管理 ECC 曲线

Beginning with Windows 10 and Windows Server 2016, Windows provides elliptic curve parameter management through the command line utility 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]
  • The curveName argument represents the name of the curve under which the curve parameters were added.
  • The curveParameters argument represents the filename of a certificate that contains the parameters of the curves you want to add.
  • The curveOid argument represents a filename of a certificate that contains the OID of the curve parameters you want to add (optional).
  • The curveType argument represents a decimal value of the named curve from the EC Named Curve Registry (optional).

Certutil 添加曲线

删除以前添加的曲线

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

certutil.exe –deleteEccCurve curveName

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

使用组策略管理 ECC 曲线

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

  1. Use certutil.exe to add a new registered named curve.

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

  3. 导航到“计算机配置”|“首选项”|“Windows 设置”|“注册表”。 Right-click Registry. Hover over New and select Collection Item. 重命名集合项以匹配曲线的名称。 You create one Registry Collection item for each registry key under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Cryptography\ECCParameters.

  4. Configure the newly created Group Policy Preference Registry Collection by adding a new Registry Item for each registry value listed under HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Cryptography\ECCParameters[curveName].

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

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

管理 TLS ECC 顺序

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

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