ScholarGate
Asistente

Códigos de Autenticación de Mensajes

Un código de autenticación de mensajes (MAC) utiliza una clave secreta compartida para producir una etiqueta corta que permite a un receptor verificar la integridad y autenticidad de un mensaje, detectando cualquier alteración o falsificación.

Encontrar tema con PaperMindPróximamenteFind papers & topics
Tools & resources
Descargar diapositivas
Learn & explore
VídeoPróximamente

Definition

Un código de autenticación de mensajes es una primitiva simétrica que, dada una clave secreta y un mensaje, produce una etiqueta de longitud fija de tal manera que cualquier persona sin la clave no puede falsificar una etiqueta válida para ningún mensaje nuevo, incluso después de ver etiquetas en mensajes elegidos.

Scope

Este tema cubre la autenticación simétrica: el objetivo de seguridad de la imposibilidad de falsificación existencial bajo ataque de mensaje elegido, las construcciones MAC a partir de funciones hash (HMAC) y cifrados de bloque (CMAC, GMAC), y su combinación con el cifrado para formar el cifrado autenticado (cifrar-luego-MAC, AES-GCM). Aborda las trampas como la extensión de longitud y la necesidad de una comparación de etiquetas en tiempo constante. Excluye las firmas digitales, que proporcionan verificabilidad pública y no repudio utilizando criptografía de clave pública.

Core questions

  • ¿Cómo permite una clave compartida a un receptor detectar cualquier modificación en un mensaje?
  • ¿Qué requiere la imposibilidad de falsificación existencial bajo ataque de mensaje elegido de un MAC seguro?
  • ¿Cómo se construyen los MAC seguros a partir de funciones hash (HMAC) y de cifrados de bloque (CMAC)?
  • ¿Cómo deben combinarse el cifrado y la autenticación para proteger tanto el secreto como la integridad?
  • ¿Por qué la comparación de etiquetas debe ser en tiempo constante y qué ataques explotan las fugas de tiempo?

Key concepts

  • etiqueta de autenticación
  • imposibilidad de falsificación existencial
  • ataque de mensaje elegido
  • HMAC
  • CMAC y GMAC
  • cifrado autenticado (AEAD)
  • cifrar-luego-MAC
  • comparación en tiempo constante
  • protección contra reproducción

Key theories

Imposibilidad de falsificación existencial bajo ataque de mensaje elegido
La definición estándar de seguridad de MAC: un adversario que puede solicitar etiquetas en mensajes de su elección aún no puede producir una etiqueta válida en ningún mensaje que no haya consultado, lo que hace que la falsificación sea inviable.
HMAC y cifrado autenticado
HMAC anida un hash con clave dos veces para producir un MAC demostrablemente seguro a partir de cualquier hash estándar; la combinación de un MAC con cifrado mediante cifrar-luego-MAC (o el uso de AES-GCM) produce un cifrado autenticado que protege la confidencialidad y la integridad conjuntamente.

Mechanisms

HMAC calcula H((K xor opad) || H((K xor ipad) || mensaje)), donde H es una función hash e ipad/opad son rellenos fijos; la estructura anidada evita la extensión de longitud y es demostrablemente segura si la función de compresión es una función pseudoaleatoria. Los MAC de cifrado de bloque como CMAC encadenan cifrados de bloques de mensajes con un ajuste final con clave. Los modos de cifrado autenticado como AES-GCM calculan un MAC de campo de Galois (GMAC) sobre el texto cifrado para vincular la confidencialidad y la integridad en una sola pasada.

Clinical relevance

Los MAC autentican casi todo el tráfico de red seguro: HMAC sustenta la integridad de los registros TLS, IPsec, JSON Web Tokens y la firma de solicitudes API al estilo AWS, mientras que AES-GCM proporciona cifrado autenticado en TLS 1.3 y cifrado de disco. La verificación de un MAC es lo que impide que un atacante altere silenciosamente el texto cifrado o reproduzca mensajes capturados.

Evidence & guidelines

HMAC está estandarizado en FIPS 198-1 y RFC 2104; CMAC en NIST SP 800-38B; GCM/GMAC en NIST SP 800-38D. Las mejores prácticas favorecen las construcciones de cifrado autenticado (AEAD) y el orden cifrar-luego-MAC; el orden MAC-luego-cifrar utilizado en versiones anteriores de TLS contribuyó a los ataques de oráculo de relleno.

History

Los primeros MAC se construyeron a partir de DES en modo CBC-MAC. El descubrimiento de que los MAC hash con clave ingenuos eran vulnerables a la extensión de longitud motivó a HMAC, introducido por Bellare, Canetti y Krawczyk en 1996 y estandarizado poco después. La década de 2000 trajo la formalización del cifrado autenticado y los modos AEAD dedicados como GCM y CCM, ahora el predeterminado para proteger los datos en tránsito.

Key figures

  • Mihir Bellare
  • Ran Canetti
  • Hugo Krawczyk
  • Phillip Rogaway

Related topics

Seminal works

  • bellare1996hmac
  • katz2020
  • menezes1996

Frequently asked questions

¿Cuál es la diferencia entre un MAC y una firma digital?
Ambos autentican un mensaje, pero un MAC utiliza una clave secreta compartida, por lo que cualquier parte que pueda verificar una etiqueta también podría haberla producido; no hay no repudio. Una firma digital utiliza una clave privada para firmar y una clave pública para verificar, por lo que solo el firmante podría haberla creado y cualquiera puede verificarla.
¿Debo cifrar primero o autenticar primero?
El orden recomendado es cifrar-luego-MAC: cifrar el texto sin formato y luego calcular el MAC sobre el texto cifrado. Esto permite al receptor rechazar textos cifrados falsificados antes de descifrarlos y evita los ataques de oráculo de relleno y otros ataques que surgen de los órdenes MAC-luego-cifrar.

Methods for this concept

Related concepts