Let’s Encrypt funguje v XP: věci se ale mohou rozbít

28. 3. 2016
Doba čtení: 4 minuty

Sdílet

Služba Let’s Encrypt od pátku vydává certifikáty podporující Windows XP. Změna ale může způsobit problém uživatelům alternativních klientů, kteří nevymění mezilehlé certifikáty.

Až doposud byly certifikáty vydané autoritou Let’s Encrypt nepoužitelné ve Windows XP, a to hned ze dvou důvodů. Tím prvním byla nepodpora dnes už povinné hashovací funkce SHA256 ve všech vydáních, kromě posledního SP3. Druhým důvodem byla rozšiřující volba mezilehlého certifikátu Let’s Encrypt Authority X1, podepsaného důvěryhodnou autoritou IdenTrust, které Windows XP žádné verze nerozumí správně:

$ curl https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem.txt | openssl x509 -noout -text
…
           X509v3 Name Constraints:
                Excluded:
                  DNS:.mil
…

Tímto rozšířením je vyloučena platnost jakéhokoli certifikátu, který by obsahoval jméno z domény .mil. Takové omezení si zřejmě vynutila autorita IdenTrust při křížovém podepisování mezilehlých certifikátů Let’s Encrypt. Windows XP sice tuto volbu podporuje, ale z důvodu chyby ji vyhodnocuje tak, jako by bylo zakázáno vydávání jakýchkoli certifikátů. Pokud totiž v rozšíření není uvedena žádná explicitně povolená (Included) doména, vyhodnotí XP sekci jako „zákaz jedné položky z prázdné množiny“, žádná doména tedy nevyhoví a všechny následující certifikáty jsou zamítnuty.

Společnost ISRG, která Let’s Encrypt provozuje, slíbila, že se pokusí tento problém vyřešit. Tak se také stalo a od pátku 25. března 2016, 21 hodin středoevropského času, vydává Let’s Encrypt certifikáty z nového mezilehlého certifikátu Let’s Encrypt Authority X3, který příslušné omezení už neobsahuje.

Proč podporovat Windows XP?

Mnozí uživatelé se ptají, proč vlastně podporovat patnáct let starý operační systém, kterému navíc dávno skončila podpora. V praxi jde ale stále o poměrně rozšířený systém, zejména v některých konkrétních zemích. Zatímco v Severní Americe je rozšíření jen 4,7 % (což je ovšem stále mnohem víc než rozšíření linuxového desktopu), například v Indii se pohybuje okolo 17 % a v Číně dokonce 30 %.

Globální zastoupení XP (Net Applications)

Globální rozšíření se pak pohybuje okolo 11,3 %, což také není málo. Pokud se tedy web zaměřuje na běžné uživatele nebo na uživatelé ze zemí s velkou penetrací, nemůže problém s Let’s Encrypt ignorovat. Šlo o jeden z největších nedostatků této autority, kvůli kterým ji některé weby nemohly využít.

Všechny nové certifikáty teď mají nového vydavatele

I když na svém webu uživatele Windows XP nepotřebujete podporovat, tato změna vás stejně zasáhne při nejbližším pravidelném obnovení certifikátu. Nově obnovený certifikát totiž bude také vydán z nového mezilehlého certifikátu a váš server tak musí začít posílat tento nový mezilehlý certifikát.

Původní mezilehlý certifikát X1

Nový mezilehlý certifikát X3

Pokud používáte oficiálního klienta letsencrypt, dojde ke změně automaticky. Uživatelé alternativních klientů však mohou narazit. Po pravidelné obnově certifikátu pak dojde k porušení cesty důvěry a server se stane pro některé klienty nedůvěryhodný. Zejména v kombinaci s volbou HSTS může být takový výpadek velmi nepříjemný.

Nebezpeční klienti protokolu ACME, kteří mezilehlý certifikát nemění, jsou například letsencrypt-nosudo, nebo acme-tiny. Jeho autor už dřívější hlášení nedostatku uzavřel s tím, že cílem utility je pouze získat certifikát, nic víc. Jinými slovy, tato utilita se rozhodně nehodí k použití v automatizovaném bezobslužném obnovování certifikátů, přestože podle dokumentace se takové použití nabízí.

Naopak v bezpečí jsou uživatelé alternativních klientů simp_le, le.sh, které spolu s certifikátem vždy obnoví i příslušné mezilehlé, stejně jako to dělá oficiální klient. I tady je však zapotřebí ověřit, že webserver používá sadu mezilehlých certifikátů dodanou z ACME klienta a nikoli ručně konfigurovanou.

Další novinky na obzoru

Jistou zajímavostí nových mezilehlých certifikátů je, že zatím existují pouze ve verzi křížově podepsané důvěryhodnou autoritou IdenTrust. Neexistují zatím verze, které by byly vydány novým kořenovým certifikátem ISRG Root X1, který se ISRG snaží dostat mezi důvěryhodné autority. Jacob Hoffman-Andrews z ISRG to vysvětluje nutností naplánovat novou ceremonii, při které se privátní klíč kořenového certifikátu oživí a vystaví potřebné mezilehlé certifikáty. K této ceremonii má dojít za pár měsíců a pravděpodobně během ní dojde také k vystavení kořenového a mezilehlých certifikátů používajících algoritmus ECDSA. Vzhledem k tomu, že zatím není znám ani přibližný termín zařazení kořenového certifikátu mezi důvěryhodné, nepředstavuje toto zpoždění žádný praktický problém; naopak, je třeba počítat s tím, že po případném zařazení nového důvěryhodného kořene bude nutné opět změnit mezilehlý certifikát.

bitcoin_skoleni

Další oznámenou novinkou je plná podpora IPv6, ke které má dojít před osmým dubnem. V současné době je IPv6 podporováno na straně protokolu ACME (dokonce protokolem IPv6 přichází víc než polovina požadavků), avšak ověřování validačních výzev probíhá výlučně protokolem IPv4. J. C. Jones to vysvětluje nepodporou nikoli v softwaru, ale v datovém centru, kde je autorita umístěna. To bylo vybíráno primárně s ohledem na bezpečnost. Problém však má být brzy vyřešen, což bude příjemné nejen pro testovací stránky jako www.nebezi.cz, ale i pro nejrůznější neveřejné systémy, které ke své činnosti IPv4 adresu nepotřebují a byla jim v zájmu úspor odebrána. Ty se zatím musí spolehnout na ověření pomocí DNS záznamu.

Do konce června pak má Let’s Encrypt přidat podporu podepisování IDN domén (domén s národními znaky), které bylo doposud záměrně blokováno kvůli známému problému s homoglyfy, tedy znaky různých abeced, které se navzájem podobají či shodují. Takové znaky mohou představovat bezpečnostní problémy. Řešení pravděpodobně bude následovat obdobná řešení, která implementují doménové registry – v jednom doménovém jméně bude povoleno kombinovat pouze určité skupiny znaků, příslušející vždy jednomu jazyku.

Autor článku

Ondřej Caletka vystudoval obor Telekomunikační technika na ČVUT a dnes pracuje ve vzdělávacím oddělení RIPE NCC, mezinárodní asociaci koordinující internetové sítě.