Upravljanje kriptografskim ključevima: generiranje, pohrana i distribucija ključeva. Problem distribucije ključa u kriptografiji Protokoli distribucije ključa korištenjem petlje

22.05.2023 Vijesti

Koliko god sam kriptosustav bio složen i pouzdan, on se temelji na korištenju ključeva. Ako je proces razmjene ključeva trivijalan kako bi se osigurala povjerljiva razmjena informacija između dva korisnika, onda je u sustavu gdje je broj korisnika na desetke ili stotine, upravljanje ključem ozbiljan problem.

Pod ključnim informacijama podrazumijeva se ukupnost svih ključeva aktivnih u sustavu. Ako nije osigurano dovoljno pouzdano upravljanje ključnim informacijama, tada napadač, nakon što ih preuzme, dobiva neograničen pristup svim informacijama.

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

Generiranje ključeva;

Akumulacija ključeva;

Distribucija ključeva.

Generiranje ključeva. U stvarnim sustavima koriste se posebne hardverske i softverske metode za generiranje slučajnih ključeva. U pravilu se koriste senzori slučajnih brojeva. Međutim, stupanj slučajnosti njihove generacije trebao bi biti prilično visok. Idealni generatori su uređaji temeljeni na "prirodnim" slučajnim procesima. Na primjer, generiranje ključeva na temelju bijelog radio šuma. Drugi slučajni matematički objekt su decimalna mjesta iracionalnih brojeva, kao što su p ili e, koji se izračunavaju korištenjem standardnih matematičkih metoda.

U sustavima s prosječnim sigurnosnim zahtjevima sasvim su prihvatljivi programski 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 odnosi se na organizaciju njihovog skladištenja, računovodstva i uklanjanja.

Budući da je ključ za napadača najatraktivniji objekt koji otvara put do povjerljivih informacija, posebnu pozornost treba posvetiti gomilanju ključeva.

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

U prilično složenom sustavu, jedan korisnik može raditi s velikom količinom ključnih informacija, a ponekad čak postoji potreba za organiziranjem mini-baza ključnih informacija. Takve baze podataka odgovorne su za prihvaćanje, pohranu, 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 materijalne medije.

Vrlo važan uvjet informacijske sigurnosti je periodično ažuriranje ključnih informacija u sustavu. U tom slučaju, i obični ključevi i glavni ključevi moraju se ponovno dodijeliti. U kritičnim sustavima ključne informacije moraju se svakodnevno ažurirati.


Pitanje ažuriranja ključnih informacija također je povezano s trećim elementom upravljanja ključevima – distribucijom ključeva.

Distribucija ključeva. Distribucija ključeva je najkritičniji proces u upravljanju ključevima. Postoje dva zahtjeva za to:

Učinkovitost i točnost distribucije;

Tajnost distribuiranih ključeva.

U posljednje vrijeme primjetan je pomak prema korištenju kriptosustava s javnim ključem, u kojem je problem distribucije ključa eliminiran. No, distribucija ključnih informacija u sustavu zahtijeva nova učinkovita rješenja.

Distribucija ključeva među korisnicima implementirana je na dva različita pristupa:

1 Stvaranjem jednog ili više ključnih distribucijskih centara. Nedostatak ovog pristupa je što distribucijski centar zna kome su dodijeljeni koji ključevi, a to omogućuje čitanje svih poruka koje kruže sustavom. Moguće zlouporabe značajno utječu na zaštitu.

2 Izravna razmjena ključeva između korisnika sustava. Izazov je tada pouzdano potvrditi autentičnost subjekata.

U oba slučaja mora se jamčiti autentičnost komunikacijske sesije. To se može postići na dva načina:

1 Mehanizam zahtjev-odgovor, koji je sljedeći. Ako korisnik A želi biti siguran da poruke koje prima od korisnika B nisu lažne, on uključuje nepredvidivi element (zahtjev) u poruku koju šalje korisniku 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 primitka odgovora s rezultatima radnji, korisnik A može biti siguran da je sesija autentična. Nedostatak ove metode je mogućnost uspostavljanja, iako složenih, obrazaca između zahtjeva i odgovora.

2 Mehanizam vremenskog žiga. To uključuje bilježenje vremena za svaku poruku. U tom slučaju svaki korisnik sustava može znati koliko je "stara" dolazna poruka.

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

