Šifrovaný disk na Debiane za 5 minút

Isto sa vám už stalo, že ste chceli nejaké informácie na disku utajiť a to tak, aby sa k nim nedostal ani root. Dnes si ukážeme, ako to urobiť vo veľmi krátkom čase. Mne sa to podarilo za 5 minút.

Využijeme k tomu kernel modul loop-aes. Modul využíva loop zariadenia, ktoré sa šifrujú. Loop zariadenie (Loop device) je pseudo-zariadenie, ktoré umožní použiť súbor na disku ako blokové zariadenie (teda niečo čo sa dá mountnúť).

Implementácia

Poznámka: Príkazy sú uvedené pre Debian. S malými zmenami sú použiteľné aj pre iné distribúcie.
Najprv nainštalujeme hlavičky kernelu.

apt-get install linux-libc-dev

Potom nainštalujeme zdrojový kód aby sa mohol buildnúť s kernelom.

apt-get install module-assistant loop-aes-source

Buildneme modul a načítame ho do kernelu.

module-assistant prepare
module-assistant build loop-aes
apt-get install loop-aes-utils
module-assistant install loop-aes
modprobe cryptoloop

Všetko je nainštalované, stačí už len vytvoriť náš disk.

dd if=/dev/zero of=secure bs=4k count=5242880
losetup -e AES128 /dev/loop0 secure
mkfs -t ext2 /dev/loop0
losetup -d /dev/loop0
mkdir /mnt/secure
mount secure -o loop=/dev/loop0,encryption=AES128 /mnt/secure/ -t ext2

Prvý riadok vytvorí súbor secure veľký 20GiB (4096*5242880=21474836480). Druhý riadok vytvorí loop device /dev/loop0. Tretí ho naformátuje a štvrtý odstráni loop (aby sme ho potom mohli mountnúť). Posledné dva riadky slúžia pre mountnutie.
Pri druhom a poslednom riadku posledného výpisu sa pýta na heslo. V prvom prípade ide o prvotné zadanie (musí mať aspoň 20 znakov!) a v druhom o zadanie pre mount.

Umount a opätovné použitie

Umount sa robí klasicky a opätovný mount takisto ako posledný riadok predošlého výpisu.

umount /mnt/secure/
mount secure -o loop=/dev/loop0,encryption=AES128 /mnt/secure/ -t ext3

Samozrejme, pýta heslo.

Článok vznikol po prečítaní článku: http://www.debian-administration.org/articles/81

  • pmajster

    prečo si veci takto komplikovať a nepoužiť napr. truecrypt?

  • admin

    TrueCrypt je tiež voľba, nemyslím si ale, že loop-aes by bol zložitý.