2010-07-26 14 views

Odpowiedz

16

Implikacje dla bezpieczeństwa HMAC zostały szczegółowo opisane w sekcji dotyczącej bezpieczeństwa pod numerem the RFC. Krótko mówiąc, bardzo silny atak jest wymagany, zanim zagrozi się bezpieczeństwu HMAC; istniejące ataki kolizyjne na SHA-1 z pewnością ich nie stanowią. HMAC jest specjalnie zaprojektowany, aby ataki trudne, a zwykłe ataki kolizji nie będzie na ogół wystarcza:

Zabezpieczenie mechanizmu uwierzytelniania wiadomości przedstawiony tu zależy od właściwości kryptograficznych funkcji skrótu H: opór do kolizji ze znalezieniem (ograniczone do przypadku, gdy wartość początkowa jest tajny i przypadkowe, a gdzie wyjście funkcja nie jest dostępna dla wyraźnie atakującego), i własności funkcji kompresjiuwierzytelniania wiadomości H przy stosowaniu pojedynczych bloków (w HMAC tych bloków są częściowo znane atakującego, ponieważ zawierają one wynikiem obliczeń wewnętrznej H , a w szczególności, nie może być w pełni wybrany przez atakującego).

Polecam lekturę całej sekcji; bardziej szczegółowo opisuje, jakie ataki powinny być wystarczające, aby złamać HMAC i ile wysiłku będzie trzeba.

+0

Dziękuję za szybką odpowiedź :) –

0

Najsilniejszy atak znany z HMAC oparty jest na częstotliwości zderzeń dla funkcji hash H ("atak urodzinowy") [PV, BCK2] i jest całkowicie niepraktyczny dla minimalnie rozsądnych funkcji skrótu.

Na przykład, jeśli weźmiemy pod uwagę funkcję skrótu jak MD5 gdzie długość wyjściowy jest równy L = 16 (128 bitów) atakujący potrzebne do przejmują znaczniki prawidłowe uwierzytelnienia wiadomości obliczony (z samym tajemnicy klawisz K!) około 2 64 znanych tekstów jawnych. Wymagałoby to przetworzenia co najmniej 2 64 bloków pod H, niemożliwym zadaniem w każdym realistycznym scenariuszu (dla długości bloku 64 bajtów zajęłoby to 250 000 lat w ciągłym łączu 1Gbps i bez zmiany sekretu klawisz K przez cały ten czas). Atak ten może stać się realistyczny tylko wtedy, gdy wykryte zostaną poważne wady funkcji kolizji (np. Kolizje wykryte po 2 ** 30 wiadomościach). Takie odkrycie oznaczałoby natychmiastowe zastąpienie funkcji H (skutki takiego niepowodzenia byłyby o wiele bardziej poważne dla tradycyjnych zastosowań H w kontekście podpisów cyfrowych, certyfikatów kluczy publicznych itp.).

Uwaga: ten atak musi być silnie skontrastowane z regularnych ataków kolizyjnych dotyczących kryptograficznych funkcji skrótu, gdzie nie tajny klucz jest zaangażowany i gdzie 2 64 off-line parallelizable operacji wystarczy, aby znaleźć kolizje (!).Ten ostatni atak zbliża się do możliwości [VW] ***, podczas gdy atak urodzinowy na HMAC jest całkowicie niepraktyczny. (W powyższych przykładach, jeśli wykorzystuje funkcję skrótu , powiedzmy, 160 nieco wyjścia następnie 2 64 należy zastąpić 2 80). *

właściwego wykonania powyższej konstrukcji, wybór z losowych (lub kryptograficznie pseudolosowych) kluczy, bezpiecznego klucza mechanizmu wymiany, częstego kluczowego odświeżania i dobrej poufności ochrona kluczy jest niezbędnym składnikiem dla bezpieczeństwa mechanizmu weryfikacji integralności dostarczonego przez HMAC.

+14

Jeśli masz zamiar obszernie cytować z RFC2104, uczciwym rozwiązaniem byłoby przyznać tyle. –

2

Zobacz dyskusję na ten sam temat na stronie this question. Krótko mówiąc: ataki kolizyjne nie szkodzą bezpośrednio HMAC. Ale istnienie kolizji implikuje, że funkcja kompresji, na której zbudowana jest funkcja skrótu, nie jest "przypadkową wyrocznią", a to unieważnia dowód bezpieczeństwa HMAC.

Powiązane problemy