Jačina sistema šifrovanja, klasifikacija sistema šifrovanja prema jačini. Vrste napada na sistem šifriranja.
Upornost- sposobnost izdržavanja svih vrsta napada uljeza u cilju pronalaženja (izračunavanja) ključa, ili otvori poruku pod pretpostavkom da je ispunjen niz uslova.
Napadi uljeza
1. Kriptoanaliza se vrši samo na osnovu presretnutih kriptograma;
2. Kriptoanaliza se vrši na osnovu presretnutih kriptograma i njihovih odgovarajućih otvorenih poruka.
3. Kriptanaliza se vrši na osnovu otvorene poruke koju odabere neprijatelj;
Klase sistema za šifrovanje
· Svakako uporan ili savršen, savršen
· Računarski robustan
Bezuslovno jaki (idealni) sistemi za šifrovanje
Bezuslovno jak sistem šifrovanja (BSSS) je sistem šifrovanja u kojem nijedan kriptogram (ako napadač nema ključ) ne sadrži Dodatne informacije a priori poznato o poruci šifrovanoj u ovom kriptogramu.
Na najbolji način dešifrovanje BSSSH kriptograma je nagađanje
jedan od moguće poruke izvor Matematički, ACSS uslov se može napisati u obliku:
Uslovna vjerovatnoća da će poruka M i je šifriran kriptogramom E j;
- a priori (sa nepoznatim kriptogramom) vjerovatnoća prisustva poruke M i.
Računarski otporni sistemi enkripcija
Sistem šifriranja se zove računarski otporan(VSSH), ako je otvaranje takvog sistema moguće, ali ravnomerno najbolji algoritam otvaranje traje neizmjerno dugo ili neizmjerno odlično pamćenje uređaji sa kojima se vrši kriptoanaliza.
Vrijeme kriptoanalize je određeno:
1. Složenost algoritma za dešifrovanje;
2. Brzina računarskih uređaja,
dešifrovanje
Složenost algoritama kriptoanalize mora odgovarati složenosti rješavanja složenog problema.
Osnovni pristupi kriptoanalizi:
1. Razbijanje ključeva
2. Analiza statističkih karakteristika kriptograma
3. Linearna kriptoanaliza
4. Diferencijalna kriptoanaliza
Brzina računarskih uređaja 10 10 - 10 12 operacija/s
Brzina računara se učetvorostručuje svake 3 godine
Zamjenski kod, njegova svojstva.
Jednostavna zamjenska šifra, jednostavna zamjenska šifra, jednoazbučna šifra - klasa metoda šifriranja koje se svode na kreiranje tablice šifriranja prema određenom algoritmu, u kojoj za svako slovo običan tekst postoji samo jedno slovo šifriranog teksta povezano s njim. Sama enkripcija se sastoji u zamjeni slova prema tabeli. Za dešifrovanje je dovoljno imati istu tabelu, odnosno znati algoritam po kojem se ona generiše.
Šifra za zamjenu stupcanazvana šifra sa abecedom otvorenih poruka Z m se podudara sa abecedom šifriranih poruka i skupom ključeva K.
Dakle, šifra zamjene stupaca se sastoji u primjeni supstitucija iz simetrične grupe na znakove otvorenog teksta reda kardinalnosti abecede otvorenih poruka. U ovom slučaju, svaka zamjena se bira ovisno o ključu i prethodnim znakovima običnog teksta.
Svojstva zamjenske šifre.
1. Ako su sve zamjene u tablici zamjene jednako vjerovatne i međusobno nezavisne, onda će sistem š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 sa m izlaza.
3. Kod šifriranja zamjenskim metodom nema umnožavanja grešaka koje nastaju u komunikacijskom kanalu zbog smetnji.
4. Preklapanje šifre, tj. šifriranja sa istom tablicom različite poruke ne dovodi do jednostavnog i nedvosmislenog dešifriranja, kao u gama metodi. Međutim, robusnost metode se smanjuje, jer ponovljene zamjene omogućavaju izvođenje kriptoanalize na temelju stopa ponavljanja slova kriptograma.
10). Blok šifra, Feistelova šema, svojstva blok šifre
Blok šifra nazvan kriptosistem u kojem svaki novi blok otvorena poruka se pretvara u blok kriptograma prema istom pravilu određenom algoritmom šifriranja i ključem. Postupak dešifriranja se izvodi 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 se uvijek 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) zamjene (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 ključevima).
Feistelova šema.
Da bi se pojednostavile procedure šifriranja i dešifriranja, koristi se Feistelova shema, zasnovana na sljedećim principima:
a) svaki trenutni blok je podijeljen na dva jednaka dijela - lijevi Li i desni Ri, gdje je i iteracijski (okrugli) parametar;
b) način formiranja narednih "polovina" blokova od prethodnih je određen kao što je prikazano na sl. 3.3, gdje je ki ključ i-te runde.
Hajde da predstavimo ovu transformaciju 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 dva argumenta, u kojoj je nelinearnost određena, na primjer, tablicom.
Karakteristike Feistelove šeme:
1) Pokazalo se da je reverzibilnost procedure šifriranja moguća kada funkcija / () u šemi nije nužno reverzibilna.
2) Obje polovine bloka stalno mijenjaju mjesta i stoga su, uprkos prividnoj asimetriji, šifrirane istom snagom.
Karakteristike AES šifre
1.Može biti brži od normalne blok šifre;
2.Može se implementirati na pametnoj kartici koristeći mali PAM i posjedovanje mali broj ciklusi;
3. Okrugla transformacija omogućava paralelno izvršavanje;
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 šifra se zasniva 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 transformacije se izvode unutar jednog kvadrata.
Trenutni podaci (uključujući originalnu poruku i primljeni kriptogram) se upisuju po jedan bajt (8 bitova) u svaku od 16 ćelija, što daje ukupnu dužinu bloka šifriranja od 8x16 -128 bita.
Prva transformacija ovog algoritma se izvodi kao proračun inverznog elementa u polju GF () po modulu nesvodljivog polinoma + + + x +1, čime se osigurava dokaziva stabilnost šifre u odnosu na linearnu i diferencijalnu kriptoanalizu, dok se nulti element polja je sačuvan bez transformacije (slika 3.16).
Sljedeća transformacija se sastoji od množenja svake ćelije kvadrata, predstavljene kao binarni vektor stupca (,), fiksnom matricom i dodavanja fiksnog vektora stupca, a sve operacije se ovdje izvode u polju GF (2):
Matrica i vektor stupaca 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 sabiranje 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 se zove miješanje stupaca. Na ovom koraku, svi C-ta kolona kvadratna matrica je predstavljen kao 4-dimenzionalni vektor nad poljem GF (), a zatim se u ovom polju, zadanom nesvodljivim polinomom + + + x +1, vrši množenje određenom matricom sa elementima iz istog polja:
gdje su elementi prikazani u ovoj matrici specificirani kao elementi polja GF () (tj. kao binarne sekvence dužine 8), kao što je ilustrovano sljedeći primjer:
Konačno, vrši se sabiranje okruglog ključa, koje se izvodi jednostavno kao pobitno sabiranje svih elemenata posljednjeg kvadrata sa 128 elemenata okruglog ključa mod 2. Nakon što je jedan krug završen, sve gore opisane operacije se ponavljaju koristeći drugu rundu ključevi. Okrugli ključevi se generiraju iz jednog tajnog ključa dužine 128, 192 ili 256 bita (u zavisnosti od odabranog načina šifriranja) korištenjem posebnih transformacija, uključujući ciklične pomake i proširenja. Broj rundi šifre ovisi o odabranom načinu rada i varira od 10 do 14.
Za dešifriranje se koristi sekvenca inverzne transformacije With obrnutim redosledom 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 zasnovanih na Feistelovoj strukturi (na primjer, DES šifra), ova šifra mora koristiti različite elektronska kola ili programi za šifrovanje i dešifrovanje, respektivno.
Karakteristike AES šifre
1) AES je fokusiran uglavnom na implementaciju sa 8-bitnim procesorima;
2) sve okrugle transformacije se izvode u konačnim poljima, što dozvoljava jednostavna implementacija na raznim platformama.
Snaga AES šifre
Očigledno je da je nabrajanje svih ključeva (čak i sa njihovim minimalnim brojem - 2) nemoguće. Linearna i diferencijalna kriptoanaliza su također praktički nemoguće zbog izbora optimalnih transformacijskih postupaka, a posebno zbog korištenja računanja povratni elementi u završnom polju.
Kriptanaliza zasnovana na rješenju nelinearnog sistema jednačina nad poljem GF (2) koje opisuje šifru je teoretski moguća, uključujući i zbog pojave dodatnih jednačina. Međutim, ovaj postupak zahtijeva izuzetno velike računske resurse. Stoga se trenutno AES šifra može smatrati jakom protiv svih poznatih napada.
Brzina AES enkripcija
At implementacija softvera ovaj algoritam je najefikasnije implementiran na 8- i 32-bitnim platformama. Za tipične računare, brzina šifrovanja može biti reda veličine 1 MB / s - 500 KB / s. Sa hardverskom implementacijom 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
izdržljivost, budući da je broj njegovih tipki ipak dovoljno velik
daljnja istraživanja nezavisnih kriptografa
Pokazali su da ova šifra ima slabosti... Jedna od njih se sastoji
činjenica da LRR uključeni u koder imaju male dužine, i stoga
podložni su nekim modifikacijama statističkih napada, i
napadi zasnovani na omjerima razmjene između potrebne veličine memorije
i vrijeme analize.
Konačno, studije koje su vođene od tada
2000. (tj. skoro odmah nakon uvođenja ovog standarda) pokazalo je da je ovo
šifra se može "provaliti" korišćenjem običnog računara u stvarnosti
22. Podizanje na stepen, nalaženje diskretnog logaritma
Eksponencijacija po modulu je izračunavanje 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 precrtajte prvi par KU;
Proračune vršimo preko baze a, prema dobijenom 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: [email protected](2logx).
Računska složenost za operaciju diskretnog logaritma: [email protected]((n) 1/2).
Pronalaženje diskretnog logaritma metodom "sastanak u sredini".
Napravite 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 uporedite sa brojevima u bazi podataka.
Sa velikom vjerovatnoćom, nakon nekoliko pokušaja, dobijamo
a z (modn) = y b (modn)
4. Podignite obje strane na stepen b -1, dobijamo 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 sa velikim ulaznim vrijednostima. Ali izračunavanje diskretnog logaritma, odnosno pronalaženje eksponenta e dato b, c i m je mnogo komplikovanije. Ovo jednosmjerno ponašanje funkcije čini je kandidatom za upotrebu u kriptografskim algoritmima.
El Gamal COP.
Ovo je neka modifikacija RSA CS-a, čija stabilnost nije direktno povezana sa problemom faktorizacije. Široko se koristi u standardima digitalni potpis i dozvoljava prirodnu generalizaciju za slučaj CS-a konstruisanih na osnovu upotrebe eliptičkih krivulja, što će biti razmotreno u nastavku.
Generisanje ključeva.
Korisnik A izvodi sljedeće operacije za generiranje ključeva:
1) generiše prost broj p i primitivni element ɑ∈GF (p);
2) bira slučajni broj ali takav da 1<= a<= p-2, и вычисляет число ɑ^a;
3) bira skup: (p, ɑ, ɑ ^ amodp) kao javni ključ, a broj a kao privatni ključ.
Enkripcija.
Korisnik B poduzima sljedeće korake da šifrira poruku M namijenjenu korisniku A:
1) Prima javni ključ A;
2) Predstavlja poruku M u obliku lanca brojeva Mi, od kojih svaki ne prelazi p-1;
3) Bira 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šifrovanje
Korisnik A poduzima sljedeće korake da dešifruje poruku primljenu od korisnika B:
1) koristeći svoj privatni ključ, izračunava (ɣ ^ (- a)) mod str
2) vraća poruku Mi = (ɣ ^ (- a)) * b mod p
Zaista, ɣ ^ (- a)*b=(ɑ^(- a k)) * Mi * (ɑ ^ ( a k)) = Mi mod str
Karakteristika El-Gamal šeme je da pripada takozvanim randomizacijskim enkripcijskim šemama, jer koristi dodatnu slučajnost u obliku broja k prilikom šifriranja.
Prednost El Gamal QS-a je i u tome što tada svi korisnici na mreži mogu izabrati isti ɑ i R, što je nemoguće za KS RSA. Štaviše, kao što će biti pokazano u nastavku, ova šema se prirodno može proširiti na slučaj eliptičkih krivulja.
Značajan nedostatak šeme je što je dužina kriptograma u njoj 2 puta veća od dužine poruke.
Otpornost El Gamala QS
Problem vraćanja poruke M na datu 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, onda će se otvoriti El-Gamalov kriptosistem. Prilikom odabira R sa kapacitetom od 768 bita (za povećanu sigurnost - do 1024 bita), sigurnost El-Gamalovog CS će biti ista kao i RSA 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, jer je u suprotnom slučaju b1 / b2 = Mi / Mj, a onda se poruka Mj može lako pronaći ako je poruka Mi poznata.
Generisanje ključeva.
Dva prosta broja p i q biraju se nasumično. Located
modul N = pq. Naći Ojlerovu 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 saopštava svima
dopisnici.
Enkripcija.
Corr. A prenosi šifrovanu poruku dopisniku B
(koristi ispravku javnog ključa B)
Dešifrovanje.
Corr. B dešifruje primljeni kriptogram od
Dopisnik A koristeći vaš privatni ključ.
Napadi.
1. RSA sistem se može otvoriti ako je moguće pronaći p i q, odnosno faktor N.
Polazeći od ove činjenice, p i q treba birati sa tako velikom dubinom bita da bi faktorizacija broja n zahtijevala nemjerljivo dugo vrijeme, čak i uz korištenje svih raspoloživih i savremenih sredstava za računanje.
Trenutno, problem faktorizacije brojeva nema polinomsko rješenje. Razvijeno je samo nekoliko algoritama koji pojednostavljuju faktorizaciju, ali njihova implementacija za faktorizabilne brojeve velikih cifara i dalje zahtijeva nemjerljivo dugo vremena. Zaista, složenost rješavanja problema faktorizacije za najbolji trenutno poznati algoritam faktorizacije je
Dakle, na primjer ln n = 200, ako, tada će broj operacija biti približno jednak 1,37 ∙ 10 14.
Sa 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 (sa poznatom porukom) izvodi se na sljedeći način: d = log EM mod N. Međutim, problem diskretnog logaritma po modulu višecifrenih brojeva je također težak u matematici, a ispostavilo se da ima gotovo istu složenost kao i problem faktorizacije.
3. Ciklični napad. Dobijeni kriptogram ćemo sekvencijalno podići na stepen jednak vrijednosti javnog ključa, tj. ((((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 uslov mora biti ispunjen za barem jednu od poruka, na primjer, za poruke M = 0, 1, n - 1. U stvari, takve poruke su općenito! nije šifrovano, tačno postoji. Njihov broj je uvijek najmanje 9. Međutim, slučajnim odabirom q i p, udio takvih poruka će biti zanemarljiv i gotovo se nikada neće sresti u praksi.
5. Napad sa malom količinom mogućih poruka
Pretpostavimo da je broj poruka ograničen vrijednostima M1, M2,…, Mr, gdje je r vidljivo. (To mogu biti, na primjer, različite komande - naprijed, nazad, lijevo, desno, itd.). Tada se poruka može lako dešifrirati.
Zaista, 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 (odnosno, dodavanje malih nizova bitova, dobijenih korištenjem čisto slučajnog senzora).
VRSTE
Jednostavan ES je potpis koji upotrebom kodova, lozinki ili na drugi način potvrđuje činjenicu da je određena osoba formirala ES.
Nekvalifikovano:
Primljeno kao rezultat kriptografske transformacije informacija pomoću ES ključa;
Omogućava vam da identifikujete osobu koja je potpisala dokument;
Omogućava vam da otkrijete činjenicu promjena u ED;
Kreirano korištenjem ES alata;
kvalificirani:
Poštuje sve znakove nekvalifikovanog elektronskog potpisa;
ES verifikacijski ključ je naveden u kvalificiranom certifikatu.
Za kreiranje i verifikaciju ES koriste se ES sredstva koja su dobila potvrdu usaglašenosti u skladu sa zakonom o ES.
RSA EP šema.
Neka postoji neka poruka M i neki korisnik A je generisao par javni/privatni ključ za RSA sistem, 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 cifara 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 verifikaciju CPU-a, korisnik mora dobiti javni ključ A, kao i „potpisanu“ (ali moguće falsifikovanu) poruku M, S i izračunati Ṁ = S eA mod (e A). Dalje, on upoređuje Ṁ sa M i, ako se poklapaju, pretpostavlja da je poruku M zaista potpisao A, inače je odbacuje kao krivotvorinu ili izobličenje.
Shema EP El-Gamal.
ES - Elektronski potpis (CPU - Digitalni potpis)
ES (CPU) su neki dodatni podaci priloženi glavnoj poruci, koji se formiraju u zavisnosti kako od poruke tako i od tajnog ključa autora poruke. Za provjeru autentičnosti poruke (inače se naziva procedura verifikacije) 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 preko konačnog polja GF (p);
2) generira se broj x: 1
3) izračunava se y = a x mod (p);
4) se bira javni ključ CPU verifikacije: ( p, a, y) i tajni ključ za kreiranje CPU-a: x.
Oblikovanje procesora
Ako korisnik A želi da potpiše poruku m, predstavljenu kao broj koji pripada Zp, tada izvodi sljedeće operacije:
1) generiše 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 verifikacija (verifikacija)
Da bi potvrdio potpis S koji je kreirao A pod porukom M, svaki korisnik poduzima sljedeće korake:
1) dobija javni ključ A: (p, a, y);
2) potvrđuje 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) prihvata CPU kao ispravan pod uslovom da je V 1 = V 2
Otpornost CPU-a Zasnovano na ElGamalovoj COP
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, koji se ne može izračunati odgovarajućim izborom CPU parametara.
3) Treba napomenuti da ako nije ispunjeno korak 2 algoritma CPU verifikacije tada napadač može ispravno potpisati bilo koju poruku po svom izboru, pod uslovom da ima neku drugu poruku sa ispravnim CPU-om na raspolaganju. Dakle, prilikom odabira modula R, koji u binarnom predstavljanju ima dužinu od oko 768 bita, pruža dobru stabilnost procesora, 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 neizvodljivo (tj. zahtijeva neostvarivo veliki 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 dati x, h (x) = h računski neizvodljivo pronaći drugu x ’vrijednost koja zadovoljava jednačinu h (x’) = h.
3. Jaka otpornost na koliziju, kada je računski neizvodljivo pronaći par argumenata x, x ’za koje vrijedi relacija h (x) = h (x’).
Popravka ranjivosti
Denning i Sacco su predložili korištenje vremenskih oznaka u porukama kako bi se spriječili napadi poput onog o kojem se gore govori. Označimo takvu oznaku slovom t. Razmotrite opciju da popravite ranjivost:
PKI komponente
· Autoritet za izdavanje certifikata (CA)- dio sistema javnog ključa koji izdaje certifikat za validaciju prava korisnika ili sistema koji podnose zahtjev. Ona kreira sertifikat i potpisuje ga privatnim ključem. Zbog svoje funkcije kreiranja certifikata, CA je središnji dio PKI-ja.
· Repozitorijum certifikata... Repozitorijum za važeće sertifikate i liste opoziva sertifikata (CRL). Aplikacije provjeravaju valjanost certifikata i nivo pristupa koji odobrava provjeravanjem uzorka sadržanog u spremištu.
· Server za oporavak ključeva- server koji vrši automatski oporavak ključa, ako je ova usluga instalirana.
· PKI-omogućena aplikacija- aplikacije koje mogu koristiti PKI alate za sigurnost. PKI upravlja digitalnim certifikatima i ključevima koji se koriste za šifriranje informacija na web serverima prilikom korištenja e-pošte, razmjene poruka, pretraživanja interneta i prijenosa podataka. Neke aplikacije mogu koristiti PKI izvorno, dok druge zahtijevaju od programera da ih modifikuju.
· Registracijski organ- modul odgovoran za registraciju korisnika i prihvatanje zahtjeva za certifikat.
· Security Server- Server koji upravlja pristupom korisnika, digitalnim certifikatima i jakim vezama u PKI okruženju. Sigurnosni server centralno upravlja svim korisnicima, certifikatima, CA vezama, izvještajima i provjerava listu 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 sertifikata... Nakon što CA potpiše certifikat, on se izdaje podnosiocu zahtjeva i/ili šalje u skladište certifikata. CA na certifikate stavlja period važenja, što zahtijeva periodično obnavljanje certifikata.
· Opoziv certifikata... Sertifikat može postati nevažeći prije isteka iz različitih razloga: korisnik je napustio kompaniju, promijenio ime ili ako je njegov privatni ključ kompromitovan. Pod ovim okolnostima, CA će opozvati certifikat unošenjem njegovog serijskog broja u CRL.
· Key Recovery... Dodatna PKI funkcija vam omogućava da povratite podatke ili poruke u slučaju gubitka ključa.
· Upravljanje životnim ciklusom- Kontinuirana podrška sertifikata u PKI, uključujući obnavljanje, restauraciju i arhiviranje ključeva. Ove funkcije se obavljaju periodično, a ne kao odgovor na ad hoc zahtjeve. Automatsko upravljanje ključevima je najvažnija karakteristika za velike PKI-ove. Ručno upravljanje ključevima može ograničiti skalabilnost PKI-ja.
Osnovne definicije
· Liste opoziva certifikata (CRL)- lista 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 prema tom certifikatu.
· Digitalni certifikat / X.509 certifikat... Struktura podataka koja se koristi za povezivanje određenog modula sa određenim javnim ključem. Digitalni sertifikati se koriste za autentifikaciju korisnika, aplikacija i usluga, kao i za kontrolu pristupa (autorizacija). Digitalne sertifikate izdaju i distribuiraju CA.
· Digital Envelope... 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 je znatno smanjen.
· Digitalni potpis... Metoda korištenja šifriranja javnog ključa kako bi se osigurao integritet podataka i nemogućnost odbijanja paketa. Šifrovani blok informacija, nakon dešifrovanja od strane primaoca, identifikuje pošiljaoca i potvrđuje sigurnost podataka. Na primjer: dokument je "komprimiran", HASH je šifriran korištenjem privatnog ključa pošiljaoca i priložen dokumentu (u stvari, to znači prilaganje "otiska prsta" ovog dokumenta). Primalac koristi javni ključ za dešifrovanje primljene poruke u stanje "stiskanja", koje se zatim poredi sa "stiskanjem" dobijenim nakon što je poslani dokument "komprimovan". Ako se oba "stiska" ne poklapaju, to znači da je dokument promijenjen ili oštećen tokom prijenosa.
· Kriptografija javnog ključa... Postoje dvije glavne vrste šifriranja: javni ključ i tajni (simetrični) ključ. Šifriranje javnog ključa koristi par ključeva: otvoreni, tj. slobodno dostupan, i njegov odgovarajući privatni ključ, poznat samo određenom korisniku, aplikaciji ili servisu koji posjeduje ovaj ključ. Ovaj par ključeva je povezan na način da ono što je šifrirano privatnim ključem može biti dešifrirano samo javnim ključem i obrnuto.
· Simetrična enkripcija (zajednička tajna kriptografija)... Postoje dvije glavne vrste šifriranja: javni ključ i tajni (simetrični) ključ. Sa simetričnim šifriranjem, primalac i pošiljalac koriste isti ključ za šifriranje i dešifriranje. To znači da mnogi korisnici moraju imati iste ključeve. Očigledno, dok korisnik ne dobije ključ, enkripcija nije moguća, a distribucija ključa preko mreže nije sigurna. Druge metode distribucije, kao što je specijalni kurir, su skupe i spore.
· RSA algoritam je prvi sistem šifriranja javnog ključa nazvan po svojim izumiteljima: Ronaldu Rivestu, Adi 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 certifikata i drugih informacija (obično društvenih i medicinskih).
· Digitalni akreditivi. U okviru PKI tehnologije, standard ISO/TS 17090-1 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 strukture PKI korisnika, listu pouzdanih CA, i drugi parametri koji se odnose na domen korisnika - identifikator korisnika, nazivi primijenjenih kriptografskih algoritama, vrijednosti početnih vrijednosti itd. Akreditivi se mogu postaviti na hardverski ili softverski medij.
Princip rada
Certifikati se obično koriste za razmjenu šifriranih podataka preko velikih mreža. Kriptosistem javnog ključa rješava problem razmjene tajnih ključeva između učesnika u sigurnoj razmjeni, ali ne rješava problem povjerenja u javne ključeve. Pretpostavimo da Alice, želeći da prima šifrovane poruke, generiše par ključeva, od kojih jedan (javni) na neki način objavljuje. Svako ko želi da joj pošalje povjerljivu poruku ima mogućnost da je šifrira ovim ključem i budi siguran da će samo ona (pošto samo ona ima odgovarajući tajni ključ) moći pročitati ovu poruku. Međutim, opisana šema ni na koji način ne može spriječiti napadača Davida da kreira par ključeva i objavi svoj javni ključ, izdajuć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 koja stoji 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 operativnom sistemu ili objavljeni u logovima. Tako se lako otkriva krivotvorenje javnog ključa treće strane.
Kriptografski sistemi s javnim ključevima za šifriranje omogućavaju korisnicima siguran prijenos podataka preko nezaštićenog kanala bez ikakve prethodne pripreme. Takvi kriptosistemi moraju biti asimetrični u smislu da pošiljalac i primalac imaju različite ključeve i nijedan od njih se ne može izvesti iz drugog računanjem. U ovim sistemima, faze šifriranja i dešifriranja su razdvojene i poruka je zaštićena bez da se ključ za šifriranje učini tajnim, jer 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, pošto samo on zna tajni ključ za dešifriranje.
Među asimetričnim (otvorenim) kriptosistemima, najrašireniji je RSA kriptografski sistem. U ovom sistemu, primalac poruke bira dva velika prosta broja p i q tako da je proizvod n = pq izvan računskih mogućnosti. Originalna poruka M može biti proizvoljne dužine u rasponu od 1 Originalni tekst M se vraća iz šifriranog C obrnutom transformacijom Primalac bira e i d kako bi bili ispunjeni sljedeći uslovi: gdje je Eulerova funkcija jednaka (p - 1) (q - 1); (a, b) je najveći zajednički djelitelj dva broja. To jest, e i d u multiplikativnoj grupi su recipročni u modusu aritmetike ostatka. Očigledno, 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 br Primena faktorizacije od n nam omogućava 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 koji je trenutno poznat može faktorizirati n u koracima po redu Analiza ovog izraza pokazuje da će broj n sa 200 decimalnih cifara biti dobro zaštićen od poznatih metoda proširenja. Direktno računanje Drugi mogući način kriptoanalize povezan je sa direktnim izračunavanjem Eulerove funkcije bez faktoringa n. Direktno računanje nije nimalo jednostavnije od faktorizacije n, jer onda olakšava faktorizaciju n. To se može vidjeti iz sljedećeg primjera. Neka 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 relacija: Direktna procjena d Treća metoda kriptoanalize je direktno izračunavanje vrijednosti d. Obrazloženje iza ove metode zasniva se na činjenici da ako je d odabran dovoljno veliko da jednostavno nabrajanje bude neprihvatljivo, izračunavanje d nije jednostavnije od faktoriranja n, jer ako je d poznato, onda se n lako faktorizira. To se može prikazati na sljedeći način. Ako je d poznato, 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, s druge strane, može pokušati pronaći neku vrijednost d "koja je ekvivalentna skrivenoj vrijednosti d koja se koristi u dizajnu šifre. Ako postoji mnogo takvih d", onda se grubom silom može pokušati razbiti šifra . Ali svi d" se razlikuju za faktor jednak i ako se ovaj faktor izračuna, onda se n može faktorizirati. Stoga je pronalaženje d jednako teško kao i faktoriranje n. Dakle, glavni zadatak kriptoanalize asimetričnih enkripcijskih sistema 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 dat cijeli broj n> 0 i 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, koji se zove test jednostavnosti, je provjeriti da li takvi a i b postoje; drugi, koji se zove dekompozicija, je problem njihovog pronalaženja. Razmotrimo oba ova zadatka. Prvi deterministički test.