Sistemi upravljanja distribucijom kriptoključeva. Distribucija javnog ključa Implementacija kombiniranog kriptosistema za upravljanje distribucijom

Napomena: U prethodnim predavanjima govorili smo o kriptografiji sa simetričnim ključevima i asimetričnim ključevima. Međutim, još nismo raspravljali o tome kako se distribuiraju i održavaju privatni ključevi u kriptografiji simetričnog ključa i javni ključevi u kriptografiji asimetričnog ključa. Ovo predavanje se bavi ova dva pitanja. Prvo ćemo razgovarati o simetričnoj distribuciji ključeva pomoću pouzdane treće strane. Drugo, pokazat ćemo kako dvije strane mogu uspostaviti simetričan ključ između sebe bez korištenja treće strane od povjerenja. Treće, pogledaćemo Kerberos sistem, KDC-ove i protokol za autentifikaciju objekata. Četvrto, raspravljat ćemo o certifikaciji javnog ključa korištenjem certifikacijskih tijela (CA) na osnovu preporuka X.509. Na kraju, ukratko ćemo istražiti ideju infrastrukture javnog ključa (PKI) i opisati neke od njenih načina rada.

5.1. Distribucija sa simetričnim ključevima

Za šifrovanje velikih poruka, kriptografija sa simetričnim ključem je efikasnija od kriptografije sa asimetričnim ključem. Za kriptografiju simetričnog ključa, međutim, potreban je ključ za šifriranje koji se dijeli između dvije strane.

Ako Alice treba da razmjenjuje povjerljive poruke sa N ljudi, treba joj N različitih ključeva. Šta ako N ljudi treba da komuniciraju jedni s drugima? Tada je ukupan broj potrebnih ključeva N (N - l) . Ako dozvolimo Alice i Bobu da koriste dva identična ključa za dvosmjernu komunikaciju u oba smjera, tada je potrebno samo N(N - 1)/2 ključeva. To bi značilo da ako milion ljudi kontaktira jedni druge, svaka osoba ima skoro milion različiti ključevi. Ukupno je potrebno skoro jedan trilion ključeva. Ovo se zove N-problem jer je broj ključeva potrebnih za N objekata N 2 .

Broj ključeva nije jedini problem; distribucija ključeva- još jedan problem. Alice i Bob žele da komuniciraju jedno s drugim. Potreban im je način za razmjenu ključeva privatnosti. Ako Alice želi da kontaktira milion ljudi, kako da razmeni milion ključeva sa milion ljudi? Korišćenje interneta očigledno nije sigurna metoda. Očigledno je da nam treba efikasan način održavati i distribuirati ključeve za šifriranje.

Centar za distribuciju ključeva: KDC

Praktično rješenje je uključivanje treće strane od povjerenja. Ovde se zove centar za distribuciju ključeva (KDC - Key-Distribution Center). Da bi se smanjio broj ključeva, svaka osoba uspostavlja javni tajni ključ sa KDC-om, kao što je prikazano na Sl. 5.1.


Rice. 5.1.

Tajni ključ se uspostavlja između KDC-a i svakog člana zajednice. Alice ima tajni ključ sa KDC-om, koji mi zovemo K Alice. Bob ima tajni ključ sa KDC-om, koji mi zovemo K Bob. Sada je pitanje kako Alice može prenijeti povjerljivu poruku Bobu. Proces je sljedeći:

  1. Alice podnosi zahtjev KDC-u - izjavu da joj je potrebna sesija (privremeno) i ključ privatnosti između nje i Boba.
  2. KDC obavještava Boba o Aliceinom zahtjevu.
  3. Ako se Bob slaže, između njih se kreira ključ sesije.

Ključ privatnosti između Alice i Boba, koji je instaliran sa KDC-om, koristi se za provjeru autentičnosti Alice i Boba u KDC-u i sprječavanje Eve da se lažno predstavlja. Kasnije ćemo u ovom predavanju raspravljati o tome kako se uspostavlja ključ sesije između Alice i Boba.

