Introducción a HMAC

HMAC significa el código de autenticación de mensajes basado en hash. Hay varios algoritmos de resumen de mensajes disponibles. El objetivo detrás de HMAC es reutilizar esos algoritmos de resumen de mensajes. Está desarrollado para implementar el entorno de seguridad para el protocolo de internet. HMAC funciona con cualquier algoritmo de resumen de mensajes. Utiliza el algoritmo de resumen del mensaje en el mensaje original, también utiliza una clave simétrica para encriptar el resumen del mensaje, que produce el MAC (Código de autenticación del mensaje). HMAC es similar a MAC, la diferencia está en HMAC, utiliza un algoritmo basado en hash. El código de autenticación de mensajes basado en hash también se usa en el protocolo SSL (Secure Socket Layer). Además, HMAC es más rápido de calcular. Incluso si la función hash subyacente está rota, HMAC seguirá brindando una mejor seguridad. En este artículo, vamos a discutir el concepto básico del Código de autenticación de mensajes basado en hash y está funcionando.

¿Cómo funciona HMAC?

Veamos ahora el funcionamiento del código de autenticación de mensajes basado en hash.

Paso 1: Haga que la longitud de la clave simétrica sea igual a varios bits en cada bloque.

Hay tres posibilidades, en función de cada una de las cuales debemos actuar para igualar la longitud de la clave al número de bits. La longitud de una clave es menor que la cantidad de bits en cada bloque. En este caso, para igualar la longitud de una clave a varios bits, necesitamos expandir la longitud de la clave agregando muchos 0 bits.

La longitud de una clave es igual a varios bits en cada bloque. En esto, no necesitamos realizar ninguna acción ya que la clave es igual al número de bits. La longitud de una clave es mayor que el número de bits en cada bloque. En este caso, para igualar la longitud de la clave a los bits numéricos, necesitamos recortar la clave aplicando el algoritmo de resumen del mensaje que usaremos para producir el HMAC.

Paso 2: XOR simétrico con la almohadilla.

En este paso, XOR simétrico con el pad para producir una variable llamada S1.

Nota : pad = Es una cadena 00110110 repetida b / 8 veces.

Paso 3: agregue el mensaje original a S1.

En este paso, agregamos el mensaje original al final de S1.

Paso 4: aplique el algoritmo de resumen del mensaje.

En este paso, aplicamos el algoritmo de resumen de mensaje seleccionado (MD5, SHA-1, SHA-512, etc.) a la salida del paso 3. Supongamos que la salida de este paso 4 es H

Paso 5: clave simétrica XOR con almohadilla.

En este paso, XOR la ​​clave simétrica con pad para producir la variable llamada S2.

Nota : pad = Es una cadena 01011010 repetida b / 8 veces.

Paso 6: agregue H a S2.

En este paso, tomamos el resumen del mensaje que se calcula en el paso 4 y lo agregamos al y del S2 que se deriva en el paso anterior, es decir, el paso 5.

Paso 6: Algoritmo de resumen de mensaje.

En este paso, aplicaremos el algoritmo de resumen de mensaje seleccionado a la salida del paso 6. El resumen de mensaje generado de este paso es el MAC final.

Desventajas de HMAC

  • Discutamos algunos problemas que podemos enfrentar en el Código de autenticación de mensajes basado en hash.
    Como hemos discutido anteriormente, el Código de autenticación de mensajes basado en hash utiliza una clave simétrica. La clave simétrica significa la misma clave utilizada por el emisor y el receptor. El problema que surge aquí es, ¿cómo intercambiarán la clave el remitente y el receptor?
  • De alguna manera, el problema anterior, el intercambio de clave simétrica está resuelto, no podemos usar el código de autenticación de mensajes basado en hash en el caso de más de un receptor. Esto se debe a que HMAC utiliza la clave simétrica para generar MAC. La clave simétrica debe ser compartida solo por dos partes, es decir, el remitente y el receptor.
  • Otro problema es, si compartimos la simétrica con múltiples partes, cómo el receptor sabe que el mensaje fue preparado y enviado por el remitente, no otros receptores, las claves también se comparten con ellos, por lo que existe la posibilidad de fraude que uno de los Los receptores pueden crear mensajes falsos.

Conclusión

En este artículo, hemos visto el concepto básico del Código de autenticación de mensajes basado en hash y está funcionando.

Artículo recomendado

Esta es una guía de HMAC. Aquí discutimos la Introducción al Código de autenticación de mensajes basado en hash y su funcionamiento con desventajas. También puede consultar nuestros artículos sugeridos para obtener más información:

  1. Cifrado de clave simétrica con ventajas
  2. ¿Qué es la prueba de protocolo | ¿Por qué se usa?
  3. Introducción a las 7 mejores herramientas IPS
  4. Introducción a las herramientas de prueba de regresión