Súhrn
TLS (Transport Layer Security) 1.0 a 1.1 sú protokoly zabezpečenia na vytváranie šifrovacích kanálov v počítačových sieťach. Spoločnosť Microsoft ich podporuje od systémov Windows XP a Windows Server 2003. Regulačné požiadavky sa však menia. V protokole TLS 1.0 sú tiež nové slabé zabezpečenie. Preto spoločnosť Microsoft odporúča odstrániť závislosti protokolu TLS 1.0 a 1.1. Odporúčame tiež vypnúť protokoly TLS 1.0 a 1.1 na úrovni operačného systému, ak je to možné. Ďalšie podrobnosti nájdete v téme Zakázanie protokolu TLS 1.0 a 1.1. V aktualizácii verzie preview z 20. septembra 2022 predvolene vypneme protokoly TLS 1.0 a 1.1 pre aplikácie založené na platformách winhttp a wininet. Ide o súčasť pokračujúceho úsilia. Tento článok vám pomôže ich znova zapnúť. Tieto zmeny sa prejavia po inštalácii aktualizácií Windowsu vydaných 20. septembra 2022 alebo neskôr.
Správanie pri prístupe k prepojeniam TLS 1.0 a 1.1 v prehliadači
Po 20. septembri 2022 sa pri otvorení webovej lokality, ktorá používa protokol TLS 1.0 alebo 1.1, zobrazí správa. Pozrite si obrázok 1. V správe sa uvádza, že lokalita používa zastaraný alebo nebezpečný protokol TLS. Ak chcete vyriešiť tento problém, môžete aktualizovať protokol TLS na protokol TLS 1.2 alebo novší. Ak to nie je možné, môžete povoliť protokol TLS tak, ako je to uvedené v téme Povolenie protokolu TLS verzie 1.1 a staršej verzie.
Obrázok 1: Okno prehliadača pri prístupe na webovú stránku TLS 1.0 a 1.1
Správanie pri prístupe k prepojeniam TLS 1.0 a 1.1 v aplikáciách WinHTTP
Po aktualizácii môžu aplikácie založené na winhttp zlyhať. Chybové hlásenie je "ERROR_WINHTTP_SECURE_FAILURE počas vykonávania operácie WinHttpSendRequest".
Správanie pri prístupe k prepojeniam TLS 1.0 a 1.1 vo vlastných aplikáciách používateľského rozhrania založených na rozhraní winhttp alebo wininet
Keď sa aplikácia pokúsi vytvoriť pripojenie pomocou protokolu TLS 1.1 alebo nižšieho, pripojenie môže zlyhať. Keď aplikáciu zatvoríte alebo aplikácia prestane fungovať, zobrazí sa dialógové okno Asistent pre kompatibilitu programu (PCA) tak, ako je to znázornené na obrázku 2.
Obrázok 2: Dialógové okno Asistenta pre kompatibilitu programu po zatvorení aplikácie
V dialógovom okne PCA sa zobrazí hlásenie "Tento program možno nefungoval správne." V rámci toho sú k dispozícii dve možnosti:
- Spustenie programu pomocou nastavení kompatibility
- Tento program sa spustil správne
Spustenie programu pomocou nastavení kompatibility
Keď vyberiete túto možnosť, aplikácia sa znova otvorí. Všetky prepojenia, ktoré používajú protokoly TLS 1.0 a 1.1, teraz fungujú správne. Od tejto chvíle sa nezobrazí žiadne dialógové okno PCA. Editor databázy Registry pridá položky na nasledujúce cesty:
- Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store.
- Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers.
Ak ste túto možnosť vybrali omylom, môžete tieto položky odstrániť. Ak ich odstránite, pri ďalšom otvorení aplikácie sa zobrazí dialógové okno PCA.
Obrázok 3: Zoznam programov, ktoré by sa mali spúšťať pri používaní nastavení kompatibility
Tento program sa spustil správne
Keď vyberiete túto možnosť, aplikácia sa normálne zavrie. Pri ďalšom otvorení aplikácie sa nezobrazí žiadne dialógové okno PCA. Systém blokuje všetok obsah protokolu TLS 1.0 a 1.1. Editor databázy Registry pridá nasledujúcu položku do cestyComputer\HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store. Pozrite si obrázok 4. Ak ste túto možnosť vybrali omylom, môžete túto položku odstrániť. Ak položku odstránite, pri ďalšom otvorení aplikácie sa zobrazí dialógové okno PCA.
Obrázok 4: Položka v Editore databázy Registry s informáciou, že aplikácia sa spustila správne
Dôležité Staršie protokoly TLS sú povolené len pre konkrétne aplikácie. Platí to aj napriek tomu, že sú v systémových nastaveniach zakázané.
Povoľte TLS verzie 1.1 a staršej (nastavenia Wininet a Internet Explorer)
Neodporúčame povoliť protokol TLS 1.1 a nižšie, pretože sa už nepovažujú za bezpečné. Sú zraniteľní voči rôznym útokom, napríklad voči POODLE útoku. Pred povolením protokolu TLS 1.1 preto vykonajte niektorý z týchto krokov:
- Skontrolujte, či je k dispozícii novšia verzia.
- Požiadajte vývojára aplikácie o vykonanie zmien konfigurácie v aplikácii s cieľom odstrániť závislosť od protokolu TLS 1.1 a nižších verzií.
V prípade, že žiadne z riešení nefunguje, existujú dva spôsoby, ako povoliť staršie protokoly TLS v nastaveniach celého systému:
- Možnosti internetu
- Editor skupinovej politiky
Možnosti internetu
Ak chcete otvoriť položku Možnosti internetu, do vyhľadávacieho poľa na paneli úloh zadajte výraz Možnosti internetu . V dialógovom okne zobrazenom na obrázku 1 môžete tiež vybrať položku Zmeniť nastavenia . Na karte Rozšírené sa posuňte nadol na paneli Nastavenia . Tam môžete povoliť alebo zakázať protokoly TLS.
Obrázok 5: Dialógové okno internetových vlastností
Editor skupinovej politiky
Ak chcete otvoriť editor skupinová politika, do vyhľadávacieho poľa na paneli úloh zadajte príkaz gpedit.msc. Zobrazí sa okno podobné tomu znázornenému na obrázku 6.
Obrázok 6: Okno editora skupinovej politiky
- Prejdite na položku Politika> lokálneho počítača(Konfigurácia počítača alebo Konfigurácia používateľa)>Správcovské templets>Súčasti systému Windows Internet>Explorer>Internetový ovládací panel> Stránka >Rozšírenévypnutie podpory šifrovania. Pozri obrázok 7.
- Dvojité kliknutie Vypnúť podporu šifrovania.
Obrázok 7: Cesta k vypnutiu podpory šifrovania v editore skupinová politika - Vyberte možnosť Povolené . Potom pomocou rozbaľovacieho zoznamu vyberte verziu protokolu TLS, ktorú chcete povoliť, ako je to znázornené na obrázku 8.
Obrázok 8: Povoľte možnosť Vypnúť podporu šifrovania a rozbaľovací zoznam
Po povolení politiky v editore skupinová politika ju už nemôžete zmeniť v okne Možnosti siete internet. Ak napríklad vyberiete možnosť Použiť SSL3.0 a TLS 1.0, všetky ostatné možnosti v časti Možnosti internetu nebudú k dispozícii. Pozri obrázok 9. Žiadne nastavenie v časti Možnosti siete internet sa nedá zmeniť, ak zapnete možnosť Vypnúť podporu šifrovania v editore skupinová politika.
Obrázok 9: Možnosti internetu zobrazujúce nedostupné nastavenia SSL a TLS
Povoľte protokol TLS verzie 1.1 alebo staršej (nastavenia winhttp)
Pozrite si tému Aktualizujte a povoľte protokoly TLS 1.1 and TLS 1.2 ako predvolené zabezpečené protokoly vo WinHTTP vo Windowse.
Dôležité cesty k databáze Registry (nastavenia služieb Wininet a Internet Explorer)
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
- Tu nájdete SecureProtocols, ktorý ukladá hodnotu aktuálne povolených protokolov, ak používate editor skupinovej politiky.
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
- Tu nájdete protokol SecureProtocols, ktorý ukladá hodnotu aktuálne povolených protokolov, ak používate možnosti internetu.
Skupinová politika SecureProtocols bude mať prednosť pred tou, ktorú nastaví Možnosti internetu.
Povolenie záložného nastavenia nezabezpečeného protokolu TLS
Úpravy uvedené vyššie povolia protokol TLS 1.0 a TLS 1.1. Nepovolia však záložný prístup k TLS. Ak chcete povoliť zálohovanie protokolu TLS, musíte nastaviť EnableInsecureTlsFallback na hodnotu 1 v databáze Registry pod cestami uvedenými nižšie.
- Zmena nastavení: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
- Nastavenie politiky: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
Ak kľúč EnableInsecureTlsFallback nie je prítomný, musíte vytvoriť novú položku DWORD a nastaviť ju na hodnotu 1.
Dôležité cesty k databáze Registry
ForceDefaultSecureProtocols
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
- Predvolene je hodnota FALSE. Nastavením nenulovej hodnoty aplikácie zabránite nastavovať vlastné protokoly pomocou možnosti winhttp.
EnableInsecureTlsFallback
- Zmena nastavení: SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\winhttp
- Nastavenie politiky: SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\Internet Settings
- Predvolene je hodnota FALSE. Nastavenie nenulovej hodnoty povolí, aby sa aplikácie vrátili späť na nezabezpečené protokoly (TLS1.0 a 1.1), ak handshake zlyhá so zabezpečenými protokolmi (TLS1.2 a vyšší).