29.01.2015 Views

Performanse kriptovanja na sistemima datoteka - Telfor 2008

Performanse kriptovanja na sistemima datoteka - Telfor 2008

Performanse kriptovanja na sistemima datoteka - Telfor 2008

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sistem ext3 je kompatibilan sa svojim predhodnikom,<br />

ext2 sistemom <strong>datoteka</strong>, i predstavlja njegovu <strong>na</strong>dogradnju<br />

dnevnikim (log, jour<strong>na</strong>l) slojem [5]. Njegova prednost je<br />

što daje umerene i ujed<strong>na</strong>ene performanse; uz to je<br />

jednostavan za implementaciju i široko dostupan. Mane<br />

proizilaze iz injenice da je projektovan da zadrži potpunu<br />

kompatibilnost sa ext2 sistemom. Najvea mogua<br />

<strong>datoteka</strong> je 2 TiB, dok se granica pojedi<strong>na</strong>nog volume<strong>na</strong><br />

<strong>na</strong>lazi <strong>na</strong> 16 TiB.<br />

EncFS predstavlja kriptovani virtuelni sistem <strong>datoteka</strong><br />

koji je pokrenut i izvršava se u korisnikom režimu rada<br />

UNIX-olikih operativnih sistema. Za te svrhe koristi FUSE<br />

(Filesystem in Userspace) modul. FUSE je programski<br />

modul jezgra, koji dozvoljava neprivilegovanim<br />

korisnicima da kreiraju svoj lini sistem <strong>datoteka</strong> bez<br />

menjanja samog jezgra operativnog sistema. Ovaj modul je<br />

svojevrsni most ka postojeem interfejsu kernela (sl. 3.)<br />

Sl. 3. Prikaz komunikacije sa FUSE modulom<br />

FUSE modul je posebno upotrebljiv pri projektovanju<br />

virtuelnih sistema <strong>datoteka</strong>. Oni nisu <strong>na</strong>menjeni<br />

prevashodno uvanju i itanju podataka, kao što su to<br />

tradicio<strong>na</strong>lni datoteni sistemi, ve deluju kao sloj za<br />

drugaiji pogled ili transformaciju postojeih zapisanih<br />

podataka. Tako svaki podatak dostupan kroz FUSE<br />

implementaciju se može prikazati kao samostalan sistem<br />

<strong>datoteka</strong>.<br />

EncFS (Encrypted File System) je razvijen i dalje se<br />

održava od strane Valijent Goga [6], koji ga je prvi put<br />

predstavio 2003. godine. Izabran je za ovaj rad, jer je<br />

donekle slian EFS-u. Transparentno za korisnika kriptuje<br />

odreeni direktorijum i sve objekte što su u njemu. Koristi<br />

OpenSSL kao dobavlja kripto algoritama, <strong>na</strong>ješe AES i<br />

BlowFish sa više razliitih duži<strong>na</strong> kljua (sl. 4.)<br />

Sl. 4. Prikaz rada i strukture EncFS sistema<br />

Potreb<strong>na</strong> su dva direktorijuma za pravilan rad. Prvi<br />

sadrži origi<strong>na</strong>lne podatke koji su kriptovani i <strong>na</strong> taj <strong>na</strong>in<br />

zaštieni. Drugi direktorijum je taka montiranje (mount<br />

point) preko koga se sadržaj prvog direktorijuma vidi u<br />

jasnom obliku (clear text). Sa stanovišta korisnika<br />

rau<strong>na</strong>ra, posle inicijalnog montiranja sistema <strong>datoteka</strong>,<br />

sve se akcije odvijaju u drugom direktorijumu.<br />

EncFS virtuelni sloj deli sva ogranienja datotenog<br />

sistema <strong>na</strong>d kojim je implementiran. Razlika u odnosu <strong>na</strong><br />

opisani EFS je ta da su ime<strong>na</strong> <strong>datoteka</strong> u kriptovanom<br />

direktorijum takoe kriptova<strong>na</strong>. Sva ostale informacije,<br />

poput dozvola i datuma za neku datoteku, su vidljive i<br />

