Snaga sustava šifriranja, klasifikacija sustava šifriranja prema jačini. Vrste napada na sustav šifriranja.
Upornost- sposobnost odupiranja svih vrsta napada uljeza s ciljem pronalaska (izračunavanja) ključa, ili otvori poruku pod pretpostavkom da je ispunjen niz uvjeta.
Napadi uljeza
1. Kriptoanaliza se provodi samo na temelju presretnutih kriptograma;
2. Kriptoanaliza se provodi na temelju presretnutih kriptograma i njihovih odgovarajućih otvorenih poruka.
3. Kriptoanaliza se provodi na temelju otvorene poruke koju odabere neprijatelj;
Klase enkripcijskih sustava
· Svakako uporan ili savršen, savršen
· Računalno robustan
Bezuvjetno jaki (idealni) sustavi enkripcije
Bezuvjetno jak enkripcijski sustav (BSSS) je sustav šifriranja u kojem nijedan kriptogram (ako napadač nema ključ) ne sadrži dodatne informacije a priori poznato o poruci šifriranoj u ovom kriptogramu.
Na najbolji način dešifriranje BSSSH kriptograma je nagađanje
jedan od moguće poruke izvor Matematički, ACSS uvjet se može napisati u obliku:
Uvjetna vjerojatnost da poruka M i bio šifriran kriptogramom E j;
- a priori (s nepoznatim kriptogramom) vjerojatnost prisutnosti poruke M i.
Računarski otporni sustavišifriranje
Sustav šifriranja se zove računski otporan(VSSH), ako je otvaranje takvog sustava moguće, ali ravnomjerno najbolji algoritam otvaranje traje neizmjerno dugo ili neizmjerno sjajno sjećanje uređaji s kojima se provodi kriptoanaliza.
Vrijeme kriptoanalize određeno je:
1. Složenost algoritma dešifriranja;
2. Brzina računalnih uređaja,
dešifriranje
Složenost algoritama kriptoanalize mora odgovarati složenosti rješavanja složenog problema.
Osnovni pristupi kriptoanalizi:
1. Razbijanje ključeva
2. Analiza statističkih značajki kriptograma
3. Linearna kriptoanaliza
4. Diferencijalna kriptoanaliza
Brzina računalnih uređaja 10 10 - 10 12 operacija/s
Brzina računala se četiri puta povećava svake 3 godine
Zamjenski kod, njegova svojstva.
Jednostavna zamjenska šifra, jednostavna zamjenska šifra, jednoabecedna šifra - klasa metoda šifriranja koje se svode na stvaranje tablice šifriranja prema određenom algoritmu, u kojoj za svako slovo običan tekst s njim je povezano samo jedno slovo šifriranog teksta. Sama enkripcija se sastoji u zamjeni slova prema tablici. Za dešifriranje je dovoljno imati istu tablicu, odnosno znati algoritam po kojem se ona generira.
Šifra za zamjenu stupcanazvana šifra s abecedom otvorenih poruka Z m se podudara s abecedom šifriranih poruka i skupom ključeva K.
Dakle, šifra zamjene stupaca sastoji se u primjeni supstitucija iz simetrične skupine na znakove otvorenog teksta reda kardinalnosti abecede otvorenih poruka. U ovom slučaju, svaka se zamjena odabire ovisno o ključu i prethodnim znakovima običnog teksta.
Svojstva zamjenske šifre.
1. Ako su sve zamjene u tablici supstitucija jednako vjerojatne i međusobno neovisne, onda će sustav šifriranja koji koristi ovu metodu sigurno biti jak.
2. Za razliku od gama metode, implementacija ovu metodu enkripcija je složenija, što je određeno potrebom za izgradnjom upravljani čvor permutacije s m izlaza.
3. Kod šifriranja zamjenskom metodom nema umnožavanja pogrešaka koje nastaju u komunikacijskom kanalu zbog smetnji.
4. Preklapajuća šifra, tj. šifriranje s istom tablicom različite poruke ne dovodi do jednostavnog i nedvosmislenog dešifriranja, kao u gama metodi. Međutim, robusnost metode se smanjuje, budući da ponovljene zamjene omogućuju provođenje kriptoanalize na temelju stopa ponavljanja slova kriptograma.
deset). Blok šifra, Feistelova shema, svojstva blok šifre
Blok šifra nazvan kriptosustav u kojem se svaki novi blok otvorena poruka se pretvara u blok kriptograma prema istom pravilu određenom algoritmom šifriranja i ključem. Postupak dešifriranja provodi se po istom principu.
Prema Kerchhoffovom principu, kriptoanalitičari su u potpunosti poznati algoritmi šifriranja i dešifriranja. Nepoznat je samo ključ koji se koristi i za šifriranje i za dešifriranje. Isti blokovi poruka Mi i Mj uvijek se pretvaraju u iste blokove kriptograma Ei i Ej. Ako je ovo svojstvo nepoželjno, tada se koristi druga modifikacija istog algoritma za šifriranje bloka.
Principi građenja blok šifri su da algoritam blok šifre mora koristiti:
a) supstitucije (nelinearne transformacije kratkih dijelova (za blokove blok šifre);
b) permutacije simbola u blokovima;
c) ponavljanje operacija (a) i (b) (tj. njihovo ponavljanje više puta s različitim tipkama).
Feistelova shema.
Kako bi se pojednostavili postupci šifriranja i dešifriranja, koristi se Feistelova shema, koja se temelji na sljedećim načelima:
a) svaki trenutni blok podijeljen je na dva jednaka dijela - lijevi Li i desni Ri, gdje je i iteracijski (okrugli) parametar;
b) način formiranja sljedećih "pola" blokova od prethodnih određuje se kao što je prikazano na sl. 3.3, gdje je ki ključ i-te runde.
Ovu transformaciju predstavimo u analitičkom obliku:
L i = R i-1, R i = L i-l + f (R i-1, k i),
gdje je f () nelinearna funkcija dvaju argumenata, u kojoj je nelinearnost određena, na primjer, tablicom.
Značajke Feistelove sheme:
1) Reverzibilnost postupka šifriranja pokazuje se mogućom kada funkcija / () u shemi nije nužno reverzibilna.
2) Obje polovice bloka stalno mijenjaju mjesta i stoga su, unatoč prividnoj asimetriji, šifrirane istom snagom.
Karakteristike AES šifre
1.Može biti brži od normalne blok šifre;
2.Može se implementirati na pametnu karticu pomoću malog PAM-a i posjedovanja mali broj ciklusi;
3. Okrugla transformacija omogućuje paralelno izvođenje;
4. Ne koristi aritmetičke operacije, tako da tip arhitekture procesora nije bitan;
5. Može se koristiti za izračunavanje MAC-koda i hash-funkcije.
Ova se šifra temelji na principu iteracije (iteracija je ponavljanje nekih matematička operacija, koristeći rezultat prethodne analogne operacije) SD-transformacije i koristi takozvanu arhitekturu "kvadrat", odnosno sve se transformacije izvode unutar jednog kvadrata.
Trenutni podaci (uključujući izvornu poruku i primljeni kriptogram) upisuju se po jedan bajt (8 bitova) u svaku od 16 ćelija, što daje ukupnu duljinu bloka šifriranja od 8x16 -128 bita.
Prva transformacija ovog algoritma izvodi se kao izračunavanje inverznog elementa u polju GF () po modulu nesvodivog polinoma + + + x +1, čime se osigurava dokaziva stabilnost šifre s obzirom na linearnu i diferencijalnu kriptoanalizu, dok se nulti element polja je sačuvan bez transformacije (slika 3.16).
Sljedeća transformacija sastoji se od množenja svake ćelije kvadrata, predstavljene kao binarni vektor stupca (,), s fiksnom matricom i dodavanjem fiksnog vektora stupca, a sve operacije ovdje se izvode u polju GF (2):
Matrica i vektor stupca koji se koriste u ovoj transformaciji ostaju isti u svim rundama i neovisni su o ključu.
Imajte na umu da se množenje matrice i zbrajanje vektora poboljšavaju kriptografska svojstvašifra za slučaj kada se nula elemenata pojavljuju u ćelijama kvadrata.
Kao sljedeća transformacija koristi se ciklički pomak bajtova niza poruka za različit broj bajtova (ćelija), prikazan na sl. 3.17.
Sljedeća transformacija naziva se miješanje stupaca. Na ovom koraku svi C-ti stupac kvadratna matrica je predstavljen kao 4-dimenzionalni vektor nad poljem GF (), a zatim se u tom polju, zadanom nereducibilnim polinomom + + + x +1, vrši množenje određenom matricom s elementima iz istog polja:
gdje su elementi prikazani u ovoj matrici navedeni kao elementi polja GF () (tj. kao binarni nizovi duljine 8), kao što je ilustrirano sljedeći primjer:
Konačno, izvodi se zbrajanje okruglog ključa, koje se izvodi jednostavno kao zbrajanje svih elemenata posljednjeg kvadrata po bitu sa 128 elemenata okruglog ključa mod 2. Nakon što je jedan krug završen, sve gore opisane operacije ponavljaju se drugim krugom tipke. Okrugli ključevi se generiraju iz jednog tajnog ključa duljine 128, 192 ili 256 bita (ovisno o odabranom načinu šifriranja) pomoću posebnih transformacija, uključujući cikličke pomake i proširenja. Broj krugova šifre ovisi o odabranom načinu rada i varira od 10 do 14.
Za dešifriranje se koristi slijed inverzne transformacije s obrnuti redoslijed slijedeći kružne tipke, što se pokazalo sasvim mogućim, budući da su sve operacije izvedene u svakom krugu, kao što je lako vidjeti, reverzibilne. Međutim, treba napomenuti da za razliku od šifri koje se temelje na Feistelovoj strukturi (na primjer, DES šifra), ova šifra mora koristiti različite elektronički sklopovi ili programe za šifriranje odnosno dešifriranje.
Značajke AES šifre
1) AES je fokusiran uglavnom na implementaciju s 8-bitnim procesorima;
2) sve se okrugle transformacije izvode u konačnim poljima, što omogućuje jednostavna implementacija na raznim platformama.
Snaga AES šifre
Očito je da je nabrajanje svih ključeva (čak i s njihovim minimalnim brojem - 2) nemoguće. Linearna i diferencijalna kriptoanaliza također su praktički nemoguće zbog izbora optimalnih transformacijskih postupaka, a posebno zbog korištenja računanja povratni elementi u završnom polju.
Kriptanaliza temeljena na rješenju nelinearnog sustava jednadžbi nad poljem GF (2) koje opisuje šifru teoretski je moguća, uključujući i zbog pojave dodatnih jednadžbi. Međutim, ovaj postupak zahtijeva neizmjerno velike računske resurse. Stoga se trenutno AES šifra može smatrati jakom protiv svih poznatih napada.
Ubrzati AES enkripcija
Na implementacija softvera ovaj algoritam najučinkovitije se implementira na 8- i 32-bitnim platformama. Za tipična računala, brzina enkripcije može biti reda veličine 1 MB / s - 500 KB / s. Uz hardversku implementaciju velike brzine enkripcija (oko 100 MB / s i više) zahtijevat će povećanje hardverskih resursa i, posljedično, povećanje veličine uređaja.
Snaga šifre A5/1
Prilikom razvoja ove šifre, pretpostavljalo se da će imati visoku vrijednost
trajnost, budući da je broj njegovih tipki ipak dovoljno velik
daljnja istraživanja neovisnih kriptografa
Pokazali su da ova šifra ima slabe strane... Jedna od njih se sastoji
činjenica da LRR uključeni u koder imaju male duljine, te stoga
podložni su nekim modifikacijama statističkih napada, i
napadi temeljeni na omjerima razmjene između potrebne veličine memorije
i vrijeme analize.
U konačnici, studije koje su provedene od tada
2000. (tj. gotovo odmah nakon uvođenja ovog standarda), pokazalo je da ovo
šifra se može "provaliti" korištenjem običnog računala u stvarnosti
22. Povećanje na stepen, pronalaženje diskretnog logaritma
Eksponencijacija po modulu je izračun ostatka dijeljenja prirodnog broja b(baza) podignuta na potenciju e(eksponent), na prirodni broj m(modul).
. Brzi način konstrukcija D. Knuta.
Predstavimo eksponent u binarnom obliku;
Svaku jedinicu zamjenjujemo parom slova KU (kvadrat + množenje);
Svaku nulu zamjenjujemo slovom K (kvadrat);
U rezultirajućem nizu prekrižite prvi par KU;
Izračune provodimo preko baze a, prema dobivenom nizu.
Primjer: 3 37 (mod7)
37 = 100101 = KUKKKUKKU = KKKKUKKU
3®3 2 (mod7) = 2®2 2 (mod7) = 4®4 2 (mod7) = 2®2 × 3 (mod7) = 6®6 2 (mod7) = 1®1 2 (mod7) = 1 ®1 × 3 (mod7) = 3
Računska složenost za operaciju eksponencijalnosti: [e-mail zaštićen](2logx).
Računska složenost za operaciju diskretnog logaritma: [e-mail zaštićen]((n) 1/2).
Pronalaženje diskretnog logaritma metodom "susret u sredini".
Izgradite bazu podataka veličine O ((n) 1/2) oblika a z (modn) za slučajne brojeve zÎ i sortirajte je.
Za slučajne brojeve b takve da je gcd (b, n-1) = 1, izračunajte y b (modn) i usporedite s brojevima u bazi podataka.
S velikom vjerojatnošću, nakon nekoliko pokušaja, dobivamo
a z (modn) = y b (modn)
4. Podignite obje strane na stepen b -1, dobivamo a z · b-1 (modn) = y (modn). Gdje slijedi
Ova metoda ima složenost N t @O ((n) 1/2 logn), N v @O ((n) 1/2)
Eksponencijacija je prilično jednostavna, čak i s velikim ulaznim vrijednostima. Ali izračun diskretnog logaritma, odnosno pronalaženje eksponenta e dano b, c i m je puno kompliciranije. Ovo jednosmjerno ponašanje funkcije čini je kandidatom za korištenje u kriptografskim algoritmima.
El Gamal COP.
Ovo je neka modifikacija RSA CS-a, čija stabilnost nije izravno povezana s problemom faktorizacije. Široko se koristi u standardima digitalni potpis i dopušta prirodnu generalizaciju za slučaj CS-a konstruiranih na temelju upotrebe eliptičkih krivulja, što će biti razmotreno u nastavku.
Generiranje ključeva.
Korisnik A izvodi sljedeće operacije za generiranje ključeva:
1) generira prosti broj p i primitivni element ɑ∈GF (p);
2) odabire slučajni broj ali takav da 1<= a<= p-2, и вычисляет число ɑ^a;
3) odabire skup: (p, ɑ, ɑ ^ amodp) kao javni ključ, a broj a kao privatni ključ.
Šifriranje.
Korisnik B poduzima sljedeće korake za šifriranje poruke M namijenjene korisniku A:
1) Prima javni ključ A;
2) Predstavlja poruku M u obliku lanca brojeva Mi, od kojih svaki ne prelazi p-1;
3) Odabire slučajni broj k takav da je 1<=k<=p-2;
4) Izračunava ɣ = (ɑ ^ k) mod p, b = Mi ((ɑ ^ a) ^ k) mod p;
5) Šalje kriptogram C = (ɣ, b) korisniku A.
Dešifriranje
Korisnik A poduzima sljedeće korake za dešifriranje poruke primljene od korisnika B:
1) koristeći svoj privatni ključ, izračunava (ɣ ^ (- a)) mod str
2) vraća poruku Mi = (ɣ ^ (- a)) * b mod str
Doista, ɣ ^ (- a)*b=(ɑ^(- a k)) * Mi * (ɑ ^ ( a k)) = Mi mod str
Značajka El-Gamal sheme je da pripada takozvanim shemama randomizacijske enkripcije, budući da pri šifriranju koristi dodatnu slučajnost u obliku broja k.
Prednost El Gamal QS-a je i u tome što tada svi korisnici na mreži mogu odabrati isti ɑ i R, što je za KS RSA nemoguće. Štoviše, kao što će biti pokazano u nastavku, ova se shema može prirodno proširiti na slučaj eliptičkih krivulja.
Značajan nedostatak sheme je što je duljina kriptograma u njoj 2 puta veća od duljine poruke.
Otpornost El Gamala QS-a
Problem vraćanja poruke M na zadanu str, ɑ, ɑ ^ a, b, ɣ za nepoznato a je ekvivalentno rješavanju Diffie-Hellmanovog problema.
Također je jasno da ako se riješi problem nalaženja diskretnog logaritma, tada će se otvoriti El-Gamalov kriptosustav. Prilikom odabira R s kapacitetom od 768 bita (za povećanu sigurnost - do 1024 bita), sigurnost El-Gamalova CS-a bit će ista kao i RSA-ovog CS-a pri odabiru istih parametara za modul u potonjem.
Važno je napomenuti da je za šifriranje različitih poruka Mi, Mj potrebno koristiti različite vrijednosti brojeva k, budući da je u suprotnom slučaju b1 / b2 = Mi / Mj, a onda se poruka Mj može lako pronaći ako je poruka Mi poznata.
Generiranje ključeva.
Dva prosta broja p i q biraju se nasumce. Smješten
modul N = pq. Pronađite Eulerovu funkciju φ (N) = (p-1) (q-1).
Odaberite broj e takav da je GCD (e, φ (N)) = 1.
Nađi d kao inverz od e, de = 1 (mod φ (N)).
Proglašavamo d = SK, (e, N) = PK. PK se priopćava svima
dopisnici.
Šifriranje.
Corr. A prenosi šifriranu poruku dopisniku B
(koristi ispravak javnog ključa B)
Dešifriranje.
Corr. B dešifrira primljeni kriptogram od
Dopisnik A pomoću vašeg privatnog ključa.
Napadi.
1. RSA sustav se može otvoriti ako je moguće pronaći p i q, odnosno faktor N.
Polazeći od te činjenice, p i q treba odabrati s tako velikom dubinom bita da bi faktorizacija broja n zahtijevala nemjerljivo dugo vrijeme, čak i uz korištenje svih raspoloživih i modernih sredstava za računanje.
Trenutno, problem faktorizacije brojeva nema polinomsko rješenje. Razvijeno je samo nekoliko algoritama koji pojednostavljuju faktorizaciju, ali njihova implementacija za faktorizirane brojeve velikih znamenki i dalje zahtijeva nemjerljivo dugo vremena. Doista, složenost rješavanja problema faktorizacije za trenutno najbolji algoritam faktorizacije je
Dakle, na primjer ln n = 200, ako, tada će broj operacija biti približno jednak 1,37 ∙ 10 14.
S povećanjem broja bitova n na 1000 ili više, vrijeme faktorizacije postaje potpuno nemjerljivo.
2. Još jedan prirodni napad na RSA CS je diskretni logaritam. Ovaj napad (s poznatom porukom) izvodi se na sljedeći način: d = log EM mod N. Međutim, problem diskretnog logaritma po modulu višeznamenkastih brojeva također je težak u matematici, a ispada da ima gotovo istu složenost kao i problem faktorizacije.
3. Ciklični napad. Dobiveni kriptogram ćemo sekvencijalno podići na stepen jednak vrijednosti javnog ključa, t.j. ((((E e) e)… ..) e.
Ako se u nekom koraku pokaže da je E i = E, onda to znači
da je E i-1 = m. Dokazano je da ovaj napad nije ništa bolji od napada faktorizacije N.
4. Nedostatak enkripcije. Ovaj slučaj je moguć ako kao rezultat enkripcije dobijemo otvorenu poruku, tj. M e mod n = M. Takav uvjet mora biti ispunjen za barem jednu od poruka, na primjer, za poruke M = 0, 1, n - 1. Zapravo, takve poruke su općenito! nije šifrirano, postoji točno. Njihov je broj uvijek najmanje 9. Međutim, slučajnim odabirom q i p, udio takvih poruka bit će zanemariv i gotovo se nikada neće susresti u praksi.
5. Napad s malom količinom mogućih poruka
Pretpostavimo da je broj poruka ograničen vrijednostima M1, M2,…, Mr, gdje je r vidljiv. (To mogu biti npr. različite naredbe - naprijed, natrag, lijevo, desno itd.). Tada se poruka može lako dešifrirati.
Doista, neka se presretne kriptogram C. Zatim morate pokušati šifrirati sve naredbe poznatim javnim ključem i odrediti kriptogram koji odgovara primljenom C:
Način borbe protiv takvog napada je dodavanje soli porukama (to jest, pričvršćivanje malih nizova bitova, dobivenih pomoću čisto slučajnog senzora).
POGLEDI
Jednostavni ES je potpis koji korištenjem kodova, lozinki ili na neki drugi način potvrđuje činjenicu da je određena osoba formirala ES.
Nekvalificiran:
Primljeno kao rezultat kriptografske transformacije informacija pomoću ES ključa;
Omogućuje vam da identificirate osobu koja je potpisala dokument;
Omogućuje vam da otkrijete činjenicu promjena u ED;
Izrađen pomoću ES alata;
kvalificirani:
Udovoljava svim znakovima nekvalificiranog elektroničkog potpisa;
ES ključ za provjeru naveden je u kvalificiranom certifikatu.
Za izradu i provjeru ES koriste se ES sredstva koja su dobila potvrdu sukladnosti u skladu sa zakonom o ES.
RSA EP shema.
Neka postoji neka poruka M i neki korisnik A generira par javni/privatni ključ za RSA sustav, odnosno brojevi e A, n A; d A. Tada se poruka M dijeli na blokove, od kojih svaki može biti predstavljen cijelim brojem koji ne prelazi n A. Za svaku od takvih znamenki poruke M, CPU S se formira prema sljedećem pravilu: S = M dA mod (n A). Zatim se CPU pridružuje poruci, formirajući takozvanu potpisanu poruku, odnosno par M, S. Za provjeru CPU-a korisnik mora dobiti javni ključ A, kao i “potpisanu” (ali moguće krivotvorenu) poruku M, S i izračunati Ṁ = S eA mod (e A). Nadalje, on uspoređuje Ṁ s M i, ako se podudaraju, pretpostavlja da je poruku M doista potpisao A, inače je odbacuje kao krivotvorinu ili izobličenje.
Shema EP El-Gamal.
ES - elektronički potpis (CPU - digitalni potpis)
ES (CPU) su neki dodatni podaci priloženi glavnoj poruci, koji se formiraju ovisno i o poruci i o tajnom ključu autora poruke. Za provjeru vjerodostojnosti poruke (inače se naziva postupak provjere) koristi se javni ključ autora poruke kojem može pristupiti svaki korisnik.
Generiranje ključeva:
1) generira se veliki prosti R i primitivni element a nad konačnim poljem GF (p);
2) generira se broj x: 1
3) izračunava se y = a x mod (p);
4) odabran je javni ključ CPU provjere: ( p, a, y) i tajni ključ za stvaranje CPU-a: x.
Oblikovanje procesora
Ako korisnik A želi potpisati poruku m, predstavljenu kao broj koji pripada Zp, tada izvodi sljedeće operacije:
1) generira tajni broj k: 1 ≤ k≤ p - 2; gcd ( k, p - l) = 1, gdje je gcd gcd
2) izračunava r = a k mod (p);
3) izračunava k -1 mod (p - 1);
4) izračunava s = k -l (m - xr) mod (p - l);
5) Formira CPU S na poruku m kao par brojeva S = (r, t).
CPU provjera (verifikacija)
Kako bi provjerio potpis S koji je napravio A pod porukom M, svaki korisnik poduzima sljedeće korake:
1) dobiva javni ključ A: (p, a, y);
2) provjerava da je 1 ≤ r ≤ p - 1, a ako ne uspije, onda odbija CPU;
3) izračunava V 1 = y r r s mod (p);
4) izračunava V 2 = a m mod (p);
5) prihvaća CPU kao ispravan pod uvjetom da je V 1 = V 2
Otpornost CPU-a Na temelju ElGamalova COP-a
1) Napadač može pokušati krivotvoriti potpis na svoju poruku M na sljedeći način: generirati slučajni broj k, izračunati r = a k mod (p), a zatim pokušati pronaći s = k - l (m - xr) mod (p - l).
Međutim, da bi izvršio posljednju operaciju, mora znati a,što se ne može izračunati s odgovarajućim izborom parametara procesora.
3) Treba napomenuti da ako nije ispunjeno korak 2 algoritma provjere CPU-a tada napadač može ispravno potpisati bilo koju poruku po svom izboru, pod uvjetom da ima neku drugu poruku s ispravnim CPU-om na raspolaganju. Dakle, pri odabiru modula R, koji u binarnom prikazu ima duljinu od oko 768 bita, pruža dobru stabilnost CPU-a, a da bi se osigurala dugoročna stabilnost preporučljivo je povećati na 1024 bita.
Zahtjevi za kriptografski HF
1. Jednosmjernost, kada je za poznati hash h računski neizvedivo (tj. zahtijeva neostvarivo velik broj operacija) pronaći barem jednu vrijednost x za koju, to jest, h (x) ispada jednosmjerna funkcija (ONF).
2. Slaba otpornost na sudar, kada je za dane x, h (x) = h računski neizvedivo pronaći drugu x ’vrijednost koja zadovoljava jednadžbu h (x’) = h.
3. Jaka otpornost na sudar, kada je računski neizvedivo pronaći par argumenata x, x ’za koje vrijedi relacija h (x) = h (x’).
Ispravak ranjivosti
Denning i Sacco su predložili korištenje vremenskih oznaka u porukama kako bi se spriječili napadi poput gore opisanog. Označimo takvu oznaku slovom t. Razmotrite opciju da popravite ranjivost:
PKI komponente
· Tijelo za izdavanje certifikata (CA)- dio sustava javnog ključa koji izdaje certifikat za provjeru prava korisnika ili sustava koji podnose zahtjev. Izrađuje certifikat i potpisuje ga privatnim ključem. Zbog svoje funkcije stvaranja certifikata, CA je središnji dio PKI-ja.
· Repozitorijum certifikata... Repozitorijum za važeće certifikate i popise opoziva certifikata (CRL). Aplikacije provjeravaju valjanost certifikata i razinu pristupa koju odobrava provjeravanjem uzorka sadržanog u repozitoriju.
· Poslužitelj za oporavak ključeva- poslužitelj koji izvodi automatski oporavak ključa, ako je ova usluga instalirana.
· Aplikacija s PKI-om- aplikacije koje mogu koristiti PKI alate za sigurnost. PKI upravlja digitalnim certifikatima i ključevima koji se koriste za šifriranje informacija na web poslužiteljima prilikom korištenja e-pošte, razmjene poruka, pregledavanja Interneta i prijenosa podataka. Neke aplikacije mogu koristiti PKI izvorno, dok druge zahtijevaju od programera da ih modificiraju.
· Registracijsko tijelo- modul odgovoran za registraciju korisnika i prihvaćanje zahtjeva za certifikatom.
· Sigurnosni poslužitelj- Poslužitelj koji upravlja pristupom korisnika, digitalnim certifikatima i jakim odnosima u PKI okruženju. Sigurnosni poslužitelj centralno upravlja svim korisnicima, certifikatima, CA vezama, izvješćima i provjerava popis opoziva certifikata.
PKI funkcije
· Registracija- proces prikupljanja podataka o korisniku i provjere njihove autentičnosti, koji se zatim koriste prilikom registracije korisnika, u skladu sa sigurnosnim pravilima.
· Izdavanje potvrde... Nakon što CA potpiše certifikat, on se izdaje podnositelju zahtjeva i/ili šalje u spremište certifikata. CA na certifikate stavlja razdoblje valjanosti, što zahtijeva periodično obnavljanje certifikata.
· Opoziv certifikata... Certifikat može postati nevažeći prije isteka iz različitih razloga: korisnik je napustio tvrtku, promijenio ime ili ako je njegov privatni ključ ugrožen. U tim okolnostima, CA će opozvati certifikat unošenjem njegovog serijskog broja u CRL.
· Oporavak ključa... Dodatna PKI funkcija omogućuje vam oporavak podataka ili poruka u slučaju gubitka ključa.
· Upravljanje životnim ciklusom- Kontinuirana podrška certifikata u PKI-u, uključujući obnavljanje, obnavljanje i arhiviranje ključeva. Te se funkcije izvode povremeno, a ne kao odgovor na ad hoc zahtjeve. Automatizirano upravljanje ključevima najvažnija je značajka za velike PKI-ove. Ručno upravljanje ključevima može ograničiti skalabilnost PKI-ja.
Osnovne definicije
· Popisi opoziva certifikata (CRL-ovi)- popis poništenih certifikata. Otkazivanje može biti zbog promjene posla, krađe privatnog ključa ili drugih razloga. PKI aplikacije mogu provjeriti korisničke certifikate u odnosu na CRL prije odobravanja pristupa tom certifikatu.
· Digitalni certifikat / Certifikat X.509... Struktura podataka koja se koristi za povezivanje određenog modula s određenim javnim ključem. Digitalni certifikati koriste se za provjeru autentičnosti korisnika, aplikacija i usluga te za kontrolu pristupa (autorizacija). Digitalne certifikate izdaju i distribuiraju CA-ovi.
· Digitalna omotnica... Metoda korištenja šifriranja javnog ključa za sigurnu distribuciju tajnih ključeva koji se koriste u simetričnoj enkripciji i za slanje šifriranih poruka. Problem distribucije ključa povezan sa simetričnom enkripcijom uvelike je smanjen.
· Digitalni potpis... Metoda korištenja šifriranja javnog ključa kako bi se osigurao integritet podataka i nemogućnost odbijanja paketa. Šifrirani blok informacija, nakon dešifriranja od strane primatelja, identificira pošiljatelja i potvrđuje sigurnost podataka. Na primjer: dokument je "komprimiran", HASH je šifriran korištenjem privatnog ključa pošiljatelja i priložen dokumentu (u stvari, to znači prilaganje "otiska prsta" ovog dokumenta). Primatelj koristi javni ključ za dešifriranje primljene poruke u stanje "stiskanja", koje se zatim uspoređuje s "stiskanjem" dobivenim nakon što je poslani dokument "komprimiran". Ako se oba "stiska" ne podudaraju, to znači da je dokument promijenjen ili oštećen tijekom prijenosa.
· Kriptografija javnog ključa... Postoje dvije glavne vrste enkripcije: javni ključ i tajni (simetrični) ključ. Šifriranje javnog ključa koristi par ključeva: otvoreni, t.j. slobodno dostupan, i njegov odgovarajući privatni ključ, poznat samo određenom korisniku, aplikaciji ili usluzi koja posjeduje ovaj ključ. Ovaj par ključeva je povezan na način da se ono što je šifrirano privatnim ključem može dešifrirati samo javnim ključem i obrnuto.
· Simetrična enkripcija (zajednička tajna kriptografija)... Postoje dvije glavne vrste enkripcije: javni ključ i tajni (simetrični) ključ. Kod simetrične enkripcije primatelj i pošiljatelj koriste isti ključ za šifriranje i dešifriranje. To znači da mnogi korisnici moraju imati iste ključeve. Očito, dok korisnik ne dobije ključ, enkripcija nije moguća, a distribucija ključa preko mreže nije sigurna. Druge metode distribucije, poput posebne kurira, skupe su i spore.
· RSA algoritam je prvi sustav šifriranja s javnim ključem nazvan po svojim izumiteljima: Ronaldu Rivestu, Adiju Shamiru i Leonardu Adlemanu.
· Pametna kartica. Uređaj sličan kreditnoj kartici s ugrađenom memorijom i procesorom koji se koristi za sigurno pohranjivanje korisničkih ključeva i potvrda i drugih informacija (obično društvenih i medicinskih).
· Digitalne vjerodajnice. U okviru PKI tehnologije, ISO / TS 17090-1 standard definira ovaj pojam kao kriptografski zaštićeni objekt koji može sadržavati pojedinačne korisničke ključeve, certifikate pojedinačnih ključeva, certifikate CA-ova strukture PKI korisnika, popis pouzdanih CA-ova, i drugi parametri vezani uz korisničku domenu - identifikator korisnika, nazivi primijenjenih kriptografskih algoritama, vrijednosti početnih vrijednosti itd. Vjerodajnice se mogu postaviti na hardverski ili softverski medij.
Princip rada
Certifikati se obično koriste za razmjenu šifriranih podataka preko velikih mreža. Kriptosustav javnog ključa rješava problem razmjene tajnih ključeva između sudionika u sigurnoj razmjeni, ali ne rješava problem povjerenja u javne ključeve. Pretpostavimo da Alice, želeći primati šifrirane poruke, generira par ključeva od kojih jedan (javni) na neki način objavljuje. Svatko tko joj želi poslati povjerljivu poruku ima mogućnost da je šifrira ovim ključem i budi siguran da će samo ona (budući da samo ona ima odgovarajući tajni ključ) moći pročitati ovu poruku. Međutim, opisana shema ni na koji način ne može spriječiti napadača Davida da stvori par ključeva i objavi svoj javni ključ, provodeći ga kao Alisin ključ. U tom slučaju David će moći dešifrirati i pročitati barem onaj dio poruka namijenjenih Alice, a koje su greškom šifrirane njegovim javnim ključem.
Ideja iza certifikata je da postoji treća strana kojoj druge dvije strane u razmjeni informacija vjeruju. Pretpostavlja se da je malo takvih trećih strana, a njihovi javni ključevi su svima na neki način poznati, na primjer, pohranjeni u operacijskom sustavu ili objavljeni u zapisnicima. Tako se lako otkriva krivotvorenje javnog ključa treće strane.
Kriptografski sustavi s javnim ključevima za šifriranje omogućuju korisnicima siguran prijenos podataka preko nezaštićenog kanala bez prethodne pripreme. Takvi kriptosustavi moraju biti asimetrični u smislu da pošiljatelj i primatelj imaju različite ključeve, a niti jedan od njih se ne može zaključiti iz drugog računanjem. U tim su sustavima faze šifriranja i dešifriranja razdvojene i poruka je zaštićena bez da se ključ za šifriranje učini tajnim, budući da se ne koristi u dešifriranju.
Koristeći javni ključ za šifriranje, korisnik i šifrira poruku M i šalje je korisniku j putem nezaštićenog kanala za prijenos podataka. Samo korisnik j može dešifrirati da povrati M, budući da samo on zna tajni ključ za dešifriranje.
Među asimetričnim (otvorenim) kriptosustavima najrašireniji je RSA kriptografski sustav. U ovom sustavu primatelj poruke bira dva velika prosta broja p i q tako da je proizvod n = pq izvan računalnih mogućnosti. Izvorna poruka M može biti proizvoljne duljine u rasponu od 1 Izvorni tekst M obnavlja se iz šifriranog C obrnutom transformacijom Primatelj odabire e i d kako bi bili ispunjeni sljedeći uvjeti: gdje je Eulerova funkcija jednaka (p - 1) (q - 1); (a, b) je najveći zajednički djelitelj dvaju brojeva. To jest, e i d u multiplikativnoj skupini su recipročni u aritmetičkom modusu ostatka. Očito, glavna svrha kriptografskog otkrivanja je određivanje tajnog ključa (eksponent na C - vrijednost d). Postoje tri poznata načina na koje bi kriptoanalitičar mogao otkriti vrijednost d iz otvorenih informacija o paru (e, n). Faktorizacija n Prafaktorizacija od n omogućuje nam da izračunamo funkciju, a time i skrivenu vrijednost d, koristeći jednadžbu Prikazani su različiti algoritmi za takvu dekompoziciju. Najbrži algoritam trenutno poznati može faktorizirati n u koracima po redu Analiza ovog izraza pokazuje da će broj n s 200 decimalnih znamenki biti dobro zaštićen od poznatih metoda proširenja. Izravno računanje Drugi mogući način kriptoanalize povezan je s izravnim izračunom Eulerove funkcije bez faktoriranja n. Izravno računanje nije nimalo jednostavnije od faktoriziranja n, budući da onda olakšava faktoriziranje n. To se može vidjeti iz sljedećeg primjera. Neka bude x = p + q = n + 1 -, y = (p - q) 2 = x 2 - 4n. Znajući, možete odrediti x i, prema tome, y, znajući x i y, prosti p i q mogu se odrediti iz sljedećih odnosa: Izravna procjena d Treća metoda kriptoanalize je izravno izračunavanje vrijednosti d. Obrazloženje ove metode temelji se na činjenici da ako je d odabran dovoljno velik da jednostavno nabrajanje bude neprihvatljivo, izračunavanje d nije jednostavnije od faktoriranja n, budući da ako je d poznato, onda se n lako faktorizira. To se može prikazati na sljedeći način. Ako je d poznat, onda možemo izračunati višekratnik Eulerove funkcije koristeći uvjet gdje je k proizvoljan cijeli broj. Možete faktorizirati n koristeći bilo koji višekratnik. Dešifrator bi, s druge strane, mogao pokušati pronaći neku vrijednost d "koja je ekvivalentna skrivenoj vrijednosti d korištenoj u dizajnu šifre. Ako takvih d ima mnogo", tada se grubom silom može pokušati razbiti šifra . Ali svi d" razlikuju se za faktor jednak i ako se ovaj faktor izračuna, tada se n može faktorizirati. Stoga je pronalaženje d jednako teško kao i faktoriranje n. Dakle, glavni zadatak kriptoanalize asimetričnih enkripcijskih sustava svodi se uglavnom na problem faktorizacije (faktorizacije). Ovaj problem je jedan od glavnih u teoriji brojeva i formuliran je na sljedeći način: Neka nam je zadan cijeli broj n> 0, a potrebno je, ako je moguće, pronaći dva broja a i b takva da je ab = n. Zapravo postoje dva različita zadatka: prvi, nazvan test jednostavnosti, je provjeriti postoje li takvi a i b; drugi, nazvan dekompozicija, je problem njihovog pronalaženja. Razmotrimo oba ova zadatka. Prvi deterministički test.