Czytałem coś o tym, że konstrukcja HMAC jest w stanie złagodzić problem kolizji w bazowym skrócie.
Czy to oznacza, że coś takiego jak HMAC-MD5 nadal można uznać za bezpieczne do uwierzytelniania zaszyfrowanych danych?
Komentarze
- Dość istotne (brutalne wymuszanie HMAC) crypto.stackexchange.com/a/6753/5231
- Możesz znaleźć odpowiedzi na temat ogólne bezpieczeństwo HMAC-MD5, klikając ten link .
Odpowiedź
Tak, obecnie nie są znane żadne ataki na HMAC-MD5.
W szczególności po pierwszych atakach kolizyjnych na MD5 Mihir Bellare (jeden z wynalazców HMAC) wymyślił nowy dowód bezpieczeństwa dla HMAC , który nie „nie wymaga odporności na kolizje”:
„ Streszczenie: Bellare, Canetti i Krawczyk (1996) udowodnili, że HMAC jest PRF przy założeniu, że (1) podstawową funkcją kompresji jest PRF i (2) iterowana funkcja skrótu jest słabo odporna na kolizje. Jednak ostatnie ataki pokazują, że założenie (2) jest fałszywe dla MD5 i SHA-1, usuwając w tych przypadkach wsparcie dla HMAC oparte na dowodach. Ten artykuł udowadnia, że HMAC jest PRF przy jedynym założeniu, że funkcja kompresji jest PRF. To przywraca gwarancję opartą na dowodach, ponieważ żadne znane ataki nie zagrażają pseudolosowości funkcji kompresji, a także pomaga wyjaśnić odporność na atak, którą HMAC wykazał, nawet gdy jest zaimplementowany z funkcjami skrótu, których (słaba) odporność na kolizje jest zagrożona. Pokazujemy również, że nawet słabszy niż PRF warunek funkcji kompresji, a mianowicie, że jest to MAC zachowujący prywatność, wystarczy do ustalenia HMAC jest bezpiecznym MAC, o ile funkcja skrótu spełnia bardzo słaby wymóg obliczeniowo prawie uniwersalny, gdzie znowu wartość polega na tym, że znane ataki nie unieważniają poczynionych założeń. „
Jednak nie oznacza, że powinieneś używać HMAC-MD5 w nowych projektach kryptosystemów. Parafrazując Brucea Schneiera, „ ataki stają się lepsze, nigdy gorsze. „Mamy już praktyczne ataki kolizyjne na MD5, pokazujące, że nie spełnia on swoich pierwotnych celów bezpieczeństwa; jest możliwe, że lada dzień ktoś może wymyślić sposób na rozszerzenie tych ataków na nowy atak, który zagroziłoby bezpieczeństwu HMAC-MD5. Znacznie lepszym wyborem byłoby użycie HMAC z funkcją skrótu, która nie ma znanych ataków, takich jak SHA-2 lub SHA-3.
Komentarze
- SHA-2 ma znane ataki: en.wikipedia.org/wiki/SHA-2
- @baptx Dowolne prymityw kryptograficzny ma " znane ataki ". Pytanie brzmi, czy znacznie przełamują pełną liczbę rund. W przypadku SHA-2 obecnie nie ' t. O ile nie możesz udowodnić, że SHA-2 został złamany w jakimkolwiek znaczeniu, chciałbym usunąć te komentarze z odpowiedzi.
- " ostatnie ataki pokazują to założenie (2) jest fałszem w przypadku MD5 " jakie niedawne ataki? atak z wybranym prefiksem? dlaczego to oznacza, że?
Odpowiedź
Odpowiedź Ilmari Karonena jest poprawna, gdy HMAC jest używany do przeznaczenie, ale nie oznacza to, że „nie oznacza to, że HMAC jest całkowicie odporny na kolizje MD5”:
Biorąc pod uwagę określony klucz, zwróć uwagę, że K xor opad
i K xor ipad
są niezależne od wiadomości m
. Oznacza to, że każda kolizja w H((K xor ipad) || m)
spowoduje kolizję HMAC
, nawet z dwiema różnymi wiadomościami.
W przypadku HmacMd5 K xor ipad
będzie miał 64 bajty. Jeśli więc znajdziesz dwie wiadomości m1
i m2
z co najmniej 64-bajtowym wspólnym prefiksem pre
, możesz obliczyć klucz K = pre xor ipad
, co spowoduje kolizję między H((K xor ipad) || m1)
a H((K xor ipad) || m2)
, leadi ng do całkowitej kolizji w całym HMAC.
Można to wykorzystać na dwa sposoby:
- Nie ufasz osobie, która wygenerowała klucz, a HMAC jest nadużywane jako rodzaj sumy kontrolnej.
- Atakujący uzyskuje dostęp do klucza i może użyć ataku z prefiksem wybranego przez MD5, aby spowodować kolizje.
Ale zgodnie z akceptacją odpowiedź stwierdza, że jeśli klucz jest tajny i kontrolowany przez Ciebie lub zaufane strony, HmacMd5 jest nadal bezpieczny.
Komentarze
- Tak, taka odpowiedź istniała, dopóki nie została usunięta. Pytanie wyraźnie określa " do uwierzytelniania zaszyfrowanych danych ". Zastosowanie do obliczania sum kontrolnych i dostępność klucza są prostopadłe do tej części pytania. W każdym razie witamy w kryptowalutach, tego rodzaju dobrze napisane odpowiedzi są tutaj bardzo mile widziane!
- Zgadzam się, jednak te informacje będą przydatne dla wielu osób przybywających na tę stronę i nie zawierają błędnych informacji do początkowego pytania. Wyraźnie stwierdza, że hmacmd5 jest nadal bezpieczny, jeśli jest używany poprawnie.