Šta je šifrovanje? Ako ga koriste kriminalci, da li je bezbedno da ga koriste i oni koji nisu kriminalci? Evo kako šifrovanje funkcioniše i šta radi.
Pri samom spominjanju reči „šifrovanje“ ne treba odmah pomisliti na zlikovca iz filmova o Džejmsu Bondu koji nosi aktovku vezanu lisicama za ručni zglob u kojoj se nalaze šifre za lansiranje nuklearnog oružja.
U stvarnosti, svi svakodnevno koriste tehnologiju šifrovanja. Iako većina verovatno ne razume „kako“ ili „zašto“, jasno je da je bezbednost podataka važna, a šifrovanje je ključni deo te bezbednosti.
Skoro svaki računarski uređaj sa kojim svakodnevno komuniciramo koristi šifrovanje. Dakle, kako funkcioniše šifrovanje i da li je šifrovanje bezbedno?
Šta je šifrovanje?
Šifrovanje je moderan oblik kriptografije koji omogućava korisniku da sakrije informacije od drugih.
Šifrovanje koristi složeni algoritam koji se zove šifra da bi pretvorio obične podatke (poznate kao otvoreni tekst) u niz naizgled nasumičnih znakova (poznatih kao šifrovani tekst) koji nisu čitljivi onima koji nemaju poseban ključ za njihovo dešifrovanje. Oni koji poseduju ključ mogu da dešifruju podatke da bi ponovo videli otvoreni tekst, a ne nasumični niz znakova šifrovanog teksta.
Dve najčešće korišćene metode šifrovanja su šifrovanje pomoću javnog ključa (asimetrično) i šifrovanje pomoću privatnog ključa (simetrično).
Obe metode šifrovanja omogućavaju korisnicima da šifruju podatke kako bi ih sakrili od drugih, a zatim ih dešifruju da bi pristupili originalnom otvorenom tekstu. Međutim, razlikuju se po procedurama koje se odvijaju između šifrovanja i dešifrovanja.
Šifrovanje pomoću javnog ključa
Šifrovanje pomoću javnog ključa (asimetrično) koristi javni ključ primaoca i (matematički) odgovarajući privatni ključ.
Na primer:
I Džo i Karen imaju ključeve od kutije.
Džo ima javni ključ, a Karen ima odgovarajući privatni ključ.
Džo može da koristi svoj javni ključ da otključa kutiju i stavi stvari u nju, ali ne može da vidi stvari koje su već unutra, niti može bilo šta da izvadi iz kutije.
Karenin privatni ključ može da otvori kutiju, pregleda sve predmete unutra i izvadi neke prema svom nahođenju.
Imajte na umu da Karen može da pregleda i uklanja predmete iz kutije, ali ne može da stavlja nove predmete u kutiju da bi Džo mogao da ih vidi.
Da bi sve to drugačije funkcionisalo, Džo i Karen moraju da zamene novi set ključeva za novu kutiju. U tom slučaju, Karen drži javni ključ i može da otključa kutiju da stavi novi predmet, a Džoov privatni ključ mu omogućava da otvori kutiju i pogleda predmete.
Šifrovanje pomoću privatnog ključa
Šifrovanje pomoću privatnog ključa (simetrično) razlikuje se od šifrovanja javnim ključem zbog različite namene ključeva. Još uvek su potrebna dva ključa za komunikaciju, ali oba ključa su sada u suštini ista.
Na primer, Džo i Karen poseduju ključeve od gore pomenute kutije, ali u ovom slučaju, ključevi obavljaju istu funkciju. Oba sada mogu da dodaju ili uklanjaju stvari iz kutije. U digitalnom smislu reči, Džo sada može svojim ključem da šifruje poruku kao i da je dešifruje. Karen može da uradi isto sa svojim.
Opisali smo vam pojednostavljen način funkcionisanja šifrovanja pomoću privatnog ključa. Često će veb-stranice i usluge na mreži koristiti šifrovanje pomoću javnog i privatnog ključa da bi obezbedile različite funkcije i tako napravile slojeve bezbednosti.
Kratka istorija šifrovanja
Kada govorimo o šifrovanju, važno je da istaknemo da je sveukupna moderna tehnologija šifrovanja izvedena iz kriptografije.
U suštini, kriptografija je proces kreiranja i (pokušaja) dešifrovanja koda. Dok je elektronsko šifrovanje relativno nova pojava, kriptografija je nauka koja datira još iz antičke Grčke.
Grci su bili prvo društvo koje je koristilo kriptografiju za sakrivanje osetljivih podataka u obliku pisane reči, kako od očiju svojih neprijatelja, tako i od javnosti.
Međutim, Grci nisu bili usamljeni u razvoju primitivnih metoda kriptografije. Rimljani su sledili taj primer uvodeći ono što je postalo poznato kao „Cezarova šifra“, šifra zamene koja je podrazumevala zamenu slova za drugo slovo pomereno niže po abecedi.
Na primer, ako je ključ uključivao pomeranje udesno od tri, slovo A bi postalo D, slovo B bi bilo E, i tako dalje. Cezarova šifra je jedan od prvih oblika kriptografije sa kojom se mnogi od nas upoznaju kao deca.
Tri primera moderne tehnologije šifrovanja
Moderna tehnologija šifrovanja koristi naprednije algoritme i veće veličine ključeva da bi što bolje sakrila šifrovane podatke. Što je veća veličina ključa, to bi više mogućih kombinacija morao da izvede napad grubom silom da bi uspešno dešifrovao šifrovani tekst.
I dok se veličina ključa neprestano unapređuje, vreme potrebno za razbijanje šifrovanja korišćenjem grube sile stalno se produžava.
Na primer, iako biste verovatno rekli da između 56-bitnog i 64-bitnog ključa nema neke velike razlike, moramo vam reći da je 64-bitni ključ, u stvari, 256 puta teže razbiti od 56-bitnog ključa.
Većina modernih šifrovanja koristi najmanje 128-bitni ključ, dok neki koriste 256-bitne ključeve ili veće. Hajde da vam malo približimo celu zamisao. Na primer, razbijanje 128-bitnog ključa bi zahtevalo napad grubom silom u kojem bi se testiralo preko 339,000,000,000,000,000,000,000,000,000,000,000 mogućih kombinacija tastera.
Da se ne bi pojavila uobičajena zabuna u vezi sa tipovima šifrovanja i algoritmima šifrovanja, kao i snage svakog od njih, ovde ćemo vam dati kratko objašnjenje.
Tip šifrovanja: Tip šifrovanja se odnosi na to kako je šifrovanje kompletirano. Na primer, asimetrično šifrovanje je najčešći tip šifrovanja na internetu.
Algoritam šifrovanja: Kada govorimo o snazi šifrovanja, govorimo o specifičnom algoritmu šifrovanja. Algoritmi imaju zanimljive nazive, kao što su Triple DES, RSA ili AES. Nazivi algoritama za šifrovanje su često praćeni numeričkom oznakom, kao što je AES-128. Broj se odnosi na veličinu ključa za šifrovanje i definiše snagu algoritma.
Postoji nekoliko uobičajenih algoritama za šifrovanje koji su posebno popularni zbog snage koju imaju i bezbednosti koju pružaju.
1. Standard za šifrovanja podataka (Data Encryption Standard – DES)
Standard za šifrovanje podataka je originalni standard za šifrovanje kojeg je nekad koristila vlada Sjedinjenih Država. Prvobitno se smatralo da je nepobediv, ali zbog povećanja računarske snage i smanjenja troškova hardvera, 56-bitno šifrovanje je, u suštini, zastarelo. To se posebno odnosi na osetljive podatke.
2. RSA
RSA je jedan od prvih kriptografskih algoritama sa javnim ključem. Koristi jednosmernu asimetričnu funkciju šifrovanja koju smo prethodno objasnili.
RSA je dobro poznati algoritam za šifrovanje. Predstavlja primarnu karakteristiku mnogih protokola, uključujući SSH, OpenPGP, S/MIME i SSL/TLS. Štaviše, pretraživači koriste RSA za uspostavljanje bezbedne komunikacije preko nebezbednih mreža.
RSA je i dalje popularan zbog dužine ključa. RSA ključ je obično dugačak 1024 ili 2048 bita. Međutim, stručnjaci za bezbednost veruju da 1024-bitni RSA ključ uskoro biti razbijen, što je podstaklo brojne vladine i poslovne organizacije da pređu na jači 2048-bitni ključ. Zanimljivo je da su programeri RSA u početku mislili da će 1024-bitni RSA biti razbijen između 2006. i 2010. godine, ali i deceniju kasnije ostao je netaknut.
3. Napredni standard šifrovanja (Advanced Encryption Standard – AES)
Napredni standard šifrovanja (AES) je sada pouzdan standard za šifrovanje kojeg koristi vlada Sjedinjenih Država.
To je algoritam simetričnog ključa koji može da generiše ključeve u tri različite veličine: 128, 192 ili 256 bita. Štaviše, postoje različite runde šifrovanja za svaku veličinu ključa. Pod rundom se podrazumeva proces pretvaranja otvorenog teksta u šifrovani tekst. Za 128-bitni ključ, postoji deset rundi, 192-bitni ima 12 rundi, a 256-bitni ima 14 rundi.
AES je jedan od najjačih oblika šifrovanja koji je trenutno dostupan. Kada pročitate „šifrovanje vojnog nivoa“ na proizvodu, to se odnosi na AES. Iako postoje teoretski napadi na AES, svi zahtevaju nivo računarske snage i skladištenja podataka koji je nemoguć u ovom vremenu. Videćemo kako će se AES šifrovanje odbraniti u eri kvantnih računara, ali mnogi veruju da je AES-256 algoritam za šifrovanje otporan na kvantne napade.
Da li je šifrovanje bezbedno za korišćenje?
Odgovor je sasvim sigurno potvrdan.
Potrebno vreme, potrošnja energije i računarski troškovi neophodni za razbijanje većine modernih kriptografskih tehnologija čine pokušaj razbijanja šifrovanja (bez ključa) skupim poduhvatom koji je, možemo reći, uzaludan.
Ipak, šifrovanje ima probleme koji su uglavnom izvan moći tehnologije.
Zadnja vrata. Bez obzira na to koliko je šifrovanje bezbedno, ako neko ubaci zadnja vrata u kôd, bezbednost bi mogla biti kompromitovana. Zadnja vrata u oblasti šifrovanja su stalna tema rasprava u vladama širom sveta i uvek su goruća tema posle bilo kakvog terorističkog napada. Brojni su razlozi zbog kojih nikada ne bismo smeli da dozvolimo vladi da razbije šifrovanje.
Rukovanje privatnim ključevima. Kriptografija modernih ključeva je izuzetno bezbedna. Međutim, ljudska greška i dalje najveći uzročnik većine bezbednosnih problema. Greška pri rukovanju privatnim ključem može da ga izloži spoljnim činiocima, zbog čega šifrovanje postaje beskorisno.
Povećana računarska snaga. S obzirom na postojeću računarsku snagu, većinu modernih ključeva za šifrovanje nije moguće razbiti. Međutim, kako se procesorska snaga povećava, tehnologija šifrovanja bi trebalo da ide u korak sa tim napretkom.
Pritisak vlada. Zajedno sa zadnjim vratima za šifrovanje, neke vlade sprovode zakone o obaveznom dešifrovanju koji primoravaju građane koji su pritvoreni da predaju privatne ključeve za šifrovanje. Priroda zakona o otkrivanju podataka o ključu razlikuje se od jedne zemlje do druge. U Sjedinjenim Državama, prema Petom amandmanu niko nema obavezu da pod prinudom otkrije ključ.
Da li treba da koristite šifrovanje?
Ne radi se zapravo o tome da li treba da koristite šifrovanje. Svaki dan koristite šifrovanje da biste pristupili onlajn bankarstvu, slali poruke na WhatsApp-u i bezbedno pristupali veb-stranicama, a da vas pritom niko ne prisluškuje.
Bolje se zapitajte: „Šta bi se desilo da nema šifrovanja?“