Introduzione a HMAC

HMAC sta per Codice di autenticazione dei messaggi basato su hash. Sono disponibili vari algoritmi di digest dei messaggi. L'obiettivo dietro HMAC è riutilizzare quegli algoritmi di digest dei messaggi. È stato sviluppato per implementare l'ambiente di sicurezza per il protocollo Internet. HMAC funziona con qualsiasi algoritmo di digest dei messaggi. Utilizza l'algoritmo digest del messaggio sul messaggio originale, inoltre utilizza una chiave simmetrica per crittografare il digest del messaggio, che produce il MAC (Message Authentication Code). HMAC è simile al MAC, la differenza è in HMAC, utilizza un algoritmo basato su hash. Il codice di autenticazione dei messaggi basato su hash viene utilizzato anche nel protocollo SSL (Secure Socket Layer). Inoltre, HMAC è più veloce da calcolare. Anche se la funzione di hash sottostante viene interrotta, HMAC fornirà comunque una migliore sicurezza. In questo articolo discuteremo il concetto di base del codice di autenticazione dei messaggi basato su hash e funziona.

Come funziona HMAC?

Diamo ora un'occhiata al funzionamento del codice di autenticazione dei messaggi basato su hash.

Passaggio 1: rendere la lunghezza della chiave simmetrica uguale a diversi bit in ciascun blocco.

Esistono tre possibilità, in base a ciascuna dobbiamo agire per eguagliare la lunghezza della chiave al numero di bit. La lunghezza di una chiave è inferiore al numero di bit in ciascun blocco. In questo caso, per eguagliare la lunghezza di una chiave a più bit, è necessario espandere la lunghezza della chiave aggiungendo molti 0 bit.

La lunghezza di una chiave è uguale a diversi bit in ciascun blocco. In questo, non è necessario eseguire alcuna azione poiché la chiave è uguale al numero di bit. La lunghezza di una chiave è maggiore del numero di bit in ciascun blocco. In questo caso, per eguagliare la lunghezza della chiave in bit numerici, dobbiamo tagliare la chiave applicando l'algoritmo digest del messaggio che useremo per produrre l'HMAC.

Step 2: XOR simmetrico con pad.

In questo passaggio, XOR simmetrica con il pad per produrre una variabile chiamata S1.

Nota : pad = è una stringa 00110110 ripetuta b / 8 volte.

Passaggio 3: aggiungere il messaggio originale a S1.

In questo passaggio, aggiungiamo il messaggio originale alla fine di S1.

Passaggio 4: applicare l'algoritmo digest messaggi.

In questo passaggio, applichiamo l'algoritmo di digest del messaggio selezionato (MD5, SHA-1, SHA-512, ecc.) All'output del passaggio 3. Supponiamo che l'output di questo passaggio 4 sia H

Passaggio 5: chiave simmetrica XOR con pad.

In questo passaggio, XOR la ​​chiave simmetrica con pad per produrre la variabile chiamata S2.

Nota : pad = è una stringa 01011010 ripetuta b / 8 volte.

Passaggio 6: aggiungere H a S2.

In questo passaggio, prendiamo il digest del messaggio che viene calcolato nel passaggio 4 e lo aggiungiamo in corrispondenza di e dell'S2 che viene derivato nel passaggio precedente, ovvero il passaggio 5.

Passaggio 6: algoritmo di digest del messaggio.

In questo passaggio, applicheremo l'algoritmo di digest del messaggio selezionato all'output del passaggio 6. Il digest del messaggio generato di questo passaggio è il MAC finale.

Svantaggi di HMAC

  • Discutiamo alcuni problemi che potremmo incontrare nel codice di autenticazione dei messaggi basato su hash.
    Come abbiamo discusso in precedenza, il codice di autenticazione dei messaggi basato su hash utilizza una chiave simmetrica. La chiave simmetrica indica la stessa chiave utilizzata dal mittente e dal destinatario. Il problema sorge qui è, come il mittente e il destinatario scambieranno la chiave ?.
  • In qualche modo il problema di cui sopra, lo scambio di chiave simmetrica è risolto, non possiamo usare il codice di autenticazione dei messaggi basato su hash in caso di più di un ricevitore. questo perché HMAC utilizza la chiave simmetrica per generare MAC. La chiave simmetrica deve essere condivisa solo da due parti, ovvero mittente e destinatario.
  • Un altro problema è, se condividiamo il simmetrico con più parti, come il destinatario sappia che il messaggio è stato preparato e inviato dal mittente, non altri destinatari le chiavi sono condivise anche con loro, quindi c'è la possibilità di frode che uno dei i destinatari possono creare messaggi falsi.

Conclusione

In questo articolo, abbiamo visto il concetto di base del codice di autenticazione dei messaggi basato su hash e funziona.

Articolo raccomandato

Questa è una guida a HMAC. Qui discutiamo l'introduzione al codice di autenticazione dei messaggi basato su hash e il suo funzionamento con svantaggi. Puoi anche consultare i nostri articoli suggeriti per saperne di più -

  1. Crittografia della chiave simmetrica con vantaggi
  2. Che cos'è il test del protocollo | Perché è usato?
  3. Introduzione ai primi 7 strumenti IPS
  4. Introduzione agli strumenti di test di regressione

Categoria: