Needham–Schroeder-protokollet

Symmetriskt Needham–Schroeder-protokollschema

Needham –Schroeder-protokollet är ett av de två nyckeltransportprotokollen som är avsedda för användning över ett osäkert nätverk, båda föreslagna av Roger Needham och Michael Schroeder . Dessa är:

  • Needham –Schroeder Symmetric Key Protocol , baserat på en symmetrisk krypteringsalgoritm . Det utgör grunden för Kerberos -protokollet. Detta protokoll syftar till att upprätta en sessionsnyckel mellan två parter i ett nätverk, vanligtvis för att skydda ytterligare kommunikation.
  • Needham –Schroeder Public-Key Protocol , baserat på public-key kryptografi . Detta protokoll är avsett att tillhandahålla ömsesidig autentisering mellan två parter som kommunicerar på ett nätverk, men i sin föreslagna form är det osäkert.

Det symmetriska protokollet

Här initierar Alice kommunikationen till Bob . är en server som båda parter litar på. I kommunikationen:

  • och är identiteter för Alice respektive Bob
  • är en symmetrisk nyckel som endast är känd för och
  • är en symmetrisk nyckel som endast är känd för och
  • och N är nonser genererade av respektive
  • är en symmetrisk, genererad nyckel, som kommer att vara sessionsnyckeln för sessionen mellan och

Protokollet kan specificeras enligt följande i säkerhetsprotokollnotation :

Alice skickar ett meddelande till servern som identifierar sig själv och Bob och berättar för servern att hon vill kommunicera med Bob.

Servern genererar och skickar tillbaka till Alice en kopia krypterad under för Alice att vidarebefordra till Bob och även en kopia för Alice . Eftersom Alice kan begära nycklar för flera olika personer, försäkrar nonce Alice att meddelandet är färskt och att servern svarar på just det meddelandet och inkluderingen av Bobs namn talar om för Alice vem hon är att dela denna nyckel med.

Alice vidarebefordrar nyckeln till Bob som kan dekryptera den med nyckeln han delar med servern och på så sätt autentisera data.

Bob skickar Alice en nonce krypterad under för att visa att han har nyckeln.

Alice utför en enkel operation på nonce, omkrypterar den och skickar tillbaka den för att verifiera att hon fortfarande lever och att hon har nyckeln.

Attacker mot protokollet

Protokollet är sårbart för en replay-attack (som identifierats av Denning och Sacco). Om en angripare använder ett äldre, komprometterat värde för kan han sedan spela upp meddelandet till Bob, som kommer att acceptera det, eftersom han inte kan säga att nyckeln inte är färsk.

Att fixa attacken

Denna brist åtgärdas i Kerberos-protokollet genom att en tidsstämpel ingår . Det kan också fixas med hjälp av nonces som beskrivs nedan. I början av protokollet:

Alice skickar en förfrågan till Bob.
svarar med ett nonce krypterad under sin nyckel med servern.
Alice skickar ett meddelande till servern som identifierar sig själv och Bob och talar om för servern att hon vill kommunicera med Bob.
.

Protokollet fortsätter sedan som beskrivits genom de tre sista stegen som beskrivs i det ursprungliga protokollet ovan . Observera att är en annan nonce än . Inkluderingen av denna nya nonce förhindrar uppspelning av en komprometterad version av eftersom ett sådant meddelande skulle måste ha formen som angriparen inte kan förfalska eftersom hon inte har .

Protokollet med offentlig nyckel

Detta förutsätter användningen av en krypteringsalgoritm med offentlig nyckel .

Här använder Alice och Bob en betrodd server för att distribuera publika nycklar på begäran. Dessa nycklar är:

  • och , offentliga respektive privata halvor av ett krypteringsnyckelpar som tillhör ( står för "hemlig nyckel" här)
  • och , liknande tillhörande
  • och , liknande tillhörande . (Observera att detta nyckelpar kommer att användas för digitala signaturer , dvs. används för att signera ett meddelande och används för verifiering. måste vara känd för och innan protokollet startar.)

Protokollet fungerar som följer:

begär s publika nycklar från

svarar med den offentliga nyckeln bredvid s identitet, signerad av servern för autentiseringsändamål.

väljer en slumpmässig och skickar den till .

vet nu att A vill kommunicera, så begär s publika nycklar.

Servern svarar.

väljer en slumpmässig och skickar den till tillsammans med för att bevisa förmågan att dekryptera med .

bekräftar till , för att bevisa förmågan att dekryptera med

I slutet av protokollet känner och varandras identiteter och känner till både och . Dessa nonces är inte kända för avlyssnare.

En attack mot protokollet

Detta protokoll är sårbart för en man-i-mitten-attack . Om en bedragare kan övertala att initiera en session med dem, kan de vidarebefordra meddelandena till och övertyga att han kommunicerar med .

Om du ignorerar trafiken till och från som är oförändrad, går attacken enligt följande:

skickar till , som dekrypterar meddelandet med

vidarebefordrar meddelandet till och låtsas att kommunicerar

skickar

vidarebefordrar den till

dekrypterar och bekräftar det till , som lär sig det

omkrypterar och övertygar att hon har dekrypterat det

I slutet av attacken tror kommunicerar med honom och att och är bara kända för och .

Följande exempel illustrerar attacken. Alice (A) skulle vilja kontakta sin bank (B). Vi antar att en bedragare (I) framgångsrikt övertygar A om att de är banken. Som en följd av detta använder A den publika nyckeln för I istället för att använda den offentliga nyckeln för B för att kryptera de meddelanden hon avser att skicka till sin bank. Därför skickar A I sin nonce krypterad med den offentliga nyckeln av I. Jag dekrypterar meddelandet med deras privata nyckel och kontakter B skickar det nonce av A krypterad med den offentliga nyckeln för B. B har inget sätt att veta att detta meddelande var faktiskt skickat av I. B svarar med sitt eget nonce och krypterar meddelandet med den offentliga nyckeln för A. Eftersom I inte är i besittning av den privata nyckeln till A måste de vidarebefordra meddelandet till A utan att känna till innehållet. A dekrypterar meddelandet med sin privata nyckel och svarar med nonce av B krypterad med den offentliga nyckeln av I. Jag dekrypterar meddelandet med deras privata nyckel och är nu i besittning av nonce A och B. Därför kan de nu utge sig för att vara banken respektive klienten.

Åtgärda man-i-mitten-attacken

Attacken beskrevs först i en tidning 1995 av Gavin Lowe . Tidningen beskriver också en fast version av schemat, kallat Needham-Schroeder-Lowe-protokollet . Korrigeringen innebär ändring av meddelande sex för att inkludera svarandens identitet, det vill säga vi ersätter:

med den fasta versionen:

och inkräktaren kan inte spela upp meddelandet igen eftersom A förväntar sig ett meddelande som innehåller identiteten för I medan meddelandet kommer att ha identiteten B.

Se även

externa länkar