Managementul cheilor criptografice: generarea, stocarea și distribuirea cheilor. Problemă de distribuție a cheilor în criptografie Protocoale de distribuție a cheilor folosind bucla

22.05.2023 Știri

Indiferent cât de complex și de fiabil este criptosistemul în sine, acesta se bazează pe utilizarea cheilor. Dacă procesul de schimb de chei este banal pentru a asigura schimbul confidențial de informații între doi utilizatori, atunci într-un sistem în care numărul de utilizatori este de zeci sau sute, managementul cheilor este o problemă serioasă.

Informațiile cheie sunt înțelese ca totalitatea tuturor cheilor active în sistem. Dacă nu este asigurată un management suficient de fiabil al informațiilor cheie, atunci, după ce a intrat în posesia acestora, atacatorul obține acces nelimitat la toate informațiile.

Managementul cheilor este un proces de informare care include trei elemente:

generarea cheilor;

Acumularea de chei;

Distribuția cheilor.

Generarea cheilor.În sistemele reale, metode speciale hardware și software sunt folosite pentru a genera chei aleatorii. De regulă, se folosesc senzori cu numere aleatorii. Cu toate acestea, gradul de aleatorie al generației lor ar trebui să fie destul de mare. Generatoarele ideale sunt dispozitive bazate pe procese aleatorii „naturale”. De exemplu, generarea de chei pe baza zgomotului radio alb. Un alt obiect matematic aleatoriu este zecimalele numerelor iraționale, cum ar fi p sau e, care sunt calculate folosind metode matematice standard.

În sistemele cu cerințe medii de securitate, generatoarele de chei software care calculează numere aleatorii ca o funcție complexă a orei curente și (sau) a numărului introdus de utilizator sunt destul de acceptabile.

Acumularea de chei. Acumularea cheilor se referă la organizarea depozitării, contabilizării și scoaterii acestora.

Deoarece cheia este obiectul cel mai atractiv pentru un atacator, deschizând calea către informații confidențiale, ar trebui să se acorde o atenție deosebită acumulării de chei.

Cheile private nu trebuie scrise niciodată în mod explicit pe un mediu care poate fi citit sau copiat.

Într-un sistem destul de complex, un utilizator poate lucra cu o cantitate mare de informații cheie și, uneori, este chiar nevoia de a organiza mini-baze de date cu informații cheie. Astfel de baze de date sunt responsabile pentru acceptarea, stocarea, înregistrarea și ștergerea cheilor utilizate.

Fiecare informație despre cheile utilizate trebuie să fie stocată în formă criptată. Cheile care criptează informațiile cheie se numesc chei principale. Este de dorit ca fiecare utilizator să știe cheile principale pe de rost și să nu le stocheze deloc pe niciun suport tangibil.

O condiție foarte importantă pentru securitatea informației este actualizarea periodică a informațiilor cheie din sistem. În acest caz, atât cheile obișnuite, cât și cheile principale trebuie reatribuite. În sistemele critice, informațiile cheie trebuie actualizate zilnic.


Problema actualizării informațiilor cheie este legată și de cel de-al treilea element al managementului cheilor – distribuția cheilor.

Distribuția cheilor. Distribuția cheilor este cel mai critic proces în managementul cheilor. Există două cerințe pentru aceasta:

Eficiența și acuratețea distribuției;

Secretul cheilor distribuite.

Recent, a existat o schimbare notabilă către utilizarea criptosistemelor cu chei publice, în care problema distribuției cheilor este eliminată. Cu toate acestea, distribuirea informațiilor cheie în sistem necesită noi soluții eficiente.

Distribuirea cheilor între utilizatori este implementată în două abordări diferite:

1 Prin crearea unuia sau mai multor centre de distribuție cheie. Dezavantajul acestei abordări este că centrul de distribuție știe cui i se atribuie ce taste, iar acest lucru permite citirea tuturor mesajelor care circulă în sistem. Posibilele abuzuri au un impact semnificativ asupra protecției.

2 Schimb direct de chei între utilizatorii sistemului. Provocarea este atunci de a autentifica în mod fiabil subiecții.

În ambele cazuri trebuie garantată autenticitatea sesiunii de comunicare. Acest lucru poate fi realizat în două moduri:

1 Mecanismul cerere-răspuns, care este după cum urmează. Dacă utilizatorul A dorește să fie sigur că mesajele pe care le primește de la utilizatorul B nu sunt false, el include un element (cerere) imprevizibil în mesajul pe care îl trimite lui B. Când răspunde, utilizatorul B trebuie să efectueze o operațiune asupra acestui element (de exemplu, adăugați 1). Acest lucru nu se poate face în avans, deoarece nu se știe ce număr aleatoriu va apărea în cerere. După ce a primit un răspuns cu rezultatele acțiunilor, utilizatorul A poate fi sigur că sesiunea este autentică. Dezavantajul acestei metode este posibilitatea de a stabili, deși complexe, modele între cerere și răspuns.

2 Mecanism de marcare a timpului. Implică înregistrarea timpului pentru fiecare mesaj. În acest caz, fiecare utilizator al sistemului poate ști cât de „vechi” este mesajul primit.

În ambele cazuri, criptarea ar trebui utilizată pentru a se asigura că răspunsul nu a fost trimis de un atacator și că marcajul temporal nu a fost modificat.

Când se utilizează marcaje temporale, apare problema intervalului de timp de întârziere acceptabil pentru verificarea autenticității unei sesiuni. La urma urmei, un mesaj cu un marcaj de timp, în principiu, nu poate fi transmis instantaneu. În plus, ceasurile computerului destinatarului și ale expeditorului nu pot fi sincronizate absolut.

Criptosistemele cu chei publice pot fi folosite pentru a schimba chei folosind același algoritm RSA.

Dar algoritmul Diffie-Hellman s-a dovedit a fi foarte eficient, permițând doi utilizatori să schimbe o cheie fără intermediari, care poate fi apoi folosită pentru criptarea simetrică.

Algoritmul Diffie-Hellman. Diffie și Hellman au propus o funcție de exponențiere discretă pentru crearea sistemelor criptografice cu cheie publică.

Ireversibilitatea transformării în acest caz este asigurată de faptul că este destul de ușor de calculat funcția exponențială într-un câmp finit Galois format din p elemente ( p– fie un număr prim, fie prim în orice grad). Calcularea logaritmilor în astfel de câmpuri este o operație mult mai intensivă în muncă.

Pentru a face schimb de informații, primul utilizator selectează un număr aleatoriu X 1, la fel de probabil pentru numerele întregi de la 1 la p– 1. El păstrează acest număr secret și trimite numărul altui utilizator y 1 = , unde α este un element fix al câmpului Galois GF(p), care, împreună cu p, se distribuie în prealabil între utilizatori.

Al doilea utilizator face la fel, generând X 2 și calculând y 2, trimițându-l primului utilizator. Drept urmare, ambii pot calcula cheia secretă partajată k 12 = .

Pentru a calcula k 12, primul utilizator se ridică y 2 la putere X 1 și găsește restul când se împarte la p. Al doilea utilizator face la fel, doar folosind y 1 și X 2. Astfel, ambii utilizatori au o cheie comună k 12, care poate fi folosit pentru a cripta informații folosind algoritmi convenționali. Spre deosebire de algoritmul RSA, acest algoritm nu permite criptarea informațiilor reale.

Nestiind; necunoscand X 1 și X 2, un atacator poate încerca să calculeze k 12, știind doar interceptat y 1 și y 2. Echivalența acestei probleme cu problema calculării unui logaritm discret este o întrebare majoră și deschisă în sistemele cu cheie publică. O soluție simplă nu a fost găsită până în prezent. Deci, dacă conversia directă a numerelor prime de 1000 de biți necesită 2000 de operații, atunci conversia inversă (calcularea logaritmului în câmpul Galois) va necesita aproximativ 1030 de operații.

După cum puteți vedea, în ciuda simplității algoritmului Diffie-Hellman, dezavantajul acestuia în comparație cu sistemul RSA este lipsa unei limite inferioare garantate pentru complexitatea descoperirii cheilor.

În plus, deși algoritmul descris eludează problema transferului de chei ascunse, rămâne nevoia de autentificare. Fără mijloace suplimentare, unul dintre utilizatori nu poate fi sigur că a schimbat cheile exact cu utilizatorul de care are nevoie.

