| |
Cryptographic filesystem
$SUBJ je IMHO vyborna vec, ale ne prilis znama. Pokud nekdo kryptuje, tak
vetsinou "zaheslovanim" nejakeho zipu, raru, ci arjcka (btw, slysel jsem,
ze nejaka banka pred nekolika lety pouzivala pri prenosu dat modemem
JEN A POUZE zaheslovane zipy :-)). Nekteri pouzivaji k crypteni dat PGPcko,
nebo podobny soft. Nevyhoda teto metody je, ze pri pouziti kodovanych dat
je musite nejprve odkodovat a nakonec zase zakodovat. To cini linym lidem
(napr. ja) problemy a tak je potreba pouzit online kodovani. Vyhoda offline
metody je vyskoa rychlost - data se de/encryptuji jen 1x. Nevyhoda je to,
ze kdyz nekdo prerusi vasi praci (vypne elektrinu...) data na disku zustanou
dekodovana. Vyhodou online cryptovani je, ze na disku mate jen kodovana data.
Ovsem i zde je nebezpeci ziskani nekodovanych dat, napriklad z pameti nebo
swapfile. Pokud jste rootem na stroji s cfs, riziko je mnohem mensi.
Implementaci cryptofs je vice, znam 4. Dva pracuji jako nfs servery, jeden
jako rozsireni filesystemu (AFAIK to bylo pro ext2, ale videl jsem to dost
davno) a nakonec posledni jako driver (takze se cryptuje cely disk). Posledni
reseni je pro multi-user unix zcela nevhodne. Druhou
metodou se zde take nebudu zabyvat, nebot' je znacne zavisla na
typu unixu a filesystemu. Tuto metodu kodovani dat pouzivaji NTcka a ten
zminovany cfs/ext2. Pouziti cfs pres nfs ma nekolik vyhod: mnohem lepe se
implementuje a portuje. Cryptovana data muzete mit ulozena na jakemkoliv
filesystemu, ktery hostitelsky unix podporuje (napr. tedy zase na dalsim
cryptovanem fs, nebo treba pres nfs na druhe strane zemekoule). CFS MUZETE MIT
NAMOUNTOVANY SAMOZREJME JEN NA POCITACI, KDE BEZI SAMOTNY cfsd!
Dale se budu zabyvat pouze implementaci cfs by Matt Blaze
(mab@research.att.com), kterou si muzete stahnout z
ftp://ftp.mathematik.th-darmstadt.de/pub/linux/okir/. cfs pouziva
symetricke sifrovani. Konkretne jde o trochu pozmeneny CBC-DES, nebo 3-DES (zase
v CBC modu). Dle autora neni problem do cfs dopsat jakoukoliv dalsi sifru,
takze pokud se bojite, ze vam nekdo 56bitovy des crackne...
Pojdme se podivat na praxi; po kompilaci mate na disku nekolik programu:
- cfsd - vlastni daemon
- cmkdir - vytvori cryptovany adresar
- cattach - pripoji cryptovany adresar
- cdetach - odpoji cryptovany adresar
- ... a par dalsich, ne prilis zajimavych veci.
Instalace je velmi jednoducha: Nejprve vyrobte adresar '/.cfsfs', ktery bude
exportovany, a adresar do ktereho si namountujete nfs (napr. '/crypt'). Prvni
adresar by mel mit mod 000 a ownera root:root. Zadejte jej do /etc/exports,
aby byl pristupny jen pro localhost. Nyni nastartujte cfsd a namountujte
/crypt (napr. mount -o port=3049,intr localhost:/.cfsfs /crypt ).
Cfsd je jiz nainstalovany a staci jen vytvorit cryptovane adresare. To se dela
prikazem cmkdir [jmeno]. Musite zadat minimalne 16ti znakove heslo,
kterym se budou data cryptovat. Pokud chcete pracovat s timto adresarem,
staci zadat cattach [jmeno1] [jmeno2], tedy napr cattach ~/secret
mhi. V adresari /crypt (kde je namountovany cfs) se po chvilce objevi
adresar mhi, ve kterem je dekodovany obsah adresare ~/secret. Se soubory
v /crypt/mhi muzete jakkoliv pracovat, na disk se data ukladaji do adresare
~/secret, samozrejme kodovana a to vcetne jmen souboru. Priklad:
mhi:~/secret# ls -la
total 19
drwxr-xr-x 3 root root 1024 Oct 11 18:21 .
drwxr-xr-x 8 root root 1024 Oct 11 13:14 ..
-rw-r--r-- 1 root root 8 Oct 10 12:52 ...
-rw-r--r-- 1 root root 1 Oct 10 12:52 ..c
lrwxrwxrwx 1 root root 8 Oct 11 18:03 .pvect_0f046b0fe46fe2ec -
lrwxrwxrwx 1 root root 8 Oct 11 18:21 .pvect_eb824c7fb5f6d065b
-rw-r--r-- 1 root root 31 Oct 11 18:03 0f046b0fe46fe2ec
drwxr-xr-x 3 root root 2048 Oct 11 18:05 2dae624977901f2c
-rw------- 1 root root 12288 Oct 11 19:18 eb824c7fb5f6d065b537b6e4
mhi:~/secret#
Adresar /crypt/mhi samozrejme vypada "normalne". V adresari ~/secret jsou
zajimave dva soubory: '...' a '..c'. Soubor '...' se pouziva na verifikaci
hesla a soubor '..c' obsahuje cislo udavajici typ sifry. Nechapu, proc to
vsechno neni v jednom souboru. Ostatni soubory jsou jiz data. Cryptovana
data "odmountujete" pomoci cdetach [jmeno], kde jmeno je jmeno adresare
z /crypt (v mem pripade 'mhi'). Rychlost cfs je slusna, pokud se nerozhodnete
cryptovat cely disk.
A co ne-unixove systemy? I pod ne existuji cryptovaci programy.
- DOS: Nejaka utilitka z Norton Utilities (Jmeno jsem uz zapomnel, o kvalite
nic nevim). ALWIL software napsal SUPa, ktery AFAIK umel take kodovat
disky.
- Windoze: Od AEC tady mame IronWare Encryption/Protection. Existuje i
program na kodovani komunikace po modemu, ftp a e-mailu. IronWare
Encryption je off-line kodovac, pouzivajici Blowfish a IDEA128. Kvalita
tohoto programu mi neprijde buhvijak vysoka. Dalsi CZ firma - DECROS - vyrobila
Protect95, ktery koduje online.
- NetWare: Nejake NLMko ;-)
| |