Kod korištenja vremenskih oznaka javlja se problem prihvatljivog vremenskog intervala odgode za provjeru autentičnosti sesije. Uostalom, poruka s vremenskom oznakom u načelu se ne može poslati trenutno. Osim toga, računalni satovi primatelja i pošiljatelja ne mogu se apsolutno sinkronizirati.

Kriptosustavi s javnim ključem mogu se koristiti za razmjenu ključeva koristeći isti RSA algoritam.

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

Diffie-Hellmanov algoritam. Diffie i Hellman predložili su diskretnu funkciju stepenovanja za stvaranje kriptografskih sustava s javnim ključem.

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

Za razmjenu informacija prvi korisnik odabire slučajni broj x 1, jednaka vjerojatnost cijelih brojeva od 1 do str– 1. Ovaj broj drži u tajnosti, a broj šalje drugom korisniku g 1 = , gdje je α fiksni element Galoisovog polja GF(str), koji se zajedno s p unaprijed distribuira korisnicima.

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

Da bi se izračunalo k 12, prvi korisnik postavlja g 2 na potenciju x 1 i pronalazi ostatak kada se podijeli sa str. Drugi korisnik čini isto, samo koristeći g 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 dopušta šifriranje stvarnih informacija.

Ne znati x 1 i x 2, napadač može pokušati izračunati k 12, znajući samo presretnuti g 1 i g 2. Ekvivalencija ovog problema s problemom izračuna diskretnog logaritma glavno je i otvoreno pitanje u sustavima s javnim ključem. Jednostavno rješenje do danas nije pronađeno. Dakle, ako izravna konverzija 1000-bitnih prostih brojeva zahtijeva 2000 operacija, tada će inverzna konverzija (izračunavanje logaritma u Galoisovom polju) zahtijevati oko 1030 operacija.

Kao što vidite, unatoč jednostavnosti Diffie-Hellmanovog algoritma, njegov nedostatak u usporedbi sa RSA sustavom je nedostatak zajamčene donje granice za složenost otkrivanja ključa.

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

Svaki kriptografski sustav radi s kriptografskim ključevima. Ako sustav ne implementira mehanizam za upravljanje ključnim podacima, tada napadaču neće biti teško doći u njihov posjed. Upravljanje ključem uključuje postupke kao što su generiranje, pohranjivanje i distribucija ključeva. Zadnji postupak je najvažniji.

U simetričnom kriptosustavu, dvije strane se prvo moraju dogovoriti oko tajnog ključa sesije, ključa za šifriranje svih paketa. Ključ mora biti tajan i povremeno ažuriran za pretplatnike. Asimetrični kriptosustav podrazumijeva korištenje dvaju ključeva – privatnog (tajnog) i javnog. Javni ključ je otkriven. Kada prosljeđujete poruke, trebate proslijediti javni ključ, implementirajući provjeru autentičnosti.

Sustav distribucije ključeva mora ispunjavati sljedeće zahtjeve:

  • cjelovitost i povjerljivost distribuiranih ključeva
  • učinkovitost i točnost distribucije

Postoje 2 pristupa pri distribuciji ključeva:

  • korištenje ključnih distribucijskih centara
  • izravna razmjena ključeva između pretplatnika

U prvom pristupu centar za distribuciju ključeva zna koji su ključevi poslani i kome. U drugom pristupu morate provjeriti autentičnost mrežnih subjekata. Zadatak distribucija ključeva svodi se na stvaranje koji implementira:

  • autentifikacija sudionika sesije
  • provjera autentičnosti sesije
  • implementacija minimalnog broja prijenosa poruka tijekom razmjene ključeva

Očit primjer implementacije ključnih distribucijskih centara je Kerberos sustav. Ovdje ćemo pogledati drugi pristup. Za ovu upotrebu:

  • kriptosustav asimetričnog javnog ključa za zaštitu privatnog ključa simetričnog kriptosustava
  • Diffie-Hellman sustavi distribucije javnih ključeva

Implementacija kombiniranog kriptosustava upravljanja distribucijom

Glavni aspekt kriptosustava asimetričnog javnog ključa je njihova potencijalno visoka sigurnost. Nema potrebe predavati ključeve niti provjeravati njihovu autentičnost. Međutim, takav sustav je inferioran u brzini u usporedbi sa simetričnim kriptosustavima s tajnim ključem.

Kombiniranom implementacijom asimetrične i simetrične enkripcije uklanjaju se glavni nedostaci koji su karakteristični za pojedine sustave. Ideja je sljedeća:

  • implementiran je simetrični kriptosustav za šifriranje izvornog teksta, a asimetrični kriptosustav s javnim ključem implementiran je za šifriranje tajnog ključa simetričnog kriptosustava.

Ovaj pristup se također naziva shema elektronička digitalna omotnica. Pogledajmo primjer. Korisnik A želi implementirati hibridnu metodu šifriranja za siguran prijenos paketa M do korisnika B. Algoritam je sljedeći:

  • Radnje korisnika A:
    • Stvara (na bilo koji način) tajni ključ sesije K s, koji je potreban u simetričnoj enkripciji za šifriranje paketa
    • Šifrira paket M simetričnim algoritmom na tajnom ključu sesije K s
    • Šifrira tajni ključ sesije K s asimetričnim algoritmom na javnom ključu K B korisnika B
    • Šalje šifrirani paket M preko otvorenog kanala korisniku B zajedno s šifriranim ključem sesije K s
  • Radnje korisnika B (po primitku elektroničke digitalne omotnice):
    • dešifrirajte ključ sesije K s pomoću asimetričnog algoritma pomoću vašeg tajnog ključa K B
    • Dešifrirajte paket M pomoću simetričnog algoritma koristeći dešifrirani ključ K s
    • Radnje korisnika prikazane su na slici 1

Slika 1

Prilikom implementacije digitalne omotnice, nedostaci asimetričnog i simetričnog algoritma kompenziraju se zbog:

  • problem distribucije ključeva simetričnog kriptoalgoritma eliminiran je činjenicom da se ključ sesije K s prenosi preko otvorenog kanala u šifriranom obliku pomoću asimetričnog kriptoalgoritma
  • problem male brzine asimetričnog algoritma nije relevantan, jer je samo ključ šifriran, a tekst je šifriran simetričnim kriptoalgoritmom

Ako je duljina ključa sesije manja od duljine asimetričnog ključa, tada će napadač napasti ključ sesije. Tablica 1 prikazuje omjer duljina ključeva.

Tablica 1 - Duljine ključeva za asimetrične i simetrične sustave s istom kriptografskom snagom

Diffie-Hellmanova metoda raspodjele ključeva

W. Diffie i M. Hellman su 1976. godine kreirali metodu distribucije javnih ključeva. Metoda omogućuje korisnicima razmjenu ključeva preko nezaštićenog komunikacijskog kanala. Njegova se sigurnost temelji na težini izračunavanja diskretnih logaritama u konačnom polju, za razliku od lakoće rješavanja izravnog problema diskretnog potenciranja u istom polju. Radni dijagram metode prikazan je na sl. 2.

Slika - 2

Korisnici A i B prilikom razmjene podataka generiraju svoje slučajne tajne ključeve K A i K B (ključevi su slučajni veliki cijeli brojevi). Korisnici A i B tada izračunavaju javne ključeve:

  • J A,B = g K A,B (mod N)

N, g su veliki cijeli prosti brojevi. Ovi brojevi nisu tajni i poznati su svim korisnicima sustava. Korisnici A i B zatim razmjenjuju ključeve J preko nesigurnog kanala i implementiraju ih za izračunavanje dijeljenog ključa sesije J:

  • korisnik A: J = (J B) K A (mod N) = (g K B) K A (mod N)
  • korisnik B: J` = (J A) K B (mod N) = (g K A) K B (mod N)
  • J = J`, budući da je (g K B) K A = (g K A) K B

Zahvaljujući implementaciji jednosmjerne funkcije, operacija izračuna javnog ključa je nepovratna. Diffie-Hellmanov algoritam omogućuje šifriranje informacija novim ključevima tijekom svake komunikacijske sesije. Ovo povećava sigurnost jer nema potrebe za pohranjivanjem tajni na medije. Također, ovakav algoritam omogućuje implementaciju metode sveobuhvatne zaštite povjerljivosti i autentičnosti prenesenih podataka.

Način sveobuhvatne zaštite povjerljivosti i vjerodostojnosti prenesenih podataka

