Protocolul Denning-Sacco

Notații criptografice utilizate în protocoalele de autentificare și schimb de chei
Identificatorii lui Alice ( Alice ), inițiatorul sesiunii
Identificatorul lui Bob ( Bob ), partea din care se stabilește sesiunea
Identificatorul Trent ( Trent ), o parte intermediară de încredere
Cheile publice ale lui Alice, Bob și Trent
Cheile secrete ale lui Alice, Bob și Trent
Criptarea datelor cu cheia lui Alice sau cheia comună a lui Alice și Trent
Criptarea datelor cu cheia lui Bob sau cheia comună a lui Bob și Trent
Criptarea datelor cu cheile secrete ale lui Alice, Bob (semnătură digitală)
Numărul secvenței sesiunii (pentru a preveni atacurile de reluare)
Cheie aleatorie de sesiune care trebuie utilizată pentru criptarea simetrică a datelor
Criptarea datelor cu o cheie de sesiune temporară
Marcaje temporale adăugate mesajelor de către Alice și, respectiv, Bob
Numere aleatoare ( nonce ) care au fost alese de Alice și, respectiv, de Bob
Perechile de chei publice și, respectiv, private pre-generate de Alice, Bob și Trent
Perechea de chei publică/privată de sesiune aleatorie pentru a fi utilizată pentru criptarea asimetrică
Semnarea datelor folosind cheia privată a lui Alice, Bob, partea intermediară ( Trent ), sau respectiv o cheie privată dintr-o pereche aleatorie
Criptarea asimetrică a datelor folosind cheia publică a lui Alice, Bob, o parte intermediară ( Trent ), sau respectiv o cheie publică dintr-o pereche aleatorie

Protocolul Denning-Sacco [1] este un nume comun pentru protocoalele de distribuție a cheilor de încredere  simetrice și asimetrice .

Istorie

În 1981, angajații de la Universitatea Purdue Dorothy E. Denning și Giovanni Maria Sacco au prezentat un atac asupra protocolului Needham-Schroeder și au propus propria modificare a protocolului pe baza utilizării etichetelor de timp [2] .

Protocolul Denning-Sacco cheie simetrică

Cu criptarea simetrică , se presupune că cheia secretă aparținând clientului este cunoscută numai de el și de o terță parte de încredere - serverul de autentificare. În timpul execuției protocolului, clienții (Alice, Bob) primesc de la serverul de autentificare (Trent) o nouă cheie de sesiune secretă pentru a cripta mesajele reciproce în sesiunea curentă de comunicare. Luați în considerare implementarea protocolului Denning-Sacco cu o cheie simetrică [3] :

Descriere

Primul mesaj de la Alice către Trent conține identificatorii participanților la schimbul viitor - Alice și Bob. Acest mesaj este trimis în text clar:

Trent generează o cheie de sesiune și îi trimite lui Alice un mesaj criptat care include ID-ul lui Bob, cheia de sesiune, marca temporală și un pachet care acționează ca certificatul lui Alice:

Alice apoi decriptează mesajul lui Trent și îi trimite certificatul lui Bob :

La sfârșitul protocolului, Alice și Bob au o cheie de sesiune partajată .

Alice și Bob pot verifica dacă mesajele pe care le primesc sunt valide verificând marcajele de timp .

Atacul de protocol

În 1997, Gavin Lowe a prezentat un atac asupra protocolului [4] :

unu. 2. 3. patru.

Acțiunile atacatorului îl fac pe Bob să decidă că Alice vrea să stabilească o nouă legătură cu el.

Modificarea protocolului

În aceeași lucrare, Low a propus o modificare a protocolului care prevede autentificarea lui Alice la Bob [4] :

unu. 2. 3. patru. 5. După ce Bob decriptează mesajul lui Alice, poate verifica dacă Alice deține cheia de sesiune .

În cadrul protocolului, Bob nu confirmă în niciun fel primirea unei noi chei de sesiune și capacitatea de a opera cu aceasta. Mesajul de la Alice la a 5-a pasă ar fi putut fi interceptat sau modificat de un atacator. Dar Alice nu mai așteaptă niciun răspuns de la Bob și este sigură că protocolul a fost finalizat cu succes.

Denning-Sacco Public Key Protocol

O versiune asimetrică a protocolului Denning-Sacco. Serverul de autentificare deține cheile publice ale tuturor clienților. Luați în considerare implementarea protocolului Denning-Sacco cu o cheie publică [5] :

Descriere

Primul mesaj de la Alice către Trent conține identificatorii participanților la schimbul viitor - Alice și Bob. Acest mesaj este trimis în text clar:

Ca răspuns, Trent îi trimite Alicei certificatele de cheie publică semnate ale lui Alice și Bob. În plus, marcajele de timp sunt adăugate la fiecare certificat:

Alice generează o nouă cheie de sesiune și o trimite lui Bob împreună cu o marca temporală , semnând-o cu cheia ei și criptând-o cu cheia publică a lui Bob, împreună cu ambele mesaje primite de la Trent:

Bob verifică semnătura CA pe certificat , decriptează cheia de sesiune și verifică semnătura lui Alice.

Atacul de protocol

Abadi și Needham au descris un atac asupra protocolului [6] în care Bob, după ce a primit un mesaj de la Alice, își poate uzurpa identitatea într-o sesiune cu un alt utilizator. Absența identificatorului lui Bob în mesajul de la Alice duce la faptul că Bob poate folosi datele primite de la Alice pentru a uzurpa identitatea lui Alice într-o nouă sesiune cu o terță parte (Clara).

unu. 2. 3. patru. 5. 6.

Clara verifică cu succes semnătura CA de pe certificat , decriptează cheia de sesiune și verifică semnătura lui Alice. Drept urmare, Clara este sigură că a stabilit o sesiune de comunicare cu Alice, deoarece toți pașii necesari ai protocolului au fost executați corect și toate mesajele au fost corecte.

Note

  1. Davydov A. N. Atacuri asupra protocoalelor cheie de stabilire  // Securitatea tehnologiilor informaționale: lucrările conferinței științifice și tehnice / ed. Volchikhina V. I., Zefirova S. L. - Penza: Editura Institutului Electrotehnic de Cercetare Penza, 2004. - Decembrie ( vol. 5 ). - S. 99-104 . Arhivat din original pe 19 august 2019.
  2. Denning, Sacco, 1981 .
  3. Mao, 2005 , p. 79.
  4. 1 2 Lowe, 1997 , The Denning-Sacco shared key protocol, pp. 4-5.
  5. Mao, 2005 , p. 429.
  6. Abadi, Needham, 1996 .

Literatură