Protocolul Needham – Schroeder - Needham–Schroeder protocol

Schema de protocol Needham – Schroeder simetrică

Protocolul Needham-Schroeder este unul dintre cele două protocoale de transport cheie destinate utilizării pe o rețea nesigură, ambele propuse de Roger Needham și Michael Schroeder . Acestea sunt:

  • Needham-Schroeder simetrica Protocolul cheie , bazat pe un algoritm de criptare simetrică . Acesta stă la baza protocolului Kerberos . Acest protocol își propune să stabilească o cheie de sesiune între două părți într-o rețea, de obicei pentru a proteja comunicarea ulterioară.
  • Needham-Schroeder Protocolul public-cheie , bazate pe criptografia cu cheie publică . Acest protocol este destinat să ofere autentificare reciprocă între două părți care comunică într-o rețea, dar în forma sa propusă este nesigur.

Protocolul simetric

Aici, Alice inițiază comunicarea către Bob . este un server de încredere de ambele părți. În comunicare:

  • și sunt identități ale lui Alice și, respectiv, ale lui Bob
  • este o cheie simetrică cunoscută numai de și
  • este o cheie simetrică cunoscută numai de și
  • și sunt nonce generate de și respectiv
  • este o cheie generată simetric, care va fi cheia de sesiune a sesiunii între și

Protocolul poate fi specificat după cum urmează în notația protocolului de securitate :

Alice trimite un mesaj către server identificându-se pe ea și pe Bob, spunându-i serverului că dorește să comunice cu Bob.

Serverul generează și trimite înapoi către Alice o copie criptată pentru ca Alice să o transmită lui Bob și, de asemenea, o copie pentru Alice. Deoarece Alice poate solicita chei pentru mai multe persoane diferite, nonce-ul o asigură pe Alice că mesajul este proaspăt și că serverul răspunde la acel mesaj special și includerea numelui lui Bob îi spune lui Alice cu cine trebuie să împartă această cheie.

Alice îi transmite cheia lui Bob, care o poate decripta cu cheia pe care o împarte cu serverul, autentificând astfel datele.

Bob îi trimite lui Alice un nonce criptat sub pentru a arăta că are cheia.

Alice efectuează o operație simplă pe nonce, o criptează din nou și o trimite înapoi verificând dacă este încă în viață și că deține cheia.

Atacuri asupra protocolului

Protocolul este vulnerabil la un atac de reluare (așa cum a fost identificat de Denning și Sacco). Dacă un atacator folosește o valoare mai veche, compromisă pentru , poate relua mesajul către Bob, care îl va accepta, neputând spune că cheia nu este proaspătă.

Fixarea atacului

Această defecțiune este rezolvată în protocolul Kerberos prin includerea unui timestamp . Poate fi, de asemenea, reparat cu utilizarea nonces, așa cum este descris mai jos. La începutul protocolului:

Alice îi trimite lui Bob o cerere.
Bob răspunde cu un nonce criptat sub cheia sa cu serverul.
Alice trimite un mesaj către server identificându-se pe ea și pe Bob, spunându-i serverului că dorește să comunice cu Bob.
Rețineți includerea nonce.

Protocolul continuă apoi așa cum este descris în ultimii trei pași descriși în protocolul original de mai sus . Rețineți că este o diferență diferită de . Includerea acestei noi nonce împiedică redarea unei versiuni compromise, deoarece un astfel de mesaj ar trebui să aibă forma pe care atacatorul nu o poate falsifica, deoarece nu o are .

Protocolul cu cheie publică

Aceasta presupune utilizarea unui algoritm de criptare cu cheie publică .

Aici, Alice și Bob folosesc un server de încredere pentru a distribui cheile publice la cerere. Aceste chei sunt:

  • și , respectiv, jumătăți publice și private ale unei perechi de chei de criptare aparținând ( înseamnă „cheie secretă” aici)
  • și , similar cu apartenența la
  • și , similar cu apartenența la . (Rețineți că această pereche de chei va fi utilizată pentru semnături digitale , adică utilizată pentru semnarea unui mesaj și utilizată pentru verificare. Trebuie să fie cunoscută și înainte ca protocolul să înceapă.)

Protocolul rulează după cum urmează:

cheile publice ale solicitărilor de la

răspunde cu cheia publică alături de identitatea, semnată de server în scopuri de autentificare.

alege o întâmplare și o trimite la .

acum știe că A vrea să comunice, așa că solicită cheile publice.

Serverul răspunde.

alege o întâmplare și o trimite la împreună cu pentru a dovedi capacitatea de a decripta cu .

confirmă să , pentru a dovedi capacitatea de a decripta cu

La sfârșitul protocolului, și să vă cunoașteți identitatea reciprocă și să știți pe amândouă și . Aceste nonces nu sunt cunoscute de ascultători.

Un atac asupra protocolului

Acest protocol este vulnerabil la un atac om-în-mijloc . Dacă un impostor poate convinge să inițieze o sesiune cu ei, poate transmite mesajele către și convinge că comunică cu el .

Ignorând traficul către și de la , care este neschimbat, atacul se desfășoară după cum urmează:

trimite către , care decriptează mesajul cu

transmite mesajul către , pretinzând că comunică

trimite

îl transmite la

decriptează și confirmă , cine o învață

recriptează și convinge că a descifrat-o

La sfârșitul atacului, crede în mod fals că comunică cu el, și că și sunt cunoscute numai de și .

Următorul exemplu ilustrează atacul. Alice (A) ar dori să contacteze banca ei (B). Presupunem că un impostor (I) îl convinge cu succes pe A că sunt banca. În consecință, A folosește cheia publică a lui I în loc să folosească cheia publică a lui B pentru a cripta mesajele pe care intenționează să le trimită băncii sale. Prin urmare, A îi trimite nonce criptat cu cheia publică a lui I. Decriptez mesajul folosind cheia lor privată și contactele B trimitându-i nonce-ul A criptat cu cheia publică a lui B. B nu are cum să știe că acest mesaj a fost trimis de fapt de I. B răspunde cu propria lor nonce și criptează mesajul cu cheia publică a lui A. Deoarece eu nu sunt în posesia cheii private a lui A, trebuie să retransmită mesajul către A fără să cunoască conținutul. A decriptează mesajul cu cheia ei privată și răspunde cu neconcepția lui B criptată cu cheia publică a lui I. Decriptez mesajul folosind cheia lor privată și este acum în posesia noncei A și B. Prin urmare, ei pot identifica acum banca și respectiv clientul.

Remedierea atacului om-în-mijloc

Atacul a fost descris pentru prima dată într-o lucrare din 1995 de Gavin Lowe . Lucrarea descrie, de asemenea, o versiune fixă ​​a schemei, denumită protocolul Needham-Schroeder-Lowe . Remedierea implică modificarea mesajului șase pentru a include identitatea respondentului, adică înlocuim:

cu versiunea fixă:

iar intrusul nu poate reda cu succes mesajul deoarece A așteaptă un mesaj care conține identitatea lui I, în timp ce mesajul va avea identitatea lui B.

Vezi si

Referințe

linkuri externe