Fiecare sistem criptografic funcționează cu chei criptografice. Dacă sistemul nu implementează un mecanism de gestionare a datelor cheie, atunci nu va fi dificil pentru un atacator să intre în posesia acestora. Managementul cheilor implică proceduri precum generarea, stocarea și distribuirea cheilor. Ultima procedură este cea mai importantă.

Într-un criptosistem simetric, două părți trebuie mai întâi să convină asupra unei chei de sesiune secretă, cheia pentru criptarea tuturor pachetelor. Cheia trebuie să fie secretă și actualizată periodic pentru abonați. Un criptosistem asimetric implică utilizarea a două chei - private (secrete) și publice. Cheia publică este dezvăluită. Când redirecționați mesaje, trebuie să redirecționați cheia publică, implementând autentificarea directă.

Sistemul de distribuție a cheilor trebuie să respecte următoarele cerințe:

  • integritatea și confidențialitatea cheilor distribuite
  • eficienta si acuratetea distributiei

Există 2 abordări la distribuirea cheilor:

  • utilizarea centrelor de distribuție cheie
  • schimb direct de chei între abonați

În prima abordare, centrul de distribuție a cheilor știe ce chei au fost trimise și cui. În a doua abordare, trebuie să verificați autenticitatea subiecților din rețea. Sarcină distribuția cheilor se rezumă la crearea unui sistem care implementează:

  • autentificarea participanților la sesiune
  • autentificarea sesiunii
  • implementarea numărului minim de transmisii de mesaje în timpul schimbului de chei

Un exemplu evident de implementare a centrelor de distribuție cheie este sistemul Kerberos. Aici ne vom uita la a doua abordare. Pentru aceasta utilizare:

  • un criptosistem asimetric cu cheie publică pentru a proteja cheia privată a unui criptosistem simetric
  • Sisteme de distribuție a cheilor publice Diffie-Hellman

Implementarea unui criptosistem combinat de control al distribuției

Principalul aspect al criptosistemelor asimetrice cu chei publice este securitatea lor potențial ridicată. Nu este nevoie să predați cheile sau să verificați autenticitatea acestora. Cu toate acestea, un astfel de sistem este inferior ca viteză în comparație cu criptosistemele simetrice cu o cheie secretă.

Implementarea combinată a criptării asimetrice și simetrice elimină principalele dezavantaje care sunt caracteristice sistemelor individuale. Ideea este aceasta:

  • un criptosistem simetric este implementat pentru a cripta textul original și un criptosistem asimetric cu cheie publică este implementat pentru a cripta cheia secretă a criptosistemului simetric.

Această abordare se mai numește și schemă plic electronic digital. Să ne uităm la un exemplu. Utilizatorul A dorește să implementeze o metodă de criptare hibridă pentru a transporta în siguranță pachetul M către utilizatorul B. Algoritmul este următorul:

  • Acțiuni ale utilizatorului A:
    • Creează (prin orice mijloace) o cheie secretă de sesiune K s, care este necesară în criptarea simetrică pentru a cripta pachetele
    • Criptează pachetul M cu un algoritm simetric pe cheia secretă de sesiune K s
    • Criptează cheia secretă de sesiune K s cu algoritmul asimetric pe cheia publică K B a utilizatorului B
    • Trimite un pachet criptat M pe un canal deschis către utilizatorul B împreună cu o cheie de sesiune criptată K s
  • Acțiuni ale utilizatorului B (la primirea unui plic digital electronic):
    • decriptați cheia de sesiune K s folosind un algoritm asimetric folosind cheia dvs. secretă K B
    • Decriptați pachetul M folosind un algoritm simetric folosind cheia decriptată K s
    • Acțiunile utilizatorului sunt prezentate în Fig. 1

Poza 1

La implementarea unui plic digital, dezavantajele algoritmilor asimetrici și simetrici sunt compensate datorită:

  • problema distribuirii cheilor unui criptoalgoritm simetric este eliminată prin faptul că cheia de sesiune K s este transmisă pe un canal deschis în formă criptată folosind un criptoalgoritm asimetric
  • problema vitezei lente a algoritmului asimetric nu este relevantă, deoarece doar cheia este criptată, iar textul este criptat cu un criptoalgoritm simetric

Dacă lungimea cheii de sesiune este mai mică decât lungimea cheii asimetrice, atunci atacatorul va ataca cheia de sesiune. Tabelul 1 arată raportul lungimii cheilor.

