摘要
傳輸層安全性 (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 及以下所述。
圖 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:群組原則編輯器] 視窗
-
> (Internet Explorer > Internet Explorer > [進階頁面] > > [關閉加密支援],> > [電腦設定] 或 [使用者設定]) > Internet Explorer > [系統管理聖地] 流覽至 [本機電腦群組件] 主控台> [進階頁面]。請參閱圖 7。
-
按兩下 [關閉加密支援]。
圖 7:關閉 群組原則 編輯器中的加密支援路徑
-
選取 [已啟用 ] 選項。 然後使用下拉式清單選取您要啟用的 TLS 版本,如圖 8 所示。
圖 8:啟用關閉加密支援與下拉式清單
在 [群組原則編輯器] 中啟用原則後,您無法在 [網際網路選項] 中變更原則。 例如,如果您選取 [使用 SSL3.0 和 TLS 1.0],[網際網路選項] 中將無法使用所有其他選項。 請參閱圖 9。 如果您啟用 [群組原則編輯器] 中的[關閉加密支援],則無法變更 [網際網路選項] 中的任何設定。
圖 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。
重要的登錄路徑
-
ForceDefaultSecureProtocols
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winHTTP
-
根據預設,它是 FALSE。 設定非零值將會阻止應用程式使用 winHTTP 選項來設定自訂通訊協定。
-
-
EnableInsecureTlsFallback
-
若要變更設定:SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winHTTP
-
若要設定原則:SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
根據預設,它是 FALSE。 設定非零值可讓應用程式 (在 (tls1.2 及更新) 的安全通訊協定失敗時,回復到 TLS1.0 和 1.1) 的不安全通訊協定。
-