Kada broj ljudi koji koriste KDC ( Centar za distribuciju ključeva), povećava, sistem postaje nekontrolisan i njegovo usko grlo se pokreće - broj ključeva može ponestati. Da bismo riješili problem moramo imati mnogo KDC-ova. Možemo podijeliti svijet na domene. Svaka domena može imati jedan ili više KDC-ova (za rezervnu redundantnost u slučaju kvara). Sada, ako Alice želi poslati povjerljivu poruku Bobu, koji pripada drugoj domeni, ona kontaktira svoj KDC, koji zauzvrat kontaktira KDC u Bobovoj domeni. Dva KDC-a mogu kreirati tajni ključ između Alice i Boba.

Upravljanje tajnim ključevima je povezano putem protokola za njihovu distribuciju između instalacije ključeva i sistema za upravljanje ključevima. Sistem za instalaciju ključeva definira algoritme i procedure za generiranje, distribuciju, prijenos i verifikaciju ključeva.
Sistem upravljanja ključevima određuje proceduru korišćenja, promene, skladištenja, uklanjanja kompromitovanih ključeva iz prometa i uništavanja starih ključeva.

Preddistribucija ključeva

Koriste se kriptografske sigurnosne metode pouzdana zaštita informacije koje se prenose preko otvorenog komunikacijskog kanala. Da biste koristili ove metode, morate dovršiti početni odabir i instalaciju ključeva. Obično je potreban siguran komunikacioni kanal za početnu distribuciju ključeva.
Najpouzdaniji način inicijalne distribucije ključeva je lični sastanak svih strana u interakciji, kurirska komunikacija. Uz veliki broj korisnika, potrebna je preliminarna distribucija značajne količine ključnih informacija i njihovo dalje skladištenje.
U praksi koriste specijalni sistemi preddistribucija ključeva. Ovi sistemi omogućavaju distribuciju i skladištenje ne samih ključeva, već nekih manjih informacija na osnovu kojih svaka strana može izračunati ključ sesije.
Postoje dva algoritma za distribuciju pre-ključa:
  • prenose se informacije, uključujući i otvoreni dio, koji se može postaviti na javni server, kao i tajni dijelovi namijenjeni svakoj strani;
  • Trenutna vrijednost ključa za interakciju između pretplatnika izračunava se korištenjem tajnog i zajedničkog otvorenog dijela izvorne ključne informacije dostupne pretplatnicima.
Postoje dva zahtjeva za ključni sistem preddistribucije:
  • ona mora biti održivo , tj. uzeti u obzir mogućnost otkrivanja dijela ključeva u slučaju kompromisa, obmane ili dosluha pretplatnika;
  • ona mora biti fleksibilan - omogućiti mogućnost brzog oporavka isključivanjem ugroženih pretplatnika i povezivanjem novih pretplatnika.

Ključevi za prosljeđivanje

Nakon što su ključevi unaprijed distribuirani, specifični ključevi sesije moraju se prenijeti. Prijenos ovih ključeva vrši se šifriranjem pomoću prethodno dobijenih ključeva.
Prilikom prijenosa tajnih ključeva preko otvorenog komunikacijskog kanala između pretplatnika koji jedni drugima ne vjeruju, potrebno je koristiti cijeli niz zadataka autentifikacije.
Za centralno upravljanje prijenosom ključeva, stvoreni su posebni pouzdani centri koji služe kao centri za distribuciju ili ponovno šifriranje ključeva. U prvom slučaju ključevi se generiraju u samom distributivnom centru, au drugom slučaju ključeve generiraju sami pretplatnici.

Distribucija javnog ključa

Zbog velikog broja mrežnih pretplatnika, gore navedeni ključni pristupi distribuciji postaju vrlo nezgodni. Diffie i Hellman riješili su ovaj problem korištenjem neosiguranog komunikacijskog kanala.
U sistemu distribucije javnog ključa koji su predložili, svaka strana u početku ima svoj tajni parametar. Protokol interakcije se odvija preko otvorenog komunikacijskog kanala.
Strane razmjenjuju neke poruke formirane koristeći svoje tajne parametre. Na osnovu rezultata razmjene, pretplatnici izračunavaju zajednički tajni komunikacijski ključ. Takvi protokoli nisu povezani sa distribucijom i prosljeđivanjem ključeva, jer u početku nijedan od pretplatnika nema ključ.
U svom poboljšanom obliku, Diffie-Hellman sistem vam omogućava da dobijete zajednički ključ, provjerite i potvrdite ispravnost proračuna i autentifikujete strane.