Tabelul 1 - Lungimile cheilor pentru sisteme asimetrice și simetrice cu aceeași putere criptografică

Metoda de distribuție a cheilor Diffie-Hellman

W. Diffie și M. Hellman au creat metoda de distribuție a cheii publice în 1976. Metoda permite utilizatorilor să schimbe chei printr-un canal de comunicare nesecurizat. Securitatea sa se bazează pe dificultatea de a calcula logaritmi discreti într-un câmp finit, spre deosebire de ușurința rezolvării problemei directe a exponențiației discrete în același câmp. Schema de funcționare a metodei este prezentată în Fig. 2.

Figura - 2

Utilizatorii A și B, atunci când fac schimb de date, își generează cheile secrete aleatoare K A și K B (cheile sunt numere întregi mari aleatorii). Utilizatorii A și B calculează apoi cheile publice:

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

N, g sunt numere prime întregi mari. Aceste numere nu sunt secrete și sunt cunoscute de toți utilizatorii sistemului. Utilizatorii A și B schimbă apoi cheile J pe un canal nesigur și le implementează pentru a calcula o cheie de sesiune partajată J:

  • utilizator A: J = (J B) K A (mod N) = (g K B) K A (mod N)
  • utilizator B: J` = (J A) K B (mod N) = (g K A) K B (mod N)
  • J = J`, deoarece (g K B) K A = (g K A) K B

Datorită implementării unei funcții unidirecționale, operația de calcul a cheii publice este ireversibilă. Algoritmul Diffie-Hellman permite ca informațiile să fie criptate cu chei noi în timpul fiecărei sesiuni de comunicare. Acest lucru crește securitatea, deoarece nu este nevoie să stocați secrete pe media. De asemenea, un astfel de algoritm permite implementarea unei metode de protecție cuprinzătoare a confidențialității și autenticității datelor transmise.

Metodă de protecție completă a confidențialității și autenticității datelor transmise

Pentru a proteja simultan confidențialitatea și integritatea informațiilor, este recomandabil să implementați criptarea într-un complex. Algoritmul funcționează după cum urmează:

  • utilizatorul A semnează pachetul M folosind cheia sa privată K A , implementând un algoritm de semnătură digitală standard
  • utilizatorul A calculează cheia secretă partajată K utilizând principiul Diffie-Hellman din cheia sa publică și cheia publică a utilizatorului B
  • utilizatorul A criptează pachetul M utilizând cheia secretă partajată K utilizând criptarea simetrică
  • utilizatorul B primește pachetul M, calculează cheia partajată K și decriptează pachetul M
  • utilizatorul B verifică semnătura pachetului decriptat M folosind cheia publică a utilizatorului K A

Protocoalele de gestionare a criptocheilor SKIP și IKE funcționează pe baza algoritmului Diffie-Hellman.

Indiferent cât de complex și de fiabil este criptosistemul în sine, acesta se bazează pe utilizarea cheilor. Dacă procesul de schimb de chei este banal pentru a asigura schimbul confidențial de informații între doi utilizatori, atunci într-un sistem în care numărul de utilizatori este de zeci sau sute, managementul cheilor este o problemă serioasă.

Informațiile cheie sunt înțelese ca totalitatea tuturor cheilor active în sistem. Dacă nu este asigurată un management suficient de fiabil al informațiilor cheie, atunci, după ce a intrat în posesia acestora, atacatorul obține acces nelimitat la toate informațiile.

Managementul cheilor este un proces de informare care include trei elemente:

    generarea cheilor;

    acumulare de chei;

    distribuirea cheilor.

Generarea cheilor.În sistemele reale, metode speciale hardware și software sunt folosite pentru a genera chei aleatorii. De regulă, se folosesc senzori cu numere aleatorii. Cu toate acestea, gradul de aleatorie al generației lor ar trebui să fie destul de mare. Generatoarele ideale sunt dispozitive bazate pe procese aleatorii „naturale”. De exemplu, generarea de chei pe baza zgomotului radio alb. Un alt obiect matematic aleatoriu este zecimalele numerelor iraționale, cum ar fi  sau e, care sunt calculate folosind metode matematice standard.

În sistemele cu cerințe medii de securitate, generatoarele de chei software care calculează numere aleatorii ca o funcție complexă a orei curente și (sau) a numărului introdus de utilizator sunt destul de acceptabile.

