Hlavní navigace

Šifrování souborů snadno a rychle

Michal Krause 22. 9. 1999

Společnost Jetico uvedla na trh produkt se sebevědomým názvem BestCrypt, který slouží k transparentní práci se zašifrovanými soubory. Poměrně čerstvou novinkou je linuxová verze, které jsme se podívali na zoubek.

Intro

Co je to vlastně BestCrypt? Jde o program, který vytváří transparentní vrstvu mezi aplikací a diskovým souborem. Tato vrstva se pak stará o šifrování dat při zápisu respektive jejich dešifrování při čtení. BestCrypt ale nepracuje nad fyzickým diskem nebo jeho oddílem. Používá virtuální disky, které jsou fyzicky reprezentovány souborem (nazývaném kontejner) na nešifrovaném filesystému (technicky vzato může být tento soubor umístěn i na virtuálním šifrovaném disku, ale to už je trochu paranoidní).

BestCrypt sestává ze tří částí. První je program bctool, který slouží jako uživatelské rozhraní k virtuálním diskům i kontejnerům. Druhou součástí je modul jádra, který se stará o všechny systémové záležitosti. Třetí část tvoří soubor modulů obsahujících kryptovací algoritmy.

Tím se dostáváme k důležité otázce: jak bezpečná je vlastně šifra, kterou BC implementuje? V podstatě lze říci, že síla je postačující. Linuxová verze podporuje čtyři algoritmy: Blowfish, Twofish, DES a GOST. Blowfish a twofish jsou silné algoritmy, které najdeme například v programech jako je Secure Shell či GNU Privacy Guard. DES je samozřejmě notoricky známá šifra, která ovšem již dnes díky malé délce klíče (pouze 56 bitů) není považována za neprůstřelnou. Posledně jmenovaný GOST je nepříliš známý algoritmus, který měl údajně v bývalém Sovětském svazu stejnou důležitost jako DES v USA.

Výhody

Největší výhodou BestCryptu je podle mě právě princip použití kontejnerů. Takto lze snadno vytvořit několik oddílů, které se liší například sílou šifry a tak dosáhnout rychlejší práce s méně citlivými daty. Pokud by kryptování dat probíhalo nad fyzickým diskem, bylo by toto potřeba vzít v úvahu již při jeho dělení.

Kontejner může být zálohován, zapakován (pokud ho tedy již nemíníme déle používat), odeslán emailem nebo třeba přenesen na jiný operační systém, pro který BestCrypt existuje (to znamená DOS, Windows 3.x, Windows 95/98/NT a Linux). Není principiálně vázán na určitý filesystém a lze jej použít prakticky nad čímkoliv. Osobně jsem zkoušel ext2, pro výměnu kontejnerů mezi Linuxem a Windows bude samozřejmě vhodnější fat (případně fat32).

Zajímavá je možnost kdykoliv později převést kontejner na jinou šifru (samozřejmě, že přešifrování je docela zdlouhavé a upřímně řečeno, nechtěl bych to dělat u disku s velikostí ve stovkách megabajtů nebo větším).

Nevýhody

Na první nevýhodu jsem přišel velice brzy. Pokud je zaveden modul bc, nefungují loopback zařízení, mount stále tvrdí, že zařízení není nakonfigurováno. Protože BestCrypt funguje na podobném principu, předpokládám, že nějakým způsobem přebíjí jeho funkce.
Druhou nevýhodou je, že kontejner má pevně danou velikost a později jej již nelze zmenšit nebo zvětšit. Autoři tvrdí, že by šlo o potenciálně nebezpečnou operaci, kterou by bylo vhodně jistit journalingem. To by ale prý vedlo k zvětšení potřebného diskového prostoru na dvojnásobek a za těchto okolností je jednodušší založit nový větší/menší kontejner, překopírovat do něj data a originál smazat. Svou logiku to má.

Posledním omezením je to, že program existuje pouze ve verzi pro jádra 2.2.

Použití

Všechno potřebné provádí program bctool. Postup při vytváření nového šifrovaného „disku“ je následující:

  • Založení kontejneru
    bctool new -s 50M -a gost -d „Gost disk“ /home/user/crypto
    Parametr -s určuje velikost kontejneru, -a použitou šifru (blowfish, twofish, des, gost), -d popisek virtuálního disku a posledním parametrem je soubor k založení.
  • Vytvoření souborového systému v kontejneru
    bctool format -t ext2 /home/user/crypto
    Parametr -t určuje typ filesystému. bctool volá externí povel mkfs, takže umí pracovat se všemi typy souborových systémů, jako tento program.
  • Připojení virtuálního disku
    bctool mount -t ext2 -r /home/user/crypto /home/user/cmnt
    Parametr -t určuje opět typ filesystému, není povinný. Parametr -r značí, ze disk má být připojen v režimu pouze pro čtení. Následuje cesta ke kontejneru a tzv. mount point, tedy adresář, v němž uvidíme obsah disku.
  • Odpojení virtuálního disku
    bctool umount /home/user/cmnt
    Jediným parametrem je mount point.

