Hlavní navigace

Šifrujeme data programem TrueCrypt

9. 10. 2007
Doba čtení: 6 minut

Sdílet

TrueCrypt je v poslední době čím dál oblíbenějším nástrojem pro jednoduché šifrování důležitých dat nejen na přenosných médiích. Jeho velkou výhodou je, že jej můžete nainstalovat do MS Windows i linuxových distribucí. Bezpečnému transportu dat tak nic nebrání. Jak se TrueCrypt používá v Linuxu?

O TrueCryptu

TrueCrypt je open-source program pro šifrování diskových oddílů. Své služby nabízí jak uživatelům MS Windows, tak i těm, kteří používají Linux. Obě implementace jsou navíc plně kompatibilní, takže není problém používat jeden šifrovaný flash disk v Linuxu i Windows.

Program nabízí takzvané on-the-fly šifrování, což znamená, že veškeré procesy probíhají na pozadí a uživatel s daty pracuje, jako by byla na běžném disku. TrueCrypt je však automaticky šifruje a dešifruje.

Pro šifrování disků je možno použít algoritmy AES-256, Serpent a Twofish. Protože je celá aplikace napsaná s ohledem na špičkovou ochranu dat a obsahuje řadu bezpečnostních mechanismů, můžete se spolehnout na to, že data jsou chráněna skutečně velmi dobře. Neprůstřelnost celého řešení potvrdil nedávno i český expert na kryptografii Vlastimil Klíma. „TrueCrypt je mimořádný software pro šifrování dat na discích. Ověřili jsme, že ve zvoleném modu neobsahuje zadní vrátka, a proto jsme mu svěřili ochranu svých dat.“

Původně byl program k dispozici pouze pro MS Windows, ale už více než dva roky je k dispozici i pro Linux. Protože je šifrování dat čím dál populárnější, rozhodli jsme se vám nabídnout informace o tom, jak TrueCrypt v Linuxu použít.

Instalujeme

Před instalací samotného TrueCryptu musíte nainstalovat Device Mapper. Jedná se o ovladač pro linuxové jádro, který spravuje diskové oddíly, ale jejich ovládání ponechává na aplikaci v uživatelském prostoru. TrueCrypt jej používá právě pro práci s virtuálními oddíly, které sám vytváří.

Device Mapper byste měli najít ve své oblíbené distribuci (v Debianu je) například pod názvem dmsetup. Balíček stačí normálně nainstalovat.

Samotný TrueCrypt pak můžete stáhnout z domovské stránky projektu. K dispozici jsou jak balíčky pro některé systémy (Ubuntu a openSUSE), tak i zdrojové kódy. Bohužel je software distribuován pod licenci TCL (TrueCrypt Collective License), která není podle měřítek GNU svobodná.

Je velmi podobná licenci na XFree86 a vyžaduje zmínku typu „Projekt je založen na TrueCrypt“, což odporuje pravidlům pro svobodný software. Je tedy zřejmé, že například Debian jej s touto licencí nikdy do distribuce nezařadí. Jak je to u jiných distribucí, netuším.

Pokud používáte openSUSE nebo Ubuntu, můžete si nainstalovat připravený balíček, pro ostatní jsou tu zdrojové kódy, které mají 1,1 MB. Nemusíte se jejich kompilace bát, instalace není nijak obtížná. Postup je následující:

$ tar xzf truecrypt-4.3a-source-code.tar.gz
$ cd truecrypt-4.3a-source-code/Linux
$ ./build.sh

Skript automaticky zkontroluje všechny závislosti a pokud něco chybí, sám si o potřebný balíček řekne. Pokud má vše potřebné, sám provede kompilaci potřebných součástí.

Pokud se vše povedlo, jako root spusťte

$ ./install.sh

