Shrnutí
Protokol TLS (Transport Layer Security) 1.0 a 1.1 jsou protokoly zabezpečení pro vytváření šifrovacích kanálů přes počítačové sítě. Microsoft je podporuje od windows XP a Windows Serveru 2003. Zákonné požadavky se ale mění. V protokolu TLS 1.0 jsou také nové slabiny zabezpečení. Proto Microsoft doporučuje odebrat závislosti TLS 1.0 a 1.1. Doporučujeme také zakázat protokoly TLS 1.0 a 1.1 na úrovni operačního systému, kde je to možné. Další podrobnosti najdete v tématu Zakázání protokolů TLS 1.0 a 1.1. V aktualizaci Preview z 20. září 2022 zakážeme ve výchozím nastavení protokoly TLS 1.0 a 1.1 pro aplikace založené na winhttp a wininetu. To je součástí průběžného úsilí. Tento článek vám pomůže je znovu povolit. Tyto změny se projeví po instalaci aktualizací Windows vydaných 20. září 2022 nebo později.
Chování při přístupu k odkazům TLS 1.0 a 1.1 v prohlížeči
Po 20. září 2022 se zobrazí zpráva, když prohlížeč otevře web, který používá protokol TLS 1.0 nebo 1.1. Viz obrázek 1. Zpráva uvádí, že web používá zastaralý nebo nebezpečný protokol TLS. Pokud to chcete vyřešit, můžete aktualizovat protokol TLS na TLS 1.2 nebo vyšší. Pokud to není možné, můžete protokol TLS povolit, jak je popsáno v části Povolení protokolu TLS verze 1.1 a níže.
Obrázek 1: Okno prohlížeče při přístupu na webovou stránku tls 1.0 a 1.1
Chování při přístupu k odkazům TLS 1.0 a 1.1 v aplikacích winhttp
Po aktualizaci můžou aplikace založené na winhttp selhat. Chybová zpráva je " ERROR_WINHTTP_SECURE_FAILURE při provádění operace WinHttpSendRequest."
Chování při přístupu k odkazům TLS 1.0 a 1.1 ve vlastních aplikacích uživatelského rozhraní na základě winhttp nebo wininetu
Když se aplikace pokusí vytvořit připojení pomocí protokolu TLS 1.1 nebo novějšího, může se zdát, že připojení selže. Když aplikaci zavřete nebo přestane fungovat, zobrazí se dialogové okno Pomocníka s kompatibilitou programů (PCA), jak je znázorněno na obrázku 2.
Obrázek 2: Dialogové okno Pomocníka s kompatibilitou programů po zavření aplikace
V dialogovém okně PCA se zobrazí zpráva "Tento program pravděpodobně neběžel správně". Pod tím jsou dvě možnosti:
-
Spusťte program pomocí nastavení kompatibility.
-
Tento program běžel správně.
Spusťte program pomocí nastavení kompatibility.
Když zvolíte tuto možnost, aplikace se znovu otevře. Všechny odkazy, které používají protokol TLS 1.0 a 1.1, teď fungují správně. Od té verze se nezobrazí žádné dialogové okno PCA. Editor registru přidá položky do následujících cest:
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store.
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
Pokud jste tuto možnost zvolili omylem, můžete tyto položky odstranit. Pokud je odstraníte, při příštím otevření aplikace se zobrazí dialogové okno PCA.
Obrázek 3: Seznam programů, které by se měly spustit pomocí nastavení kompatibility
Tento program běžel správně.
Když zvolíte tuto možnost, aplikace se normálně zavře. Při příštím opětovném otevření aplikace se nezobrazí žádné dialogové okno PCA. Systém blokuje veškerý obsah tls 1.0 a 1.1. Editor registru přidá následující položku do cesty Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store. Viz obrázek 4. Pokud jste tuto možnost zvolili omylem, můžete tuto položku odstranit. Pokud položku odstraníte, při příštím otevření aplikace se zobrazí dialogové okno PCA.
Obrázek 4: Položka v Editoru registru oznamující, že aplikace běžela správně
Důležité Starší protokoly TLS jsou povolené jenom pro konkrétní aplikace. To platí i v případě, že jsou zakázané v celosystémových nastaveních.
Povolení protokolu TLS verze 1.1 a novější (nastavení wininetu a Internet Exploreru)
Nedoporučujeme povolovat protokol TLS 1.1 a novější, protože se už nepovažují za bezpečné. Jsou zranitelní vůči různým útokům, jako je útok PUDL. Před povolením protokolu TLS 1.1 proto proveďte jednu z následujících věcí:
-
Zkontrolujte, jestli je k dispozici novější verze aplikace.
-
Požádejte vývojáře aplikace, aby v aplikaci udělal změny konfigurace a odebral závislost na protokolu TLS 1.1 a novějším.
V případě, že žádné z řešení nefunguje, existují dva způsoby, jak povolit starší protokoly TLS v nastavení pro celý systém:
-
Možnosti Internetu
-
Editor zásad skupiny
Možnosti Internetu
Možnosti Internetu otevřete tak, že do vyhledávacího pole na hlavním panelu zadáte Možnosti Internetu . Můžete také vybrat Změnit nastavení v dialogovém okně zobrazeném na obrázku 1. Na kartě Upřesnit se posuňte dolů na panelu Nastavení . Tam můžete povolit nebo zakázat protokoly TLS.
Obrázek 5: Dialogové okno Vlastnosti internetu
Editor Zásady skupiny
Editor Zásady skupiny otevřete tak, že do vyhledávacího pole na hlavním panelu zadáte gpedit.msc. Zobrazí se okno podobné tomu, které je znázorněno na obrázku 6.
Obrázek 6: okno editoru Zásady skupiny
-
Přejděte do části > zásad místního počítače(Konfigurace počítače nebo Konfigurace uživatele) > tempty správy > součásti systému Windows > Internet Explorer > Internet Ovládací panely > Upřesnit stránky > Vypnout podporu šifrování. Viz obrázek 7.
-
Poklikejte na Vypnout podporu šifrování.
Obrázek 7: Cesta k vypnutí podpory šifrování v editoru Zásady skupiny
-
Vyberte možnost Povoleno . Pak pomocí rozevíracího seznamu vyberte verzi protokolu TLS, kterou chcete povolit, jak je znázorněno na obrázku 8.
Obrázek 8: Povolení vypnutí podpory šifrování a rozevíracího seznamu
Jakmile zásadu povolíte v editoru Zásady skupiny, nebudete ji moct změnit v možnostech Internetu. Pokud například vyberete Použít SSL3.0 a TLS 1.0, nebudou všechny ostatní možnosti v Možnostech Internetu dostupné. Viz obrázek 9. Pokud v editoru Zásady skupiny povolíte možnost Vypnout podporu šifrování, nemůžete změnit žádné nastavení v možnostech Internetu.
Obrázek 9: Možnosti internetu zobrazující nedostupná nastavení PROTOKOLU SSL a TLS
Povolení protokolu TLS verze 1.1 a novější (nastavení winhttp)
Důležité cesty registru (nastavení wininetu a Internet Exploreru)
-
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
Tady najdete Protokol SecureProtocols, který ukládá hodnotu aktuálně povolených protokolů, pokud používáte editor Zásady skupiny.
-
-
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
-
Tady najdete Protokol SecureProtocols, který ukládá hodnotu aktuálně povolených protokolů, pokud používáte Možnosti Internetu.
-
-
Zásady skupiny SecureProtocols bude mít přednost před protokolem nastaveným v možnostech Internetu.
Povolení nezabezpečeného záložního šifrování TLS
Výše uvedené úpravy povolí protokoly TLS 1.0 a TLS 1.1. Nepovolí ale náhradní tls. Pokud chcete povolit náhradní protokol TLS, musíte v registru v následujících cestách nastavit hodnotu EnableInsecureTlsFallback na hodnotu 1.
-
Změna nastavení: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
Nastavení zásad: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
Pokud enableInsecureTlsFallback není k dispozici, musíte vytvořit novou položku DWORD a nastavit ji na 1.
Důležité cesty registru
-
ForceDefaultSecureProtocols
-
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
Ve výchozím nastavení je false. Nastavením nenulové hodnoty zabráníte aplikacím v nastavování vlastních protokolů pomocí možnosti winhttp.
-
-
EnableInsecureTlsFallback
-
Změna nastavení: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
-
Nastavení zásad: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
-
Ve výchozím nastavení je false. Nastavení nenulové hodnoty umožní aplikacím vrátit se k nezabezpečeným protokolům (TLS1.0 a 1.1), pokud metoda handshake selže se zabezpečenými protokoly (tls1.2 a novějším).
-