-
Visión de conjunto
módulo de python: criptografía hmac
Los desafíos criptográficos de Cryptopals
RFC 2104: HMAC: Hashing con clave para autenticación de mensajes
-
Código de autenticación de mensaje MAC
理解 código de integridad y autenticación en el mensaje de criptografía
En criptografía, un código de autenticación de mensaje ( MAC , también conocido como
digital authenticator
), a veces conocido como etiqueta , es una pequeña información que se utiliza para autenticar un mensaje; en otras palabras, para confirmar que el mensaje proviene del remitente indicado (su autenticidad ) y no se ha modificado.El valor de MAC protesta la integridad de los datos de un mensaje, así como su autenticidad, al permitir que los verificadores detecten cualquier cambio en el contenido del mensaje.
El MAC se envía o almacena con los datos.
-
Definiciones o algoritmos utilizados para generar MAC
El algoritmo MAC es una técnica criptográfica de clave simétrica para proporcionar autenticación de mensajes.
Para establecer el proceso MAC, el remitente y el receptor
De manera informal, un sistema de código de autenticación de mensajes consta de tres algoritmos:
- A
key generation algorithm
(G) selecciona una tecla del espacio de teclas uniformemente al azar - A
signing algorithm
(S) devuelve eficientemente una etiqueta dada la clave y el mensaje - A
verifying algorithm
(V) verifica de manera eficiente la autenticidad del mensaje con la clave y la etiqueta.
- A
-
Limitaciones de MAC
Hay dos limitaciones principales de MAC, ambas debido a su naturaleza simétrica de operación:
-
Establecimiento de secreto compartido
Puede proporcionar autenticación de mensajes entre usuarios legítimos predeterminados que han compartido la clave.
Esto requiere el establecimiento de un secreto compartido previo al uso de MAC.
-
Incapacidad para brindar no repudio
El no repudio es la garantía de que el originador del mensaje no puede negar ningún mensaje, compromiso o acción enviados previamente.
La técnica MAC no proporciona un servicio de no repudio.
-
-
No repudio
El no repudio se refiere a una situación en la que el autor de una declaración no puede disputar con éxito su autoría o la validez de un contrato asociado.
-
MIC
M ensaje I ntergrity C oda ( MIC ) se frquently sustituido por el término MAC, especialmente en las comunicaciones, a distringuish que de la utilización de significado MAC
MAC address
.La dirección MAC ( dirección de control de acceso a medios) es un identificador único asignado a una
network interface controller
(NIC) para su uso como dirección de red en comunicaciones dentro de un segmento de red.El controlador de interfaz de red (NIC, también conocido como tarjeta de interfaz de red, adaptador de red, adaptador de LAN o interfaz de red física) es un componente de hardware de computadora que conecta una computadora a una red de computadoras.
-
Algoritmos aprobados
Actualmente, hay tres algoritmos de propósito general aprobados: HMAC, KMAC, CMAC
-
HMAC (código de autenticación de mensajes basado en hash)
FIPS 198-1, el código de autenticación de mensajes con clave hash (HMAC) (julio de 2008), especifica un mecanismo para la autenticación de mensajes mediante una función hash aprobada. Las funciones hash aprobadas se especifican en FIPS 180-4, Secure Hash Standard y FIPS 202, SHA-3 Standard: funciones de hash basadas en permutación y de salida extensible . Las pautas específicas en relación con las propiedades de seguridad de HMAC se proporcionan en NIST SP 107 Revisión 1, Recomendación para aplicaciones que utilizan algoritmos hash aprobados .
Los códigos de autenticación de mensajes basados en hash (o HMAC ) son una herramienta para calcular los códigos de autenticación de mensajes utilizando una función de hash criptográfica junto con una clave secreta.
De Nordic Semiconductor , el código de autenticación de mensajes basado en Hash (HMAC) es un mecanismo para la autenticación de mensajes mediante una función de hash criptográfica y una clave secreta. El algoritmo toma una clave y datos de cualquier longitud como entrada y produce un código HMAC con una longitud definida por la función hash subyacente.
El estándar HMAC se describe en RFC 2104 .
Esta clase de etiquetas MAC se produce mediante algoritmos que tienen una función hash subyacente. Se puede utilizar cualquier función hash conocida, por ejemplo, SHA, MD, Whirlpool, etc.
-
KMAC (código de autenticación de mensajes Keccak)
KMAC se especifica en SP 800-185, Funciones derivadas de SHA-3: cSHAKE, KMAC, TupleHash y ParallelHash (diciembre de 2016). KMAC es una función hash con clave basada en K ECCAK , que se especifica en FIPS 202, Estándar SHA-3: Hash basado en permutación y funciones de salida extensible . Hay dos variantes de KECCAK, KMAC128 y KMAC256.
-
CMAC
CMAC se especifica en SP 800-38B, Recomendación para modos de operación de cifrado en bloque: el modo CMAC para autenticación (mayo de 2005). El modo CMAC se construye a partir de un cifrado de bloques aprobado (por ejemplo, AES, como se especifica en FIPS 197, Estándar de cifrado avanzado ).
-
Referencias
- Código de autenticación de mensaje hash de clave
- Investopedia: MAC
- IBM: códigos de autenticación de mensajes (MAC)
- Nist: Códigos de autenticación de mensajes MAC
- Tutorialspoint: Tutorial de criptografía
- ¿Qué es la autenticación de mensajes basada en hash?
- ¿Cómo y cuándo utilizo HMAC?
- GeeksforGeeks: ¿Qué es HMAC (código de autenticación de mensajes basado en hash)?