Šema dijeljenja tajne

Šema dijeljenja tajne je da se svakom pretplatniku dodjeljuje dio tajne i određuje se pomoću dva algoritma koji zadovoljavaju uvjet da nijedan korisnik nema puni ključ grupe.
Prvi algoritam određuje redoslijed izračunavanja vrijednosti dionica na osnovu zadane vrijednosti tajnog ključa, drugi je dizajniran za vraćanje tajne iz poznatih udjela.
Generalizacija šeme dijeljenja tajne odnosi se na:

  • uvođenjem pristupne strukture, kada odluku može donijeti ne jedna, već više različitih grupa, a nekim učesnicima se može dati pravo „veta“;
  • uvođenje mehanizma za otkrivanje prevare ili dosluha među učesnicima;
  • uz uvođenje posebnog protokola za raspodjelu udjela između učesnika uz potvrdu tačnosti primljenih informacija i autentikaciju stranaka.

Certifikati

Problem sa certifikacijom digitalni potpis je kako slijedi. Prije korištenja javnog ključa, pretplatnik mora biti siguran da javni ključ pripada primaocu. Javni ključevi se pohranjuju na javnom serveru i prekršilac ima mogućnost da, zamjenom javnog ključa nekog od pretplatnika, djeluje u njegovo ime.
Za zaštitu javnih ključeva stvoreni su posebni centri za sertifikaciju koji imaju ulogu treće strane i svojim digitalnim potpisima certificiraju javne ključeve svakog pretplatnika.
Sertifikat je skup podataka ovjerenih digitalnim potpisom centra, a uključuje javni ključ i listu atributa koji pripadaju pretplatniku. Ova lista uključuje atribute:
  • korisničko ime i certifikacijski organ;
  • broj sertifikata;
  • rok važenja sertifikata;
  • dodjela javnog ključa (šifriranje, digitalni potpis) itd.
Međunarodni standard ISO X.509 definira opću strukturu certifikata javnog ključa i protokola za njihovu upotrebu za autentifikaciju u mrežama.

Certification Authorities

Certifikacijski centar je dizajniran da registruje pretplatnike, proizvodi certifikate javnog ključa, skladišti proizvedene certifikate, održava imenik važećih certifikata i izdaje listu prijevremeno opozvanih certifikata.
Za mreže sa velikim brojem pretplatnika kreira se nekoliko certifikacijskih tijela u hijerarhijskoj strukturi. Glavno tijelo za sertifikaciju izdaje certifikate svojim podređenim industrijskim centrima, potvrđujući povjerenje u javne ključeve ovih centara.
Poznavajući hijerarhiju i podređenost certifikacijskih tijela jedan drugome, moguće je utvrditi da li je pretplatnik vlasnik ovog javnog ključa.
Glavna poteškoća u stvaranju certifikacijskih centara je njihov pravni status i potencijalna finansijska mogućnost plaćanja naknade štete zbog nepoštovanja digitalno potpisanih certifikata koje izdaje centar, ugovora i ugovora narušenih odbijanjem digitalnog potpisa ili njegovim krivotvorenjem.

Bez obzira koliko je sam kriptosistem složen i pouzdan, on se zasniva na upotrebi ključeva. Ako je proces razmjene ključeva trivijalan kako bi se osigurala povjerljiva razmjena informacija između dva korisnika, onda u sistemu gdje je broj korisnika desetine ili stotine, upravljanje ključevima predstavlja ozbiljan problem.

Ključne informacije se shvataju kao ukupnost svih ključeva aktivnih u sistemu. Ako nije osigurano dovoljno pouzdano upravljanje ključnim informacijama, tada, nakon što ih preuzme, napadač dobija neograničen pristup svim informacijama.

Upravljanje ključem je informacijski proces koji uključuje tri elementa:

Generisanje ključeva;

Akumulacija ključeva;

Distribucija ključeva.