Kako bi se istovremeno zaštitila povjerljivost i cjelovitost informacija, preporučljivo je implementirati enkripciju u kompleksu. Algoritam radi na sljedeći način:

  • korisnik A potpisuje paket M koristeći svoj privatni ključ K A , implementirajući standardni algoritam digitalnog potpisa
  • korisnik A izračunava zajednički tajni ključ K koristeći Diffie-Hellmanov princip iz svog javnog ključa i javnog ključa korisnika B
  • korisnik A šifrira paket M koristeći zajednički tajni ključ K koristeći simetričnu enkripciju
  • korisnik B prima paket M, izračunava zajednički ključ K i dekriptira paket M
  • korisnik B provjerava potpis dekriptiranog paketa M korištenjem javnog ključa korisnika K A

Protokoli za upravljanje kriptoključevima SKIP i IKE rade na temelju Diffie-Hellmanovog algoritma.

Koliko god sam kriptosustav bio složen i pouzdan, on se temelji na korištenju ključeva. Ako je proces razmjene ključeva trivijalan kako bi se osigurala povjerljiva razmjena informacija između dva korisnika, onda je u sustavu gdje je broj korisnika na desetke ili stotine, upravljanje ključem ozbiljan problem.

Pod ključnim informacijama podrazumijeva se ukupnost svih ključeva aktivnih u sustavu. Ako nije osigurano dovoljno pouzdano upravljanje ključnim informacijama, tada napadač, nakon što ih preuzme, dobiva neograničen pristup svim informacijama.

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

    generiranje ključeva;

    nakupljanje ključeva;

    raspodjela ključeva.

Generiranje ključeva. U stvarnim sustavima koriste se posebne hardverske i softverske metode za generiranje slučajnih ključeva. U pravilu se koriste senzori slučajnih brojeva. Međutim, stupanj slučajnosti njihove generacije trebao bi biti prilično visok. Idealni generatori su uređaji temeljeni na "prirodnim" slučajnim procesima. Na primjer, generiranje ključeva na temelju bijelog radio šuma. Još jedan slučajni matematički objekt su decimale iracionalnih brojeva, kao što su  ili e, koje se izračunavaju korištenjem standardnih matematičkih metoda.

U sustavima s prosječnim sigurnosnim zahtjevima sasvim su prihvatljivi programski 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 odnosi se na organizaciju njihovog skladištenja, računovodstva i uklanjanja.

Budući da je ključ za napadača najatraktivniji objekt koji otvara put do povjerljivih informacija, posebnu pozornost treba posvetiti gomilanju ključeva.

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

U prilično složenom sustavu, jedan korisnik može raditi s velikom količinom ključnih informacija, a ponekad čak postoji potreba za organiziranjem mini-baza ključnih informacija. Takve baze podataka odgovorne su za prihvaćanje, pohranu, 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 materijalne medije.

Vrlo važan uvjet informacijske sigurnosti je periodično ažuriranje ključnih informacija u sustavu. U tom slučaju, i obični ključevi i glavni ključevi moraju se ponovno dodijeliti. U kritičnim sustavima ključne informacije moraju se svakodnevno ažurirati.

Pitanje ažuriranja ključnih informacija također je povezano s trećim elementom upravljanja ključevima – distribucijom ključeva.

Distribucija ključeva. Distribucija ključeva je najkritičniji proces u upravljanju ključevima. Postoje dva zahtjeva za to:

    učinkovitost i točnost distribucije;

    tajnost distribuiranih ključeva.

U posljednje vrijeme primjetan je pomak prema korištenju kriptosustava s javnim ključem, u kojem je problem distribucije ključa eliminiran. No, distribucija ključnih informacija u sustavu zahtijeva nova učinkovita rješenja.

Distribucija ključeva među korisnicima implementirana je na dva različita pristupa:

1 Stvaranjem jednog ili više ključnih distribucijskih centara. Nedostatak ovog pristupa je što distribucijski centar zna kome su dodijeljeni koji ključevi, a to omogućuje čitanje svih poruka koje kruže sustavom. Moguće zlouporabe značajno utječu na zaštitu.

2 Izravna razmjena ključeva između korisnika sustava. Izazov je tada pouzdano potvrditi autentičnost subjekata.

U oba slučaja mora se jamčiti autentičnost komunikacijske sesije. To se može postići na dva načina:

1 Mehanizam zahtjev-odgovor, koji je sljedeći. Ako korisnik A želi biti siguran da poruke koje prima od korisnika B nisu lažne, on uključuje nepredvidivi element (zahtjev) u poruku koju šalje korisniku 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 primitka odgovora s rezultatima radnji, korisnik A može biti siguran da je sesija autentična. Nedostatak ove metode je mogućnost uspostavljanja, iako složenih, obrazaca između zahtjeva i odgovora.

