Código de autenticación de mensajes


En criptografía , un código de autenticación de mensajes ( MAC ), 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 ha sido modificado. El valor MAC protege la integridad de los datos de un mensaje , así como su autenticidad , al permitir que los verificadores (que también poseen la clave secreta) detecten cualquier cambio en el contenido del mensaje.

El término código de integridad del mensaje (MIC) se sustituye con frecuencia por el término MAC , especialmente en las comunicaciones [1] para distinguirlo del uso de este último como dirección de control de acceso a los medios ( dirección MAC ). Sin embargo, algunos autores [2] usan MIC para referirse a un resumen de mensaje , que tiene como objetivo identificar un solo mensaje de manera única pero opaca. RFC 4949 recomienda evitar el término código de integridad del mensaje (MIC) y, en su lugar, utilizar suma de comprobación , código de detección de errores , hash , hash con clave , código de autenticación de mensajes osuma de comprobación protegida .

Un código de autenticación de mensaje seguro debe resistir los intentos de un adversario de falsificar etiquetas, para mensajes arbitrarios, selectos o para todos , incluso bajo condiciones de mensaje conocido o elegido . No debería ser computacionalmente factible calcular una etiqueta válida del mensaje dado sin conocer la clave, incluso si, en el peor de los casos, asumimos que el adversario conoce la etiqueta de cualquier mensaje que no sea el en cuestión. [3]

Formalmente, un sistema de código de autenticación de mensajes ( MAC ) es un triple de algoritmos eficientes [4] ( G , S , V ) que satisfacen:

donde A S ( k , ·) denota que A tiene acceso al oráculo S ( k , ·), y Consulta ( A S ( k , ·) , 1 n ) denota el conjunto de consultas sobre S realizadas por A , que sabe n . Claramente, requerimos que cualquier adversario no pueda consultar directamente la cadena x en S , ya que de lo contrario ese adversario puede obtener fácilmente una etiqueta válida. [6]

Si bien las funciones MAC son similares a las funciones hash criptográficas , poseen diferentes requisitos de seguridad. Para ser considerada segura, una función MAC debe resistir la falsificación existencial bajo ataques de mensajes elegidos . Esto significa que incluso si un atacante tiene acceso a un oráculo que posee la clave secreta y genera MAC para los mensajes que elija el atacante, el atacante no puede adivinar el MAC de otros mensajes (que no se usaron para consultar el oráculo) sin realizar cantidades inviables. de computación.