7257
DESCRIPTION
7257TRANSCRIPT
Kartični sistemi
Specijalističke studije, studijski program: nove računarske tehnologijeTema: KriptologijaNemanja Mač[email protected]
2Nemanja Maček
Kriptologija
Sadržaj:
“Cryptology & nuclear weapons”Osnovni pojmoviKlasična kriptografijaPojam perfektne šifreSimetrični blokovski algoritmiŠenonov ideal i pseudo šenonov idealPseudoslučajne sekvence i šifrovanje tokaHeš funkcijeDeljenje tajniDiffie-HellmanAlgoritmi sa javnim ključevimaDigitalni sertifikatiInfrastruktura javnih ključeva
3Nemanja Maček
Interesantan link za učenje
http://www.cryptool.org/eLearning Program for Cryptology
Binarna verzija i otvoreni izvorni kod (engl. open source) raspoloživi za besplatno preuzimanje (GPL licenca)Raspoloživa obimna dokumentacijaMožete se uključiti i učestvovati u daljem razvoju
4Nemanja Maček
Potrebna predznanjaZa razumevanje kriptologije:
Teorija informacijaTeorija brojeva, polinomi u konačnim poljima, verovatnoća i statistika, ...
Za dizajniranje i projektovanje algoritama dodatno:good "healthy" mind + "please, God, help me, give me the idea" (Diffie-jev slučaj)
Za primenu algoritamaOperativni sistemi, mreže i protokoli (TCP/IP, IPsec, SSL)
Za implementaciju / dizajniranje morate da znate da programirate
5Nemanja Maček
Cryptology and nuclear weaponsTowards a Grand Strategy for an Uncertain World
Renewing Transatlantic Partnership, byGeneral (ret.) Dr. Klaus Naumann, KBE, former Chief of the Defence Staff Germany, former Chairman Military Committee NATOGeneral (ret.) John Shalikashvili, former Chairman of the Joint Chiefs of Staff of the United States of America, former NATO Supreme Allied Commander in EuropeField Marshal The Lord Inge, KG, GCB, PC, former Chief of the Defence Staff United KingdomAdmiral (ret.) Jacques Lanxade, former Chief of the Defence Staff France, former AmbassadorGeneral (ret.) Henk van den Breemen, former Chief of the Defence Staff the Netherlandswith Benjamin Bilski and Douglas Murray
6Nemanja Maček
Cryptology and nuclear weapons“Protection means taking all necessary reactive steps, including setting up missile defence and cyber protection, to prevent an enemy inflicting damage on the nation or alliance.” “In addition, there are certain other areas in which pre-delegation of a response capability will be necessary to protect NATO, where we cannot wait for the NATO Council to decide on a course of action, such as the acute crisis of a missile attack or cyber attack.”
7Nemanja Maček
Cryptology and nuclear weaponsUSA: ITAR
International Traffic in Arms Regulations (zakon o izvozu oružja)
Strogo zabranjuje izvoz jakog kriptografskog softvera i algoritama svrstavajući ga u istu kategoriju sa delovima borbenih aviona, kao i sa klasičnim, hemijskim i biološkim naoružanjem
8Nemanja Maček
Cryptology and nuclear weaponsUSA: Senate Bill 266
Predlog zakona koji “NIJE “ usvojen.“It is the sense of Congress that providers of electronic communications services and manufacturers of electronic communications service equipment shall insure that communications systems permit the Government to obtain the plain text contents of voice, data, and other communications when appropriately authorized by law.”
9Nemanja Maček
Cryptology and nuclear weapons
USA, Report to the President 2005
10Nemanja Maček
Cryptology and nuclear weaponsUSA, Report to the President 2005
Although current technical approaches address some of our immediate needs, they do not provide adequate computer and network security.”“Fundamentally different architectures and technologies are needed so that the IT infrastructure as a whole can become secure.”“At U.S. academic institutions today, the PITAC estimates, there are fewer than 250 active cyber security or cyber assurance specialists, ...”
11Nemanja Maček
Osnovni pojmoviŠifrovanje (encryption)
otvoreni tekst (plain text) – originalna poruka ili datoteka) transformiše se pomoću ključa u zaštićen, šifrovan tekst - šifrat (ciphertext).
Dešifrovanje (decryption)šifrat se pomoću ključa transformiše u originalnu poruku ili datoteku.
12Nemanja Maček
Osnovni pojmoviŠifrat je zaštićen od neovlašćenog pristupa
korisnik bez ključa nema pristup podacimašifrat se može preneti preko nesigurnog kanala ili čuvati na disku koji nije zaštićen od neovlašćenog pristupa.
KerchoffsAlgoritam za šifrovanje može se smatrati sigurnim ukoliko sigurnost šifrata zavisi samo od tajnosti ključa, ali ne i od tajnosti algoritma.
13Nemanja Maček
Osnovni pojmoviKriptosistem
uređena petorka (P, C, K, E, D), gde je:P – skup porukaC – skup šifrataK – skup ključevaE(P, K) -> C – funkcija šifrovanjaD(C,K) -> P – funkcija dešifrovanja
14Nemanja Maček
Osnovni pojmoviSimetrični algoritmi
c = E(p, k)p = D(c, k)
15Nemanja Maček
Osnovni pojmoviAlgoritmi sa javnim ključem
c = E(p, k1) – k1 je JAVNI ključp = D(c, k2) – k2 je PRIVATNI ključ
16Nemanja Maček
Osnovni pojmoviHeš
Jednosmerna funkcija na osnovu ulaznog podatka ma koje dužine proizvodi rezultujući niz tačno određene dužine – heš (engl. hash) koji, uslovno rečeno, jednoznačno identifikuje ulazni podatak.
Digitalni potpiselektronska verzija potpisa, na osnovu kog se može identifikovati pošiljalac i dokazati verodostojnost poruke
17Nemanja Maček
Osnovni pojmoviHeš i digitalni potpis
Pošiljalac h1 = H(p)s1 = E(k1, h1) – EQ šifrovanje privatnim ključem
Pošiljalac šalje poruku i digitalni potpis s1.h2 = H(p)h1 = D(k2, s1) – EQ dešifrovanje javnim ključem
Primalac upoređivanjem vrednosti h1 i h2 proverava identitiet pošiljaoca.
18Nemanja Maček
Osnovni pojmoviNapadi na šifrate
Samo šifrat (ciphertext-only) - Šenon, 1949Kriptoanalitičar ima samo šifrate nekoliko poruka.
Poznat otvoreni tekst (known-plaintext)Kriptoanalitičar ima šifrat i odgovarajući plaintext.
Odabran otvoreni tekst (chosen-plaintext)Kriptoanalitičar ima pristup alatu za šifrovanje
Odabrani šifrat (chosen-ciphertext)Kriptoanalitičar ima pristup alatu za dešifrovanje. Tipičan napad na kriptosisteme sa javnim ključem.
Rubber hose (vrlo efikasna metoda !)
19Nemanja Maček
Klasična kriptografijaOsnovni postupci:
Supstitucija - zamena delova originalne poruke drugim znakovima ili rezultatom neke funkcije čiji su ulaz ti znakovi i ključ.
Monoalfabetska zamena (Cezarova i Afina šifra). Bijektivno preslikavanje.Polialfabetska zamena (Vigenèreova i Playfairova šifra). Preslikavanje 1-n.Poligramska zamena (Playfairova i Hillova šifra). Bijektivno preslikavanje koje se izvršava nad poligramima (nizovima od više znakova).
Permutacijom se poruka preuređuje (ALEKSANDAR -> RADNASKELA).
20Nemanja Maček
Klasična kriptografijaCezar (monoalfabet)
ek(x) = (x+k) mod 26dk(y) = (y-k) mod 26
keypace: 26
Afina šifra (monoalfabet)ek(x) = (ax+b) mod 26dk(y) = a-1(y-b) mod 26
a mora imati multiplikativni inverzni element a-1
keyspace 12 invertibilnih elemenata x 26 = 312
21Nemanja Maček
Klasična kriptografijaVigenere (polialfabetska)
ek(x1, ... , xm) = (x1 + k1, ... , xm + km)dk(y1, ... , ym) = (y1 - k1, ... , ym – km)
Primer: tekst VIGENER, ključ ABYZ
Za šifrovanje se može koristiti Vigenereov kvadratkeyspace: n+n1+n2+...+nm,
za n=26, k = 5 -> keyspace je 12.356.630
22Nemanja Maček
Klasična kriptografijaSimple XOR
definicija operacije XORa XOR b = 0, ako je a = ba XOR b = 1, ako nije a = b.
upotrebljava se u kriptografiji jer:a XOR a = 0, a XOR b XOR b = a.
Bitska verzija Vigenereove šifre
23Nemanja Maček
Klasična kriptografijaOne-time pad (OTP)
Siguran algoritam ako se pravilno iskoristi!zavisi čime dešifrujete šifrat AOISUAOHDOIA1 možete dobiti otvoreni tekst "OPA, BATO !!!" ili "JOJ CRNO DETE"
Šta je problem?overhead – dužina ključa je jednaka dužini šifrataproblem generisanja pravih slučajnih brojeva (NE pseudoslučajnih sekvenci) koji će odigrati ulogu ključa
24Nemanja Maček
Perfektne šifreI(M;C)=0
Kriptosistem je perfektno tajan ako šifrat ne otkriva nikakvu informaciju o otvorenom tekstu
Konfuzija i difuzijaKonfuzija je složena relacija izmedju otvorenog teksta i šifrataDifuzija je širenje statistike otvorenog teksta u okviru šifrata
One-time pad koristi konfuziju, dvostruka transpozicija samo difuziju
25Nemanja Maček
Perfektne šifrePerfektna šifra:
postoji ključ koji preslikava svaku poruku u svaki šifrat sa jednakom verovatnoćom.
Šifra je perfektna ako:Za svaki šifrat, verovatnoća da odgovara proizvoljnoj poruci je ista.Ekvivalentno: za svaki otvoreni tekst, verovatnoća da odgovara proizvoljnom šifratu je jednaka.
26Nemanja Maček
Perfektne šifreŠenonova teorema o perfektnim šifarskim sistemima:
T1: Šifarski sistem je perfektan ako i samo ako:
Svi ključevi se koriste sa jednakom verovatnoćomZa svako x iz P i za svako y iz C, postoji samo jedan jedinstven ključ K takav da je EK(x)=y.
T2: ukoliko je šifra perfektna, mora biti najmanje onoliko ključeva koliko ima mogućih poruka.
27Nemanja Maček
Simetrični algoritmi (DES)1973. NBS je raspisao javni konkurs za kriptosistem. Uslovi:
visok nivo sigurnosti + Kerchoffsefikasnostpotpuna specifikacija i lako razumevanje ekonomičnost implementacije u uređajimadostupnost svim korisnicimamogućnost izvoza (zbog američkih zakona o izvozu - US export laws)
And the winner is ...
28Nemanja Maček
Simetrični algoritmi (DES)DES je:
simetričan, blokovski orijentisankoristi Feistelove mreže sa 16 rundiplaintekst blok: 64bita, ključa 56bita (+8 za proveru parnosti), potključevi 48 bita.
Feistelova mrežau svakoj rundi obavlja operacije
Li = Ri-1, Ri = Li-1 XOR f(Ri -1, ki).
broj rundi zavisi od algoritma
29Nemanja Maček
Simetrični algoritmi (DES)
30Nemanja Maček
Simetrični algoritmi (DES)Funkcija f iz Feistelove mreže
31Nemanja Maček
Simetrični algoritmi (DES)Ključevi koji se ne koriste:
slabi4 ključagenerišu jednake potključeve u svakoj rundi
delimično slabi12 ključevagenerišu samo dva različita potključa, od kojih se svaki koristi u po 8 rundi
potencijalno slabi48 ključevagenerišu samo četiri potključa
32Nemanja Maček
Simetrični algoritmi (DES)Sigurnost DES algoritma
mala dužina ključaprvobitna je bila 112 bita, pa je NSA "ošišao" ključ na 56 bita
otporan na diferencijalnu kriptoanalizunije otporan na linearnu kriptoanalizu
Postoje razni derivatiDouble DES - sigurnost nije reda veličine 2112 nego 257 zbog meet in the middle napadaTriple DES zbog toga ima sigurnost 2112
33Nemanja Maček
Režimi radaEBC – electronic codebook mode
34Nemanja Maček
Režimi radaCBC – cipher block chaining
y0, tj inicijalizujući vektor (IV) mora biti poznat i primaocu i pošiljaocu
35Nemanja Maček
Režimi radaCFB – cipher feedback mode
kao i OFB režim, od block-a pravi stream
36Nemanja Maček
Režimi radaOFB – output feedback mode
greške u transmisiji se ne prolongiraju na ostatak šifrata
37Nemanja Maček
Simetrični algoritmi (IDEA)Kako radi?
Ključ 128 bita, blokovi 64 bita koji se dele na 4 podbloka po 16 bitaNa podblokovima 8 rundi i završna transformacija sa 52 potključa dužine 16 bita
6 podključa po rundi, 4 u završnoj transformacijiOperacije nad podblokovima:
ekskluzivno ILI,sabiranje po modulu 216,množenje po modulu 216+1 (dynamic S box)
nisu asocijativnoste i distributivne i mogu se jednostavno softverski implementirati.
38Nemanja Maček
Simetrični algoritmi (IDEA)
39Nemanja Maček
Simetrični algoritmi (IDEA)Prost štos za povećanje sigurnosti.
implementacija algoritma sa nezavisnim potključevima. S obzirom na to da IDEA koristi 52 potključa dužine 16 bitova, ukupna dužina ključa bila bi 832 bita.
Šta nije OK sa ovim algoritmom?PATENTIRAN JEZa komercijalnu upotrebu se plaća
40Nemanja Maček
Simetrični alg. (Blowfish)Nepatentiran, Bruce Schneier.
Radi sa blokovima 64 bita, ključ dužine od 32 bita do 448 bitova (umnožak od 32).Feistelova mreža sa 16 rundi
Koristi velike S kutije zavisne od ključa.Operacije se obavljaju nad 32-bitnim podblokovima.
Na osnovu ključa se generišu 32bitni potključevi:
18 potključeva u P nizu (u svakoj rundi po jedan) 4 S niza, tj. 4 S kutije sa 256 potključeva (svaka transformiše 8bit ulaz u 32bit izlaz)
41Nemanja Maček
Simetrični alg. (Blowfish)
42Nemanja Maček
Simetrični algoritmi (AES)NIST, 1997. godina: konkurs za kriptosistem koji menja DES.Uslovi:
simetričan blokovskiblokovi otvorenog teksta 128 bitovaključ dužine 128, 192 i 256 bitovane postoje slabi ključevi
43Nemanja Maček
Simetrični algoritmi (AES)Finalisti konkursa:
TWOFISH (Counterpane Systems)Feistelova mreža sa 16 rundi, S kutije se dinamički menjaju u zavisnosti od ključa, što otežava diferencijalnu i linearnu kriptoanalizu.
RC6 (RSA Data Security Inc.)Feistelova mreža, 20 rundi, difuzija pomoću funkcije f(x) = x(2x+1); otpornost na kriptoanalizu pomoću rotacije koja zavisi od samih podataka.
MARS (IBM)SERPENTRIJNDAEL
44Nemanja Maček
Simetrični algoritmi (AES)2000. objavljen pobednik – RIJNDAEL
Joan Daemen i Vincent RijmenKarakteristike
bloka veličine 128, 192 ili 256 bitovaključa 128, 192 ili 256 bitovabroj rundi zavisi od dužne ključa i veličine bloka
SpecifičnostiAES nije Feistelova mrežaS kutije konstuiše pomoću operacija nad polinomima u konačnom polju GF(28)
45Nemanja Maček
Simetrični algoritmi (AES)Jedna RIJNDAEL runda sadrži tri sloja:
linearni difuzioni sloj (linear mixing layer)obezbeđuje veliku difuziju bitova nakon nekoliko rundi (funkcije ShiftRow i MixColumn)
nelinearni sloj (non-linear layer)upotreba supstitucijskih kutija optimizovanih za najgori slučaj (funkcija ByteSub)
sloj dodavanja ključa (engl. key addition layer)
operacija ekskluzivno ILI nad potključem runde sa trenutnim stanjem bloka (funkcija AddRoundKey).
46Nemanja Maček
Simetrični algoritmi (AES)AES funkcije
ByteSubzamena okteta na osnovu tabele supstitucije
ShiftRowpomeranje okteta u redovima matrice stanja
MixColumnmešanje podataka u kolonama matrice stanja
AddRoundKeydodavanje potključa u matricu stanja
47Nemanja Maček
Simetrični algoritmi (AES)stanje=ulaz;AddRoundKey(stanje,w[0,Nw-1]);for runda=1 to Nr-1 do {
ByteSub(stanje);ShiftRow(stanje); MixColumn(stanje); AddRoundKey(stanje,w[runda*Nw,(runda+1)*Nw-1]);
}ByteSub(stanje);ShiftRow(stanje); AddRoundKey(stanje,w[Nr*Nw,(Nr+1)*Nw-1];izlaz=stanje;
48Nemanja Maček
PRNGDef:
Generator slučajnih sekvencikoristi „prirodni“ izvor slučajnosti i na izlazu generiše sekvencu statistički nezavisnih binarnih brojeva.pogodan za generisanje ključa za OTP
Generator pseudoslučajnih sekvenci (PRNG)deterministički je algoritam koji na osnovu slučajne ulazne sekvence, tj. ključa k generiše izlaznu sekvencu koja zadovoljava određene statističke testove ("izgleda kao da je slučajna")
49Nemanja Maček
Šenonov ideal i pseudo-idealŠenonov ideal
Generiše se slučajna sekvenca i distribuira pošiljaocu i primaocu
Pošiljaoc radi XOR poruke sa sekvencom i šalje šifrat primaocuPrimalac radi XOR šifrata sa sekvencom
Šta je problem?Dobar generator pravih slučajnih brojevaSigurna distribucija slučajne sekvence pošiljaocu i primaocu
50Nemanja Maček
Šenonov ideal i pseudo-idealPseudo - Šenonov ideal
Generiše se slučajna sekvenca i distribuira pošiljaocu i primaocuObe strane koriste isti PRNG
Pošiljaoc prima slučajnu sekvencu, koristi je kao seed za PRNG, generiše pseudoslučajnu sekvencu, radi XOR poruke sa tom sekvencom i šalje šifratPrimalac prima šifrat i slučajnu sekvencu, koristi je kao seed za PRNG, generiše pseudoslučajnu sekvencu i radi XOR šifrata sa sekvencom
Šta je problem?Problemi ideala + dobar PRNG + resinhronizacija
51Nemanja Maček
PRNGPrimeri
Linearni kongruentni generatorx
n = (a ∙ x
n−1 + b) mod m, n>1
RSA: Xi = X
i-1e mod n, Zi = LSB (Xi)
n = pq, f = (p-1)(q-1)e se bira slučajno: 1<e<f, NZD (e,f)=1x
0 se bira slučajno sa intervala [1,n-1]
x2 mod n: Xi = X
i-1e mod n, Zi = LSB (Xi)
N = pq, p i q prosti, kongruentni sa 3 po modulu 4s (seed) se bira na [1, n−1] tao da je NZD(s,n)=1.x
0=s
2 mod n.
52Nemanja Maček
Ispitivanje slučajnostiMeri se kvalitet PRNG.
Nemoguće je matematički dokazati da li su sekvence slučajne ili ne. Ispitivanje otkriva slabosti generatora.Uzorak se propušta kroz seriju statističkih testova u kojima se traže atributi koji nisu karakteristični za slučajne sekvence.
Na primer, proverava se da li binarna sekvenca ima znatno veći broj nula od broja jedinica.
Ako ne zadovolji jedno od ispitivanja deklariše se kao ne-slučajan.
53Nemanja Maček
Ispitivanje slučajnostiOtkrivaju se nedostaci generatora.
Nemoguće je matematički dokazati da li su sekvence slučajne ili ne.
Uzorak se propušta kroz seriju statističkih testova u kojima se traže atributi koji nisu karakteristični za slučajne sekvence. Na primer, proverava se da li binarna sekvenca ima znatno veći broj nula od broja jedinica.Ako ne zadovolji jedno od ispitivanja deklariše se kao ne-slučajan. Ako zadovolji sve, prihvata se kao PRNG.
Primeri: Golombovi postulati i FIPS 140-1.
54Nemanja Maček
Ispitivanje slučajnostiGolombovi postulati
G1: U svakom periodu sekvence razlika između broja nula i jedinica ne sme preći 1.G2: U svakom periodu sekvence polovina serija od ukupnog broja serija je dužine 1, četvrtina dužine 2, osmina dužine 3 itd. Za svaku od ovih dužina serija polovina serija te dužine su serije nula, a polovina serije jedinica.G3: Autokorelaciona funkcija (služi za merenje sličnosti između sekvence s i sekvence s pomerene za t mesta) mora biti konstantna za svako t.
55Nemanja Maček
Šifrovanje tokaProtočni kriptosistemi
Sinhroniključna sekvenca generiše se nezavisno od otvorenog teksta i šifrata.Pošiljalac i primalac moraju biti sinhronizovani po pitanju trenuntnog stanja i ključa.nepostojanje propagacije greške duž šifrata.
Asinhroniključna sekvenca se generiše na osnovu ključa i fiksnog broja prethodnih bitova šifrataGreška u jednom bitu se propagira duž šifrata
56Nemanja Maček
Šifrovanje toka
57Nemanja Maček
Šifrovanje toka (LFSR)Pomerački registar sa povr. spregom
registar kod koga se prelazak u sledeće stanje ostvaruje pomoću dve operacije:
kružni pomeraj, tj rotacija bitova za 1 bit udesnogenerisanje MSB bita na osnovu funkcije povratne sprege čiji su argumenti ostali bitovi registra
Ako je ta funkcija XOR, onda je FSR linearan, a bitovi koji u njoj učestvuju čine tzv tap sequencu
58Nemanja Maček
Heš funkcijeDef:
Jednosmerna funkcija (one-way):za dato x, f(x) se određuje lako i efikasnoza dato y=f(x), x=f-1(y) se određuje teško
Heš funkcija:pretvara ulazni podatak promenljive dužine (pre-image) u izlazni podatak fiksne dužine – heš.
Jednosmerna heš funkcija h=H(m)pretvara ulazni podatka m proizvoljne dužine u heš h fiksne dužine n lako i efikasnona osnovu heša, ulazni podatak m ne može se odrediti ili se određuje teško i neefikasno.
59Nemanja Maček
Heš funkcijeDužina:
128 bitova je prihvatljivonapad zasnovan na rođendanskom paradoksu zahteva računanje heša 264 različitih dokumenata kako bi se našla dva sa istim heš vrednostima.
MD2, MD4 i MD5 daju heš dužine 128 bitova. SHA-1 i RIPEMD-160 daju heš 160 bitova (dužina NIST secure hash standarda - SHS).Povećanje dužine:
h1 = H(m), h2 = h1|H(h1|m), h3 = h2|H(h2|m)
60Nemanja Maček
Heš funkcijeProblemi:
KolizijaRođendanski paradoks
Primena:Autentifikacija čuvanje lozinkidigitalno potpisivanje
Obezbeđivanje integritetatzv. kriptografski checksumefekat lavine – heš fn je OK ako promena jednog bita u originalu izmeni više od pola bitova heša
61Nemanja Maček
Deljenje tajniShamirov sistem:
Dve tačke odredjuju linijuDati (X0,Y0) AlisiDati (X1,Y1) BobuAlisa i Bob moraju kooperirati u cilju nalaženja tajne SSistem radi i u diskretnom slučajuLako se može uopštiti na “m od n” šemu z a svako m ≤ n
(X0,Y0)(X1,Y1)
(0,S)
X
Y
2 od 2
62Nemanja Maček
Deljenje tajniShamirov sistem:
Dati (X0,Y0) AlisiDati (X1,Y1) BobuDati (X2,Y2) ČarlijuTada bilo kojih dvoje od Alise, Boba i Čarlija može kooperiarti u cilju nalaženja tajne SAli niko od njih sam ne može naći tajnu STo je “2 od 3” šema
(X0,Y0)
(X1,Y1)
(0,S)
X
Y
(X2,Y2)
2 od 3
63Nemanja Maček
Deljenje tajniShamirov sistem:
Dati (X0,Y0) AlisiDati (X1,Y1) BobuDati (X2,Y2) Čarliju3 tačke odredjuju parabolu Alisa, Bob i Čarli moraju kooperirati u cilju nalaženja tajne STo je “3 od 3” šema
(X0,Y0)
(X1,Y1)
(0,S)
X
Y
(X2,Y2)
3 od 3
64Nemanja Maček
Deljenje tajniPrimer sistema deljenja tajni
Key escrowzahtev da vaš ključ mora biti negde memorisanKljuč se može upotrebiti na osnovu naloga suda
Ali vi ne morate da imate poverenja u recimo MUP, BIA ili UBPOK kao ustanovu koja će čuvati vaše ključeve
Možemo koristiti deljenje tajneDve od tri agencije / službe moraju kooperirati da bi se restaurisao ključ
65Nemanja Maček
Deljenje tajniPrimer sistema deljenja tajni:
Neka je K vaš simetričan ključTačka (X0,Y0) MUPTačka (X1,Y1) BIATačka (X2,Y2) UBPOKDa bi se rekonstruisao vaš ključ K, dve od tri agencije moraju da kooperirajuNi jedna agencija sama ne može doći do K
(X0,Y0)
(X1,Y1)
(0,K)
X
Y
(X2,Y2)
66Nemanja Maček
Diffie-HelmanProtokol razmene ključeva
Zasnovano na diskretnom log. problemu teško se računa logaritam u konačnom polju
Kako radi?Bira se veliki prost broj n i broj g, takav da je G={0, 1, ..., n-1} ciklična multiplikativna grupa, a g njen generator. Brojevi g i n nisu tajna,A bira x i šalje B vrednost: X = gx mod nB bira y i šalje A: Y = gy mod n,A: k = Yx mod n, B: k' = Xy mod nk = k' je zajednički tajni ključ za komunikaciju
Osetljiv na napad čovek u sredini.
67Nemanja Maček
Algoritmi sa javnim ključemHow does it work?
A i B menjaju ključeveA šalje B svoj javni ključ k
Apublic
B šalje A svoj javni ključ kBpublic
A i B se dopisujuA šalje poruku šifrovanu B javnim ključem:
cA-B
= E(pA-B
, kBpublic)
B dešifruje poruku svojim privatnim ključem:p
A-B = D(c
A-B, k
Bprivate)
Kada B odgovara, on šifruje poruku ključem kApublic,
a A dešifruje primljeni šifrat ključem kAprivate
68Nemanja Maček
RSABasic stuff:
verovatno najpopularniji algoritam sa JKobjavljen 1978, a ime je dobio po Rivestu, Shamiru i Adlemanu (RSA Data Security). Postojanje slabih tačaka do sada nije ni dokazano ni opovrgnuto.Sigurnost zasnovana na činjenicama:
lako je odrediti da li je veliki broj prost i pomnožiti dva velika prosta brojateško faktorisati veliki broj koji je proizvod dva velika prosta broja
69Nemanja Maček
RSAHow does it work?
Generisanje ključeva:generišu se dva velika prosta broja p i qRačunaju se vrednosti n = p ∙ q i r = (p-1) ∙ (q-1),bira se slučajan broj e u intervalu [1, r-1] koji je uzajamno prost sa rizračunava se d tako da važi: e ∙ d =1 mod r.
Privatni ključ (d, n) čuva se u tajnostiJavni ključ (e, n) dostupan svima onima s kojima vlasnik privatnog ključa želi sigurno da komunicira.
70Nemanja Maček
RSAHow does it work?
Šifrovanje i dešifrovanjeAna želi da pošalje B poruku mA preuzima B javni ključ (e, n) sa serveraA izračunava c = me mod n i šalje šifrat cB prima šifrat i dešifruje ga svojim privatnim ključem: m = cd mod n.
Poruka m mora biti manja od n.Pošiljalac deli svoju poruku na blokove čija je vrednost manja od n i parcijalno ih šifruje.
71Nemanja Maček
RSAHow does it work?
Potpisivanje i verifikacija potpisaA računa heš h = H(m) poruke mA potpisuje heš privatnim ključem: s = hd mod n,A šalje B poruku i potpis, to jest uređeni par (m,s)B proverava potpis javnim ključem A: h=se mod nB računa heš primljene poruke: h1 = H(m),
ako je h1=h, B prihvata poruku, jer jedino A zna svoj privatni ključ kojim je heš poruke potpisan.
Why hash gets involved in this stuff?Ako se direktno potpiše poruka, potpis je iste dužine. Ovako je potpis dužine cca 128-256 bita.
72Nemanja Maček
Hibridni kriptosistemiHow does it work?
Public key sessionPošiljalac
generiše slučajni brojšifruje broj javnim ključem primaoca, potpiše ga svojim privatnim ključemšalje primaocu šifrat i potpis
Primaoc proveri potpis i dešifruje slučajni brojTaj broj postaje ključ za šifrovanje podataka
Symetrical sessionPodaci se šifruju simetričnim algoritmom sa dogovorenim ključem
73Nemanja Maček
Hibridni kriptosistemiFAQ:
Zašto se ne šifruje sve asimetrično?Simetrični algoritmi su mnogo brži od asimetričnihMoguće je asimetričnim algoritmima često menjati tajni ključ sesije + imate proveru identiteta
Zašto hibrid a ne Diffie HellmanAsimetrični algoritmi nisu osetljivi na napad čovek u sredini kao Diffie Hellman
Gde se koristi?npr OpenPGP standard
74Nemanja Maček
Digitalni sertifikatiDigitalni sertifikat (engl. certificate)
javni ključ,informacije o identitetuinformacije koje se tiču ovlašćenja korisnikajedan ili više digitalnih potpisa
Čemu potpis? Sertifikate potpisuju strane kojima se veruje.Potpisom se overavaveza između identiteta korisnika i javnog ključa
75Nemanja Maček
Digitalni sertifikatiČemu služe:
koriste se za identifikaciju pojedinaca servera ili kompanije - identifikacioni sertifikati (identity certificate) opisuju dozvole ili akreditive (npr. pristup određenom računaru) - sertifikati akreditiva (credential certificate)
Npr: usb uređaj koji "bocnete" u računar i on vam shodno tome dodeli dozvole za pristup resursima
76Nemanja Maček
Digitalni sertifikatiŠta obezbeđuju?
Proveru identiteta. Npr: klijent provera identitet servera (SSL), potpis maila uz sertifikat identifikuje pošiljaoca.
Provera integritetaOnemogućava da korisnik primi izmenjenu poruku
Autorizaciju pristupaMogu da zamene parove user/pass
NeporicanjeNpr: online kupovina, nepriznavanje potpisanog maila.
77Nemanja Maček
PKIServer sertifikata (certificate server)
baza podataka na mrežnom serveru koji obezbeđuje mesto za skladištenje sertifikata i mehanizme za razmenu.
PKI (Public Key Infrastructure)strukturirani sistem koji obezbeđuje
skladištenje sertifikatafunkcije za izdavanje i poništavanje sertifikatafunkcije za uspostavljanje relacija poverenja.
objedinjuje kriptografiju sa javnim ključevima, softver i mrežne servise
78Nemanja Maček
PKIKomponente:
Sertifikacioni centar (CA = certification authority)
generiše, izdaje i poništava sertifikate i potpisuje izdate sertifikate svojim privatnim ključem CA. odgovoran za generisanje sertifikata i njihov integritet, slično kao što je MUP odgovoran za lične karte i vozačke dozvole.Značajniji sertifikacioni centri su
Cybertrust GTE (http://www.cybertrust.com)VeriSign (http://www.verisign.com)Thawte (http://www.thawte.com)
79Nemanja Maček
PKIKomponente:
Registracioni centar (RA = registration authority).
prihvata i obrađuje zahteve za izdavanje sertifikata, i iste prosleđuje CA radi izdavanja sertifikata.
RA/CA radi kao služba za izdavanje pasoša: određena grupa ljudi (RA) proverava identitet čoveka koji želi da mu se izda pasoš i sme li da mu se izda pasošCA pravi pasoš i prosleđuje ga korisniku.
80Nemanja Maček
PKIKomponente:
Skladište sertifikataSadrži javne ključeve i sertifikate korisnika, Sadrži liste poništenih sertifikata (certificate revocation list, CRL). Realizuje se najčešće pomoću servera sa LDAP kompatibilnim imenikom.
81Nemanja Maček
PKIŠta sadrži sertifikat koji izdaje CA?
Polja:ime entiteta (ime osobe, naziv organizacije ili naziv servera)javni ključdatum isticanja sertifikatanaziv CA organizacije koja je izdala sertifikatserijski brojdodatne informacije
Potpis CA koji uspostavlja vezu između entiteta i para ključeva.
Ovom potpisu ljudi veruju. Anyone - ask me why?
82Nemanja Maček
PKIFunkcije PKI
IzdavanjeOsvežavanjePotvrdaOduzimanje sertifikata
PKI obezbeđuje sigurnosne usluge za:SSL, IPsec i HTTPS protokoleS/MIME i OpenPGP protokoleSET (Secure Electronic Transaction) za razmenu vrednosti.
83Nemanja Maček
PKIKako iskoristiti PKI u hibridnom kriptosistemu?
Razmena ključeva i provera identitetaA i B generišu po par ključeva i prosleđuju svoje javne ključeve, nazive i opisne informacije RA,RA proverava njihove akreditive i prosleđuje zahtev za izdavanjem sertifikata ka CA,CA generiše sertifikate i potpisuje ih svojim privatnim ključem CA,Ana i B razmenjuju javne ključeve i proveravaju ih pomoću sertifikata koje preuzimaju sa PKI servera
Dalje se klasično koristi hibridni kriptosistem
84Nemanja Maček
LiteraturaHandbook of Applied Cryptography
A. J. Menezes, P. C. van Oorschot, S. A. VanstoneCRC Press, http://www.cacr.math.uwaterloo.ca/hac/
Applied CryptographyBruce Schneier
John Wiley & Sons, 1995Alternativa: Primenjena kriptografija (prevod na srpski u izdanju Mikro knjige, 2008)
Sigurnost računarskih sistema i mreža (poglavlje 3)D. Pleskonjić, N. Maček, B. Đorđević, M. Carić
Mikro knjiga, 2007