2 Mehanizam vremenskog žiga. To uključuje bilježenje vremena za svaku poruku. U tom slučaju svaki korisnik sustava može znati koliko je "stara" dolazna poruka.

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

Kod korištenja vremenskih oznaka javlja se problem prihvatljivog vremenskog intervala odgode za provjeru autentičnosti sesije. Uostalom, poruka s vremenskom oznakom u načelu se ne može poslati trenutno. Osim toga, računalni satovi primatelja i pošiljatelja ne mogu se apsolutno sinkronizirati.

Kriptosustavi s javnim ključem mogu se koristiti za razmjenu ključeva koristeći isti RSA algoritam.

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

Diffie-Hellmanov algoritam. Diffie i Hellman predložili su diskretnu funkciju stepenovanja za stvaranje kriptografskih sustava s javnim ključem.

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

Za razmjenu informacija prvi korisnik odabire slučajni broj x 1, jednaka vjerojatnost cijelih brojeva od 1 do str– 1. Ovaj broj drži u tajnosti, a broj šalje drugom korisniku g 1 = , gdje je α fiksni element Galoisovog polja GF(str), koji se zajedno s p unaprijed distribuira korisnicima.

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

Da bi se izračunalo k 12, prvi korisnik postavlja g 2 na potenciju x 1 i pronalazi ostatak kada se podijeli sa str. Drugi korisnik čini isto, samo koristeći g 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 dopušta šifriranje stvarnih informacija.

Ne znati x 1 i x 2, napadač može pokušati izračunati k 12, znajući samo presretnuti g 1 i g 2. Ekvivalencija ovog problema s problemom izračuna diskretnog logaritma glavno je i otvoreno pitanje u sustavima s javnim ključem. Jednostavno rješenje do danas nije pronađeno. Dakle, ako izravna konverzija 1000-bitnih prostih brojeva zahtijeva 2000 operacija, tada će inverzna konverzija (izračunavanje logaritma u Galoisovom polju) zahtijevati oko 1030 operacija.

Kao što vidite, unatoč jednostavnosti Diffie-Hellmanovog algoritma, njegov nedostatak u usporedbi sa RSA sustavom je nedostatak zajamčene donje granice za složenost otkrivanja ključa.

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

Protokol distribucije ključeva Protokol za uspostavu ključa je kriptografski protokol u kojem zajednička tajna postaje dostupna dvjema ili više strana za kasniju upotrebu u kriptografske svrhe.

Protokoli za distribuciju ključeva podijeljeni su u dvije klase:

    Ključni transportni protokoli;

    Protokoli za razmjenu ključeva.

Ključni transportni protokoli(transport ključeva) su protokoli za distribuciju ključeva u kojima jedan sudionik stvara ili na drugi način stječe tajnu i sigurno je prenosi drugim sudionicima.

Protokoli za razmjenu ključeva(ključni sporazum, razmjena ključeva) su protokoli za distribuciju ključeva u kojima zajedničku tajnu razrađuju dva ili više sudionika kao funkciju informacija koje je svaki od njih pridonio (ili je povezan s njima) na takav način da (idealno) nitko drugi stranka može unaprijed odrediti njihovu zajedničku tajnu.

Postoje dva dodatna oblika protokola za distribuciju ključeva. Kaže se da protokol izvodi ažuriranje ključa ako protokol generira potpuno novi ključ koji je neovisan o ključevima generiranim u prethodnim sesijama protokola. Protokol generira izvedene ključeve (derivacija ključa) ako se novi ključ “izvede” iz onih koji već postoje među sudionicima u kriptosustavu.

Glavna svojstva protokola za distribuciju ključeva uključuju svojstva provjere autentičnosti ključa, potvrde ključa i eksplicitne provjere autentičnosti ključa.

(Implicitna) provjera autentičnosti ključa(implicitna provjera autentičnosti ključa) - svojstvo kojim jedan sudionik u protokolu osigurava da nijedna druga strana osim posebno identificiranog drugog sudionika u protokolu (i moguće autoriteta povjerenja) ne može pristupiti tajnim ključevima dobivenim u protokolu. Ne postoji jamstvo da je drugi sudionik stvarno dobio pristup ključu, ali nitko drugi osim njega nije ga mogao dobiti. Implicitna provjera autentičnosti ključa neovisna je o stvarnom vlasništvu druge strane nad ključem i ne zahtijeva nikakvu radnju druge strane.

