TLS (Schannel SSP) Windows 10 和 Windows Server 2016 中的變更

適用于: Windows server 2022、Windows Server 2019、Windows Server 2016 和 Windows 10

加密套件變更

Windows 10,1511版和 Windows Server 2016 新增使用行動裝置管理 (MDM) 設定加密套件順序的支援。

如需加密套件優先順序的變更,請參閱 Schannel 中的加密套件

已新增下列加密套件的支援:

  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Windows 10 1507 和 Windows Server 2016 版中的 RFC 5289)
  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Windows 10 1507 和 Windows Server 2016 版中的 RFC 5289)

下列加密套件的 DisabledByDefault 變更:

  • Windows 10 1703 版中的 TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 (RFC 5246)
  • Windows 10 1703 版中的 TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 (RFC 5246)
  • Windows 10 1703 版中的 TLS_DHE_DSS_WITH_AES_256_CBC_SHA (RFC 5246)
  • Windows 10 1703 版中的 TLS_DHE_DSS_WITH_AES_128_CBC_SHA (RFC 5246)
  • Windows 10 1703 版中的 TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA (RFC 5246)
  • TLS_RSA_WITH_RC4_128_SHA Windows 10,版本1709
  • TLS_RSA_WITH_RC4_128_MD5 Windows 10,版本1709

從 Windows 10 開始,版本1507和 Windows Server 2016,預設支援 SHA 512 憑證。

RSA 金鑰變更

Windows 10,1507版和 Windows Server 2016 新增用戶端 RSA 金鑰大小的登錄設定選項。

如需詳細資訊,請參閱 Asymmetricalgorithm.keyexchangealgorithm 用戶端 RSA 金鑰大小

Diffie-Hellman 金鑰變更

Windows 10,1507版和 Windows Server 2016 新增 Diffie-Hellman 金鑰大小的登錄設定選項。

如需詳細資訊,請參閱 asymmetricalgorithm.keyexchangealgorithm-Diffie-Hellman 金鑰大小

SCH_USE_STRONG_CRYPTO 選項變更

使用 Windows 10,1507版和 Windows Server 2016 的SCH_USE_STRONG_CRYPTO選項現在會停用 Null、MD5、DES 和匯出密碼。

橢圓形曲線變更

Windows 10,1507版和 Windows Server 2016 會在 [電腦設定] 下的 [電腦設定] 系統管理範本 [網路 SSL 設定] 設定新增群組原則設定 >>> 。 ECC 曲線順序清單會指定橢圓曲線的慣用順序,以及啟用未啟用的支援曲線。

已新增下列橢圓曲線的支援:

  • BrainpoolP256r1 (RFC 7027) Windows 10、1507版及 Windows Server 2016
  • BrainpoolP384r1 (RFC 7027) Windows 10、1507版及 Windows Server 2016
  • BrainpoolP512r1 (RFC 7027) Windows 10、1507版及 Windows Server 2016
  • Curve25519 (RFC draft-ietf-tls-Curve25519 Windows 10) ,版本1607和 Windows Server 2016

SealMessage UnsealMessage 的分派層級支援 &

Windows 10,1507版和 Windows Server 2016 在分派層級新增對 SealMessage/UnsealMessage 的支援。

DTLS 1。2

Windows 10,1607版和 Windows Server 2016 新增 DTLS 1.2 (RFC 6347) 的支援。

HTTP.SYS 執行緒集區

Windows 10,1607版和 Windows Server 2016 新增執行緒集區大小的登錄設定,用來處理 HTTP.SYS 的 TLS 交握。

登錄路徑︰

HKLM\SYSTEM\CurrentControlSet\Control\LSA

若要指定每個 CPU 核心的執行緒集區大小上限,請建立 MaxAsyncWorkerThreadsPerCpu 專案。 此項目依預設不存在於登錄中。 在您建立專案之後,請將 DWORD 值變更為所需的大小。 如果未設定,則最大值為每個 CPU 核心2個執行緒。

下一個通訊協定協商 (NPN) 支援

