Závislost od samého začátku
Když certifikační autorita Let's Encrypt před pěti lety začínala, musela zajistit, aby její certifikáty byly důvěryhodné ve většině zařízení, nástrojů i operačních systémů. Dostat vlastní kořenový certifikát k uživatelům ale trvá léta a je potřeba projít náročnou procedurou získání důvěry. Aby byly certifikáty od Let's Encrypt akceptovány od samého začátku, musela stavět na důvěryhodnosti jiných.
Proto se nová autorita spojila s již existující autoritou IdenTrust a nechala si vystavit mezilehlý certifikát založený na kořenovém certifikátu DST Root CA X3. Tomuto postupu se říká cross-signing nebo-li křížové podepsání.
Výhodou tohoto postupu bylo, že autorita mohla začít plnit svou funkci okamžitě, protože použitý kořenový certifikát existoval v té době už poměrně dlouho a byl důvěryhodný v celé řadě běžně dostupných systémů jako Windows, Firefox, macOS, Android, iOS a většina linuxových distribucí.
Autorita Let's Encrypt si během roku 2016 vystavila vlastni kořenový certifikát ISRG Root X1 a zahájila proces všeobecného zařazení do zmíněných platforem. Od té doby se nový kořen postupně šířil do nově vydávaných nástrojů, ale autorita s jeho nasazováním stále vyčkávala. Přestože už v loňském roce se hovořilo o tom, že certifikát bude brzy nasazen v produkci, autorita tento zásadní krok nakonec odložila.
Neuspěchat další krok je důležité, protože čím později se změna uskuteční, tím méně uživatelů jí bude zasaženo. Nyní se ale blíží doba, kdy je potřeba další krok učinit.
Konec spolupráce se blíží
Kořenovému certifikátu DST Root X3 končí platnost v září 2021. Původní mezilehlý certifikát pro Let's Encrypt končí v březnu příštího roku a je možné samozřejmě vystavit další. Ovšem platnost kořene je dána a je potřeba důvěru postavit na něčem dalším. Nastal tedy čas se od IdenTrustu odpoutat. Let's Encrypt se tak podle vlastních slov příští rok postaví na vlastní nohy.
V praxi to bude znamenat, že od 11. ledna 2021 začne autorita vystavovat certifikáty odvozené od vlastního kořene ISRG Root X1. Bude ale stále ještě nabízet možnost vystavení certifikátu na základě starého kořene, která ale bude trvat kvůli výše zmíněnému důvodu jen do září. Používat se k tomu bude volba alternate, která je součástí RFC popisujícího protokol ACME. Certbot umí použít alternativní řetězec od verze 1.6.0.
Se změnou se čekalo opravdu velmi dlouho. V době vypršení původního kořene to bude pět let od chvíle, kdy první nástroje zařadily nový kořen mezi důvěryhodné. Přesto se chystaný krok neobejde bez problémů a ztráty kompatibility.
Nebude to bezbolestné
Bohužel to tedy znamená, že software starší zhruba čtyř let přestane považovat certifikáty od Let's Encrypt za důvěryhodné. Především to postihne všechny verze mobilního operačního systému Android starší než 7.1.1. Dlužno dodat, že tato verze vyšla 5. prosince 2016 a objevil se v ní právě zmíněný „nový“ kořen ISRG Root X1.
Výrobci zařízení s Androidem mají dlouhodobě problémy s aktualizacemi. Přestože operační systém samotný se vyvíjí a jeho vývojáři dodávají nové verze včetně bezpečnostních záplat a dalších novinek, výrobci zařízení s aktualizacemi zaostávají. Je to složitý a dlouho kritizovaný problém, jehož praktickým důsledkem je, že po světě koluje spousta telefonů se zastaralou a nezáplatovanou verzí systému.
Podle dostupných dat, která má Let's Encrypt k dispozici, má 66,2 % přístrojů systém verze 7.1.1 a novější. Zbylých 33,8 % telefonů a dalších zařízení má systém starší a tedy neobsahující potřebný kořenový certifikát. Tyto přístroje nebudou autoritě Let's Encrypt důvěřovat.
Ještě máme před sebou téměř rok platnosti původního důvěryhodného kořene, takže se čísla ještě mírně posunou. Nedá se ale předpokládat, že by změna v následujícím roce byla nějak dramatická. V době vypršení certifikátu tedy bude platit, že telefony starší pěti let budou mít s novými certifikáty od Let's Encrypt smůlu.
Dilema certifikační autority
Je to nepříjemná situace, za kterou nemůže ani autorita, ani její uživatelé. Organizace stojící za Let's Encrypt přemýšlela nad novým křížově podepsaným mezilehlým certifikátem od jiné autority, ale nakonec se řešení nepodařilo najít. Pro nadřazenou autoritu jde totiž o velký risk, protože tím de facto vystavuje bianco šek a zároveň přebírá zodpovědnost za chování jiné organizace.
Příjemce křížově podepsaného certifikátu se tím také dostává do nepříjemné situace, protože musí plnit všechny požadavky stanovené pravidly pro autority a ještě navíc musí poslouchat nařízení vystavené starší autoritou. Let's Encrypt ale nechce být donekonečna závislá na vůli jiné společnosti.
Navíc problém s Androidem očividně nezmizí nikdy. Autorita je tedy postavena před rozhodnutí, zda má řešit za výrobce staré verze Androidu a donekonečna hledat nadřazené autority ochotné milostivě jí podepsat mezilehlý certifikát. Neznáme přesné podmínky dohody mezi ISRG a IdenTrust, ale můžeme předpokládat, že další autorita to zadarmo rozhodně dělat nebude.
Let's Encrypt se tedy rozhodla jednat otevřeně, oznámit věci dostatečně dopředu a je na internetové komunitě, aby se s tím vypořádala.
Co se s tím dá dělat
Pokud provozujete službu, u které by změna zasáhla velké množství uživatelů, můžete v lednu prodloužit životnost starého řetězce důvěry až do září 2021. Poté budete muset také volit mezi odstřižením části uživatelů a výměnou certifikační autority.
Pokud patříte mezi uživatele starého Androidu a chcete jej dál používat, můžete nainstalovat Firefox Mobile. Ten zatím podporuje Android už od verze 5.0 (listopad 2014) a přinese tedy do vašeho systému aktuální prohlížeč.
Proč to pomůže? Protože ostatní prohlížeče se spoléhají na systémové úložiště důvěryhodných certifikátů. Firefox jde ovšem jinou cestou a o důvěryhodné certifikáty se stará sám. Bez ohledu na to, čemu věří operační systém pod ním. Stačí vám tedy mít na neaktuálním systému aktuální Firefox, aby vše zase fungovalo.