Applies ToWin 10 Ent LTSC 2019 Win 10 IoT Ent LTSC 2019 Windows 10 IoT Core LTSC Windows Server 2019 Windows 10 Enterprise Multi-Session, version 20H2 Windows 10 Enterprise and Education, version 20H2 Windows 10 IoT Enterprise, version 20H2 Windows 10 on Surface Hub Windows 10, version 21H1, all editions Windows 10, version 21H2, all editions

摘要

傳輸層安全性 (TLS) 1.0 和 1.1 是透過電腦網路建立加密通道的安全性通訊協定。 自 Windows XP 和 Windows Server 2003 以來,Microsoft一直支援這些功能。 不過,法規需求正在變更。 此外,TLS 1.0 中還有新的安全性弱點。 因此,Microsoft建議您移除 TLS 1.0 和 1.1 相依性。 我們也建議您盡可能停用作業系統層級的 TLS 1.0 和 1.1。 如需詳細資料,請參閱 TLS 1.0 和 1.1 停用。 在 2022 年 9 月 20 日的預覽更新中,我們將根據 winHTTP 和 wininet,針對應用程式預設停用 TLS 1.0 和 1.1。 這是持續努力的一部分。 本文將協助您重新啟用。 這些變更會在安裝 2022 年 9 月 20 日或之後發行的 Windows 更新後反映。  

在瀏覽器中存取 TLS 1.0 和 1.1 連結時的行為

2022 年 9 月 20 日之後,當您的瀏覽器開啟使用 TLS 1.0 或 1.1 的網站時,會出現一則訊息。 請參閱圖 1。 訊息指出該網站使用過時或不安全的 TLS 通訊協定。 若要解決此問題,您可以將 TLS 通訊協定更新為 TLS 1.2 或更新版本。 如果無法這麼做,您可以啟用 TLS,如啟 用 TLS 版本 1.1 及以下所述

存取 TLS 1.0 和 1.1 連結時的 Internet Explorer 視窗

圖 1:存取 TLS 1.0 和 1.1 網頁時的瀏覽器視窗

在 winHTTP 應用程式中存取 TLS 1.0 和 1.1 連結時的行為

更新之後,根據 winHTTP 的應用程式可能會失敗。 錯誤訊息是「執行 WinHttpSendRequest 作業時ERROR_WINHTTP_SECURE_FAILURE」。

存取自訂 UI 應用程式中以 winHTTP 或 wininet 為基礎的 TLS 1.0 和 1.1 連結時的行為

當應用程式嘗試使用 TLS 1.1 及以下版本建立連線時,連線可能會顯示為失敗。 當您關閉應用程式或應用程式停止運作時,[程式相容性小幫手] (PCA) ] 對話方塊會顯示為圖 2 中所示。

關閉應用程式後,程式相容性小幫手快顯視窗

圖 2:關閉應用程式之後的程式相容性小幫手對話方塊

PCA 對話方塊會指出「此程式可能無法正確執行」。 在下面,有兩個選項:

  • 使用相容性設定執行程式

  • 此程式正確執行

使用相容性設定執行程式

當您選擇此選項時,應用程式會重新開啟。 現在,所有使用 TLS 1.0 和 1.1 的連結都能正常運作。 從那開始,就不會出現 PCA 對話方塊。 登錄編輯程式會將專案新增至下列路徑:

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store。 

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。 

如果您誤選此選項,可以刪除這些專案。 如果您刪除它們,您會在下次開啟應用程式時看到 [PCA] 對話方塊。

應該使用相容性設定執行的程式清單

圖 3:應使用相容性設定執行的程式清單

此程式正確執行

當您選擇此選項時,應用程式會正常關閉。 下次重新開啟應用程式時,不會出現 PCA 對話方塊。 系統會封鎖所有 TLS 1.0 和 1.1 內容。 登錄編輯程式會將下列專案新增至路徑 Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store。 請參閱圖 4。 如果您誤選此選項,可以刪除此專案。 如果您刪除了專案,下次開啟應用程式時,就會看到 [PCA] 對話方塊。

登錄編輯程式中的專案,指定應用程式正確執行

圖 4:登錄編輯程式中的專案指出應用程式正確執行

重要 舊版 TLS 通訊協定僅針對特定應用程式啟用。 即使停用全系統設定也沒問題。

啟用 TLS 版本 1.1 及低於 (wininet 和 Internet Explorer 設定)

