Código de autenticación de mensajes

Un Código de Autentificación de Mensaje ( MAC ; alemán mensaje de código de autenticación ) se utiliza para obtener certeza sobre el origen de los datos o mensajes y su integridad cheque. Los algoritmos MAC requieren dos parámetros de entrada, en primer lugar los datos a proteger y en segundo lugar una clave secreta , y calculan una suma de comprobación a partir de ambos , el código de autenticación del mensaje.

funcionalidad

Image
Cómo funciona un MAC

La integridad de un mensaje que se va a transmitir se puede verificar utilizando MAC de la siguiente manera: Primero, el remitente y el destinatario acuerdan una clave secreta. El remitente calcula una MAC para esta clave y su mensaje y luego envía el mensaje y la MAC al destinatario. Esto calcula el MAC para el mensaje recibido con la clave y compara el MAC calculado con el recibido. El destinatario interpreta la concordancia de ambos valores como una prueba de integridad exitosa: el mensaje fue enviado por una parte que conoce la clave secreta y no se modificó durante la transmisión.

Los MAC no protegen contra los ataques de reproducción . Para hacer esto, el mensaje en sí debe contener datos que aseguren que se puedan detectar repeticiones (por ejemplo, marca de tiempo, número de secuencia o mediante el uso de MAC de una sola vez).

Determinación del MAC

Los MAC se basan en cifrados en bloque o funciones hash o son MAC especialmente desarrollados. Un método común para el cálculo de MAC, el HMAC , se basa en funciones de hash criptográficas y se utiliza, por ejemplo, en SSL e IPsec . Un método común basado en cifrados en bloque es el código de autenticación de mensajes basado en cifrado (CMAC) especificado en la publicación especial 800-38B del NIST , que se utiliza junto con AES o Triple DES . Un método más antiguo para calcular un MAC basado en DES y CBC está estandarizado como ANSI X9.9, pero desde entonces ha sido revocado debido a deficiencias de seguridad. Un MAC especial es el algoritmo de autenticación de mensajes (MAA), que se desarrolló en 1983 como estándar para los bancos.

Diferenciación de funciones hash y firmas digitales

Las funciones de hash criptográficas se pueden usar para calcular MAC, pero las MAC van más allá del uso de valores hash simples: si un mensaje solo se transmitiera con su valor hash como MAC, esto no sería seguro porque la función hash es de conocimiento público. Un atacante podría modificar el mensaje y calcular y transmitir un nuevo valor hash para el nuevo mensaje. Sin embargo, si el remitente y el destinatario comparten un secreto, esto puede fluir en el cálculo de hash, por lo que un atacante no puede calcular el valor de hash apropiado después de modificar un mensaje.

Incluso si la seguridad de manipulación de los MAC sugiere una relación con las firmas digitales , existen diferencias entre los dos métodos. Los MAC se diferencian de las firmas digitales en que la comprobación del MAC requiere el conocimiento de la misma clave secreta que se utilizó para calcularla. Por tanto, cualquiera que pueda comprobar un MAC también puede calcularlo; en consecuencia, no puede demostrar a terceros de quién procede el mensaje. Por el contrario, las firmas digitales se crean utilizando una clave que solo el remitente conoce y se verifica mediante una clave pública. Esto asegura que el firmante está en posesión de la clave privada y que existe un alto grado de probabilidad de que sea el autor especificado del mensaje.

Procedimientos teóricamente seguros de la información

ejemplo

Un bit de texto sin formato ( A o B ) debe transmitirse de forma autenticada utilizando un MAC de 1 bit. La clave tiene dos bits de longitud.

llave (A, 0) * (A, 1) * (B, 0) * (B, 1) *
00 A. SEGUNDO.
01 A. SEGUNDO.
10 A. SEGUNDO.
11 A. SEGUNDO.

* (Texto, MAC)