從 Windows 10 版本1703開始,下一個通訊協定協商 (NPN) 已移除,不再受到支援。

預先共用金鑰 (PSK)

Windows 10,1607版和 Windows Server 2016 新增 (RFC 4279) 的 PSK 金鑰交換演算法支援。

已新增下列 PSK 加密套件的支援:

  • TLS_PSK_WITH_AES_128_CBC_SHA256 (Windows 10 1607 和 Windows Server 2016 版中的 RFC 5487)
  • TLS_PSK_WITH_AES_256_CBC_SHA384 (Windows 10 1607 和 Windows Server 2016 版中的 RFC 5487)
  • TLS_PSK_WITH_Null_SHA256 (Windows 10 1607 和 Windows Server 2016 版中的 RFC 5487)
  • TLS_PSK_WITH_Null_SHA384 (Windows 10 1607 和 Windows Server 2016 版中的 RFC 5487)
  • TLS_PSK_WITH_AES_128_GCM_SHA256 (Windows 10 1607 和 Windows Server 2016 版中的 RFC 5487)
  • TLS_PSK_WITH_AES_256_GCM_SHA384 (Windows 10 1607 和 Windows Server 2016 版中的 RFC 5487)

沒有 Server-Side 狀態伺服器端效能改進的會話繼續

Windows 10,1507版和 Windows Server 2016 每秒提供30% 的會話繼續(相較于 Windows Server 2012)。

會話雜湊和延伸的主要秘密延伸模組

Windows 10,1507版和 Windows Server 2016 新增對 RFC 7627 的支援:傳輸層安全性 (TLS) 會話雜湊和延伸的主要秘密延伸模組。

由於這種變更,Windows 10 和 Windows Server 2016 需要協力廠商CNG SSL 提供者更新以支援 NCRYPT_SSL_INTERFACE_VERSION_3,以及描述這個新介面。

SSL 支援

從 Windows 10、1607版和 Windows Server 2016 開始,預設會停用 TLS 用戶端和伺服器 SSL 3.0。 這表示,除非應用程式或服務特別透過 SSPI 要求 SSL 3.0,否則用戶端將永遠不會提供或接受 SSL 3.0,而且伺服器永遠不會選取 SSL 3.0。

從 Windows 10 1607 版和 Windows Server 2016 開始,已移除 SSL 2.0,且已不再支援。

針對與不相容 tls 用戶端的連線,Windows tls 遵循 tls 1.2 需求的變更

在 TLS 1.2 中,用戶端會使用 "signature_algorithms" 延伸 模組向伺服器指出可在數位簽章中使用的簽章/雜湊演算法組 (亦即,伺服器憑證和伺服器金鑰交換) 。 TLS 1.2 RFC 也需要伺服器憑證訊息接受 "signature_algorithms" 延伸模組:

"如果用戶端提供「signature_algorithms」擴充功能,則伺服器提供的所有憑證都必須由該擴充功能中的雜湊/簽章演算法組簽署。」

在實務上,某些協力廠商 TLS 用戶端不符合 TLS 1.2 RFC,而且無法包含它們願意在 "signature_algorithms" 延伸模組中接受的所有簽章和雜湊演算法組,或完全省略延伸模組 (後者向伺服器指出用戶端僅支援搭配 RSA、DSA 或 ECDSA) SHA1。

TLS 伺服器通常只會針對每個端點設定一個憑證,這表示伺服器不一定能提供符合用戶端需求的憑證。

在 Windows 10 和 Windows Server 2016 之前,Windows tls 堆疊會嚴格遵守 TLS 1.2 RFC 需求,導致與 RFC 不相容 tls 用戶端和互通性問題的連線失敗。 在 Windows 10 和 Windows Server 2016 中,會放寬條件約束,而且伺服器可以傳送不符合 TLS 1.2 RFC 的憑證(如果這是伺服器的唯一選項)。 用戶端接著可以繼續或終止交握。

驗證服務器和用戶端憑證時,Windows tls 堆疊會嚴格符合 TLS 1.2 RFC 的規定,而且只允許伺服器和用戶端憑證中的協商簽章和雜湊演算法。