Generisanje ključeva. U stvarnim sistemima, posebne hardverske i softverske metode se koriste za generisanje slučajnih ključeva. U pravilu se koriste senzori slučajnih brojeva. Međutim, stepen slučajnosti njihove generacije trebao bi biti prilično visok. Idealni generatori su uređaji zasnovani na "prirodnim" slučajni procesi. Na primjer, generiranje ključeva na osnovu bijelog radio šuma. Drugi slučajni matematički objekat su decimale iracionalnih brojeva, kao što su p ili e, koji se izračunavaju korišćenjem standardnih matematičkih metoda.

U sistemima sa prosječnim sigurnosnim zahtjevima, softverski generatori ključeva koji izračunavaju slučajne brojeve kao složena funkcija od trenutnog vremena i (ili) broja koji je unio korisnik.

Akumulacija ključeva. Akumulacija ključeva se odnosi na organizaciju njihovog skladištenja, računovodstva i uklanjanja.

S obzirom da je ključ najatraktivniji objekt za napadača, otvarajući put povjerljivim informacijama, posebnu pažnju treba obratiti na gomilanje ključeva.

Privatni ključevi nikada ne bi trebali biti eksplicitno napisani na mediju koji se može čitati ili kopirati.

Dosta složen sistem jedan korisnik može raditi s velikom količinom ključnih informacija, a ponekad čak postoji potreba za organiziranjem mini baza podataka ključnih informacija. Takve baze podataka su odgovorne za prihvatanje, pohranjivanje, snimanje i brisanje korištenih ključeva.

Svaka informacija o korištenim ključevima mora biti pohranjena u šifriranom obliku. Ključevi koji šifriraju informacije o ključu nazivaju se glavni ključevi. Poželjno je da svaki korisnik zna glavne ključeve napamet i da ih uopće ne pohranjuje na bilo koji materijalni medij.

Veoma važan uslov za sigurnost informacija je periodično ažuriranje ključnih informacija u sistemu. U tom slučaju, i regularni i glavni ključevi moraju biti ponovo dodijeljeni. U kritičnim sistemima, ključne informacije se moraju svakodnevno ažurirati.


Pitanje ažuriranja ključnih informacija odnosi se i na treći element upravljanja ključevima – distribuciju ključeva.

Distribucija ključeva. Distribucija ključeva je najkritičniji proces u upravljanju ključevima. Za to postoje dva uslova:

Efikasnost i tačnost distribucije;

Tajnost distribuiranih ključeva.

U posljednje vrijeme primjetan je pomak ka korištenju kriptosistema javnog ključa, u kojem je eliminisan problem distribucije ključeva. Međutim, distribucija ključnih informacija u sistemu zahtijeva nova efikasna rješenja.

Distribucija ključeva između korisnika implementirana je na dva različita pristupa:

1 Kreiranjem jednog ili više ključnih distributivnih centara. Nedostatak ovakvog pristupa je što distributivni centar zna kome su koji ključevi dodijeljeni, a to omogućava čitanje svih poruka koje kruže u sistemu. Moguće zloupotrebe imaju značajan uticaj na zaštitu.

2 Direktna razmjena ključeva između korisnika sistema. Izazov je tada pouzdana autentikacija subjekata.

U oba slučaja, autentičnost komunikacijske sesije mora biti zajamčena. To se može postići na dva načina:

1 Mehanizam zahtjev-odgovor, koji je kako slijedi. Ako korisnik A želi biti siguran da poruke koje prima od korisnika B nisu lažne, on uključuje nepredvidiv element (zahtjev) u poruku koju šalje B. Kada odgovara, korisnik B mora izvršiti neku operaciju na ovom elementu (na primjer, dodati 1). To se ne može učiniti unaprijed, jer se ne zna šta slučajni brojće doći u zahtjevu. Nakon što dobije odgovor sa rezultatima radnji, korisnik A može biti siguran da je sesija originalna. Nedostatak ove metode je mogućnost uspostavljanja, iako složenih, obrazaca između zahtjeva i odgovora.

2 Mehanizam vremenske oznake. To uključuje snimanje vremena za svaku poruku. U ovom slučaju, svaki korisnik sistema može znati koliko je „stara“ dolazna poruka.

