-
Internet: Enkripcija i javni ključevi
-
Bok, moje ime je Mia Gil-Epner i student
sam informatičkih znanosti na Berkeley-ju
-
i radim u Ministarstvu obrane gdje održavam
informacije sigurnima. Internet je
-
otvoreni i javni sustav. Svi šaljemo
i primamo informacije preko zajedničkih žica
-
i veza. No iako je to otvoreni sustav mi
i dalje razmjenjujemo puno privatnih
-
podataka. Stvari poput brojeva kreditne
kartice, bankovnih informacija i emailova.
-
Kako onda te privatne stvari održavamo
tajnim? Bilo kakav podatak može biti tajan
-
pomoću procesa zvanog enkrpicija, šifriranje
ili mijenjanje poruke radi sakrivanja
-
originalnog teksta. A dekripcija je proces
dešifriranja te poruke da bi postala čitljiva.
-
To je jednostavna ideja i ljudi to rade već
stoljećima. Jedna od prvih dobro poznatih
-
metoda enkripcije bila je Cezarova šifra.
Nazvana po Juliju Cezaru, rimskom generalu
-
koji je šifrirao svoje vojne zapovjedi kako
bi osigurao da ih neprijatelji, u slučaju da
-
ih presretnu, neće moći pročitati. Cezarova
šifra je algoritam koji mijenja svako slovo
-
u originalnoj poruci sa slovom koje se nalazi
određeni broj koraka dalje u abecedi.
-
Ako je taj broj nešto što samo pošiljatelj i
primatelj znaju, onda se naziva Ključem.
-
Ključ omogućava čitatelju otključavanje
tajne poruke. Na primjer, ako je vaša izvorna
-
poruka "HELLO" onda bi, upotrebom algoritma
Cezarove šifre s ključem 5, šifrirana poruka
-
izgledala ovako...Za dešifriranje poruke,
primatelj i jednostavno iskoristio ključ za
-
preokretanje procesa. Ali postoji veliki
problem s Cezarovom šifrom, bilo tko može
-
lako provaliti šifru na način da isproba
svaki mogući ključ, a engleska abeceda
-
ima samo 26 slova, što znači da trebaš
isprobati najviše 26 ključeva da bi
-
dešifrirao poruku. Isprobavanje 26 ključeva
nije preteško, to bi trajalo najviše jedan
-
ili dva sata. Dakle, učinimo to težim. Umjesto
pomicanja svakog slova za isti broj,
-
pomičimo svako slovo za različiti broj. U
ovom primjeru, ključ od 10 znamenaka pokazuje
-
za koliko će pozicija svako uzastopno slovo
promijeniti za šifriranje duže poruke. Ovaj
-
bi ključ bilo jako teško pogoditi. Upotrebom
enkripcije od 10 znakova bilo bi 10 milijardi
-
mogućih rješenja. Očigledno, to je više nego
što bi ijedan čovjek mogao riješiti, trajalo bi
-
stoljećima. Ali današnjem bi prosječnom
računalu trebalo svega nekoliko sekundi za
isprobavanje svih 10 milijardi opcija
-
Dakle, u današnjem svijetu, gdje su loši dečki
naoružani s računalima umjesto olovkama, kako
-
je moguće šifrirati poruke toliko sigurno da
ih je preteško provaliti? Pod preteškim
-
mislimo na to da postoji previše opcija da
bi se izračunavale u razumnoj količini vremena.
-
Današnje su sigurne komunikacije šifrirane
upotrebom 256-bitnih ključeva. Što znači da
-
kompjuter zlonamjerne osobe koja presreće
vašu poruku treba isprobati ovoliko mogućih opcija...
-
dok je otkriju ključ i dešifriraju poruku. Čak i
da imate 100 000 super računala i da je svaki
-
od njih sposoban isprobati milijun milijardi
ključeva svake sekunde trebali bi vam trilijuni
-
i trilijuni godina za isprobavanje svake
opcije, samo kako bi provali jednu poruku
zaštićenu s 256-bitnom enkripcijom.
-
Naravno, računalni čipovi postaju dvostruko
brži i u pola manji gotovo svake godine.
-
Ako se taj tempo eksponencijalnog napretka
nastavi, današnji nemogući problemi bit će
-
rješivi za svega nekoliko stotina godina u
budućnosti i 256-bitni ključevi neće biti
dovoljni da bi bili sigurni.
-
Zapravo, već smo trebali povećati standardnu
duljinu ključeva da bi bili u korak s brzinom
-
računala. Dobra vijest je da upotreba duljeg
ključa ne čini šifrirane poruke težima, već
-
eksponencijalno povećava broj pokušaja koji
su potrebni za provaljivanje šifre. Kad
-
pošiljatelj i primatelj dijele isti ključ
za šifriranje i dešifriranje poruke onda
-
se to zove Simetrična enkripcija. Sa Simetričnom
enkripcijom, poput Cezarove šifre, tajni
-
ključ mora biti dogovoren unaprijed u privatnosti
između dvije osobe. To je odlično za ljude,
-
ali Internet je otvoren i javan, pa je
nemoguće da se 2 računala "nađu" u privatnosti
-
i dogovore oko tajnog ključa. Umjesto toga,
računala koriste ključeve Asimetrične enkripcije,
-
javni ključ koji može biti razmijenjen s
bilo kime i privatni ključ koji se ne dijeli.
-
Javni ključ se koristi za šifriranje podataka
i svi ga mogu koristiti za stvaranje tajne
-
poruke, ali tajna može biti dešifrirana
računalom koje ima pristup privatnom ključu.
-
Ovo radi na temelju matematike u koju nećemo
sad ulaziti. Zamislite si to ovako,imate
-
osobni sandučić gdje svi mogu ostaviti poštu,
samo im treba ključ. Možete napraviti puno
-
kopija tog ključa i poslati jedan vašem
prijatelju ili ga učiniti javno dostupnim.
-
Vaš prijatelj ili čak stranac može iskoristiti
javni ključ za pristup vašem sandučiću i
-
ostavljanje poruke u njemu. Ali samo vi
možete otvoriti sandučić s privatnim ključem
-
i pristupiti tajnim porukama koje ste primili.
Možete poslati sigurnu poruku vašem prijatelju
-
uporabom javnog ključa za ostavljanje poruke
u njegovom sandučiću. Na taj način ljudi
-
mogu izmijeniti sigurne poruke bez prethodnog
dogovora o privatnom ključu. Kriptografija
-
javnog ključa je temelj svih sigurnih
poruka na otvorenom internetu. Uključujući
sigurnosne protokole zvane
-
SSL i TLS, koji nas štite dok pretražujemo
web. I vaše računalo ih danas koristi, svaki
-
put kad vidite mali lokot ili slova https
u adresi u vašem pretraživaču. To znači
-
da vaše računalo koristi enkripciju javnog
ključa za sigurnu razmjenu podataka s web
-
stranicom na kojoj se nalazite. Kako sve više
i više ljudi posjećuje Internet sve se više
-
privatnih podataka prenosi i potreba za
zaštitom podatka bit će još važnija.
-
I kako računala postaju sve brža i brža
morat ćemo razviti nove načine da učinimo
-
enkripciju preteškom da bi ih računala
provalila. To je ono što ja radim na svom poslu
i to se uvijek mijenja.