HMAC

Z testwiki
Przejdź do nawigacji Przejdź do wyszukiwania

HMAC (Szablon:Ang., Szablon:K) – kod MAC z wmieszanym kluczem tajnym zapewniający zarówno ochronę integralności, jak i autentyczności danychSzablon:Odn.

Standardowy kod MAC zapewnia ochronę integralności, ale może podlegać sfałszowaniu, jeśli nie jest zabezpieczony dodatkowym mechanizmem chroniącym jego autentyczność (np. podpisem cyfrowym). Dla ochrony integralności i autentyczności w rozwiązaniach wymagających wysokiej wydajności stworzono zmodyfikowany algorytm MAC, w którym podczas każdej operacji dodawany jest tajny klucz:

HMACK(m)=h((Kopad)h((Kipad)m)),

gdzie wartości Szablon:Mvar i Szablon:Mvar są ustalonymi wartościami dopełniającymi, Szablon:Mvar jest tekstem podlegającym ochronie zaś Szablon:Mvar jest tajnym kluczem.

Poprawny kod HMAC może stworzyć tylko osoba znająca tajny klucz Szablon:Mvar, co zapewnia autentyczność pochodzenia danych. Tylko osoba znająca klucz Szablon:Mvar może zweryfikować autentyczność danych zabezpieczonych kodem HMAC. Implementacje HMAC są oparte na standardowych kryptograficznych funkcjach skrótu takich jak SHA-2, SHA-1 czy MD5.

Kody HMAC są stosowane w szeregu protokołów sieciowych np. w IPsec, gdzie klucze HMAC są niezależne od kluczy szyfrujących dane.

Alternatywną metodą zapewniania integralności i autentyczności danych jest stosowanie uwierzytelniajaco-szyfrujących trybów szyfrów blokowych (np. OCB, CCM).

Zobacz też

Przypisy

Szablon:Przypisy

Linki zewnętrzne