U oba slučaja treba koristiti šifriranje kako bi se osiguralo da odgovor nije poslao napadač i da vremenska oznaka nije promijenjena.

Kada se koriste vremenske oznake, javlja se problem prihvatljivog vremenskog intervala kašnjenja za provjeru autentičnosti sesije. Uostalom, poruka s vremenskom oznakom, u principu, ne može se odmah prenijeti. Pored toga, kompjuterski satovi primaoca i pošiljaoca ne mogu biti apsolutno sinhronizovani.

Kriptosistemi javnog ključa mogu se koristiti za razmjenu ključeva koristeći isti RSA algoritam.

Ali Diffie-Hellmanov algoritam se pokazao vrlo učinkovitim, omogućavajući dvama korisnicima da razmijene ključ bez posrednika, koji se potom može koristiti za simetrično šifriranje.

Diffie-Hellmanov algoritam. Diffie i Hellman su predložili diskretnu funkciju eksponencije za kreiranje kriptografskih sistema s javnim ključem.

Ireverzibilnost transformacije u ovom slučaju je osigurana činjenicom da je prilično lako izračunati eksponencijalnu funkciju u konačnom Galoisovom polju koje se sastoji od p elemenata ( str– ili prost broj ili prost u bilo kojem stepenu). Izračunavanje logaritama u takvim poljima je mnogo radno intenzivnija operacija.

Za razmjenu informacija, prvi korisnik bira nasumični broj x 1, jednako vjerovatno cijelih brojeva od 1 do str– 1. Ovaj broj čuva u tajnosti, a broj šalje drugom korisniku y 1 = , gdje je α fiksni element Galoisovog polja GF(str), koji se, zajedno sa p, unaprijed distribuira među korisnicima.

Drugi korisnik radi isto, generira x 2 i izračunavanje y 2, šaljući ga prvom korisniku. Kao rezultat toga, obojica mogu izračunati zajednički tajni ključ k 12 = .

Da bi izračunali k 12, prvi korisnik postavlja y 2 na vlast x 1 i pronalazi ostatak kada se podijeli sa str. Drugi korisnik radi isto, samo koristeći y 1 i x 2. Dakle, oba korisnika imaju zajednički ključ k 12, koji se može koristiti za šifriranje informacija korištenjem konvencionalnih algoritama. Za razliku od RSA algoritma, ovaj algoritam ne dozvoljava šifriranje stvarnih informacija.

Bez znanja x 1 i x 2, napadač može pokušati izračunati k 12, znajući samo presretnuti y 1 i y 2. Ekvivalencija ovog problema sa problemom izračunavanja diskretnog logaritma je glavni i otvoreno pitanje u sistemima javnih ključeva. Jednostavno rješenje do danas nije pronađeno. Dakle, ako direktna konverzija 1000-bitnih prostih brojeva zahtijeva 2000 operacija, onda za inverzna konverzija(izračunavanje logaritma u Galois polju) - bit će potrebno oko 1030 operacija.

Kao što vidite, uprkos jednostavnosti Diffie-Hellman algoritma, njegov nedostatak u poređenju sa RSA sistemom je nedostatak zagarantovane donje granice za složenost otkrića ključa.

Osim toga, iako opisani algoritam zaobilazi problem prijenosa skrivenog ključa, ostaje potreba za autentifikacijom. Bez dodatnih sredstava, jedan od korisnika ne može biti siguran da je razmijenio ključeve upravo sa onim korisnikom koji mu je potreban.

Ovaj pristup stvara neku vrstu začaranog kruga: da bi podijelili tajnu (prenesenu poruku), pošiljatelj i primalac već moraju imati zajedničku tajnu (ključ za šifriranje). Ranije ovaj problem riješena je nekriptografskom metodom - prijenosom ključa preko fizički zaštićenih komunikacijskih kanala od prisluškivanja (slika 1). Međutim, stvaranje takvog kanala i održavanje u operativnoj pripravnosti u slučaju hitne potrebe za prijenosom ključa je prilično radno intenzivan i skup.

Rice. 1.

Problem je uspješno riješen u okviru moderne kriptografije, koja je nastala prije nešto više od četvrt stoljeća, tako nazvane za razliku od do tada već poznate „tradicionalne kriptografije“. Rješenje je korištenje asimetričnih (dva ključa) šifri ili šeme distribucije ključeva otvorene kanale komunikacije.

U prvom slučaju, procedure šifriranja i dešifriranja se izvode na različitim ključevima, tako da nema potrebe čuvati tajnu ključa za šifriranje. Međutim, zbog izuzetno niskih karakteristika efikasnosti i podložnosti nekim posebnim vrstama napada, takve šifre su se pokazale malo korisnim za direktno zatvaranje. korisničke informacije. Umjesto toga, asimetrične šifre se koriste kao dio kombinovanih šema, kada se niz podataka šifrira simetričnom šifrom na jednokratnom ključu, koji je zauzvrat šifriran šifrom s dva ključa i u ovom obliku se prenosi zajedno s podacima. .

Šeme za distribuciju ključeva preko otvorenih komunikacijskih kanala rješavaju isti problem na malo drugačiji način: tokom sesije interakcije, dva dopisnika razvijaju zajednički tajni ključ, koji se zatim koristi za šifriranje prenesenih podataka simetričnom šifrom. Štaviše, presretanje informacija u kanalu tokom sesije generisanja takvog ključa ne daje neprijatelju priliku da dobije sam ključ: K=K(X,Y) je neizračunljiv (slika 2).


Rice. 2.

Problemi asimetrične kriptografije

Danas asimetrična kriptografija prilično uspješno rješava problem distribucije ključeva preko otvorenih komunikacijskih kanala. Međutim, postoji nekoliko problema koji izazivaju zabrinutost za njegovu budućnost. Snaga svih asimetričnih kriptografskih shema zasniva se na nemogućnosti efikasnog računskog rješenja brojnih matematičkih problema (tzv. NP problemi) kao što je faktorizacija (faktorizacija) veliki brojevi i logaritam u velikim diskretnim poljima. Ali ova nemogućnost je samo pretpostavka koja se može opovrgnuti u svakom trenutku ako se dokaže suprotna hipoteza, naime NP=P. To bi dovelo do kolapsa sve moderne kriptografije, budući da su problemi na kojima se ona zasniva na nerješivosti prilično usko povezani, a razbijanje čak i jednog kriptosistema značilo bi razbijanje većine drugih. U tom pravcu se provode intenzivna istraživanja, ali problem i dalje ostaje otvoren.

Još jedna prijetnja modernim kriptosistemima dolazi od takozvanih kvantnih kompjutera - uređaja za obradu informacija izgrađenih na principima kvantne mehanike, čiju je ideju prvi predložio poznati američki fizičar R. Feynman. 1994. P. Šor je predložio algoritam faktorizacije za kvantni računar, koji vam omogućava da faktorišete broj u vremenu koje zavisi od polinoma od veličine broja. A 2001. godine ovaj algoritam je uspješno implementiran na prvi radni prototip kvantnog kompjutera koji su kreirali stručnjaci sa IBM-a i Univerziteta Stanford.

Prema mišljenju stručnjaka, kvantni računar sposoban da razbije RSA kriptosistem može se stvoriti za oko 15-25 godina.

Još jedna nesretna činjenica o asimetričnim kriptosistemima je da minimalna „bezbedna veličina“ ključeva konstantno raste zbog napretka u ovoj oblasti. Tokom čitave četvrtvekovne istorije ovakvih sistema, već je porastao otprilike 10 puta, dok se u istom periodu za tradicionalne simetrične šifre veličina ključa promenila manje od dva puta.

Sve navedeno čini dugoročne izglede asimetričnih kriptografskih sistema neu potpunosti pouzdanim i tjera nas da tražimo alternativnim načinima rješavanje istih problema. Neki od njih se mogu riješiti u okviru takozvane kvantne kriptografije, odnosno kvantne komunikacije.

Bez obzira koliko je sam kriptosistem složen i pouzdan, on se zasniva na upotrebi ključeva. Ako je proces razmjene ključeva trivijalan kako bi se osigurala povjerljiva razmjena informacija između dva korisnika, onda u sistemu gdje je broj korisnika desetine ili stotine, upravljanje ključevima predstavlja ozbiljan problem.