Potvrda ključa(potvrda ključa) - svojstvo kojim je jedan sudionik u protokolu uvjeren da drugi sudionik (moguće neidentificirani) zapravo posjeduje tajne ključeve dobivene u protokolu.

Eksplicitna provjera autentičnosti ključa(eksplicitna provjera autentičnosti ključa) - svojstvo koje se izvršava kada se (implicitna) provjera autentičnosti ključa i potvrda ključa odvijaju istovremeno.

    1. Needham-Schroederov protokol na simetričnim ključevima

Ovaj protokol je temelj velikog broja protokola za distribuciju ključeva koji koriste pouzdane centre. Postoje dvije vrste ovog protokola:

    Needham-Schroederov protokol na simetričnim ključevima;

    Needham-Schroederov protokol na asimetričnim ključevima.

Protokol simetričnog ključa radi na sljedeći način:

Preliminarna faza:

Nakon što su javni ključevi distribuirani i stavljeni na raspolaganje, postaje moguće organizirati sigurnu komunikaciju koja ne dopušta presretanje ili mijenjanje poruka, ili oboje. Međutim, neki će korisnici odlučiti koristiti enkripciju s javnim ključem samo u iznimnim okolnostima zbog relativno sporih brzina prijenosa podataka pri kojima se koristi. Stoga se šifriranje javnim ključem mora više promatrati kao sredstvo distribucije tajnih ključeva koji se koriste za tradicionalno šifriranje.

JEDNOSTAVNA DISTRIBUCIJA TAJNIH KLJUČEVA

Izuzetno jednostavan dijagram prikazan je na sl. 11.4.

Ako inicijator A namjerava razmijeniti podatke s korisnikom U, U tu svrhu pretpostavlja se sljedeći postupak.

Riža. 11.4.

  • 1. Strana A generira par javni/privatni ključ (KU a, KR a) i šalje strani B poruku koja sadrži KU a i IDa pošiljatelja A.
  • 2. Primatelj B generira tajni ključ K y i prenosi taj ključ inicijatoru poruke A, šifriran korištenjem javnog ključa KU a inicijatora A.
  • 3. Korisnik A izračunava D|a^] da povrati tajni ključ. Budući da samo korisnik A može dešifrirati ovu poruku, samo će sudionici komunikacije A i B znati značenje Ks.
  • 4. Sudionik A baca ključ KR a, a sudionik B ključ KU a.

Sada obje strane A i B mogu koristiti komunikaciju zaštićenu tradicionalnom enkripcijom ključa sesije Ks. Unatoč svojoj jednostavnosti, ovaj protokol je vrlo atraktivan. Ključevi ne postoje prije početka komunikacije, niti ključevi prestaju nakon završetka komunikacije. Stoga je rizik od kompromitacije ključeva minimalan. Ujedno je veza zaštićena od prisluškivanja.

Ovaj je protokol ranjiv na aktivne napade. Ako protivnik E ima mogućnost infiltracije u komunikacijski kanal, tada može kompromitirati komunikaciju bez da bude otkriven na sljedeći način.

  • 5. Sudionik A generira par javnih/privatnih ključeva (KU a, KR„) i šalje strani B poruku koja sadrži KU a i identifikator Sh A pošiljatelja A.
  • 6. Protivnik E presreće poruku, stvara svoj vlastiti par javno/privatni ključ (KU e, KR,) i šalje primatelju B poruku koja sadrži KU e || Š A.
  • 7. B generira tajni ključ K v i šalje ga EkiLK,].
  • 8. Protivnik E presreće ovu poruku i saznaje K v izračunavanjem D KRe ].
  • 9. Protivnik E šalje sudioniku A poruku Ekia[Ku|-

Kao rezultat toga, oba sudionika, A i B, znat će K 4, ali neće sumnjati da je K l poznat i protivniku E. Stoga, strane A i B mogu započeti razmjenjivati ​​poruke koristeći Ks. Protivnik E više neće aktivno ometati komunikacijski kanal, već će jednostavno presretati poruke. znajući Ks, on će moći dešifrirati bilo koju poruku, a sudionici A i B neće ni posumnjati na postojanje problema. Stoga je ovaj jednostavan protokol koristan samo kada je jedina moguća prijetnja pasivno presretanje poruka.