我們不建議啟用 TLS 1.1 及以下版本,因為它們不再被視為安全。 它們很容易受到各種攻擊,例如 POODLE 攻擊。 因此,啟用 TLS 1.1 之前,請執行下列其中一項操作:

  • 檢查是否有較新版本的應用程式可用。

  • 要求應用程式開發人員在應用程式中進行設定變更,以移除 TLS 1.1 及以下版本的相依性。

如果解決方案都無效,那麼在全系統設定中啟用舊版 TLS 通訊協定的方法有兩種:

  • 網際網路選項

  • 群組原則編輯器

網際網路選項

若要開啟 [網際網路選項],請在工作列上的搜尋方塊中輸入 [ 網際網路選項 ]。 您也可以從圖 1 中顯示的對話方塊中選取 [ 變更設定 ]。 在 [ 進階] 索引 標籤上,向下捲動 [ 設定] 面板 。 您可以在那裡啟用或停用 TLS 通訊協定。

[網際網路選項] 視窗

圖 5:[網際網路內容] 對話方塊

群組原則編輯器

若要開啟群組原則編輯器,請在工作列搜尋方塊中輸入gpedit.msc。 如圖 6 中所示的視窗隨即出現。 

群組原則編輯器視窗

圖 6:群組原則編輯器] 視窗

  1. > (Internet Explorer > Internet Explorer > [進階頁面] > > [關閉加密支援],> > [電腦設定] 或 [使用者設定]) > Internet Explorer > [系統管理聖地] 流覽至 [本機電腦群組件] 主控台> [進階頁面]。請參閱圖 7。

  2. 按兩下 [關閉加密支援]

    在 GPedit.msc 中關閉加密支援的路徑

    圖 7:關閉 群組原則 編輯器中的加密支援路徑

  3. 選取 [已啟用 ] 選項。 然後使用下拉式清單選取您要啟用的 TLS 版本,如圖 8 所示。

    關閉啟用加密支援,下拉式清單顯示各種選項

    圖 8:啟用關閉加密支援與下拉式清單

在 [群組原則編輯器] 中啟用原則後,您無法在 [網際網路選項] 中變更原則。 例如,如果您選取 [使用 SSL3.0 和 TLS 1.0],[網際網路選項] 中將無法使用所有其他選項。 請參閱圖 9。 如果您啟用 [群組原則編輯器] 中的[關閉加密支援],則無法變更 [網際網路選項] 中的任何設定。

具有灰色 SSL 和 TLS 設定的網際網路選項

圖 9:顯示無法使用的 SSL 和 TLS 設定的網際網路選項

啟用 TLS 版本 1.1 及以下 (winHTTP 設定)

請參閱更新以在 Windows 中啟用 TLS 1.1 和 TLS 1.2 做為 WinHTTP 中的預設安全通訊協定

wininet (和 Internet Explorer 設定的重要登錄路徑)

  • Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

    • 您可以在這裡找到 SecureProtocols,如果您使用群組原則編輯器,就會儲存目前啟用通訊協定的值。

  • Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings

    • 您可以在這裡找到 SecureProtocols,當您使用 [網際網路選項] 時,會儲存目前啟用通訊協定的值。

  • 群組原則 SecureProtocols 會優先于網際網路選項所設定的清單。

啟用不安全的 TLS 後援

上述修改將啟用 TLS 1.0 和 TLS 1.1。 不過,它們並不會啟用 TLS 後援。 若要啟用 TLS 後援,您必須在下方路徑下的登錄中將 EnableInsecureTlsFallback 設為 1。

  • 若要變更設定:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winHTTP

  • 若要設定原則:SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

如果 EnableInsecureTlsFallback 不存在,則您必須建立新的 DWORD 專案,並將它設為 1。

重要的登錄路徑

  1. ForceDefaultSecureProtocols  

    • HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winHTTP 

    • 根據預設,它是 FALSE。 設定非零值將會阻止應用程式使用 winHTTP 選項來設定自訂通訊協定。

  2. EnableInsecureTlsFallback 

    • 若要變更設定:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winHTTP

    • 若要設定原則:SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings

    • 根據預設,它是 FALSE。 設定非零值可讓應用程式 (在 (tls1.2 及更新) 的安全通訊協定失敗時,回復到 TLS1.0 和 1.1) 的不安全通訊協定。

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。