7257

84
Kartični sistemi Specijalističke studije, studijski program: nove računarske tehnologije Tema: Kriptologija Nemanja Maček [email protected]

Upload: bojan-djinovic

Post on 28-Dec-2015

14 views

Category:

Documents


0 download

DESCRIPTION

7257

TRANSCRIPT

Page 1: 7257

Kartični sistemi

Specijalističke studije, studijski program: nove računarske tehnologijeTema: KriptologijaNemanja Mač[email protected]

Page 2: 7257

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

Page 3: 7257

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

Page 4: 7257

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

Page 5: 7257

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

Page 6: 7257

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.”

Page 7: 7257

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

Page 8: 7257

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.”

Page 9: 7257

9Nemanja Maček

Cryptology and nuclear weapons

USA, Report to the President 2005

Page 10: 7257

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, ...”

Page 11: 7257

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.

Page 12: 7257

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.

Page 13: 7257

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

Page 14: 7257

14Nemanja Maček

Osnovni pojmoviSimetrični algoritmi

c = E(p, k)p = D(c, k)

Page 15: 7257

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č

Page 16: 7257

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

Page 17: 7257

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.

Page 18: 7257

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 !)

Page 19: 7257

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).

Page 20: 7257

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

Page 21: 7257

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

Page 22: 7257

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

Page 23: 7257

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

Page 24: 7257

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

Page 25: 7257

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.

Page 26: 7257

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.

Page 27: 7257

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 ...

Page 28: 7257

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

Page 29: 7257

29Nemanja Maček

Simetrični algoritmi (DES)

Page 30: 7257

30Nemanja Maček

Simetrični algoritmi (DES)Funkcija f iz Feistelove mreže

Page 31: 7257

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

Page 32: 7257

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

Page 33: 7257

33Nemanja Maček

Režimi radaEBC – electronic codebook mode

Page 34: 7257

34Nemanja Maček

Režimi radaCBC – cipher block chaining

y0, tj inicijalizujući vektor (IV) mora biti poznat i primaocu i pošiljaocu

Page 35: 7257

35Nemanja Maček

Režimi radaCFB – cipher feedback mode

kao i OFB režim, od block-a pravi stream

Page 36: 7257

36Nemanja Maček

Režimi radaOFB – output feedback mode

greške u transmisiji se ne prolongiraju na ostatak šifrata

Page 37: 7257

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.

Page 38: 7257

38Nemanja Maček

Simetrični algoritmi (IDEA)

Page 39: 7257

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

Page 40: 7257

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)

Page 41: 7257

41Nemanja Maček

Simetrični alg. (Blowfish)

Page 42: 7257

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

Page 43: 7257

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

Page 44: 7257

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)

Page 45: 7257

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).

Page 46: 7257

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

Page 47: 7257

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;

Page 48: 7257

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")

Page 49: 7257

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

Page 50: 7257

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

Page 51: 7257

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.

Page 52: 7257

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.

Page 53: 7257

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.

Page 54: 7257

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.

Page 55: 7257

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

Page 56: 7257

56Nemanja Maček

Šifrovanje toka

Page 57: 7257

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

Page 58: 7257

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.

Page 59: 7257

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)

Page 60: 7257

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

Page 61: 7257

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

Page 62: 7257

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

Page 63: 7257

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

Page 64: 7257

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č

Page 65: 7257

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)

Page 66: 7257

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.

Page 67: 7257

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

Page 68: 7257

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

Page 69: 7257

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.

Page 70: 7257

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.

Page 71: 7257

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.

Page 72: 7257

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

Page 73: 7257

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

Page 74: 7257

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

Page 75: 7257

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

Page 76: 7257

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.

Page 77: 7257

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

Page 78: 7257

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)

Page 79: 7257

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.

Page 80: 7257

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.

Page 81: 7257

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?

Page 82: 7257

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.

Page 83: 7257

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

Page 84: 7257

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