El mensaje AABB bajo la clave secreta (previamente acordada) 11000110 se transmite luego como (A, 1) (A, 0) (B, 1) (B, 0).

Análisis de seguridad

Supongamos que un atacante intercepta el primer par transmitido del ejemplo anterior e intenta enviar una B en lugar de la A. Para que el cambio no se note y él no se note, necesita el MAC apropiado. Sabe por la descripción general que la sección clave correspondiente es 10 u 11 . Sin embargo, con este conocimiento, no le es posible decidir entre (B, 0) y (B, 1). Se enfrenta exactamente a la misma decisión incluso sin conocer la sección clave, es decir, la pregunta MAC = 0 o MAC = 1. Entonces, en promedio, adivina correctamente en cada segundo caso.

Este hecho puede utilizarse para definir en general la seguridad teórica de la información.

(para notación, ver probabilidad condicional )

En palabras: independientemente del conocimiento a priori del texto plano x , un atacante no recibe ninguna información adicional al ver el texto cifrado S (aquí: texto plano y MAC) o partes del mismo. Esto le da una seguridad absoluta según Shannon .

En todas las consideraciones, por supuesto, se supone que el sistema descrito funciona correctamente y también se utiliza de esa manera. Si el atacante z. Si, por ejemplo, la clave secreta (o partes) está disponible, los sistemas que son seguros en términos de teoría de la información también deben romperse.

caracteristicas

Las siguientes propiedades se refieren al caso general. En particular, se derivan procesos más eficientes de la misma calidad.

La probabilidad de error (en el ejemplo: 0,5) se determina a partir de la longitud de la MAC utilizada por bit de mensaje (en el ejemplo: 1)

Dado que siempre debe haber un MAC adecuado que se pueda adivinar al azar, incluso extender el MAC no puede garantizar una probabilidad de cero. Sin embargo, debido a la relación asintótica, la probabilidad se acerca rápidamente a dimensiones insignificantes.

La longitud de clave necesaria (usando el ejemplo: 2) está determinada por . Entonces, si desea transmitir un mensaje de longitud , se requieren bits de clave (en el ejemplo: 8).

De manera análoga a la libreta de un solo uso , surge la pregunta de cuántas claves son necesarias para garantizar la seguridad deseada y recién descrita. En general, este valor también se especifica. El ejemplo anterior con las dimensiones especificadas (incluido el tamaño de MAC y clave) es, por lo tanto, óptimo.

literatura

  • Charlie Kaufman, Radia Perlman, Mike Speciner: Seguridad de red: comunicación privada en un mundo público. Prentice Hall PTR, Upper Saddle River, Nueva Jersey 2002, ISBN 0-13-046019-2 .
  • Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone: Manual de criptografía aplicada. Prensa CRC, 2001, ISBN 0-8493-8523-7 . (en línea)
  • William Stallings: Criptografía y seguridad de redes: principios y práctica. 5ª edición. (Edición internacional), Prentice Hall, 2011, ISBN 978-0-13-705632-3 .

Evidencia individual

  1. dict.cc: código de autenticación del mensaje <MAC> | Código de autenticación de mensajes
  2. a b Menezes et al: Manual de criptografía aplicada. Pág. 323.
  3. Menezes et al: Manual de criptografía aplicada. Pág. 364.
  4. ^ Stallings: Criptografía y seguridad de la red: principios y práctica. Pág. 400.
  5. ^ Stallings: Criptografía y seguridad de la red: principios y práctica. P. 404.
  6. Comité X9: Retiro de ANSI X9.9, Autenticación de mensajes de instituciones financieras (PDF; 157 kB) Archivado del original el 5 de febrero de 2007. Recuperado el 9 de noviembre de 2011.
  7. ^ Kaufman et al . : Seguridad de red: comunicación privada en un mundo público. P.56.
  8. a b c Kaufman et al . : Seguridad de red: comunicación privada en un mundo público. Pág. 51.