Objavljeno: 2.2.2006 00:48 | Avtor: Uroš Mesojedec | Monitor Januar 2006

Šifriranje podatkov

Šifriranje vsebine diskov ni v datotečnih sistemih nobena posebna novost. Podpirajo jo skoraj vsi sodobni sistemi in neredko z njo nimamo posebnih težav. Po tem, ko jo enkrat omogočimo, je za ustrezno prijavljenega uporabnika nevidna. Fizično so podatki na nosilcu zapisani šifrirano, a se med branjem odšifrirajo, uporabijo v programih in pred zapisom znova šifrirajo. Takemu šifriranju pravimo tudi sprotno (on-the-fly encryption). Ima pa tak pristop, kadar je del operacijskega sistema, dve težavi: prva je, da smo odvisni od operacijskega in datotečnega sistema, ki ga uporabljamo. Pogosto pa si želimo zaupne podatke, ki so pravzaprav vredni šifriranja, prenašati med različnimi napravami. Šifrirani podatki na drugi napravi verjetno ne bodo dostopni, saj se bo skoraj gotovo razlikoval naš enolični uporabniški ključ (oznaka uporabnika, ki jo pozna sistem in je temelj šifriranja, ker pa ni neposredno povezana z uporabniškim imenom, je pogosto na različnih napravah povsem drugačna) ali pa bomo naleteli na nekoliko drugačno različico operacijskega ali datotečnega sistema, ki naših šifriranih podatkov ne bo prepoznal. Druga težava je povezana z zaupanjem. Algoritem šifriranja, ki je v rabi pri nekaterih operacijskih sistemih, ni nujno razkrit v obliki izvirne kode. Zanašati se zgolj na zagotovila izdelovalca, pa za tiste bolj paranoične nikakor ni dovolj dobro jamstvo za zadostno šifriranje.

Obe težavi nam lahko premosti odprtokodni, od operacijskega sistema neodvisni progam za šifriranje podatkov. Eden boljših je TrueCrypt, ki je bil nedavno objavljen že v različici 4.1. TrueCrypt temelji na odprtokodnem programu Encryption For The Masses (E4M), vendar se je v minulih letih precej razvil in prekosil svojega vzornika. Njegovi poglavitni prednosti, seveda poleg prosto dostopne izvirne kode in brezplačnega dovoljenja za uporabo, sta sistemska neodvisnost, na voljo je za Okna (v trenutni različici 2000, XP in 2003, zadnja dva tudi v x86-64-bitni različici) in Linux (z jedrom vsaj 2.6.5), ter možnost rabe v t. i. "potovalnem" načinu (Traveler mode), ki nam omogoča preprosto rabo na prenosnih nosilcih (npr. ključ USB), ki na uporabljenih sistemih ne pušča prav nikakršnih sledi (npr. shranjenih konfiguracijskih nastavitev v registru ali v domači mapi uporabnika). Šifrirane podatke lahko brez težav uporabljamo na vseh sistemih, ki jih podpira, in to brez kakršnihkoli sprememb. Potrebujemo zgolj geslo, s katerim smo podatke šifrirali.