Ključne informacije se shvataju kao ukupnost svih ključeva aktivnih u sistemu. Ako nije osigurano dovoljno pouzdano upravljanje ključnim informacijama, tada, nakon što ih preuzme, napadač dobija neograničen pristup svim informacijama.

Upravljanje ključem je informacijski proces koji uključuje tri elementa:

    generiranje ključeva;

    akumulacija ključeva;

    distribucija ključeva.

Generisanje ključeva. U stvarnim sistemima, posebne hardverske i softverske metode se koriste za generisanje slučajnih ključeva. U pravilu se koriste senzori slučajnih brojeva. Međutim, stepen slučajnosti njihove generacije trebao bi biti prilično visok. Idealni generatori su uređaji zasnovani na “prirodnim” slučajnim procesima. Na primjer, generiranje ključeva na osnovu bijelog radio šuma. Drugi slučajni matematički objekt su decimale iracionalnih brojeva, kao što su  ili e, koji se izračunavaju korištenjem standardnih matematičkih metoda.

U sistemima sa prosječnim sigurnosnim zahtjevima, sasvim su prihvatljivi softverski generatori ključeva koji izračunavaju slučajne brojeve kao složenu funkciju trenutnog vremena i (ili) broja koji unese korisnik.

Akumulacija ključeva. Akumulacija ključeva se odnosi na organizaciju njihovog skladištenja, računovodstva i uklanjanja.

S obzirom da je ključ najatraktivniji objekt za napadača, otvarajući put povjerljivim informacijama, posebnu pažnju treba obratiti na gomilanje ključeva.

Privatni ključevi nikada ne bi trebali biti eksplicitno napisani na mediju koji se može čitati ili kopirati.

U prilično složenom sistemu, jedan korisnik može raditi s velikom količinom ključnih informacija, a ponekad čak postoji i potreba za organiziranjem mini baza podataka ključnih informacija. Takve baze podataka su odgovorne za prihvatanje, pohranjivanje, snimanje i brisanje korištenih ključeva.

Svaka informacija o korištenim ključevima mora biti pohranjena u šifriranom obliku. Ključevi koji šifriraju informacije o ključu nazivaju se glavni ključevi.

Poželjno je da svaki korisnik zna glavne ključeve napamet i da ih uopće ne pohranjuje na bilo koji materijalni medij.

Veoma važan uslov za sigurnost informacija je periodično ažuriranje ključnih informacija u sistemu. U tom slučaju, i regularni i glavni ključevi moraju biti ponovo dodijeljeni. U kritičnim sistemima, ključne informacije se moraju svakodnevno ažurirati.

Pitanje ažuriranja ključnih informacija odnosi se i na treći element upravljanja ključevima – distribuciju ključeva. Distribucija ključeva.

    Distribucija ključeva je najkritičniji proces u upravljanju ključevima. Za to postoje dva uslova:

    efikasnost i tačnost distribucije;

U posljednje vrijeme primjetan je pomak ka korištenju kriptosistema javnog ključa, u kojem je eliminisan problem distribucije ključeva. Međutim, distribucija ključnih informacija u sistemu zahtijeva nova efikasna rješenja.

Distribucija ključeva između korisnika implementirana je na dva različita pristupa:

1 Kreiranjem jednog ili više ključnih distributivnih centara. Nedostatak ovakvog pristupa je što distributivni centar zna kome su koji ključevi dodijeljeni, a to omogućava čitanje svih poruka koje kruže u sistemu. Moguće zloupotrebe imaju značajan uticaj na zaštitu.

2 Direktna razmjena ključeva između korisnika sistema. Izazov je tada pouzdana autentikacija subjekata.

U oba slučaja, autentičnost komunikacijske sesije mora biti zajamčena. To se može postići na dva načina:

1 Mehanizam zahtjev-odgovor, koji je kako slijedi. Ako korisnik A želi biti siguran da poruke koje prima od korisnika B nisu lažne, on uključuje nepredvidiv element (zahtjev) u poruku koju šalje B. Kada odgovara, korisnik B mora izvršiti neku operaciju na ovom elementu (na primjer, dodati 1). To se ne može učiniti unaprijed, jer se ne zna koji će slučajni broj doći u zahtjevu. Nakon što dobije odgovor sa rezultatima radnji, korisnik A može biti siguran da je sesija originalna. Nedostatak ove metode je mogućnost uspostavljanja, iako složenih, obrazaca između zahtjeva i odgovora.

2 Mehanizam vremenske oznake. To uključuje snimanje vremena za svaku poruku. U ovom slučaju, svaki korisnik sistema može znati koliko je „stara“ dolazna poruka.

U oba slučaja treba koristiti šifriranje kako bi se osiguralo da odgovor nije poslao napadač i da vremenska oznaka nije promijenjena.

Kada se koriste vremenske oznake, javlja se problem prihvatljivog vremenskog intervala kašnjenja za provjeru autentičnosti sesije. Uostalom, poruka s vremenskom oznakom, u principu, ne može se odmah prenijeti. Pored toga, kompjuterski satovi primaoca i pošiljaoca ne mogu biti apsolutno sinhronizovani.

Kriptosistemi javnog ključa mogu se koristiti za razmjenu ključeva koristeći isti RSA algoritam.

Ali Diffie-Hellmanov algoritam se pokazao vrlo učinkovitim, omogućavajući dvama korisnicima da razmijene ključ bez posrednika, koji se potom može koristiti za simetrično šifriranje.

Diffie-Hellmanov algoritam. Diffie i Hellman su predložili diskretnu funkciju eksponencije za kreiranje kriptografskih sistema s javnim ključem.

Ireverzibilnost transformacije u ovom slučaju je osigurana činjenicom da je prilično lako izračunati eksponencijalnu funkciju u konačnom Galoisovom polju koje se sastoji od p elemenata ( str– ili prost broj ili prost u bilo kojem stepenu). Izračunavanje logaritama u takvim poljima je mnogo radno intenzivnija operacija.

Za razmjenu informacija, prvi korisnik bira nasumični broj x 1, jednako vjerovatno cijelih brojeva od 1 do str– 1. Ovaj broj čuva u tajnosti, a broj šalje drugom korisniku y 1 = , gdje je α fiksni element Galoisovog polja GF(str), koji se, zajedno sa p, unaprijed distribuira među korisnicima.

Drugi korisnik radi isto, generira x 2 i izračunavanje y 2, šaljući ga prvom korisniku. Kao rezultat toga, obojica mogu izračunati zajednički tajni ključ k 12 =
.

Da bi izračunali k 12, prvi korisnik postavlja y 2 na vlast x 1 i pronalazi ostatak kada se podijeli sa str. Drugi korisnik radi isto, samo koristeći y 1 i x 2. Dakle, oba korisnika imaju zajednički ključ k 12, koji se može koristiti za šifriranje informacija korištenjem konvencionalnih algoritama. Za razliku od RSA algoritma, ovaj algoritam ne dozvoljava šifriranje stvarnih informacija.

Bez znanja x 1 i x 2, napadač može pokušati izračunati k 12, znajući samo presretnuti y 1 i y 2. Ekvivalencija ovog problema problemu izračunavanja diskretnog logaritma je glavno i otvoreno pitanje u sistemima javnog ključa. Jednostavno rješenje do danas nije pronađeno. Dakle, ako direktna konverzija 1000-bitnih prostih brojeva zahtijeva 2000 operacija, onda će inverzna konverzija (izračunavanje logaritma u Galois polju) zahtijevati oko 1030 operacija.

Kao što vidite, uprkos jednostavnosti Diffie-Hellman algoritma, njegov nedostatak u poređenju sa RSA sistemom je nedostatak zagarantovane donje granice za složenost otkrića ključa.

Osim toga, iako opisani algoritam zaobilazi problem prijenosa skrivenog ključa, ostaje potreba za autentifikacijom. Bez dodatnih sredstava, jedan od korisnika ne može biti siguran da je razmijenio ključeve upravo sa onim korisnikom koji mu je potreban.

Recenzije