truecrypt (možná) končí, žádná škoda, napsal jsem něco lepšího

Známý bezpečnostní software Truecrypt, který slouží k šifrování disků, ohlásil na svých stránkách ukončení vývoje a doporučuje přechod na BitLocker od Microsoftu.


Zpráva vyvolala vzrušené diskuze: opravdu se autoři vzdali dalšího vývoje, nebo se nechali koupit od Microsoftu a nebo je to vtip hackera? Vzhledem k tomu, že jsou autoři anonymní, nedá se nic z toho věrohodně ověřit.

Již léta se vedou debaty na téma důvěryhodnosti Truecryptu, ze kterých vyzařuje čiré zoufalství: je doporučovaná kaskáda šifer (AES-Serpent) bezpečnější než jednotlivé šifry a nebo naopak řetězení šifer paradoxně způsobí oslabení výsledného šifrování? Je nedokumentovaných 65024 bajtů od offsetu 512 v hlavičce kontejneru, které jsou ve verzi pro Linux naplněné nulami a ve veriz pro Windows náhodným řetězcem backdoor? a je ten backdoor ve Windows nebo v Linuxu? (viz Nová analýza bezpečnosti TrueCryptu na blogu Pepak.net). V diskusi pod článkem Open-source a backdoory, který polemizuje s rozšířenou představou, že jsou-li uveřejněny zdrojáky je snadné udělat bezpečnostní audit nějakého programu říká kryptoanalytik Vlastimil Klíma:

Krásně napsané, moc se mi to líbí. A musím souhlasit, bohužel v zásadě se vším. Já jsem skutečně kdysi zkoumal, jak je z kryptografického hlediska udělán Truecrypt. Tam jsem shledal profesionalitu, čistotu provedení a žádná zadní vrátka. Mám i nějaké zkušenosti s programováním, ale bohužel nemůžu ručit za to, že ty funkce nemají programátorská zadní vrátka. Tady naprosto souhlasím s autorem. I kdybych moc rád i jako uživatel Truecryptu, aby tam programátorská zadní vrátka nebyla, nevím to a pouze věřím, že nejsou (víra není bezpečnostní politika, nic jiného mi ale nezbývá). Pokud se najde někdo, kdo řekne, že v celém programovém kódu Truecryptu nejsou žádná zadní vrátka, tak mu na druhou stranu věřit asi nebudu, nezlobte se, to prostě stoprocentně nejde.

Tohle je přesně onen moment zoufalé nejistoty, který je pro mně neakceptovatelný: Uživatel Truecryptu nemá jistotu, že utajená data uchrání před útočníkem, a ještě třeba uvést, že nemá ani jistotu, že svoje data bezpečně rozšifruje, pokud dojde k poškození binárního kontejneru. Obávám se, že používání Truecryptu je masochismus a není tedy žádná škoda, že se konečně definitivně zdiskreditoval.

Na základě těchto úvah jsem si formuloval následující teze, ze kterých by měl vycházet doopravdy bezpečný šifrovací software:

  1. Použijeme algoritmus neprolomitelný do soudného dne jako je Vernamova šifra;
  2. implementujeme ho tak transparentně, aby byl každý krok šifrování i dešifrování polopaticky pochopitelný;
  3. šifrovaná data ukládáme do jednoduchých textových souborů, aby dešifrování záleželo jen na tom, jestli máme správný klíč a nebylo ohroženo například poškozením binárního souboru;
  4. zdrojový kód nesmí překročit rozsah pár desítek řádek, aby čtenář neztratil pozornost než ho prostuduje;
  5. program nekompilujeme, protože zkompilovaný program je blackbox.

Pokusil jsem se tyto zásady uplatnit v praxi a a napsal jsem si softwarovou enigmu viz. midnight publisher:vernamova šifra. Kód má 115 řádek, jen co budu mít trochu času (snad ještě během června) zkrátím ještě o třetinu a zveřejním ho na připravovaném webu http://midnightpublisher.org.

Abych se zase tolik nevytahoval: moje implementace Vernamovy šifry je pekelně pomalá, ale to je zároveň daň za čitelnost a transparentnost. Na druhé straně, potřebujeme opravdu šifrovat celé disky? Abychom snad bezpečně ukryli pirátsky stažené Windows? Vždyť to, co potřebujeme mít opravdu bezpečně zašifrované jsou obvykle textové soubory malého rozsahu.

Šimon Formánek



odkazy na tuto stránku: blog:2014 midnight publisher:vernamova šifra home