identine origi<strong>na</strong>lnim. Druga razlika se ogleda u<br />

nepostojanju mehanizma oporavka, jer bez unete lozinke<br />

pri kreiranju fajl sistema nije mogue doi do<br />

dekriptovanih podataka. Lozinkom je zaštien sluajno<br />

generisani klju (volume key), razliit za svaki fajl sistem,<br />

a <strong>na</strong>lazi se u korenu prvog direktorijuma u tekstualnoj<br />

datoteci .encfs6.xml.<br />

Za instalaciju EncFS sistema je prvo potrebno proverite<br />

da li postoji uitan FUSE u jezgro (cat /proc/filesystems |<br />

grep fuse). Napraviti dva direktorijuma (prvi neka je .kript,<br />

a drugi neka se zove kript, oba unutar home<br />

direktorijuma). Posle toga ide montiranje fajl sistema sa<br />

encfs ~/.kript ~/kript. Tako e prvi biti skriven i<br />

enkriptovan, a drugi e biti dostupan onome ko z<strong>na</strong><br />

lozinku i ko ima odgovarajue pristupne dozvole (rwx).<br />

Putanje do direktorijuma moraju biti apsolutne. Ako je ovo<br />

prvi put da se pokree encfs sa ovim parametrima, bie<br />

postavljeno više konfiguracionih pitanja, od kojih je<br />

<strong>na</strong>jvažnije ono o lozinci. Ako je konfiguracija ranije<br />

izvrše<strong>na</strong>, posle ukucane ispravne lozinke, bie mount-ovan<br />

novi sistem <strong>datoteka</strong> i može se koristiti <strong>na</strong> uobiajen <strong>na</strong>in.<br />

B. Opis testa<br />

Na logiku particiju veliine 6,5GB sa mount point-om /<br />

je instaliran Ubuntu Linux verzije 8.04 sa kernelom 2.6.24-<br />

16-generic, a za swap particiju je dodeljen prostor veliine<br />

1,8GB. Na osnovnoj particiji je ostalo slobodno 4 GB.<br />

Postojao je jedan prijavljen korisnik <strong>na</strong> sistem. Instaliran je<br />

EncFS verzije 1.4.2-2 iz .deb paketa, sa zavisnim paketima<br />

libboost-serialization i librlog1c2a. Napravlje<strong>na</strong> su dva<br />

potreb<strong>na</strong> direktorijuma, plus jedan nekriptovan („izvor“) i<br />

montiran novi fajl sistem. Koristi se podrazumevani<br />

algoritam AES sa dužinom kljua od 192 bita.<br />

Paketi za testiranje su identini. Takoe testovi su ostali<br />

isti, ali je realizacija jednostavnija zbog postojanja<br />

komande time. Na primer, deo testa 2 je realizovan<br />

sledeom <strong>na</strong>redbom: time cp izvor/* kript –r.<br />

Komanda time meri vreme potrebno da se izvrši <strong>na</strong>redba<br />

koja je <strong>na</strong>vede<strong>na</strong> kao njen parametar, u ovom sluaju<br />

kopiranje svih objekata rekurzivno iz izvora u kript. Kao<br />

izlaz se dobijaju tri vreme<strong>na</strong>: stvarno, korisniko i<br />

sistemsko. Kao relevantno za <strong>na</strong>še testove je uzeto stvarno<br />

(real) vreme.<br />

Svaki deo testa je pokrenut tri puta, te je <strong>na</strong>e<strong>na</strong> njihova<br />

srednja vrednost. Rezultati su runo vaeni iz termi<strong>na</strong>l<br />

prozora i kasnije obraivani u programu za tabelar<strong>na</strong><br />

izrau<strong>na</strong>vanja. Sva izvršavanja su pokreta<strong>na</strong> iz konzolnog<br />

prozora. Izmeu svakog pojedi<strong>na</strong>nog izvršavanja skript<br />

datoteke su pokrenuti zahtevniji programi (u smislu<br />

zauzea radne memorije), da bi se donekle ublažio efekat<br />

keširanja disk sadržaja.<br />

737

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!