-
Internet: šifriranje in javni ključi
-
Živjo, moje ime je Mia Gil-Epner in sem
študent računalništva na Berkeley-ju
-
in delam na ministrstvu za obrambo, kjer
poskušam varovati podatke.
-
Internet je odprt in javen sistem. Vsi pošiljamo
in prejemamo informacije prek skupnih žic
-
in povezav. A čeprav gre za odprt sistem, si
vseeno izmenjujemo veliko zasebnih
-
podatkov. Na primer številke kreditnih kartic,
bančnih podatkov, gesla in e-pošto.
-
Torej, kako vse te zasebne stvari obvarujemo?
Podatke katere koli vrste, je mogoče obdržati
-
v tajnosti s šifriranjem, kodiranjem ali
spreminjanjem sporočila, da se skrije
-
izvirno besedilo. Dekripcija je postopek
dešifriranja tega sporočila, da postane berljivo.
-
To je preprosta ideja in ljudje to počnejo že
stoletja. Eden prvih znanih načinov
-
šifriranja je bila Cezarjeva šifra, poimenovana
po Juliju Cezarju, rimskemu generalu,
-
ki je šifriral svoje vojaške ukaze, da bi
zagotovil, da če sporočilo prestrežejo
-
sovražniki, ga ne bodo mogli prebrati. Cezarjeva
šifra je algoritem, ki v izvirnem sporočilu
-
nadomesti vsako črko z črko, ki se nahaja
določeno število korakov navzdol po abecedi.
-
Če je številka nekaj, kar vedo le pošiljatelj
in prejemnik, se imenuje ključ.
-
Bralcu omogoča odklepanje skrivnega
sporočila. Če je na primer vaše izvirno
-
sporočilo "HELLO", potem z uporabo Cezarjeve
šifre s ključem 5, bi bilo šifrirano sporočilo
-
takšno... Za dešifriranje sporočila bi
prejemnik preprosto uporabil ključ za
-
obračanje postopka. Vendar obstaja velika
težava s Cezarjevo šifro, in sicer kdorkoli
-
lahko zlahka razbije šifro, tako da preizkusi
vsak možen ključ, v angleški becedi
-
pa je samo 26 črk, kar pomeni, da bi moral
za dešifriranje sporočila testirati le
-
največ 26 ključev. Preizkusiti 26 ključev ni
težko, to bi vzelo največ eno uro ali dve.
-
Torej, otežimo postopek. Namesto, da bi
vsako črko premaknili za enako število,
-
prestavimo vsako črko za drugačno število.
V tem primeru, desetmestni ključ prikazuje
-
za koliko položajev bo posamezna črka
spremenjena za šifriranje daljšega sporočila.
-
Tak ključ bi bilo zelo težko uganiti. Z 10
mestnim šifriranjem bi dobili 10 milijard
-
možnih rešitev. Očitno je, da je to več, kot
bi lahko kdaj rešil človek, trajalo bi
-
stoletja. Toda danes, povprečni računalnik
bi potreboval le nekaj sekund, da bi
preizkusil vseh 10 milijard možnosti.
-
Torej, v sodobnem svetu, kjer so slabi fantje
obroženi z računalniki namesto s pisali,
-
kako lahko varno šifrirate sporočila, da jih
je zelo težko razbiti? "Zelo težko" pomeni,
-
da je preveč možnosti, da bi računalnik
izračunal v razumnem času.
-
Današnje varne komunikacije so šifrirane z
256-bitnimi ključi. To pomeni, da bi moral
-
računalnik zlonamerne osebe, ki prestreže
vaše sporočilo, preizkusiti toliko možnih opcij...
-
dokler ne odkrije ključ in dešifrira sporočilo.
Tudi, če bi imeli 100.000 super računalnikov
-
in bi vsak od njih vsako sekundo preizkusil
milijon milijard ključev, bi terjalo milijarde
-
in milijarde let za vsako opcijo, da bi uspešno
dešifrirali samo eno 256-bitno sporočilo.
-
Je res, da računalniški čipi vsako leto postanejo
dvakrat hitrejši in polovico manjši.
-
Če se bo ta hitrost eksponentnega napredka
nadaljevala, bodo današnji nemogoči
-
problemi rešljivi le za nekaj sto let in
256 bitov ne bo zadoščalo.
-
Pravzaprav smo že morali povečati standardno
dolžino ključa, da smo lahko sledili napredku
-
računalnikov. Dobra novica je, da uporaba
daljšega ključa ne otežuje šifriranje sporočil,
-
vendar eksponentno poveča število ugibanj,
ki bi jih potrebovali, da bi razbili šifro.
-
Ko imata pošiljatelj in prejemnik isti ključ za
šifriranje in dešifriranje sporočila, temu
-
rečemo simetrično šifriranje. S simetričnim
šifriranjem, tako kot Cezarjeva šifra, se
-
morata o tajnem ključu vnaprej dogovoriti
dve osebi. To je odlično za ljudi, a
-
internet je odprt in javen, zato je nemogoče,
da se 2 računalnika zasebno "srečata", da
-
se dogovorita o tajnem ključu. Namesto tega,
računalniki uporabljajo asimetrične ključe,
-
javni ključ, ki ga je mogoče deliti z vsakim,
in zasebni ključ, ki se ga ne deli.
-
Javni ključ se uporablja za šifriranje podatkov
in kdor koli ga lahko uporabi za ustvarjanje
-
tajnega sporočila, katerega lahko dešifrira samo
računalnik, ki ima dostop do zasebnega ključa.
-
To deluje na principu matematike, ampak v to
se zdaj ne bomo spuščali. Predstavljajte si to,
-
kot osebni nabiralnik, kjer lahko vsakdo odloži
pošto, vendar za to potrebuje ključ. Lahko
-
ustvarite veliko kopij takega ključa in enega
pošljete prijatelju ali pa ga javno objavite.
-
Vaš prijatelj ali celo neznanec lahko z javnim
ključem dostopa do nabiralnika in odloži
-
sporočilo v njem. Toda samo vi lahko odprete
nabiralnik s svojim zasebnim ključem in tako
-
dostopate do vseh prejetih tajnih sporočil.
Varno sporočilo lahko pošljete nazaj prijatelju
-
z uporabo javnega ključa njegovega nabiralnika.
Na ta način, si lahko ljudje izmenjujejo
-
varna sporočila, ne da bi se kdaj morali
dogovoriti za zasebni ključ. Kriptografija
-
z javnimi ključi, je temelj vseh varnih
sporočil na odprtem internetu, vključno
z varnostnimi protokoli, znanimi
-
kot SSL in TLS, ki nas varujeta, ko brskamo
po spletu. Tudi vaš računalnik to uporablja,
-
to lahko vidite v naslovni vrstici brskalnika
v obliki majhne ključavnice ali HTTPS oznake.
-
To pomeni, da vaš računalnik uporablja javno
šifriranje ključev za varno izmenjavo podatkov
-
s spletnim mestom, na katerem se nahajate.
S širjenjem interneta, se bo prenašalo vedno
-
več zasebnih podatkov, potreba po zaščiti
teh podatkov bo še bolj pomembna.
-
In ker računalniki postajajo vse hitrejši,
bomo morali razviti nove načine, kako
-
šifriranje bolj otežiti, da jih računalniki
ne bodo mogli razbiti. To je moje delo,
ki se nenehno spreminja.