a opět se rozjede automatický instalátor. Ten se zeptá na umístění utilit (standardně /usr/bin, umístění manuálových stránek (standardně /usr/share/man) a zda dovolíte použití aplikace i běžným uživatelům (standardně zakázáno). Poté se soubory nakopírují na své místo a je hotovo.

Vytváříme šifrovaný disk

K ovládání celého systému se používá utilita s názvem truecrypt a její použití je poměrně intuitivní, protože většina akcí je interaktivních a program se vás sám bude ptát na to, co potřebuje vědět. Pokud jste si nechali nainstalovat manuálové stránky (doporučuji), pak máte k dispozici i sofistikovanou nápovědu.

Nyní si vysvětlíme, jak se vytváří nový šifrovaný disk. Standardně TrueCrypt vytváří soubor, ve kterém uchovává všechny potřebné informace. Z tohoto pohledu se jedná o šifrovaný obraz disku, který je možno připojit jako běžný disk.

Pro vytvoření použijeme parametr -c jako create:

$ truecrypt -c disk.mpeg

Nenechejte se zmást zvolenou příponou. Je jen na vás, jak se bude soubor jmenovat, program na název souboru nijak nedbá a dokonce není možno z obsahu zjistit, že se jedná o šifrovaný disk. Můžete proto v rámci kamufláže použít třeba příponu .mpeg nebo úplně jinou.

Utilita se vás začne postupně ptát na některé věci (v závorce uvádím přednastavené volby):

  • Chcete běžnou nebo skrytou jednotku? (běžnou)
  • Jaký zvolíte souborový systém? (FAT)
  • Zvolte velikost jednotky – možno použít jednotku velikosti (K, M nebo G).
  • Zvolte hash algoritmus. (RIPEMD-160)
  • Zvolte šifrovací algoritmus. (AES)
  • Zadejte heslo k nové jednotce.
  • Znovu zadejte heslo.
  • Zadejte cestu k souboru s klíčem (může zůstat prázdné).

Jako šifrovací klíč je možno použít jak běžné heslo, tak i soubor s daty (nebo obojí). Ta je možno vygenerovat buďto s pomocí příkazu

$ truecrypt --keyfile-create soubor_s_klicem

(pak bude klíč dostatečně silný), nebo je možno použít libovolný soubor.

Ve všech případech však platí, že pokud klíč (tedy soubor nebo heslo) ztratíte/zapomenete/pozměníte (byť i jediný bit), přicházíte o všechna data na šifrovaném disku. Doporučuji proto dávat na klíče opravdu pozor.

Poté, co odpovíte na všechny otázky, program po vás bude chtít nějaké to náhodné rejdění myší po obrazovce. To je použito pro systémový random generátor pro vygenerování dostatečně kvalitních náhodných dat. Pokud nemáte myš, budete vyzváni k zapsání nějakých náhodných dat na klávesnici.

Tím jsme vytvořili nový soubor disk.mpeg, který obsahuje náš šifrovaný disk se souborovým systémem. Nyní jsme připraveni disk připojit a používat.

Odbočka: tvorba souborového systému

Pokud se vám z nějakého důvodu nelíbí souborový systém FAT, máte možnost vytvořit si libovolný jiný, který podporuje vaše jádro. Samozřejmě pak ale můžete mít problémy na MS Windows, které nemají tak širokou podporu souborových systémů jako Linux. Pokud vám na podpoře redmondího systému nezáleží, je volba na vás.

Předpokládejme, že jste při tvorbě nového disku ve druhé otázce vybrali, že nechcete vytvářet souborový systém. TrueCrypt tedy není schopen vám nabídnout ukládání souboru na disk. Může vám jej ale připojit jako další prázdný oddíl.

Provedeme tedy připojení s pomocí příkazu

$ truecrypt disk.mpeg

Pokud jste použili klíč, přidejte ještě parametr -k cesta_ke_klici. Program se zeptá na heslo a pokud vše půjde hladce, disk se připojí jako další oddíl.

TrueCrypt své oddíly značí jako /dev/mapper/truecrypt? kde místo otazníku dosazuje číslo oddílu počínaje nulou. Náš disk.mpeg by se tedy měl připojit jako  /dev/mapper/truecrypt0.

Nyní si na oddílu vytvoříme klasický souborový systém dle naších požadavků, tedy například

$ mkfs.ext3 /dev/mapper/truecrypt0

TrueCrypt samozřejmě celý oddíl transparentně šifruje a jeho podobu ukládá do souboru disk.mpeg. Tím jsme dokončili vytváření souborového systému a můžeme disk zase odpojit.

$ truecrypt -d /dev/mapper/truecrypt0

Připojujeme nový disk

Dostáváme se k tomu hlavnímu, a tím je připojování šifrovaného disku a práce s ním. Pokud TrueCrypt zná obsah souboru a má k dispozici ovladače souborového systému, proběhne připojení zcela automaticky. Samozřejmě můžeme disk připojit jako oddíl (viz předchozí část) a pak klasicky „mountnout“ souborový systém. TrueCrypt to ale může udělat celé za nás.

Programu stačí kromě souboru s diskem předat také adresář, do kterého bude obsah připojen. Příkaz tedy může vypadat takto:

$ truecrypt disk.mpeg /mnt/disk

Opět můžeme přidat parametr -k s cestou ke klíči. Adresář může být v podstatě kdekoliv, běžný uživatel (pokud má právo s TrueCryptem pracovat) zřejmě zvolí adresář u sebe v  /home.

Po zadání hesla se nám ve zvoleném adresáři objeví dešifrovaný obsah. Podle práv pak do něj můžeme normálně ukládat data, případně s nimi přímo pracovat, jako by se jednalo o běžný adresář na našem disku.

Odpojení disku

Odpojení je velmi jednoduché a už jsme si jej vlastně ukázali. Slouží k němu parametr -d, následovaný označením disku, který si přejeme odpojit. Označení může mít několik podob:

  1. Cesta připojenému souboru.
  2. Cesta k adresáři, kam je soubor připojen.
  3. Číslo zařízení v rámci TrueCryptu.
  4. Jméno připojeného disku.

Nejjednodušší zřejmě bude použít připojený adresář. Zavoláme tedy

$ truecrypt -d /mnt/disk

Pokud neudáte žádný konkrétní disk, dojde k odpojení všech připojených TrueCrypt jednotek.

UX DAy - tip 2

Závěrem

Přestože pro Linux zatím neexistuje oficiální grafické rozhraní pro TrueCrypt, není jeho použití nijak složité. Existují však projekty, které se rozhraní snaží implementovat (například TruecryptGUI), ale často ani nejsou třeba.

TrueCrypt je velmi jednoduše použitelný nástroj, který nabízí velmi silné šifrování a především jednoduchou přenositelnost mezi systémy (je plánována podpora Mac OS X). Pokud chcete mít data na svých (nejen přenosných) discích v bezpečí, určitě TrueCrypt vyzkoušejte.

Šifrujete svá data?

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.