W jaki sposób wstępne uwierzytelnianie Kerberos zwiększa bezpieczeństwo?

11

Ten wpis w FAQ (i sam RFC ) stwierdza, że ​​wstępne uwierzytelnienie usuwa lukę we wstępnych implementacjach Kerberos, która czyni go podatnym na ataki słownikowe offline.

Stan FAQ:

Najprostsza forma wstępnego uwierzytelnienia jest znana jako PA-ENC-TIMESTAMP. Jest to po prostu aktualny znacznik czasu zaszyfrowany kluczem użytkownika.

Jeśli atakującemu uda się wąchać pakiet zawierający te dane wstępnego uwierzytelnienia, czy nie jest to również podatne na atak słownikowy? Mam zaszyfrowany tekst, znam oryginalny znacznik czasu - jak różni się ten scenariusz?

Sedate Alien
źródło
Jestem trochę spóźniony na imprezę :). Myślę, że założenie, że atakujący ma oryginalny znacznik czasu, nie jest prawdziwe w tym pytaniu. Jest to atak „znany zaszyfrowany tekst”, a nie „znany tekst jawny”, w przeciwnym razie byłoby zabawne. Nie możemy zakładać, że atakujący ma zarówno tekst jawny, jak i tekst zaszyfrowany, ponieważ on również zna algorytm, więc jakie jest tutaj wyzwanie? A może coś mi brakuje ...
Ashkan
Na zakończenie mojego poprzedniego komentarza, po ponownym rozpatrzeniu sprawy, wpadłem na pomysł, że jeśli przyjmiemy atak jako atak „znanego tekstu jawnego” (co oznacza, że ​​atakujący zna dokładny znacznik czasu), to masz rację, krok przed uwierzytelnieniem nie zapewniają dodatkowego bezpieczeństwa, ponieważ może wypróbować możliwe, niezabezpieczone hasła i znaleźć klucz, w przeciwnym razie tak będzie. Zastanawiam się więc, jaki to byłby atak?
Ashkan,

Odpowiedzi:

16

Jeśli nie wymusisz wstępnego uwierzytelnienia, osoba atakująca może bezpośrednio wysłać fałszywe żądanie uwierzytelnienia. KDC zwróci zaszyfrowany TGT, a atakujący może brutalnie wymusić go offline. W dziennikach KDC nie zobaczysz nic oprócz pojedynczego żądania biletu TGT.

Po wymuszeniu wstępnego uwierzytelnienia znacznika czasu osoba atakująca nie może bezpośrednio poprosić KDC o zaszyfrowanie materiału w trybie offline. Atakujący musi zaszyfrować znacznik czasu hasłem i zaoferować go KDC. Tak, może to robić w kółko, ale zobaczysz wpis dziennika KDC za każdym razem, gdy zawiedzie.

Wstępne uwierzytelnianie sygnatury czasowej zapobiega więc aktywnemu atakującemu. Nie uniemożliwia pasywnemu atakującemu wąchania zaszyfrowanej wiadomości klienta znacznika czasu do KDC. Jeśli atakujący może obwąchać ten pełny pakiet, może brutalnie wymusić go offline.

Łagodzenie tego problemu polega na użyciu długich haseł i dobrych zasad rotacji haseł, aby wymuszenie brutalnego wymuszania brut w trybie offline było niemożliwe, lub użycie PKINIT ( http://www.ietf.org/rfc/rfc4556.txt )

anonimowy
źródło
+1 Dziękujemy za wskazanie różnicy między aktywnym atakującym a pasywnym atakującym.
Harvey Kwok
Uwaga: pełny artykuł z tymi szczegółami pojawi się w 2014 r. Tutaj: social.technet.microsoft.com/wiki/contents/articles/...
Martin Serrano
5

Znalazłem artykuł ( Wyodrębnianie haseł Kerberos za pomocą analizy typu szyfrowania RC4-HMAC ) na IEEE Xplore, który jest w pewnym stopniu odpowiedni do tego. Wydaje się, że implikują to, że jeśli przechwycony zostanie pakiet wstępnego uwierzytelnienia, nie będzie inaczej.

Jeśli osoba atakująca jest w stanie przechwycić pakiety wstępnego uwierzytelnienia i chce przejąć tożsamość ważnego użytkownika, musi wykonać procedury, które wykonuje KDC. Osoba atakująca będzie musiała zastosować procedurę deszyfrowania w uzgodnionym typie szyfrowania i spróbować uruchomić inne hasła dla przechwyconych danych. Jeśli się powiedzie, atakujący ma hasło użytkownika.

Sedate Alien
źródło