Acumularea de chei. Acumularea cheilor se referă la organizarea depozitării, contabilizării și scoaterii acestora.

Deoarece cheia este obiectul cel mai atractiv pentru un atacator, deschizând calea către informații confidențiale, ar trebui să se acorde o atenție deosebită acumulării de chei.

Cheile private nu trebuie scrise niciodată în mod explicit pe un mediu care poate fi citit sau copiat.

Într-un sistem destul de complex, un utilizator poate lucra cu o cantitate mare de informații cheie și, uneori, este chiar nevoia de a organiza mini-baze de date cu informații cheie. Astfel de baze de date sunt responsabile pentru acceptarea, stocarea, înregistrarea și ștergerea cheilor utilizate.

Fiecare informație despre cheile utilizate trebuie să fie stocată în formă criptată. Cheile care criptează informațiile cheie se numesc chei principale. Este de dorit ca fiecare utilizator să știe cheile principale pe de rost și să nu le stocheze deloc pe niciun suport tangibil.

O condiție foarte importantă pentru securitatea informației este actualizarea periodică a informațiilor cheie din sistem. În acest caz, atât cheile obișnuite, cât și cheile principale trebuie reatribuite. În sistemele critice, informațiile cheie trebuie actualizate zilnic.

Problema actualizării informațiilor cheie este legată și de cel de-al treilea element al managementului cheilor – distribuția cheilor.

Distribuția cheilor. Distribuția cheilor este cel mai critic proces în managementul cheilor. Există două cerințe pentru aceasta:

    eficiența și acuratețea distribuției;

    secretul cheilor distribuite.

Recent, a existat o schimbare notabilă către utilizarea criptosistemelor cu chei publice, în care problema distribuției cheilor este eliminată. Cu toate acestea, distribuirea informațiilor cheie în sistem necesită noi soluții eficiente.

Distribuirea cheilor între utilizatori este implementată în două abordări diferite:

1 Prin crearea unuia sau mai multor centre de distribuție cheie. Dezavantajul acestei abordări este că centrul de distribuție știe cui i se atribuie ce taste, iar acest lucru permite citirea tuturor mesajelor care circulă în sistem. Posibilele abuzuri au un impact semnificativ asupra protecției.

2 Schimb direct de chei între utilizatorii sistemului. Provocarea este atunci de a autentifica în mod fiabil subiecții.

În ambele cazuri trebuie garantată autenticitatea sesiunii de comunicare. Acest lucru poate fi realizat în două moduri:

1 Mecanismul cerere-răspuns, care este după cum urmează. Dacă utilizatorul A dorește să fie sigur că mesajele pe care le primește de la utilizatorul B nu sunt false, el include un element (cerere) imprevizibil în mesajul pe care îl trimite lui B. Când răspunde, utilizatorul B trebuie să efectueze o operațiune asupra acestui element (de exemplu, adăugați 1). Acest lucru nu se poate face în avans, deoarece nu se știe ce număr aleatoriu va apărea în cerere. După ce a primit un răspuns cu rezultatele acțiunilor, utilizatorul A poate fi sigur că sesiunea este autentică. Dezavantajul acestei metode este posibilitatea de a stabili, deși complexe, modele între cerere și răspuns.

2 Mecanism de marcare a timpului. Implică înregistrarea timpului pentru fiecare mesaj. În acest caz, fiecare utilizator al sistemului poate ști cât de „vechi” este mesajul primit.

În ambele cazuri, criptarea ar trebui utilizată pentru a se asigura că răspunsul nu a fost trimis de un atacator și că marcajul temporal nu a fost modificat.

Când utilizați marcajele temporale, apare problema cantității acceptabile de întârziere pentru verificarea autenticității unei sesiuni. La urma urmei, un mesaj cu un marcaj de timp, în principiu, nu poate fi transmis instantaneu. În plus, ceasurile computerului destinatarului și ale expeditorului nu pot fi sincronizate absolut.

Criptosistemele cu chei publice pot fi folosite pentru a schimba chei folosind același algoritm RSA.

Dar algoritmul Diffie-Hellman s-a dovedit a fi foarte eficient, permițând doi utilizatori să schimbe o cheie fără intermediari, care poate fi apoi folosită pentru criptarea simetrică.

