TrueCrypt, zřejmě nejpopulárnější program pro šifrování souborů, skončil 28. května 2014, a to za poněkud zvláštních okolností. Anonymní autoři prostě řekli balíme to a mimo jiné napsali: Používání TrueCryptu není bezpečné, může obsahovat neopravené bezpečnostní chyby.
To samozřejmě přililo olej do ohně konspiračním teoretikům, kteří v tom viděli spiknutí, nátlak atp. Ale vzhledem k nastalé situaci se tomu nelze divit.
Dva roky poté nejsou okolnosti konce o nic jasnější, ven se nedostaly žádné nové informace. Asi se tak přikloníme spíš k té nejprostší teorii, že už to autory prostě nebavilo. Autoři ještě nějakou dobu komunikovali přes e-mail, ale nic moc dalšího neprozradili. Za zmínku stojí snad jen fakt, že nedoporučovali fork programu a naopak doporučili začít od nuly: Myslím, že začít od začátku by nevyžadovalo o tolik víc práce, než se snažit pochopit kód současného TrueCryptu,
napsal jeden z autorů.
Audity: TrueCrypt je bezpečný
Už před koncem programu se rozjel projekt, jehož cílem bylo TrueCrypt auditovat. Na nezávislý audit se prostřednictvím iniciativy Open Crypto Audit vybralo víc než 70 tisíc dolarů. A tak se i přes ukončení projektu v auditu pokračovalo. Audit provedla společnost iSEC Partners a jeho výsledky potěšily. Sice byl v kódu trochu nepořádek a našlo se několik chyb nízké a střední závažnosti, ale co je nejdůležitější, žádná neoslabovala samotné šifrování.
Asi nejzávažnější nalezená chyba se přitom týkala pouze verze pro Windows. Ve výjimečných případech, kdy se nepovedlo inicializovat Crypto API pro generování (pseudo)náhodných čísel, na to reagoval prostě tak, že sbíral (slabší) entropii z jiných zdrojů. Ale ani audit neodhalí vše, jak ukázalo nalezení poměrně závažné chyby v září 2015. Šlo však o chybu za určitých podmínek umožňující eskalaci práv ve Windows. Opět nic, co by představovalo problém pro spolehlivost samotného šifrování.
Forky brzdí komplikovaná licence
Být TrueCrypt klasický svobodný software, asi by se nad odchodem původních autorů mávlo rukou a zkrátka by na ně navázal někdo jiný. Jenže TrueCrypt tak úplně svobodný není. To je také důvod, proč ho běžně nenaleznete v linuxových distribucích. TrueCrypt používá vlastní licenci, která však není tak restriktivní, jak se traduje. Omezení spočívá jen v tom, že odvozené dílo není možné distribuovat s názvem a logem TrueCrypt. Určité pasáže licence působí trochu nejasně, ale z žádné části nevyplývá, že by software nebylo možné modifikovat a redistribuovat.
Odborná veřejnost se tak nějak shodla, že na forkování TrueCryptu není nic špatného. A tak se forkuje i přes přání autorů, že už by se projekt měl nechat být. Původní licence se bohužel zbavit nelze a bude dále působit jako pomyslná koule na noze odvozených projektů, pro které zřejmě zůstane cesta do distribucí uzavřena. I přesto, že odvozené projekty už jsou mnohem otevřenější než původní TrueCrypt – jeho autoři např. jeli jen na sebe a nepřijímali příspěvky jiných vývojářů.
Možná někoho napadlo, co by se stalo, kdybyste prostě kód TrueCryptu vzali a vydali pod svobodnou licencí? Prakticky asi nic. Těžko by asi došlo k situaci, kdy by původní autoři vyšli z anonymity a hnali vás k soudu. Na druhou stranu open-source komunita licence obecně ctí a takový postup nepřipadá v úvahu. Navíc hrozba sporu, byť jen teoretická, by nad softwarem stále visela. Takže není jiná možnost, než prostě dodržovat licenci nebo napsat software nový, třeba s TrueCryptem kompatibilní.
Nejlepší nástupce: VeraCrypt
Nakonec tedy vzniklo několik forků, z nichž je nejrozšířenější VeraCrypt. Ten se od samého počátku nesnažil dělat žádnou revoluci, ale prostě TrueCrypt udržovat. Takže např. byly opraveny nalezené chyby, ale rozhraní ani funkce se prakticky nezměnily. Projekt je hostován na Codeplexu a spravuje ho francouzská bezpečnostní společnost IDRIX. Část kódu je licencována pod licencí TrueCrypt, část (nová) pod Apache License 2.0.
Hlavní změnou je menší úprava formátu souborů (volume), která však způsobuje nekompatibilitu s TrueCryptem. Týká se to vytváření hlavičky souboru, kdy VeraCrypt používá víc opakování, což by mělo být bezpečnější. Nějaký čas VeraCrypt fungoval pouze s novým formátem, ale později byla přidána i podpora starého formátu z TrueCryptu. Ale pouze pro mountování, nové soubory ve starém formátu už nevytvoříte. Nezapomeňte při mountování zaškrtnout, že se jedná o starý formát, program to poznat nedokáže.
VeraCrypt se dočkal už jedenácti verzí, poslední verze 1.17 vyšla v únoru. Nástroj standardně podporuje Linux, Windows a OS X. Aktuálně lze říct, že všechny menší či větší nedostatky TrueCryptu už byly napraveny a vývojáři už pracují i na větších vylepšeních. Jde hlavně o možnost šifrovat systémové oddíly při použití UEFI. Tuto důležitou funkci kdysi plánoval přidat i TrueCrypt, ale nakonec k tomu nedošlo.
Zmínit můžeme také fork CipherShed, který se zprvu jevil jako nejnadějnější nástupce TrueCryptu. Počáteční nadšení ale rychle opadlo a vývoj se táhne. Letos v únoru přece jen vyšla první verze 0.7.4.0, která opravuje několik chyb TrueCryptu, ale od té doby se zase nic moc neděje. Binárky jsou navíc k dispozici pouze pro Windows.
Závěr
I v roce 2016 můžete pohodlně a pravděpodobně i bezpečně TrueCrypt používat. Otázkou je, zda je lepší použít starý TrueCrypt nebo aktualizovaný VeraCrypt. Záleží na úhlu pohledu. Poslední verze TrueCryptu 7.1a sice obsahuje nějaké ty chyby, ale víme, že nejsou závažné. VeraCrypt zase staré chyby opravuje, ale nemůžeme vědět, zda mezitím nevznikly nové a možná závažnější, protože zdrojový kód není systematicky prověřován.
Přestože VeraCrypt a práci lidí z IDRIXu oceňuji, byl bych radši, kdyby byl vývoj ještě otevřenější. Asi kvůli relativně malému projektu nemusíme zakládat nadaci, ale bylo by fajn, kdyby ho pod svá křídla vzala nějaká OSS organizace s dobrou reputací a vývoj transparentně organizovala. Sice je hezké, že se udělal audit, ale když se kód nebude revidovat soustavně (a nejlépe nezávisle), tak zas budeme tam, kde jsme byli.