Złam protokół uwierzytelniania na podstawie wstępnie współdzielonego klucza symetrycznego

13

Rozważ następujący protokół, mający na celu uwierzytelnienie (Alice) na (Bob) i odwrotnie.B.AB

AB:“I'm Alice”,RABA:E(RA,K)AB:E(RA+1,PA,K)
  • R jest losowym nonce.
  • K jest wstępnie współdzielonym kluczem symetrycznym.
  • P to pewna ładowność.
  • E(m,K) oznacza szyfrowane z .K.mK
  • m1,m2 oznacza złożony z w sposób, który można jednoznacznie zdekodować.m 2m1m2
  • Zakładamy, że algorytmy kryptograficzne są bezpieczne i poprawnie wdrożone.

Osoba atakująca (Trudy) chce przekonać Boba, aby zaakceptował jej ładunek jako pochodzący od Alicji (zamiast ). Czy Trudy może podszywać się pod Alice? W jaki sposób?P APTPA

Jest to nieco zmodyfikowany od ćwiczeń 9,6 w Information Security: Principles and Practice przez Mark Stamp . W wersji książkowej nie ma , ostatnia wiadomość to tylko , a wymaga, aby Trudy „przekonała Boba, że ​​jest Alice”. Mark Stamp prosi nas o znalezienie dwóch ataków, a dwa, które znalazłem, pozwalają Trudy wykuć ale nie . E ( R + 1 , K ) e ( R + 1 , K ) PL ( R , P , T, K )PAE(RA+1,K)E(R+1,K)E(R,PT,K)

Gilles „SO- przestań być zły”
źródło
Zobacz dyskusję na temat kryptografii / znaczników bezpieczeństwa w meta
Ran G.

Odpowiedzi:

5

Ten protokół wydaje się być niepewny ze względu na fakt, że Bob wysyła . Może to zostać wykorzystane przez Trudy do „wygenerowania” szyfrów , które później zostaną użyte do wykonania protokołu uwierzytelnienia.PL ( R + 1 , P , TE(RA,K)E(RA+1,PT,K)

W szczególności rozważ następujący atak:

Trudy wybiera losowy i uruchamia protokół z Bobem w następujący sposób: a następnie Trudy odcina protokół w środku (ponieważ ona nie wie jak odpowiedzieć). Zakładamy, że zarówno Trudy, jak i Bob przerywają.R1

TB:“I'm Alice”,R1+1,PTBT:E(R1+1,PT,K)

Teraz Trudy rozpoczyna kolejną instancję protokołu: Jak Trudy tym razem wykonała protokół, nie znając ? To jest łatwe! Bob w pierwszej kolejności wykonał dla niej szyfrowanie.

TB:“I'm Alice”,R1BT:E(R1,K)TB:E(R1+1,PT,K)
K

Wyciągnięta lekcja: w protokole kryptograficznym dobrze jest, aby każda wiadomość lub oddzielny fragment zawierała unikalny znacznik, który zapobiega jego ponownemu użyciu jako innej wiadomości w protokole. Jeśli odpowiedź Boba brzmiałaby a trzecia wiadomość to , ten atak nie zadziałałby.PL ( 2 , R + 1 , P )mi(1,RZA)mi(2),RZA+1,P.)

Ran G.
źródło