Algoritmul Diffie-Hellman. Diffie și Hellman au propus o funcție de exponențiere discretă pentru crearea sistemelor criptografice cu cheie publică.

Ireversibilitatea transformării în acest caz este asigurată de faptul că este destul de ușor de calculat funcția exponențială într-un câmp finit Galois format din p elemente ( p– fie un număr prim, fie prim în orice grad). Calcularea logaritmilor în astfel de câmpuri este o operație mult mai intensivă în muncă.

Pentru a face schimb de informații, primul utilizator selectează un număr aleatoriu X 1, la fel de probabil pentru numerele întregi de la 1 la p– 1. El păstrează acest număr secret și trimite numărul altui utilizator y 1 = , unde α este un element fix al câmpului Galois GF(p), care, împreună cu p, se distribuie în prealabil între utilizatori.

Al doilea utilizator face la fel, generând X 2 și calculând y 2, trimițându-l primului utilizator. Drept urmare, ambii pot calcula cheia secretă partajată k 12 =
.

Pentru a calcula k 12, primul utilizator se ridică y 2 la putere X 1 și găsește restul când se împarte la p. Al doilea utilizator face la fel, doar folosind y 1 și X 2. Astfel, ambii utilizatori au o cheie comună k 12, care poate fi folosit pentru a cripta informații folosind algoritmi convenționali. Spre deosebire de algoritmul RSA, acest algoritm nu permite criptarea informațiilor reale.

Nestiind; necunoscand X 1 și X 2, un atacator poate încerca să calculeze k 12, știind doar interceptat y 1 și y 2. Echivalența acestei probleme cu problema calculării unui logaritm discret este o întrebare majoră și deschisă în sistemele cu cheie publică. O soluție simplă nu a fost găsită până în prezent. Deci, dacă conversia directă a numerelor prime de 1000 de biți necesită 2000 de operații, atunci conversia inversă (calcularea logaritmului în câmpul Galois) va necesita aproximativ 1030 de operații.

După cum puteți vedea, în ciuda simplității algoritmului Diffie-Hellman, dezavantajul acestuia în comparație cu sistemul RSA este lipsa unei limite inferioare garantate pentru complexitatea descoperirii cheilor.

În plus, deși algoritmul descris eludează problema transferului de chei ascunse, necesitatea autentificării rămâne. Fără mijloace suplimentare, unul dintre utilizatori nu poate fi sigur că a schimbat cheile exact cu utilizatorul de care are nevoie.

Protocolul de distribuire a cheilor Un protocol de stabilire a cheii este un protocol criptografic în care un secret partajat devine disponibil pentru două sau mai multe părți pentru utilizare ulterioară în scopuri criptografice.

Protocoalele de distribuție cheie sunt împărțite în două clase:

    Protocoale cheie de transport;

    Protocoale de schimb de chei.

Protocoale de transport cheie(transportul cheii) sunt protocoale de distribuție a cheilor în care un participant creează sau dobândește în alt mod un secret și îl transmite în siguranță altor participanți.

Protocoale de schimb de chei(acord de cheie, schimb de chei) sunt protocoale de distribuție a cheilor în care un secret partajat este elaborat de doi sau mai mulți participanți în funcție de informațiile furnizate de (sau asociate cu) fiecare dintre ei, astfel încât (ideal) niciun alt partidul își poate predetermina secretul comun.

Există două forme suplimentare de protocoale de distribuție a cheilor. Se spune că un protocol efectuează o actualizare a cheii dacă protocolul generează o cheie complet nouă, care este independentă de cheile generate în sesiunile anterioare ale protocolului. Protocolul generează chei derivate (derivare cheie) dacă o nouă cheie este „derivată” din cele deja existente printre participanții la criptosistem.

Principalele proprietăți ale protocoalelor de distribuție a cheilor includ proprietățile de autentificare a cheii, confirmarea cheii și autentificarea explicită a cheii.

Autentificare cu cheie (implicită).(autentificare implicită a cheii) - o proprietate prin care un participant la un protocol asigură că nicio altă parte, în afară de un al doilea participant la protocol identificat în mod specific (și, eventual, o autoritate de încredere) nu poate accesa cheile secrete obținute în protocol. Nu există nicio garanție că cel de-al doilea participant a obținut acces la cheie, dar nimeni altcineva în afară de el nu a putut să o obțină. Autentificarea implicită a cheii este independentă de proprietatea reală a celeilalte părți asupra cheii și nu necesită nicio acțiune din partea celeilalte părți.

Confirmare cheie(confirmarea cheii) - o proprietate prin care un participant la protocol este convins că un alt participant (eventual neidentificat) deține de fapt cheile secrete obținute în protocol.

Autentificare explicită cu cheie(autentificare explicită a cheii) - o proprietate care este executată atunci când autentificarea cheii (implicite) și confirmarea cheii au loc simultan.

    1. Protocolul Needham-Schroeder pe chei simetrice

Acest protocol stă la baza unui număr mare de protocoale cheie de distribuție care utilizează centre de încredere. Există două tipuri de acest protocol:

    Protocol Needham-Schroeder pe chei simetrice;

    Protocolul Needham-Schroeder pe chei asimetrice.

Protocolul cheii simetrice funcționează după cum urmează:

Etapa preliminara:

Odată ce cheile publice au fost distribuite și puse la dispoziție, devine posibil să se organizeze comunicații securizate care să nu permită interceptarea sau manipularea mesajelor sau ambele. Cu toate acestea, unii utilizatori vor alege să folosească criptarea cu cheie publică numai în circumstanțe excepționale, din cauza ratelor de transfer de date relativ lente în care este utilizată. Prin urmare, criptarea cu chei publice trebuie privită mai mult ca un mijloc de distribuire a cheilor secrete utilizate pentru criptarea tradițională.

DISTRIBUȚIE SIMPLUĂ A CHEEI SECRETE

O diagramă excepțional de simplă este prezentată în Fig. 11.4.

Dacă inițiatorul A intenționează să facă schimb de date cu utilizatorul ÎN,În acest scop se presupune următoarea procedură.

Orez. 11.4.

  • 1. Partea A generează o pereche de chei publice/private (KU a, KR a) și trimite părții B un mesaj care conține KU a și IDa expeditorului A.
  • 2. Destinatarul B generează o cheie secretă K y și transmite această cheie inițiatorului mesajului A, criptată folosind cheia publică KU a a inițiatorului A.
  • 3. Utilizatorul A calculează D|a^] pentru a recupera cheia secretă. Deoarece numai utilizatorul A poate decripta acest mesaj, numai participanții la comunicare A și B vor cunoaște semnificația Ks.
  • 4. Participantul A aruncă cheia KR a, iar participantul B aruncă cheia KU a.

Acum, ambele părți A și B pot folosi comunicarea protejată de criptarea tradițională a cheii de sesiune Ks.În ciuda simplității sale, acest protocol este foarte atractiv. Nu există chei înainte de începerea comunicării și nicio cheie nu rămâne după încheierea comunicării. Prin urmare, riscul ca cheile să fie compromise este minim. În același timp, conexiunea este protejată de interceptări.

Acest protocol este vulnerabil la atacuri active. Dacă adversarul E are capacitatea de a se infiltra în canalul de comunicare, atunci el poate compromite comunicarea fără a fi detectat în felul următor.

  • 5. Participantul A generează o pereche de chei publice/private (KU a, KR„) și trimite părții B un mesaj care conține KU a și identificatorul Sh A al expeditorului A.
  • 6. Adversarul E interceptează mesajul, își creează propria pereche de chei publice/private (KU e, KR,) și transmite destinatarului B un mesaj care conține KU e || Ш А.
  • 7. B generează cheia secretă K v și o transmite către EkiLK,].
  • 8. Adversarul E interceptează acest mesaj și învață K v calculând D KRe ].
  • 9. Adversarul E trimite participantului A un mesaj Ekia[Ku|-

Ca urmare, ambii participanți, A și B, vor cunoaște K 4, dar nu vor bănui că K l este cunoscut și de adversarul E. Prin urmare, părțile A și B pot începe să schimbe mesaje folosind Ks. Adversarul E nu va mai interfera activ cu canalul de comunicare, ci pur și simplu va intercepta mesajele. știind Ks, el va putea decripta orice mesaj, iar participanții A și B nici măcar nu vor suspecta existența unei probleme. Astfel, acest protocol simplu este util doar atunci când singura amenințare posibilă este interceptarea pasivă a mesajelor.