Uporaba programa je preprosta, saj nam ponuja čarovnika za izgradnjo in kasnejši priklop šifriranih razdelkov. Te lahko ustvarimo na dva načina: bodisi ustvarimo novo datoteko želene velikosti, ki bo postala nov, navidezni pogon, bodisi šifriramo celoten, obstoječi razdelek diska ali napravo (npr. ključ USB). V zadnjem primeru bodo vsi morebitni podatki na razdelku oz. napravi izgubljeni. Dovolj dobro zaščito bomo dosegli že, če ohranimo vse privzete nastavitve in zgolj vnesemo geslo zaščite, lahko pa svoj občutek ogroženosti ublažimo še z nekaj dodatnimi prijemi. Izbiramo lahko med vrsto šifrirnih (AES, Blowfish, CAST5, Serpent, Triple DES, Twofish in celo nekaterimi njihovimi kombinacijami) in zgoščevalnih (hash) algoritmov. Šifrirni ključ se sestavi iz izbranega gesla in naključnega zaporedja, ki ga čarovnik določi na podlagi premikanja miške in tipkanja uporabnika v ustreznem koraku nastavitev, kakovost zaščite pa lahko še dodatno okrepimo z uporabo ključnih datotek. Ključna/e datoteka/e za zaščito ni/so nujna/e, vendar prinaša/jo nekaj prednosti:

  • dodatno smo zaščiteni pred programi, ki si zapomnijo pritisnjene tipke (samo geslo za dostop do zaščitenih podatkov ob rabi ključne datoteke ni dovolj),
  • kakovost izbranega gesla je še vedno pomembna, vendar je s ključno datoteko precej izboljšana,
  • zaščito lahko razpršimo med več uporabnikov, ki morajo vsi "prinesti" svoje ključne datoteke, preden lahko uporabimo podatke.
  • Ključne datoteke so lahko katerekoli datoteke v sistemu, priporoča pa se raba stisnjenih datotek (npr. paketov ZIP, slik JPEG ali zvočnih datotek MP3), v katerih ni ponavljajočih se vzorcev.

    TrueCrypt ponuja še eno, zelo zanimivo možnost dodatne zaščite podatkov: skrite razdelke. Znotraj šifriranega razdelka, ne glede na to, ali gre za datoteko ali napravo, lahko TrueCrypt ustvari še en, skriti šifrirani razdelek. Vse, kar potrebujemo, je novo geslo zaščite. Uporabniški priročnik priporoča, da najprej ustvarimo nov šifriran razdelek, ga priklopimo na sistem in nanj skopiramo nekaj datotek, ki jih želimo zaščititi le navidezno. Za tem v priključenem razdelku ustvarimo nov, skriti razdelek, in ga zaščitimo z drugačnim geslom. Zunanji razdelek lahko za tem odklopimo. Kateri razdelek bomo ob kasnejših priklopih v resnici videli, je zdaj odvisno zgolj od gesla. Če vnesemo geslo zaščitenega, zunanjega razdelka, bomo videli tega, če pa vnesemo geslo skritega, notranjega razdelka, se nam odpre njegova vsebina. Pomembno je, da ob priklopu zunanjega razdelka morebitni napadalec ne more odkriti, da se v njem skriva še en, notranji šifrirani razdelek, saj se njegova vsebina v ničemer ne razlikuje od morebitnega neizkoriščenega prostora, kamor TrueCrypt tako ali tako zapiše kup naključnih števil. Tudi TrueCrypt zgolj ugiba o obstoju šifriranega razdelka. Če mu z vnesenim geslom ne uspe odkleniti običajnega razdelka, poizkuša še enkrat z vzorcem podatkov, ki ga zajame pri koncu razdelka. Seveda pa ta neopaznost notranjega razdelka prinaša nekaj nevarnosti. S pisanjem v zunanji razdelek namreč obstaja nevarnost, da bomo vsebino notranjega razdelka "povozili" (glej sliko 2). Ob priklopu razdelka se zato lahko odločimo, da bomo notranji razdelek zaščitili (potrebovali bomo obe gesli) ali pa razdelek priklopimo v samo bralnem načinu. Na srečo je vsaj zasnova sistema taka, da je verjetnost prekrivanja praktično nična, če imamo v obeh razdelkih dovolj praznega prostora, ključni podatek skritega razdelka, njegova glava, pa bo žrtev prepisovanja prav zadnja, poleg tega lahko naredimo njeno zaščitno kopijo, ne da bi s tem resno razkrili vsebino naših šifriranih datotek.

    Ker se TrueCrypt sistemu predstavi kot nova naprava, so njegovi razdelki praktično neločljivi od kateregakoli "diska" ali "pomnilniške naprave" v sistemu. Celoten postopek (od)šifriranja je za sistem prav tako neopazen in ponuja zelo dobro zaščito. TrueCrypt šifrira celotno vsebino razdelka, tudi imena datotek, alokacijske tabele in, kot smo že spoznali, tudi prazen, še neporabljen prostor. Podatki so v pravi obliki razkriti edino v notranjem pomnilniku (RAMu) za čas njihove rabe. Razdelke lahko formatiramo v poljubnem datotečnem sistemu, ki ga podpira operacijski sistem, vendar se zaradi prenosljivosti in manjše razdrobljenosti priporoča uporaba sistema FAT. Ta je tudi edina možnost, če želimo ustvariti še notranji, skriti razdelek. TrueCrypt sam izbere najprimernejšo različico sistema FAT (FAT12, FAT16 ali FAT32), odvisno od izbrane velikosti razdelka.

    Nadzorni program je mogoče uporabiti v t. i. "potovalnem" načinu, pri čemer se bo namestil na izbrani pomnilniški nosilec, kjer bo na voljo za uporabo v drugem računalniku, ki TrueCrypta morda nima nameščenega. V Oknih se lahko potovalna različica celo sama zažene ob vstavitvi nosilca oz. ključa USB (če imamo Okna XP SP2). Za varnost je pomembno, da potovalna različica na ciljnem sistemu ne pusti prav nikakršnih sledov in kasnejši uporabnik ne more ugotoviti, ali je bil na sistemu v rabi šifriran razdelek ali ne.

    TrueCrypt je izvrsten program, ki svojo nalogo opravlja učinkovito in do uporabnika nadvse prijazno. Čeprav je izvirna koda programa na voljo in avtorji zagotavljajo, da bo progam vedno na voljo brezplačno, ni na voljo pod dovoljenjem GPL, zato smo glede drugih operacijskih sistemov (npr. FreeBSD ali Solaris) zaenkrat prepuščeni (ne)milosti izvirnih avtorjev, pa tudi glede prihodnosti jim moramo pač zaupati. Pa čeprav se pri programih za zaščito zasebnosti zgolj na zaupanje ni dobro zanašati.

    TrueCrypt s priklopljenim šifriranim razdelkom in čarovnikom za ustvarjanje novega.

    http://www.truecrypt.org/

    Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

    Komentirajo lahko le prijavljeni uporabniki

     
    • Polja označena z * je potrebno obvezno izpolniti
    • Pošlji