Professional Documents
Culture Documents
Predavanje 6
Asimetrični kriptoalgoritmi
Hesh funkcije
Primjena kriptografije
Sadržaj predavanja 6
Asimetrični kriptoalgoritmi
koncept, Diffie-Helman, RSA i ostali algoritmi
Hesh funkcije
koncept, MD5, SHA1
Primjena kriptografije
digitalni potpis
PGP
Problem distribucije ključa
Sa porastom primjene računara (od 60ih godina
računari su postajali napredniji i jeftiniji dostupni u
firmama za prenos poruka o novcu, osjetljivim
pitanjima...) – porast potrebe za enkripcijom problem
distribucije ključa
nemoguć prenos telefonom zbog prisluškivanja
kuriri (na primjer u bankama, za distribuciju ključeva
između banke i klijenata, primjenjivalo se 70ih godina)
postalo neisplativo sa povećanjem broja poruka
problem distribucije ključa mučio je kriptografe oduvijek
(npr. problem je bio izražen i kod Enigme...) – problem koji
je u kriptografiji prevazišao sve ostale!!!
dugo su postojale pretpostavke da je problem nerješiv
Problem distribucije ključa
70. godine 20. stoljeća riješen problem distribucije
ključeva najveće kriptografsko otkriće još od
monoalfabetske supstitucijske šifre
Whitfield Diffie (MIT)
Martin Hellman (Stanford University)
pokušaj da riješe problem distribucije ključa, odnosno
da nađu alternativu fizičkom prenošenju ključeva na
velike udaljenosti
Ralph Merkle (matematičar)
2 hiljade godina star aksiom kriptografije: razmjena
ključeva se ne može nikako izbjeći!!!
Diffie, Hellman i Merkle oborili prethodni aksiom!!!
Problem distribucije ključa
60-ih godina USA Ministarstvo odbrane osnovalo ARPA
pronalazak načina povezivanja vojnih računara na velike
udaljenosti razvijena mreža ARPANet, iz koje je 1982.
proizašao Internet
krajem 80-ih pristup Internetu dobili su i ljudi koji nisu bili
povezani s državom ili akademskim istraživanjem te je broj
korisnika naglo porastao na milione ljudi širom svijeta
dok je ARPANet bio još u povojima, Diffie je pretpostavio kako
će jednoga dana i obični ljudi imati vlastite računare koja će
biti povezani i kako će moći razmjenjivati različite poruke
putem te mreže
Diffie je smatrao da ako ljudi razmjenjuju poruke putem
računarske mreže, imaju pravo osigurati privatnost svojih
poruka šifriranjem neophodna sigurna razmjena ključeva
ako je to problem za državu, za obične ljude će biti neostvariva!!!
Problem distribucije ključa
Pitanje kako dva stranca koja su se upoznala preko
Interneta mogu jedan drugome poslati šifriranu poruku?
Alice i Bob žele komunicirati slanjem poruka, a Eve želi
neovlašteno otkriti sadržaj
ako Alice i Bob ne žele da im neko čita poruke, moraju ih
šifrirati, po mogućnosti novim ključem za svaku poruku
potrebno puno ključeva; Alice i Bob se mogu naći jednom
sedmično i razmijeniti lično mnogo ključeva sigurna, ali
nepraktična metoda problem nastaje npr. kada je neko
spriječen da dođe na razmjenu ključeva??? problem
star 2000 godina!!!
Problem distribucije ključa
Ideja povjerljive komunikacije bez razmjene ključeva
Alice stavlja pismo u kutiju, zaključava je svojim
katancem i šalje Bobu
Bob prima kutiju i zatim na nju stavlja svoj katanac i
šalje je nazad ka Alice
Alice zatim skida svoj katanac i opet prosljeđuje kutiju
ka Bobu (koja je i dalje zaštićena Bobovim katancem)
Bob na koncu skida svoj katanac i otvara pismo
tajna poruka se može razmijeniti između ljudi bez
potrebe da se razmijeni ključ!!!
Problem distribucije ključa
Zadatak 3:
Primjenom RSA algoritma kriptovati slovo X (ASCII 88),
ako je p=17, q=11 i e=7
Rješenje 3:
N=pq=187
odabrati e tako da su e i (p-1)(q-1) relativno prosti e i
160 relativno prosti e=7 OK!
RSA algoritam
n=187 i e=7 je javni ključ
kriptovanje: C=Me(modN)
C=887(mod187)=(88(mod187)882(mod187)
884(mod187))mod187=88*77*132(mod187)= 11(mod187)
dekriptovanje (N,d) – privatni ključ ((φ(n),e)=1)
M=Cd(modN) pri čemu je ed≡1(mod(p-1)(q-1)) d=23
M=1123(mod187)=(11*112*114*1116)mod187
11mod187=11mod187
112mod187=121mod187
114mod187=(112)2mod187=1212mod187=14641mod187=55
118mod187=(114)2mod187=552mod187=3025mod187=33
1116mod187=(118)2mod187=332mod187=1089mod187=154
M=(11*121*55*154)mod187=11273570mod187=88mod187
Kriptosistemi sa javnim ključem
Ostali kriptosistemi sa javnim ključem
ElGamal
asimetrični algoritam baziran na problemu diskretnih log.
algoritam za šifriranje sličan je Diffie-Helman-ovom
algoritmu za dogovaranje ključeva, a njegova sigurnost se
temelji na nerješivosti problema diskretnih logaritama
imaju sličan nivo sigurnosti za jednake dužine ključeva kao
i RSA ključeva
glavni nedostatak ElGamala je potreba za slučajnošću i
manja brzina
još jedan potencijalni nedostatak je da tijekom šifriranja
poruke dolazi do povećanja poruke za faktor dva (što se
može zanemariti ako se kriptosistem koristi samo za
razmjenu privatnih ključeva)
Kriptosistemi sa javnim ključem
Rabinov kriptosistem
bazira se na izračunavanju kvadratnog korijena što je
problem računski jednak faktoriziranju n
f je kompresijska funkcija
IV je inicijalizirajući vektor, koji predstavlja fiksnu vrijednost
koja zavisi od algoritma ili implementacije
za svaki blok ulaznih podatka, kompresijska funkcija uzima
rezultat prethodne kompresijske funkcije (prva funkcija uzima
IV), kombinuje ga s blokom ulaznih podataka i na osnovu
toga izračunava rezultat koji se prosljeđuje sljedećoj
kompresijskoj funkciji; zadnji blok ulaznih podataka se
nadopunjuje 0 i bitima koji pohranjuju podatak o dužini
ulaznog podatka kako bi se dobio blok fiksne dužine jednake
Hesh funkcije
Nedostaci Merke-Damgard konstrukcije
ako je pronađena jedna kolizija produženjem
odgovarajućeg ulaznog podatka, vrlo lako ih se može
naći još
višestruke kolizije (više poruka s istim sažetkom)
mogu se pronći vrlo lako nakon pronalaska prve
ipak, na Merkle-Damgard konstrukciji bazirana je
većina danas korištenih algoritama za izračunavanje
sažetka uključujući MD5 i SHA-1 algoritme
Primjeri hesh algoritama
MD5
SHA1
MD5
MD5 (Message Digest algoritam)
jedan od najpopularnijih hesh algoritama
MD5 algoritam uzima ulaznu poruku proizvoljne dužine i
stvara sažetak dužine 128 bita
razvio ga je Rivest 1991. godine, kao nasljednika MD4
algoritma (koji je razvijen s namjerom da bude brz na 32
bitnim procesorima, ali zbog toga je bio rizičan u smislu
kriptoanalitičkih napada; MD5 je žrtvovao brzinu radi
povećanja sigurnosti)
nekada se koristio za zaštitu/testiranje integriteta, a danas
se koristi kao checksum (za cerifikaciju integriteta
nenamjenih izmjena)
MD5
Princip rada MD5 algoritma
ulazna poruka se dijeli na blokove dužine 512 bita
zadnji blok teksta, koji ne mora biti potpun, nadopunjuje
se na 512 bita tako da se iza zadnjeg bita teksta dodaje
jedna jedinica, nakon te jedinice upisuje se toliko nula da
u bloku preostanu 64 bita i u te se preostale bite upisuje
dužina u bitima izvorne poruke (bez nadopunjujućih bita)
svaki se 512-bitni blok dijeli na 16 podblokova dužine 32
bita, M0, M1, ..., M15
svaki podblok Mj sudjeluje u izračunavanju sažetka četiri
puta te se obavlja u 64 koraka podijeljena u četiri runda
u svakom se koraku i (1≤i≤64) u izračunavanje uključuje i
32-bitna konstanta Ki=232(abs(sin(i)))
MD5
Princip rada MD5 algoritma
sažetak S od 128 bita sastoji se od četiri 32-bitne varijable
A, B, C i D, koje se početno inicijaliziraju s konstantama
npr. A0=0123456716 B0=89ABCDEF16 C0=FEDCBA9816
D0=7654321016, koje čine inicijalizacijski vektor IV
u prvoj rundi (1≤i≤16) se koristi nelinearna funkcija
podblokovi se dovode
a rotacija se vrši u lijevo za s=5, s=19,
s=14 i s=20 bita u četiri uzastopna koraka
u drugoj se rundi (17≤i≤32) koristi funkcija
a podblokovi se uzimaju
Uobičajene primjene
za provjeru integriteta datoteke
npr. onih pohranjenih na file serverima, gdje se hesh
računa nakon njihovog download-a
kod pohranjivanja šifri
umjesto para korisničko ime-šifra, na disku se
pohranjuje par korisničko ime-hesh(šifre)
MD5
Kriptoanaliza MD5 algoritma
1993. objavljen pronalazak pseudokolizija u MD5 dobijen
isti hesh za 2 različita IV
1996. Dobbertin je izveo uspješan napad na MD5 algoritam i
otkrvši koliziju upotrebom jednog proizvoljnog IV za dvije
ulazne poruke to je bilo dovoljno da kriptografi preporuče
upotrebu drugih algoritama za stvaranje sažetaka, kao što su
SHA-1 i RIPEMD-160
2004. godine su naučnici predstavili algoritam za pronalazak
kolizija MD5 za sat vremena
2005. demonstriran praktični napad na MD5, pronalaskom 2
različita X.509 digitalna certifikata koja daju isti hesh
danas se napad na MD5 može izvršiti za 1 s
uprkos tome, 2005. se MD5 još uvijek uveliko koristio!
SHA-1
SHA (Secure Hesh Algoritham)
drugi iz niza SHA algoritama razvijenih od strane NSA
(National Security Agency)
koristi se u velikom broju današnjih aplikacija i
sigurnosnih protokola
prvi SHA (SHA-0) algoritam objavljen je 1993. godine, ali
je ubrzo nakon objavljivanja povučen iz upotrebe zbog
otkrivene mane, pa je tako 1995. godine objavljen SHA-1
algoritma koji u biti predstavlja samo malo izmijenjenu
varijantu SHA-0 algoritma
SHA-1 algoritam smatra se nasljednikom MD5 algoritma
i po mnogo čemu mu je sličan
SHA-1
Iz ulazne poruke maksimalne dužine 264 bita stvara
sažetak od 160 bita, te radi sa 512 bitnim blokovima
posljednji blok se nadopunjuje kao i kod MD5
proces obavlja u 80 rundi
blok poruke M0, M1, ..., M15 proširuje se na 80 32-bitnih
riječi
SHA-1
Kriptoanaliza SHA-1
2005. je izvršen prvi napad na SHA-1
2010. godine je proporučena upotreba SHA-2, 3...
SHA-1 bazirani digitalni certifikati su se prestali
koristiti od 2017. (Microsoft, Google...)
2017. kreirana 2 različita pdf file-a koja proizvode isti
SHA-1 hesh
koristio se u sklopu SSL/TSL, PGP, S/MIME, IpSec
koristio ga i Nintendo Wii za verufikaciju pri pokretanju
Danas se preporučuje korištenje SHA-2 i SHA-3
algoritmi za koje ne postoje dokazi da su probijeni
Ostali hesh algoritmi
RIPEMD-128/160/256/320
razvio se van NSA, baziran na Markle-Damgard
konstrukciji, sličan MD5 i SHA-1
2004. pronađena kolizija u RIPEMD-128, ali ne i u
funkcijama koje daju veći sažetak
algoritmi s dužim sažetkom nemaju povečan nivo
sigurnosti već samo smanjenu mogućnost kolizije
osnovna razlika izmedu SHA-1 i RIPEMD algoritma je u
tome što je RIPEMD algoritam razvijen od strane
akademske zajednice pa prema tome njegova upotreba
nije ogranicena patentima
HAVAL-128/160/192/224/256
objavljen metod za pronalaženje kolizija upitna
Hesh funkcije
Funkcije za izračunavanje sažetka imaju široku
primjenu na području računarske sigurnosti i koriste se
u digitalnim potpisima, u PKI sistemima, u kodovima za
autentikaciju poruke (Message Authentication Codes –
MAC), u protokolima SSL/TLS (Secure Socket
Layer/Transport Layer Security), PGP (Pretty Good
Privacy) sistemima za kriptovanje i autenticiranje podataka,
u protokolu S/MIME (Secure / Multiple Internet Mail
Extension) za osiguranje integriteta poruka, u protokolu
IPSec (IP Security) koji predstavlja skup protokola za
sigurnu razmjenu IP paketa, za indeksiranje podataka u
tablicama sažetaka (hash tables), za otkrivanje jednakih
podataka, za jedinstvenu identifikaciju datoteka, kao zbir za
provjeru (checksum), za otkrivanje korupcije podataka...
Digitalni potpis
Digitalni potpisi
omogućava utvrđivanje autentičnosti elektroničkog
dokumenta, npr. e-mail-a, web stranice ili datoteke
mora imati osobine svojeručnog potpisa
autentičnost – potpis može napraviti samo potpisnik lično
svako ga mora biti u mogućnosti provjeriti (poređenjem sa
ranijim potpisima)
mora garantovati sadržaj i integritet dokumenta koji je
potpisan
naporecivost – potpisnik ne može poreći da je potpisao
dokumenat
Digitalni potpis
U kriptografiji, navedene funkcije se realizuju
korištenjem eimetrične/asimetričnih kriptoalgoritama i
hesh funkcija
autentičnost – potpis može napraviti samo potpisnik lično
potrebno je nešto što je svojstveno samo potpisniku (nešto
što samo on zna) privatni ključ asimetričnog algortma
svako ga mora biti u mogućnosti provjeriti
korištenjem javnog ključa
mora garantovati sadržaj i integritet dokumenta
upotrebom hesh algoritama
naporecivost – potpisnik ne može poreći da je potpisao
dokumenat
već osigurana, jer javni ključ zna samo njegov vlasnik
Digitalni potpis
Procedura digitalnog potpisivanja koja se najčešće
primjenjuje u praksi
izračuna se jednosmjerni hash dokumenta
izračunati hash se šifruje asimetričnim kriptoalgoritmom, sa
privatnim ključem potpisnika
rezultat ove operacije je digitalni potpis koji se čuva ili šalje
zajedno sa dokumentom
Na prijemnoj strani se vrši provjera potpisanog dokument
prijemna strana računa hesh dokumenta
dešifruje primljeni hesh javnim ključem potpisnika
poredi dešifrovani i proračunati hesh
ako su isti, potvrđuje se autentičnost i integritet dokumenta, t
Digitalni potpis
Razlog zašto se potpisuje sažetak, a ne poruka
efikasnost
potpis će biti puno kraći pa će i cjelokupni postupak biti brži
jer je u praksi stvaranje sažetka brže od stvaranja potpisa
javna dostupnost dokumenta
npr. razne diplome, potvrde, i sl., trebaju biti javno dostupni
pa se spremaju i prenose bez enkripcije, a priloženi potpis
garantuje vjerodostojnost pojedinog dokumenta
integritet
tekst koji se potpisuje treba biti kraći od dužine privatnog
ključa; ako to nije slučaj, pri potpisivanja bez sažimanja
poruka bi se morala razlomiti na dijelove, te pojedinačno
potpisati svaki dio,;primatelj tako razlomljene poruke ne bi
mogao znati je li koji njen dio izgubljen pri prenosu
Digitalni potpis
Dakle, digitalni potpis osigurava
autentičnost
identitet pošiljatelja utvrđuje se dešifriranjem sažetka
poruke
integritet
provjerom sažetka poruke utvrđuje se je li se poruka
mijenjala na putu do primatelja
neporecivost
pošiljatelj ne može poreći sudjelovanje u transakciji jer
jedino on ima pristup do svog privatnog ključa kojim je
potpisao poruku
ali njegova svrha nije šifriranje dikumenta!!!
Digitalni potpis
Algortimi za digitalni potpis
RSA
bazira se na RSA algoritmu asimetrične kriptografije
DSA (Digital Signature Standard) – standard u SAD-u
DSA je propisan standardom vlade SAD-a i koriste ga sve
civilne vladine organizacije te sve ne-vladine tvrtke i
organizacije koje sarađuju s vladom
algoritam je 1991. godine patentirao David W. Kravitz,
bivši zaposlenik NSA
predstavlja varijantu ElGamal algoritma i SHA1/2 hesh
algoritama
moguće ga je koristiti bez plaćanja naknade
Digitalni potpis
RSA DS algoritam
Digitalni potpis
Simetrična kriptografija omogućila je brzo i sigurno
šifriranje podataka
Asimetrična kriptografija rješila je problem distribucije
ključeva i u kombinaciji sa hesh funkcijama, omogućila
digitalno potpisivanje dokumenata na ovaj način
ostvareni su
povjerljivost podataka
mogućnost potvrde identitet njihovog autora
integritet
neporecivost autorstva sve ranije navedene namjene
kriptografije postaju ostvarive
Digitalni potpis
Iako je pitanje sigurne distribucije ključeva riješeno time
što postoje dva ključa javni i privatni, postavlja se novo
pitanje, autentičnosti javnog ključa
da bi javni ključ bio dostupan i upotrebljiv potrebno ga je
objaviti sa podacima o tome kome on pripada
ovi podaci o javnim ključevima mogu biti promijenjeni i
pošiljalac može poslati povjerljivu poruku nekome drugom
od onoga kome je namjeravao i mislio da šalje potrebno
je osigurati da javni ključ zaista pripada onome za koga
registar javnih ključeva kaže da mu pripada, kao i
obezbijediti otkrivanje bilo kakve promjene podataka
navedeno je tipičan kriptografski zadatak potvrde identiteta
i integriteta podataka što se opet može postići digitalnim
potpisivanjem
Digitalni potpis
Digitalni certifikat
digitalno potpisan elektronički dokument koji povezuje
javni ključ sa onim kome pripada, pri čemu se digitalnim
potpisom se osigurava integritet podataka, a njihovu
autentičnost garantuje potpisnik potpisnik certifikata
mora biti neko kome svi korisnici certifikata vjeruju i čiji
javni ključ, koji se koristi za provjeru potpisa na
certifikatima, mora biti pouzdano ispravan
da bi bili sigurni u autentičnost javnog ključa nekog
subjekta, potrebno je da ga dobijemo
od nekoga koga direktno ili indirektno poznajemo (web of
trust koncept digitalnih vertifikata)
od neke ustanove od povjerenja
Digitalni potpis i PKI
da bi prethodno funkcionisalo u praksi neophodna je
tzv. infrastruktura javnih ključeva (PKI), koju čine
certifikati
certifikacijska ustanova
javno dostupno spremište certifikata
mehanizmi za opoziv certifikata (zbog mogućnosti
kompromitacije ili gubitka privatnog ključa), kao i lista
opozvanih certifikata
subjekti certificiranja kojima se izdaju digitalni certifikati
Digitalni potpis i PKI
Certifikati
strukture podataka koje povezuju javni ključ sa
subjektom certifikata
navedena veza se potvrduje digitalnim potpisom
certifikacijske ustanove koja ih je izdala
najrašireniji formati certifikata koji se koriste u PKI je
X.509, koji podržavaju vodeći PKI-omogućeni protokoli i
aplikacije (TLS/SSL, IPSec i S/MIME), te PGP, koji se
koristi u vrlo raširenom software-skom paketu istog
naziva PGP (Prety Good Privacy)
Subjekti certifikata
krajnji korisnicima (osobe, uređaji kao što su serveri ili
router-i, te procesi i programi)
Digitalni potpis i PKI
Certifikacijska ustanova (Certification Authority - CA)
potpisnik i izdavač certifikata
primarne operacije CA su izdavanje certifikata, njihovo
obnavljanje i po potrebi opozivanje
CA svojim potpisom garantuje ispravnost podataka u
certifikatu
CA, direktno ili preko registracijske ustanove, registruje
krajnje krosinike, subjekte certifikata, i verificira njihov
identitet na odgovarajući način
CA su izvor povjerenja u PKI
Digitalni potpis i PKI
Spremište certifikata
certifikati moraju biti dostupni svim korisnicima PKI kako
subjektima certifikata tako i aplikacijama i trećim
stranama koje koriste certifikate za provjeru identiteta ili
šifriranje poruka subjektima certifikata za ovo se
koriste spremišta certifikata koja predstavljaju sistem ili
skup distribuiranih sistema koji pohranjuju certifikate i
liste opozvanih certifikata i služe kao sredstvo za njihovu
distribuciju krajnjim korisnicima
pod spremištima certifikata se obično podrazumijevaju
X.500 direktoriji, a to mogu biti i obične datoteke na
serveru dostupne preko FTP ili HTTP protokola
X.509 format certifikata se u potpunosti uklapa u X.500
direktorije ovo je i najbolji način za izvedbu spremišta
Digitalni potpis i PKI
Izbor modela povjerenja
u privatnim kontaktima ljudi se oslanjaju na preporuke
drugih ljudi koje poznaju oaj model se u PKI
terminologiji naziva mreˇza povjerenja (Web of Trust )
mreža povjerenja je kombinacija direktnog i hijerarhijskog
povjerenja gdje certifikate ne potpisuje CA već se korisnici
uzajamno certificiraju neki certifikat može potpisati svaki
od korisnika koji mu vjeruje i označiti jedan od unaprijed
definisanih stepena povjerenja, pri čemu veći broj potpisa
višeg nivoa povjerenja bi trebao da pozitivno utiče na
vjerodostojnost certifikata, a konačnu odluku o vrijednosti
certifikata, ipak, donosi korisnik, kome je certifikat pokazan
kao identifikacijski dokument, na osnovu njegovog
povjerenja u sve potpisnike certifikata
Digitalni potpis i PKI
Izbor modela povjerenja
u poslovnim kontaktima ljudi se više oslanjaju na
identificiranje poslovnih saradnika od strane neke
organizacije kojoj oni pripadaju
ovo predstavlja hijerahijski model povjerenja, zasnovan na
jednoj vrhovnoj certifikacijskoj ustanovi od koje potiču svi
certifikati unutar njenog domena
vrhovna certifikacijska ustanova izdaje certifikate drugim,
podredenim, certifikacijskim ustanovama i/ili krajnjim
korisnicima na ovaj način se svaki certifikat izdat unutar
domena može povezati sa vrhovnim certifikatom i
povjerenje u certifikate se zasniva na povjerenju u vrhovnu
certifikacijsku ustanovu i kompletan lanac certifikacije do
korisničkih certifikata
Digitalni potpis i PKI
dobre strane opisanog modela su mogućnost
centraliziranog upravljanjanja infrastrukturom javnih
ključeva, jer vrhovna CA može kroz formu certifikata
nametnuti dogovorenu politiku za sve certifikate u
domenu
model povjerenja koji se u praksi najviše koristi je
model pohranjenih vrhovnih certifikacijskih ustanova,
jer je ugrađen u sve savremene web preglednike i čini
osnovu web trgovine
Protokoli koji koriste PKI
Protokoli za podršku aplikacija koje koriste PKI
SSL (Secure Socket Layer)
koristi se za identifikaciju klijenta i poslužitelja (razmjena
javnih ključeva i certifikata)
osigurava privatnost komunikacije (simetričnim
kriptosustavom), identitet sudionika u komunikaciji
(asimetričnim kriptosustavom) i jamči pouzdan prijenos
podataka (provjera integriteta hash funkcijama).
S/MIME (Secure Multipurpose Internet Mail Extension) –
koristi se pri prenosu e-mail-a i dodavanje certifikata poruci
SET (Secure Electronic Transaction)
koristi se pri bankarskim transakcijama i sadrži protokole
za naručivanje roba i usluga, autorizaciju plaćanja i
PGP
Internet je stvorio infrastrukturu za digitalno tržište
procvat e-trgovine + komunikacija Internet-om... -->
uspjeh informatičkog doba zavisi od sposobnosti zaštite
informacija, koja zavisi od moći kriptografije
2000 g. kriptografija je bila važna samo za države i vojske,
a danas obični ljudi svoju privatnost čuvaju kriptografijom
međutim, kriptografija ne štiti samo poštene građane nego i
kriminalce 1991. u američkom Senatu predstavljen prijedlog
novog zakona prema kojem bi svi proizvođači opreme za
sigurnu komunikaciju bili prisiljeni ugrađivati u svoje proizvode
mogućnost za državu da prema potrebi dešifruje zaštićene
oblike komunikacije
prijedlog nikada nije zaživio, no inspirisao je Philipa R.
Zimmermann-a da te iste godine napiše PGP (Pretty Good
Privacy), program čija je osnovna uloga zaštita sadržaja e-mail-a
PGP
Pri tome, RSA je u teoriji nudila mogućnost sigurne
komunikacije
međutim, 80ih godina, samo su države, vojske i velike
kompanije mogle priuštiti računare koji su mogli vršiti RSA
enkripciju
Zimmerman kreirao PGP koji RSA koristi samo za razmjenu
ključeva simetrične kritpografije, a ne i za šifriranje poruke
zaštita sadržaja postala dostupna svima
ako Alice želi Bobu poslati poruku, to radi brzim simetričnim
kriptoalgoritmom (Zimmerman je najprije osmislio svoj
algoritam Bass-o-Matic koji se nije najbolje pokazao, a kasnije
je implementirao IDEA-u), a zatim korišteni ključ šifrira
Bobovim javnim RSA ključem
Bob pomoću privatnog ključa dešifruje simetrični ključ, te
PGP
Princip rada
kompresija se vrši da se smanje podaci koji se šifriraj,
ali i zbog činjenice da postupak kompresije jača
kriptozaštitu (pa sadržaj postaje otporan na razne
kriptoanalize koje se baziraju na postojanje
uzoraka/redundase u poruci)
tekst se šifrira nekim simetričnim algoritmom (u prvom
koraku se koristila IDEA, sa 128-bitnim sesijskim
ključem koji se slučajno generiše, npr. na osnovu
pozicije miša...
sesijski ključ se šifrira javnim ključem primaoca, koji on
dešifruje svojim privatnim ključem i na osnovu kojeg
dekriptuje poruku
PGP
PGP
Iako je Zimmerman namjeravao prodati PGP, nakon što
je shvatio da će naići na problema sa Vladom, odlučio
ga je objaviti na Internet-u program se rapidno
proširio i procurio izvan SAD-a
ovim je Zimmerman prekršio ITAR (International Traffic and
Arms Regulation) kojim se strogo zabranjuje izvoz jakog
kriptografskog software-a, svrstavajući ga u istu kategoriju
sa dijelovima borbenih aviona te klasičnim, kemijskim i
biološkim naoružanjem i bio optužen kao trgovac oružjem!
zbog toga je nekoliko godina bio pod istragom američkog
pravosuđa, ali je 1996. oslobođen optužbi
1997. godine se pojavila prva legalna verzija PGP-a izvan
SAD-a (kod je napisan u knjizi i tako distribuitan, a ne kao
software uklonjena zakonska prepreka širenju PGP-a)
PGP
Sigurnost PGP-a
PGP programi su otporni na sve trenutno poznate
kriptoanalitičarske tehnike, osim na napad brute
force-om, ali za maksimalnu sigurnost neophodno se
pridržavati određenih pravila
privatni ključ se pohranjuje na lokalnom disku i šifrira se
pomoću posebne šifre koja mora biti jaka i ne bazirati
se na svakodnevnom pojmu (da se ne bi mogla razbiti
tzv. dictionary attack-om
svi ključevi moraju biti generisani na slučajan način,
korištenjem kvalitetnih pseudoslučajnih generatora
Literatura
Literatura
S. Singh: ''Šifre''‚ poglavlja 5 i 6
CARNet, Hrvatska Akademska i istraživačka mreža:
''Diffie-Hellman protokol'‚, 2009
Dujella: ''Kriptografija'', poglavlje 3
CARNet, Hrvatska Akademska i istraživačka mreža:
''Algoritmi za izračunavanje sažetka'', 2006
CARNet, Hrvatska Akademska i istraživačka mreža:
''Napad na MD5 algoritam'', 2009
CARNet, Hrvatska Akademska i istraživačka mreža:
''Digitalni potpis'', 2007
Sasa Mrdović, predavanja iz predmeta Tehnologije