Program bctool nabízí ještě další tři povely. Prvním je info, který jako parametr přebírá cestu ke kontejneru a zobrazuje popis disku, použitou šifru a filesystém. Druhým je passwd, sloužící ke změně přístupového hesla ke kontejneru. Posledním povelem je reencrypt. Ten se používá k již zmiňované změně šifrovacího algoritmu.

Všechny povely, až na new, info a umount, lze provést pouze při znalosti správného hesla (to se zadává při vytváření). Aby se uživatel nemohl dopustit bezpečnostní chyby, nepovolí bctool připojení disku, pokud není mount point vlastněn uživatelem, který volá mount a rovněž před připojením změní přístupová práva adresáře na rwx pro vlastníka. Po odpojení vrátí práva na výchozí stav. Když je disk připojen, nejsou práva nijak kontrolována, takže můžete svůj disk zpřístupnit i ostatním uživatelům, pokud je to třeba.

Možná by nebylo od věci, kdyby bctool při připojování disku upozornil uživatele na potenciálně nebezpečná přístupová práva ke kontejneru (například zápis pro všechny a podobně).

Naměřené hodnoty

Na zkoušku jsem porovnal rychlost čtení a zápisu na obyčejný disk, loopback zařízení (technická podobnost s BestCryptem, ovšem bez šifrování) a šifrované disky (všechny čtyři algoritmy).

Test 1 spočíval v kopírování 3997 souborů o celkové velikosti 44,4 megabajtů (cache Netscape Navigatoru) na (zápis) a z (čtení) testovaného disku. Při testu 2 se kopíroval pouze jediný soubor o velikosti rovných 44 megabajtů. Tabulky ukazují časy kopírování a rovněž kolik procent z tohoto času proces využíval procesor.

Zápis
disk loop blowfish twofish des gost
test 1 1:27,21
7%
1:32,29
7%
1:37,95
7%
1:42,94
7%
1:48,18
7%
2:07,07
5%
test 2 0:21,07
39%
0:26,74
27%
0:36,40
18%
0:41,76
16%
0:45,20
14%
1:04,68
10%
Čtení
  disk loop blowfish twofish des gost
test 1 0:41,52
27%
1:13,34
11%
0:48,50
60%
0:54,14
66%
1:01,93
72%
1:24,22
77%
test 2 0:30,54
41%
0:56,77
10%
0:42,20
66%
0:48,40
70%
0:54,62
76%
1:15,38
80%

Uvedené tabulky ukazují, že při použití šifrovaného disku je třeba počítat s tím, že čtení může být podle algoritmu a typu dat o 17 až 150 % pomalejší. Zápis se může zbrzdit o 7 až 200 %.

Tyto údaje berte prosím s rezervou, protože nejsou výsledkem důkladného testování, ale pouze několika mála jednoduchých měření a navíc s extrémním složením dat. Málokdo bude používat jenom obrovské nebo naopak jenom několikabajtové soubory. Navíc rychlost (de)šifrování ovlivňuje samozřejmě i procesor.

Za obecnou pravdu lze považovat nárůst vytížení procesoru při práci s šifrovanými daty. Vyrovnaná čísla u zápisů jsou zřejmě důsledkem toho, že diskové operace v tomto případě výrazně převládají nad těmi výpočetními a také se samozřejmě mohla projevit disková cache či další vlivy – je velice obtížné, ne-li nemožné zajistit totožné podmínky.

Závěr

BestCrypt je velice zajímavý produkt, který stojí za pozornost. Jeho použití je dostatečně jednoduché a efektivita značná. Linuxová verze je zdarma pro nekomerční použití a je distribuována ve zdrojové podobě. Obsažené algoritmy nejsou žádná „ořezávátka“, ale přesto nejsou chráněné patenty, či copyrighty, takže by program mohl nadále zůstat zdarma, zaručeno to ovšem není. BestCrypt není vyvíjen ve Spojených státech, takže se na něj nevztahují exportní omezení (která teď snad opravdu padnou – tvrdí to už i Bílý dům). Takže vám už nic nebrání nasměrovat prohlížeč ne domovskou stránku produktu…

Našli jste v článku chybu?

22. 9. 1999 8:53

T.B. (neregistrovaný)

) odstoupení od Windows NT jakožto
) primární vývojové platformy

Tak tedy nevim, ten oracle uz nevi co rika :-))
Neni tomu tak davno (letosni duben) kdyz na sve
oficialni akci prohlasovali ze jejich vyvojovou
platformou je SPARC Solaris ...

T.B.





Podnikatel.cz: Vládu obejde, kvůli EET rovnou do sněmovny

Vládu obejde, kvůli EET rovnou do sněmovny

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

Lupa.cz: UX přestává pro firmy být magie

UX přestává pro firmy být magie

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Lupa.cz: Avast po spojení s AVG propustí 700 lidí

Avast po spojení s AVG propustí 700 lidí

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky