Wprowadzenie do HMAC

HMAC oznacza oparty na skrócie kod uwierzytelnienia wiadomości. Dostępne są różne algorytmy podsumowania wiadomości. Celem HMAC jest ponowne wykorzystanie tych algorytmów podsumowania wiadomości. Został opracowany w celu wdrożenia środowiska bezpieczeństwa dla protokołu internetowego. HMAC działa z dowolnym algorytmem podsumowania wiadomości. Wykorzystuje algorytm podsumowania wiadomości w oryginalnej wiadomości, a także używa klucza symetrycznego do szyfrowania podsumowania wiadomości, w wyniku czego powstaje kod MAC (Message Authentication Code). HMAC jest podobny do MAC, różnica jest w HMAC, wykorzystuje algorytm oparty na haszowaniu. Kod uwierzytelniania wiadomości oparty na skrócie jest również używany w protokole SSL (Secure Socket Layer). Ponadto HMAC jest szybszy do obliczenia. Nawet jeśli podstawowa funkcja skrótu zostanie zerwana, HMAC nadal zapewni lepsze bezpieczeństwo. W tym artykule omówimy podstawową koncepcję kodu uwierzytelniania wiadomości opartego na skrócie i działa.

Jak działa HMAC?

Przyjrzyjmy się teraz działaniu kodu uwierzytelniania wiadomości opartego na haszu.

Krok 1: Ustaw długość klucza symetrycznego równą kilku bitom w każdym bloku.

Istnieją trzy możliwości, w zależności od każdej z nich musimy działać, aby zrównać długość klucza z liczbą bitów. Długość klucza jest mniejsza niż liczba bitów w każdym bloku. W takim przypadku, aby zrównać długość klucza z kilkoma bitami, musimy rozszerzyć długość klucza, dodając wiele 0 bitów.

Długość klucza jest równa kilku bitom w każdym bloku. W tym przypadku nie musimy wykonywać żadnych działań, ponieważ klucz jest równy liczbie bitów. Długość klucza jest większa niż liczba bitów w każdym bloku. W takim przypadku, aby wyrównać długość klucza do liczby bitów, musimy przyciąć klucz, stosując algorytm podsumowania wiadomości, którego użyjemy do wytworzenia HMAC.

Krok 2: XOR symetryczny z padem.

W tym kroku XOR symetrycznie z padem, aby utworzyć zmienną o nazwie S1.

Uwaga : pad = Jest to ciąg 00110110 powtórzony b / 8 razy.

Krok 3: Dołącz oryginalną wiadomość do S1.

W tym kroku dołączamy oryginalną wiadomość na końcu S1.

Krok 4: Zastosuj algorytm przetwarzania wiadomości.

W tym kroku stosujemy wybrany algorytm podsumowania wiadomości (MD5, SHA-1, SHA-512 itp.) Do danych wyjściowych kroku 3. Załóżmy, że wynikiem tego kroku 4 jest H

Krok 5: Klucz symetryczny XOR z padem.

W tym kroku XOR klucz symetryczny z padem, aby wygenerować zmienną o nazwie S2.

Uwaga : pad = Jest to ciąg 01011010 powtórzony b / 8 razy.

Krok 6: Dołącz H do S2.

W tym kroku bierzemy podsumowanie wiadomości, które jest obliczane w kroku 4, i dołączamy je do S i S2, które pochodzą z poprzedniego kroku, tj. Kroku 5.

Krok 6: Algorytm podsumowania wiadomości.

W tym kroku zastosujemy wybrany algorytm podsumowania wiadomości do danych wyjściowych kroku 6. wygenerowany skrót wiadomości tego kroku jest końcowym MAC.

Wady HMAC

  • Omówmy niektóre problemy, które możemy napotkać w kodzie uwierzytelniania wiadomości opartym na haszu.
    Jak już wspomniano wcześniej, kod uwierzytelniania wiadomości oparty na skrócie używa klucza symetrycznego. Klucz symetryczny oznacza ten sam klucz używany przez nadawcę i odbiorcę. Problem pojawia się tutaj, w jaki sposób nadawca i odbiorca wymienią klucz ?.
  • Jakoś powyższy problem, wymiana klucza symetrycznego została rozwiązana, nie możemy użyć kodu uwierzytelnienia wiadomości opartego na skrócie w przypadku więcej niż jednego odbiornika. dzieje się tak, ponieważ HMAC używa klucza symetrycznego do generowania MAC. Klucz symetryczny musi być współdzielony tylko przez dwie strony, tj. Nadawcę i odbiorcę.
  • Innym problemem jest to, że jeśli dzielimy symetrię z wieloma stronami, to skąd odbiorca wie, że wiadomość została przygotowana i wysłana przez nadawcę, a nie innym odbiorcom, klucze również są im udostępniane, więc istnieje możliwość oszustwa, że ​​jeden z odbiorniki mogą tworzyć fałszywe wiadomości.

Wniosek

W tym artykule widzieliśmy podstawową koncepcję kodu uwierzytelniania wiadomości opartego na skrócie i działa.

Polecany artykuł

To jest przewodnik po HMAC. Tutaj omawiamy wprowadzenie do kodu uwierzytelniania wiadomości opartego na hash i jego działanie wady. Możesz także przejrzeć nasze sugerowane artykuły, aby dowiedzieć się więcej -

  1. Szyfrowanie klucza symetrycznego z zaletami
  2. Co to jest testowanie protokołu | Dlaczego jest używany?
  3. Wprowadzenie do Top 7 narzędzi IPS
  4. Wprowadzenie do narzędzi do testowania regresji