管理傳輸層安全性(TLS)

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 11、Windows 10

設定 TLS Cipher Suite Order

不同的 Windows 版本支援不同的 TLS 密碼套件和優先順序。 請參閱 TLS/SSL 中的 Cipher Suites (Schannel SSP),以取得不同 Windows 版本中 Microsoft Schannel Provider 支援的預設順序。

注意

您也可以使用 CNG 函式來修改密碼套件清單,如需詳細資訊,請參閱 Prioritizing Schannel Cipher Suites。

對 TLS Cipher Suite 順序所做的更改將在下次啟動時生效。 在重新啟動或關機之前,現有順序將生效。

警告

不支援更新預設優先順序的登錄檔設定,且可能會使用服務更新重設。

使用 Group Policy 設定 TLS Cipher Suite Order

您可以使用 SSL Cipher Suite Order Group Policy 設定來設定預設的 TLS 密碼套件順序。

  1. 在 Group Policy Management Console 上,>移至 Computer Configuration >Administrative Templates >Network SSL Configuration Settings。

  2. 連按兩下 SSL Cipher Suite Order,然後按一下 Enabled 選項。

  3. SSL Cipher Suites 方塊上按一下滑鼠右鍵,然後從彈出式選單中選取 Select all。

    Group Policy setting

  4. 在選取的文字上按一下滑鼠右鍵,然後從彈出式選單中選取複製。

  5. 將文字貼到文字編輯器 (例如 notepad.exe) 中,並使用新的密碼套件順序清單進行更新。

    注意

    TLS 密碼套件順序清單必須採用嚴格的逗號分隔格式。 每個密碼套件字串的右邊都會以逗號 (,) 結尾。

    此外,密碼套件的清單限製為 1,023 個字元。

  6. 以更新的排序清單取代 SSL Cipher Suites。

  7. 按一下 [確定] 或 [套用]

使用 MDM 設定 TLS Cipher Suite Order

Windows 10 Policy CSP 支援 TLS Cipher Suites 的設定。 如需詳細資訊,請參閱 Cryptography/TLSCipherSuites。

使用 TLS PowerShell Cmdlet 設定 TLS Cipher Suite Order

TLS PowerShell 模組支援取得 TLS 密碼套件順序清單、停用密碼套件以及啟用密碼套件。 請參閱 TLS 模組,瞭解更多資訊。

設定 TLS ECC Curve Order

從 Windows 10 &Windows Server 2016 開始,ECC 曲線順序可以獨立於密碼套件順序進行配置。 如果 TLS 密碼套件順序清單具有橢圓曲線字尾,則啟用時將被新的橢圓曲線優先順序順序覆蓋。 這允許組織使用 Group Policy 物件,以相同的密碼套件順序設定不同版本的 Windows。

注意

在 Windows 10 之前,密碼套件字串被附加橢圓曲線以確定曲線優先順序。

使用 CertUtil 管理 Windows ECC 曲線

從 Windows 10 和 Windows Server 2016 開始,Windows 透過命令列公用程式 certutil.exe 提供橢圓曲線參數管理。 橢圓曲線參數儲存在 bcryptprimitives.dll 中。 使用 certutil.exe,管理員可以分別在 Windows 中新增和移除曲線參數。 Certutil.exe 會將曲線參數安全地儲存在登錄檔中。 Windows 可以依照與曲線相關的名稱開始使用曲線參數。

顯示 Registered Curves

使用下列 certutil.exe 指令顯示為目前電腦註冊的曲線清單。

certutil.exe –displayEccCurve

Certutil display curves

圖1 Certutil.exe 輸出顯示已註冊曲線的清單。

新增 New Curve

組織可以建立和使用由其他受信任實體研究的曲線參數。 要在 Windows 中使用這些新曲線的管理員必須新增曲線。 使用下列 certutil.exe 指令將曲線新增至目前的電腦:

Certutil —addEccCurue curveName curveParameters [curveOID] [curveType]
  • curveName 引數代表加入曲線參數時所處的曲線名稱。
  • curveParameters 引數代表包含您要新增曲線參數的憑證檔名。
  • curveOid 引數代表憑證檔名,其中包含您要新增的曲線參數 OID。
  • curveType 引數表示來自 EC Named Curve Registry (可選)的命名曲線的十進位制值。

Certutil add curves

圖2 使用 certutil.exe 新增曲線。

移除 Previously Added Curve

管理員可以使用下列 certutil.exe 指令移除先前新增的曲線:

certutil.exe –deleteEccCurve curveName

管理員從電腦中刪除指定曲線後,Windows 不能使用該指定曲線。

使用 Group Policy 管理 Windows ECC 曲線

組織可以使用 Group Policy 與 Group Policy Preferences Registry 延伸功能,將曲線參數散佈至企業及已加入網域的電腦中。 分佈曲線的過程是:

  1. 在 Windows 10 和 Windows Server 2016 上,使用 certutil.exe,將新的註冊命名曲線新增到 Windows 中。

  2. 在這台電腦上,開啟 Group Policy Management Console (GPMC),建立新的 Group Policy 物件,然後加以編輯。

  3. 瀏覽至 Computer Configuration|Preferences|Windows Settings|Registry。 用滑鼠右鍵按一下 Registry。 將游標停留在 New 上,然後選取 Collection Item。 重新命名集合項目以符合曲線的名稱。 您將在 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Cryptography\ECCParameters 下為每個登錄機碼建立一個 Registry Collection 項目。

  4. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Cryptography\ECCParameters[curveName] 下列出的每個登錄值新增一個 Registry Item,以設定新建立的 Group Policy Preference Registry Collection。

  5. 將包含 Group Policy Registry Collection 項目的 Group Policy 物件部署到應該接收新指定曲線的 Windows 10 和 Windows Server 2016 電腦。

    Screenshot of the Preferences tab of the Group Policy Management Editor.

    圖3 使用 Group Policy Preferences 來分佈曲線

管理 TLS ECC 順序

從 Windows 10 和 Windows Server 2016 開始,可以使用 ECC Curve Order 群組策略設定配置預設的 TLS ECC Curve Order。 使用 Generic ECC 和此設定,組織可以將他們自己的受信任的指定曲線 (已批准用於 TLS) 新增到作業系統中,然後將這些指定曲線新增到曲線優先順序 Group Policy 設定中,以確保在以後的 TLS 握手中使用。 收到原則設定後,下次重新開機時,新的曲線優先順序清單會變成使用中。

Screenshot of the EEC Curve Order dialog box.

圖4 使用Group Policy 管理 TLS 曲線優先順序