Interlock protokoll
Inom kryptografi är interlock -protokollet , som beskrivs av Ron Rivest och Adi Shamir , ett protokoll utformat för att motverka avlyssnarattack mot två parter som använder ett anonymt nyckelutbytesprotokoll för att säkra sin konversation. Ytterligare ett papper föreslog att det skulle användas som ett autentiseringsprotokoll, som sedan bröts.
Kortfattad bakgrund
De flesta kryptografiska protokoll är beroende av att hemliga eller offentliga nycklar eller lösenord har upprättats i förväg. Emellertid Diffie–Hellman-nyckelutbytesprotokollet konceptet med två parter som etablerar en säker kanal (det vill säga med åtminstone några önskvärda säkerhetsegenskaper) utan något sådant tidigare avtal. Oautentiserade Diffie–Hellman, som ett anonymt nyckelavtalsprotokoll, har länge varit känt för att vara föremål för man i mittenattacken . Drömmen om en "zipless" ömsesidigt autentiserad säker kanal kvarstod dock.
Interlock Protocol beskrevs som en metod för att avslöja en mellanhand som kan försöka kompromissa med två parter som använder anonym nyckelöverenskommelse för att säkra sin konversation.
Hur det fungerar
Interlock-protokollet fungerar ungefär som följer:
- Alice krypterar sitt meddelande med Bobs nyckel och skickar sedan hälften av sitt krypterade meddelande till Bob.
- Bob krypterar sitt meddelande med Alices nyckel och skickar hälften av sitt krypterade meddelande till Alice.
- Alice skickar sedan den andra halvan av sitt meddelande till Bob, som skickar den andra halvan av sitt.
Styrkan i protokollet ligger i det faktum att hälften av ett krypterat meddelande inte kan dekrypteras. Således, om Mallory börjar sin attack och fångar upp Bob och Alices nycklar, kommer Mallory inte att kunna dekryptera Alices halva meddelande (krypterat med hennes nyckel) och kryptera det igen med Bobs nyckel. Hon måste vänta tills båda halvorna av meddelandet har tagits emot med att läsa det, och kan bara lyckas dupera en av parterna om hon skriver ett helt nytt meddelande.
Bellovin/Merritt-attacken
Davies och Price föreslog användningen av Interlock Protocol för autentisering i en bok med titeln Security for Computer Networks. Men en attack mot detta beskrevs av Steven M. Bellovin & Michael Merritt. En efterföljande förfining föreslogs av Ellison.
Bellovin/Merritt-attacken innebär att man skriver ett falskt meddelande att skicka till den första parten. Lösenord kan skickas med Interlock Protocol mellan A och B enligt följande:
AB Ea,b(Pa)<1>-------> <-------Ea,b(Pb)<1> Ea,b(Pa)<2>------ -> <-------Ea,b(Pb)<2>
där Ea,b(M) är meddelande M krypterat med nyckeln härledd från Diffie–Hellman-växlingen mellan A och B, <1>/<2> anger första och andra halvan, och Pa/Pb är lösenorden för A och B .
En angripare, Z, kunde skicka hälften av ett falskt meddelande – P? – för att få fram Pa från A:
AZB Ea,z(Pa)<1>------> <------Ea,z(P?)<1> Ea,z(Pa)<2>------> Ez,b(Pa)<1>------> <------Ez,b(Pb)<1> Ez,b(Pa)<2>------> <- -----Ez,b(Pb)<2>
Vid denna tidpunkt har Z äventyrat både Pa och Pb. Attacken kan besegras genom att verifiera lösenorden i delar, så att när Ea,z(P?)<1> skickas är det känt att det är ogiltigt och Ea,z(Pa)<2> skickas aldrig (föreslagit av Davies). Detta fungerar dock inte när lösenorden hashas, eftersom hälften av en hash är värdelös, enligt Bellovin. Det finns också flera andra metoder som föreslås i, inklusive att använda en delad hemlighet utöver lösenordet. Den forcerade latensförbättringen kan också förhindra vissa attacker.
Forcerad fördröjningsprotokoll
Ett modifierat Interlock Protocol kan kräva att B (servern) fördröjer alla svar under en känd varaktighet:
AB Ka-------------> <-------------Kb Ea,b(Ma)<1>----> <---- Ea,b(Mb)<1> (B fördröjer svar en fast tid, T) Ea,b(Ma)<2>----> <----Ea,b(Mb)<2> (fördröjning igen ) <---------data
Där "data" är den krypterade data som omedelbart följer Interlock Protocol-utbytet (det kan vara vad som helst), kodat med en allt-eller-inget-transformation för att förhindra modifiering av meddelandet under transport. Ma<1> kan innehålla en krypterad begäran och en kopia av Ka. Ma<2> kan innehålla dekrypteringsnyckeln för Ma<1>. Mb<1> kan innehålla en krypterad kopia av Kb, och Mb<2> kan innehålla dekrypteringsnyckeln för Mb<1> och svaret, såsom OK, eller NOT FOUND, och hash-sammandraget av data.
MITM kan försökas med den attack som beskrivs i Bellovin-tidningen (Z är mannen-i-mitten):
AZB Ka------------->Kz-------------> <--------------------Kz<- ----------Kb Ea,z(Ma)<1>----> <----Ea,z(Mz)<1> (fördröjt svar) Ea,z(Ma)< 2>----> Ez,b(Ma)<1>-----> <-----Ez,b(Mb)<1> (fördröjt svar) <----Ea,z( Mz)<2> Ez,b(Ma)<2>-----> <-----Ez,b(Mb)<2> (fördröjt svar) <---------- --data <---------data
I detta fall tar A emot datan ungefär efter 3*T, eftersom Z måste utföra det förreglade utbytet med B. Därför kan försöket med MITM-attack detekteras och sessionen avbrytas.
Naturligtvis kunde Z välja att inte utföra Interlock Protocol med B (välja att istället skicka sin egen Mb) men då skulle sessionen vara mellan A och Z, inte A, Z och B: Z skulle inte vara i mitten . Av denna anledning kan förreglingsprotokollet inte användas effektivt för att tillhandahålla autentisering, även om det kan säkerställa att ingen tredje part kan modifiera meddelanden under överföring utan upptäckt.
Se även
- Datorsäkerhet
- Kryptanalys
- Säker kanal
- Nyckelhantering
- Kryptografiskt protokoll
- Opportunistisk kryptering
externa länkar
- Interlock-protokoll för autentisering
- Full-Duplex-Chess Grandmaster (var: anonym DH & MITM)
- Försvar mot mellanpersonsattacker (Zooko's Forced-Latency Protocol)