Imate na računalu podatke koje ne želite dijeliti s drugima? Ako je odgovor ‘da’, onda je vrijeme da ih propisno zaštitite. Najbolji način zaštite podataka je kriptiranje tvrdog diska, a mi ćemo vam u tekstu objasniti što je to, koji algoritmi se koriste i koji je alat najbolje odabrati!
Piše: Boris Plavljanić
Kada danas netko spomene sigurnost podataka, većina korisnika će odmah pomisliti na antivirusnu zaštitu. Nažalost, AV zaštita ne može zaštititi vaše podatke, nego samo računalo od određenih virusa. Podatke možete (i trebali biste) zaštititi drugim softverskim alatima. Stoga smo ovaj tekst odlučili posvetiti kriptiranju podataka i sigurnosnim algoritmima. Također, postoji i jedan zabluda među korisnicima, a to je da većina korisnika misli kako nema podatke koje bi trebalo zaštititi. No, svi oni podaci koje ne želite podijeliti sa ljudima – od brojeva kreditnih kartica i šifri koje držite na računalu do slika sa godišnjeg odmora – moraju se propisno zaštititi. Odlična praksa je i „osjetljive“ podatke držati na USB sticku koji je zaštićen sigurnosnim algoritmom, no o tome u nastavku teksta.
Što je kriptiranje (enkripcija) podataka?
Kriptiranje podataka je zapravo konverzija podataka iz čitljivog teksta u tzv. „cipher“ tekst koji je nečitljiv svima onima koji nemaju šifru (ključ) koji može dekriptirati te podatke. Dekriptiranje je suprotni proces od kriptiranja.
Kriptiranje podataka nije počelo sa računalima, nego je počelo još u dalekoj povijesti. Često ćete u literaturi koja obrađuje povijest, a posebno se bavi ratnom tematikom, naći informacije o raznim načinima komunikacije i kriptiranju poruka. U početku je to bilo mijenjanje slova sa brojevima ili jednostavno okretanje slova u abecedi po nekom principu (ili preciznije algoritmu). Dekriptirati takvu poruku je mogao, u pravilu, onaj koji je znao način kriptiranja. Mnogo kompleksnije kriptiranje je došlo sa računalima, a bazira se na preslagivanju bitova u digitalnim signalima.
Kako biste mogli te signale mogli nazad posložiti u odgovarajući red, potrebno je imati dekripcijski ključ ili šifru. Ključ je zapravo isto tako algoritam koji te bitove posloži nazad u odgovarajuću poruku i ona ponovno postaje čitljiva korisniku, a pošto se ovdje radi o velikoj količini podataka, svima je jasno da to nije moguće napraviti ručno.
Kriptiranje i dekriptiranje je vrlo važno i u bežičnoj komunikaciji, o čemu smo pisali u prošlom broju časopisa. Bez enkripcije bi svatko tko ima odgovarajući alat i malo znanja mogao presresti komunikaciju i ukrasti važne podatke. Ista stvar je i sa novčanim transakcijama koje obavljate putem računala, te sa komunikacijom unutar tvrtke i slično. Osjetljive podatke treba zaštititi sigurnosnim algoritmima, a što su oni jači, to ih je teže probiti. No, sa povećanjem jačine kriptiranja, povećava se i vrijeme kriptiranja, ali isto tako i trošak.
Unazad par godina se podignulo dosta prašine oko „neprobojnih algoritama“ koji postoje. To su algoritmi koje zasad nije moguće probiti sa brute-force i ostalim tehnikama. Pa se postavlja pitanje – tko ih smije koristiti i kada ih korisnik mora otkriti nadležnim organima? U Americi postoje zakoni po kojima svi ključevi koji se koriste moraju biti dostupni vlastima, ali u praksi se to pokazalo malo težom zadaćom. U nekoliko slučajeva korisnici nisu htjeli otkriti tajni ključ s kojim su podaci kriptirani, a određene službe ni nakon godinu i pol dana nisu uspjele probiti zaštitu. Taj podatak dovoljno govori o tome koliko su ti današnji algoritmi jaki i korisni!
Algoritmi
Danas postoji jako puno algoritama na svijetu, a razlikuju se u načinu kriptiranja i razini zaštite koju pružaju. Naravno da ih ne možemo sve spomenuti, no možemo onih nekoliko koji se najčešće koriste. Svaki alata za kriptiranje podataka će vas pitati koji algoritam želite koristiti, pa evo nekoliko prijedloga. I samo jedan napomena – generalno pravilo je: „Što više bitova, bolja zaštita“, iako ne mora značiti.
(3)DES – Data Encryption Standard je simetrični algoritam koji se osmislio IBM. Algoritam koristi 56 bitova (zapravo 64, ali svaki 8 bit se ignorira) i nije najbolji odabir. Odnosno, DES je najrasprostranjeniji algoritam na svijetu usprkos tome što je prilično kratak, a ljudi ga koriste po ‘defaultu’. Što se tiče probijanja istog – prosječno današnje računalo, preko brute-force tehnike taj isti ključ može probiti za otprilike 12 sati. To je jako malo sa hakerskog gledišta, no većini korisnika ipak sigurnosno prihvatljivo. Ako želite nešto jače, dobar odabir je 3DES koji radi na istom principu kao i DES, samo što je tri puta duži i tri puta je veća zaštita. Naravno, vrijeme probijanja nije 36 sati, nego puno više. Osobno, nikad ne bismo birali taj algoritam iako je dovoljan u većini slučajeva.
AES – Advanced Encryption Standard je algoritam koji je odobrio Američki institut za standarde i tehnologiju (NIST) i koristi se diljem svijeta kao zamjena za DES. Spomenuti algoritam je simetričan, kao i DES, što znači da se isti ključ koristi i za kriptiranje i dekriptiranje podataka. Ključ može biti veličine 128, 192 ili 256 bitova. Radi na principu da uzima 128-bitne blokova podataka i da ih permutira po određenim algoritmima i na taj način ih zaštiti. Zapravo, većina algoritama tako radi, samo uzimaju blokove druge veličine i koriste drugačije matematičke metode. Vrijeme probijanja putem brute-force metode – preko milijardu godina sa današnjim hardverom što znači da ju nije moguće probiti na ovaj način.
SHA-1/2 – SHA-1 i SHA-2 (Secure hash algorithms) su hash algoritmi za kriptiranje podataka. Hash algoritam je algoritam kojim se varijabilni ulaz proizvoljne duljine transformira u niz znakova fiksno određene duljine. Karakteristike tih algoritama su da je nemoguće izvesti inverznu funkciju, da za dva različita ulaza nikad ne daje isti izlaz i da je izlazni podatak uvijek iste veličine. Također, i ovdje se poruka dijeli na blokove veličine 512 bitova, pa se taj blok dijeli na 4 128-bitna bloka, te se svaki taj blok još dijeli na 4 dijela (32 bita) nad kojima se onda vrše razne matematičke i logičke operacije. U svakom slučaju, SHA-2 je jedan od najboljih algoritama koje možete koristiti.
Kriptiranje na Linuxu
Prije nego se pozabavimo alatima za kriptiranje koji se koriste prvenstveno na Microsoft operativnom sustavu, pogledajmo nakratko Linux. Linux ima ugrađen GPG (GNU Privacy guard) alat koji je fantastičan za kriptiranje podataka iz nekoliko razloga. Kao prvo, dolazi sa Linuxom i ne zahtjeva nikakvo dodatno postavljanje, a kao drugo ima niz mogućnosti koje nedostaju čak i nekim komercijalnim alatima. GPG je zamjena za PGP, a pokreće se iz komandne linije (nema grafičko sučelje) i ima implementirane sve najnovije i najbolje algoritme: DSA, RSA, AES, 3DES, Twofish, CAST5, MD5, SHA-1, RIPE-MD-160, Tiger. Također, sve dodatne algoritme je jako lako implementirati u softver i kasnije ih možete koristiti. Na službenim stranicama (www.gnupg.org) imate jako puno „how-to“ vodiča pa se nećemo time baviti. Ako ste Linux korisnik, svakako pogledajte, nećete požaliti. Preko spomenutog alata možete kriptirati tvrdi disk, prijenosni tvrdi disk, USB stickove i slično.
Koje uređaje kriptirati?
Postavlja se logično pitanje – da li kriptirati cijeli tvrdi disk na računalu ili samo USB stick i ostale prijenosne uređaje za pohranu podataka? Po nama je najbolja ova druga opcija – USB stick i druge prijenosne uređaje. Zašto? Pa zato jer većina nas ima svega par GB podataka koje ne želimo podijeliti s drugima (podaci vezani uz fakultet, posao, slike, brojevi kartica, drugi osobni podaci…), tako da ne treba usporavati cijelo računalo i kriptirati cijeli tvrdi disk nego „osjetljive“ podatke prebaciti na neki manji uređaj za pohranu podataka i njega kriptirati. Druga stvar je što možete izgubiti taj USB stick, no to je već drugi problem. Sreća u nesreći je što te podatke nitko neće moći iskoristiti i ne morate se za njih bojati.
Alati za kriptiranje
TrueCrypt
Fantastičan open source program krije se iza imena TrueCrypt, a zadnja verzija koja je izašla je 7.1a i možete ju besplatno skinuti sa Interneta. Riječ je o softveru koji može kreirati kriptirane particije na vašem računalu ili kriptirati cijeli disk – uključujući i onaj sistemski. Također, dopušta vam kreiranje skrivenih particija, pa čak i sakrivanje i kriptiranje cijelih operacijskih sustava (u slučaju dual boota).
Računalna praksa je pokazala da se većina računalnih napada izvodi putem mreže, ali svejedno postoji veliki rizik da netko fizički pristupi vašem računalu. Pogotovo ako vam je računalo ukradeno. Enkripcijski alati poput TrueCrypta mogu učiniti da svi spremljeni podaci budu nečitljivi onima koji nemaju dekripcijski ključ, te će osobi biti teško uopće razaznati gdje se na disku nalazi podaci, a gdje se nalazi „smeće“. Takav način kriptiranja nameće neke sitne limitacije, no u pravilu će svaki korisnik normalno koristiti računalo i podaci će se kriptirati on-the-fly, odnosno kako nastanu tako će se i kriptirati.
Postoje dva načina korištenja TrueCrypta – prvo je kriptiranje manjih dijelova diska, te kriptiranje cijelih particija. Kod prvog načina korištenja, korisnik uzima određeni dio tvrdog diska (ili nekog drugog medija) te stvara zaštićeno (kriptirano) područje u koje se podaci prebacuju, ali se prije toga kriptiraju. Ista stvar je i obrnuto – kada povlačite podatke iz tog zaštićenog dijela, oni se dekriptiraju i normalno se koriste. Naravno, taj proces je malo sporiji nego kod običnog prebacivanja podataka. Drugi i bolji način je kriptiranje cijelih particija. To može biti USB stick, prijenosni HDD ili particija na vašem računalu (koja može, a i ne mora sadržavati sistemske datoteke). Iako, to može biti i loša ideja – u slučaju gubitka šifre (zaboravljanja), više nećete moći ničemu pristupiti. Naš savjet je da disk podijelite na nekoliko particija (npr. C: za OS, D: za podatke, E: za osobne podatke…) i onda recimo kriptirate particiju E. Na taj način možete imati „normalno računalo“ ali i particiju kojoj nitko osim vas neće moći pristupiti.
Algoritmi koji se ovdje koriste su većinom 256-bitni, a redom to su: AES, Serpent, Twofish, AES-Twofish, AES-Twofish-Serpent, Serpent-AES, Serpent-Twofish-AES i Twofish-Serpent. Kao što vidite, radi se prvenstveno o miješanju različitih algoritama. Što znači npr. AES-Twofish? To znači da su podaci prvo kriptirani Twofish zaštitom, a nakon toga još AES-om. Ovakva praksa u pravilu daje bolje rezultate nego kada koristite samo jedan algoritam.
Kriptiranje particije može biti prilično dugačko u tome slučaju. Za 1 TB podataka vam treba u prosjeku između 20 i 24 sata, s time da tijekom kriptiranja ne biste trebali koristiti računalo. Zapravo, TrueCrypt vam neće ni dopustiti da nešto radite na onom dijelu diska kojeg pokušavate kriptirati.
Jedna zanimljivost – jedno te istu particiju je moguće kriptirati sa 2 ključa. Jedan je pravi i kada ga iskoristite pokazati će vam prave podatke, dok drugi ključ možete koristiti u slučaju da vas netko prisiljava da otključate particiju – tada se pokazuju bezvezni podaci (doslovno „smeće“) i nitko ne može dokazati da to nisu pravi podaci. To smeće se generira u slobodnom dijelu particije. Recimo da ste kriptirali 10 GB tvrdog diska, a imate tu spremljeno 6 GB osobnih podataka. U slučaju korištenja lažnog ključa, moći ćete vidjeti samo 4 GB smeća, dok će ostali podaci biti i dalje zaštićeni. Sve u svemu, naš prvi izbor za kriptiranje!
Pretty Good Privacy
Drugi alat vrijedan spomena je PGP, odnosno Pretty Good Privacy koji je nedavno napunio 10 godina. Tijekom tih godina, profilirao se kao jedan od ponajboljih alata na tržištu ukoliko govorimo o kriptiranju i zaštiti podataka. Također, PGP nudi i dodatne usluge i proizvode poput onih za kriptiranje email poruka, internu komunikaciju unutar poduzeća i tome slično.
PGP Whole Disk Protection, što je puni naziv ovog softvera, nudi malo jaču zaštitu od BitLockera i TrueCrypta, no u suštini je vrlo sličan njima. Kao i spomenute aplikacije, dolazi kao samostalna desktop aplikacija koja u sebi sadrži jako puno čarobnjaka koji vam mogu pomoći da zaštitite podatke.
No za razliku od BitLockera koji dolazi upakiran sa Windowsima 7, PGP radi na svim platformama i nudi 32 i 64 bitnu verziju, ali isto tako i verzije za obične korisnike te velika poduzeća.
Moramo napomenuti da je PGP namijenjen svim vrstama korisnika, od početnika do profesionalaca, te ga je izuzetno lako instalirati i konfigurirati. No, pravo konfiguriranje počinje njezinim korištenjem. Zahvaljujući ugrađenim mogućnostima i hrpom menija, PGP vam nudi potpunu kontrolu kod kriptiranja podataka i načinu na koji ćete te podatke zaštititi.
Po defaultu, PGP koristi 256-bitnu AES enkripciju, te koristi HCO (Hybrid Cryptographic Optimizer) tehnologiju. HCO je tehnologija koja optimizira algoritme i ubrzava sam program. U biti se radi samo o performansama kako bi korisnik što bezbolnije mogao kriptirati podatke i koristiti ih u realnom vremenu – da ne bi bilo slučajeva da datoteku od 5 MB otvarate jednu minutu (ako je datoteka kriptirana, onda se prvo mora dekriptirati da bi se mogla koristiti). Osim AES-a, tu su još i EIGamal, CAST, 3DES, IDEA, Twofish, DSS i ostali algoritmi.
Nadalje, PGP nudi mnoštvo opcija. Jedan zanimljiva opcija je single sign-on. Ona vam limitira broj koliko puta smijete unijeti šifru u slučaju da netko neautoriziran pokuša otvoriti zaštićene datoteke. Također, tu je i PGP Zip (omogućuje slanje zaštićenih.zip datoteka), data-shredding alat (obrisane datoteke više nikako nije moguće vratiti i doći do njih), mogućnost dodavanja digitalnog potpisa u zaštićene dokumente i slično.
Vratimo se samo malo na kriptiranje particije. PGP vam nudi mogućnost da u svega par minuta kriptirate cijelu particiju. Ne morate raditi posebne particije ili dijelove diskova koje želite kriptirati. Dapače, preporuča se korištenje takvog načina kriptiranja. Proces kriptiranja izgleda ovako – označite disk (particiju), pritisnete tipku „Encrypt whole disk“, unesete željenu šifru, pustite softver da odradi svoje (par sati u slučaju velikog diska), te resetirate računalo. Kod ulaska će vas pitati za šifru i to je to. Cijeli disk je zaštićen i kriptiran. Naravno, prije kriptiranja možete mijenjati parametre kao što su algoritmi koje ćete koristiti i slično. Isto je moguće napraviti i sa prijenosnim tvrdim diskovima, USB stickovima itd. U svakom slučaju fantastičan alat s kojim ne možete pogriješiti.
Cryptainer
I za kraj, ostaje nam još Cryptainer. Za spomenuti alat vjerojatno niste čuli jer se o njemu rijetko govori, no potpuno nezasluženo. Cryptainer je vrlo dobar alat sa odličnim mogućnostima i user-friendly grafičkim sučeljem, no o tome nešto kasnije u tekstu.
Nažalost, jedino ograničenje je što ga možete koristiti samo na Windowsima (95/98/2000/2003 server/XP/Vista/Win7/Win8), a dolazi u dvije varijante: 32 i 64 bitnoj.
Cryptainer radi na malo drugačijem principu nego PGP i TrueCrypt. On podatke kriptira i sprema u jednu veću datoteku koja je zaštićena šifrom i prikazuje se kao virtualni drive, odnosno particija. Nju naravno možete koristiti kao i sve druge particije na računalu – kopirati na nju (ili s nje) datoteke, radi drag’n’drop način prijenosa, možete brisati datoteke, stvarati nove… U biti, ne postoji nikakvo ograničenje, osim što ćete prije rada sa njom morati upisati šifru koja „vrijedi“ dok ne ugasite ili resetirate računalo. Tada se šifra mora ponovno upisati. Iako postoji jedan mali problem, odnosno manji nedostatak – da biste upisali šifru morate pokrenuti program i onda sve funkcionira. Radije bismo da program nekako zaobiđe to pokretanje aplikacije, no to i nije veliki problem.
Preko tog istog spomenutog grafičkog sučelja ćete konfigurirati sve parametre enkripcije. Prvi puta kada ga pokrenete morati ćete izabrati lokaciju gdje će se taj virtualni drive nalaziti, koliko ćete mu mjesta dati, odabrati šifru (8 ili više znakova), izabrati između dvije enkripcije – 448-bitna Blowfish enkripcija i 256-bitna AES enkripcija, te odabrati slovo (X:) za particiju i spremni ste za korištenje! Možete napraviti i više takvih virtualnih particija ako želite. Čak je moguće i program pokretati sa USB sticka, ne morate ga imati instaliranog na računalo.
Performanse programa su prilično dobre i ne osjetite veliku razliku između rada na „običnim“ particijama i na ovim kriptiranim. Uz to, Cryptainer nudi i zaključavanje datoteke šifrom (ako ne želite raditi kriptiranu particiju), te „Secure email module“ za sigurno slanje email poruka. Korištenje istog se preporuča ukoliko šaljete emailove sa tuđih (otvorenih) Wi-Fi mreža.
Zaključak je da je ovo i više nego solidan enkripcijski softver usprkos činjenici da nudi samo dvije vrste algoritama. 448-bitna zaštita je gotovo neprobojna i ne morate se bojati za svoje podatke.
Razlika između komercijalnih i besplatnih alata
Sigurno se pitate koja je razlika između besplatnih i komercijalnih alata za kriptiranje? Pa razlike su jako male. TrueCrypt je primjer fantastičnog besplatnog alata koji prosječnom, pa i naprednom, korisniku nudi sve što mu treba. Komercijalni alati nude sve to, koriste čak i iste algoritme, no nude neke sitnice koje bi trebale povećati zadovoljstvo korisnika. U to možemo ubrojiti Password meter (dodatak koji vam govori koliko je odabrana šifra dobra), Virtual keyboard (za slučaj da imate na računalu keylogger), mogućnost instaliranja alata na prijenosne uređaje, zaključavanje datoteka, tutorijale, tehničku podršku, Password generator… Te sitnice su više estetske prirode i ne pomažu previše, no lijepo ih je imati. Pitanje je samo da li ste spremni dati 50-200 dolara za jedan takav softver?