fbpx
Wikipedia

Código de autenticación de mensaje

En criptografía, un código de autenticación de mensaje o Message Authentication Code en inglés, a menudo llamado por su sigla MAC, es una porción de información utilizada para autenticar un mensaje.

Los valores MAC se calculan mediante la aplicación de una función hash criptográfica con clave secreta K, que solo conocen el remitente y destinatario, pero no los atacantes. Se dice que la función hash tiene que ser criptográfica porque tiene que cumplir ciertas propiedades de seguridad que las hacen resistentes frente a ataques de adversarios. Matemáticamente la función hash criptográfica toma dos argumentos: una clave K de tamaño fijo y un mensaje M de longitud arbitraria. El resultado es un código MAC de longitud fija:

MAC = CK(M)

donde:

  • M es un mensaje de longitud arbitraria
  • CK es la función que transforma el mensaje en un valor MAC y que utiliza una clave secreta K como parámetro
  • MAC es el valor MAC calculado de longitud fija

Si el valor MAC enviado coincide con el valor que el destinatario calcula, este puede garantizar que:

  • El mensaje no fue alterado
  • El mensaje proviene del remitente indicado en el mensaje
  • Si el mensaje incluye un número de secuencia, que el mensaje sigue la secuencia correcta


Seguridad

Función MAC ideal

Se define la función MAC ideal como un mapeo aleatorio de todos los posibles valores del mensaje de entrada M en salidas de tamaño de n bits.

Propiedad de seguridad

[1]​Para que una función MAC pueda ser usada es necesario que sea resistente a la computación de nuevos valores hash.

Tipos de funciones MAC

Actualmente, existen 3 grandes grupos de funciones MAC:

  • CBC-MAC: La idea detrás de este algoritmo es la de convertir un algoritmo de cifrado simétrico en una función MAC. El funcionamiento básico consiste en cifrar el mensaje usando un algoritmo en modo CBC y tirar todo el resultado de texto cifrado a excepción del último bloque.
  • HMAC: Dado que una función MAC es un mapeo aleatorio, y que las funciones hash se comportan como tales, podemos explotar la idea de utilizar una función hash para implementar una función MAC. La opción más popular hoy en día es la de usar HMAC-SHA-256.
  • UMAC: Las funciones UMAC parten de la premisa de que el atacante necesita interactuar con el sistema para comprobar si el resultado MAC que ha generado es válido o no. Es decir, no existe nada parecido a un ataque exhaustivo off-line contra las funciones MAC. Así, argumentan que se puede reducir el resultado a tan solo 64 bits. Sin embargo, no existe un estándar bien definido de funciones MAC como ocurre con las funciones hash, lo que tiene efectos contraproducentes a largo plazo desde el punto de vista de la implementación.

Debilidad. Aplicación del principio de Horton[2][3]

El uso de valores MAC para autenticar provee cierta seguridad pero no es la panacea. Por ejemplo, podría haber un ataque que consistiera en interceptar el mensaje y el valor MAC para poder reutilizarlo para autenticarse.

En general el principio de Horton establece que se debe autenticar el significado del mensaje, y no el código del mensaje. Aplicando el principio a autenticación de mensaje con MAC, deberíamos autenticar no solo el valor MAC, sino también cierta información que sea usada para formar un valor MAC que no sea ambiguo. Por ejemplo, puede ser buena idea incorporar algún tipo de sello de tiempo cuando calculó el valor MAC (por ejemplo concatenándolo al mensaje). Este sello de tiempo se enviaría al verificador. Si el verificador recibe un sello de tiempo antiguo entonces decide que es falso (ha caducado). Si el adversario decide actualizar el sello de tiempo entonces el valor MAC interceptado ya no sería válido para mandárselo al verificador.

Otro sistemas proponen[3]​ concatenar al mensaje (para calcular el valor MAC) cierto datos relativos al contexto en el que se está (número de mensaje, tamaños de campos negociados, número de versión del protocolo...). Estos datos no habría que enviárselos al verificador porque ya están en el contexto y los conoce.

Aplicaciones

Las MAC se suelen usar para autenticación (de ahí su nombre). El que se quiere autenticar y el verificador comparten la clave de la función MAC y la mantienen en secreto. De esta forma cuando el verificador recibe el valor MAC puede verificar si ese valor MAC se corresponde con el que se tiene que generar a partir de un mensaje dado.

Hay dos formas principales de funcionar, según donde se genere el mensaje:

  • El mensaje es generado por el que se quiere autenticar y después este manda al verificador el mensaje y el valor MAC asociado. En el paso siguiente el verificador verifica la validez del valor MAC y a la vez se asegura de la integridad del mensaje recibido.
  • El mensaje es generado por el verificador y se le manda al que se quiere autenticar para que este genere el valor MAC y lo mande al verificador. Este tipo de protocolo se encuadraría en los llamada protocolos desafío-respuesta

Véase también

Referencias

  1. A. J. Menezes et all, "Handbook of Applied Cryptography", CRC Press 2011
  2. J. Weiss,"Java cryptography extensions: practical guide for programmers",MORGAN KAUFMANN PUBLISHERS 2004
  3. J. Li-Chang Lo,"A framework for cryptography algorithms on mobile devices",Universy of Pretoria 2007
  •   Datos: Q1052621

código, autenticación, mensaje, criptografía, código, autenticación, mensaje, message, authentication, code, inglés, menudo, llamado, sigla, porción, información, utilizada, para, autenticar, mensaje, valores, calculan, mediante, aplicación, función, hash, cri. En criptografia un codigo de autenticacion de mensaje o Message Authentication Code en ingles a menudo llamado por su sigla MAC es una porcion de informacion utilizada para autenticar un mensaje Los valores MAC se calculan mediante la aplicacion de una funcion hash criptografica con clave secreta K que solo conocen el remitente y destinatario pero no los atacantes Se dice que la funcion hash tiene que ser criptografica porque tiene que cumplir ciertas propiedades de seguridad que las hacen resistentes frente a ataques de adversarios Matematicamente la funcion hash criptografica toma dos argumentos una clave K de tamano fijo y un mensaje M de longitud arbitraria El resultado es un codigo MAC de longitud fija MAC CK M donde M es un mensaje de longitud arbitraria CK es la funcion que transforma el mensaje en un valor MAC y que utiliza una clave secreta K como parametro MAC es el valor MAC calculado de longitud fijaSi el valor MAC enviado coincide con el valor que el destinatario calcula este puede garantizar que El mensaje no fue alterado El mensaje proviene del remitente indicado en el mensaje Si el mensaje incluye un numero de secuencia que el mensaje sigue la secuencia correcta Indice 1 Seguridad 1 1 Funcion MAC ideal 1 2 Propiedad de seguridad 2 Tipos de funciones MAC 3 Debilidad Aplicacion del principio de Horton 2 3 4 Aplicaciones 5 Vease tambien 6 ReferenciasSeguridad EditarFuncion MAC ideal Editar Se define la funcion MAC ideal como un mapeo aleatorio de todos los posibles valores del mensaje de entrada M en salidas de tamano de n bits Propiedad de seguridad Editar 1 Para que una funcion MAC pueda ser usada es necesario que sea resistente a la computacion de nuevos valores hash Tipos de funciones MAC EditarActualmente existen 3 grandes grupos de funciones MAC CBC MAC La idea detras de este algoritmo es la de convertir un algoritmo de cifrado simetrico en una funcion MAC El funcionamiento basico consiste en cifrar el mensaje usando un algoritmo en modo CBC y tirar todo el resultado de texto cifrado a excepcion del ultimo bloque HMAC Dado que una funcion MAC es un mapeo aleatorio y que las funciones hash se comportan como tales podemos explotar la idea de utilizar una funcion hash para implementar una funcion MAC La opcion mas popular hoy en dia es la de usar HMAC SHA 256 UMAC Las funciones UMAC parten de la premisa de que el atacante necesita interactuar con el sistema para comprobar si el resultado MAC que ha generado es valido o no Es decir no existe nada parecido a un ataque exhaustivo off line contra las funciones MAC Asi argumentan que se puede reducir el resultado a tan solo 64 bits Sin embargo no existe un estandar bien definido de funciones MAC como ocurre con las funciones hash lo que tiene efectos contraproducentes a largo plazo desde el punto de vista de la implementacion Debilidad Aplicacion del principio de Horton 2 3 EditarEl uso de valores MAC para autenticar provee cierta seguridad pero no es la panacea Por ejemplo podria haber un ataque que consistiera en interceptar el mensaje y el valor MAC para poder reutilizarlo para autenticarse En general el principio de Horton establece que se debe autenticar el significado del mensaje y no el codigo del mensaje Aplicando el principio a autenticacion de mensaje con MAC deberiamos autenticar no solo el valor MAC sino tambien cierta informacion que sea usada para formar un valor MAC que no sea ambiguo Por ejemplo puede ser buena idea incorporar algun tipo de sello de tiempo cuando calculo el valor MAC por ejemplo concatenandolo al mensaje Este sello de tiempo se enviaria al verificador Si el verificador recibe un sello de tiempo antiguo entonces decide que es falso ha caducado Si el adversario decide actualizar el sello de tiempo entonces el valor MAC interceptado ya no seria valido para mandarselo al verificador Otro sistemas proponen 3 concatenar al mensaje para calcular el valor MAC cierto datos relativos al contexto en el que se esta numero de mensaje tamanos de campos negociados numero de version del protocolo Estos datos no habria que enviarselos al verificador porque ya estan en el contexto y los conoce Aplicaciones EditarLas MAC se suelen usar para autenticacion de ahi su nombre El que se quiere autenticar y el verificador comparten la clave de la funcion MAC y la mantienen en secreto De esta forma cuando el verificador recibe el valor MAC puede verificar si ese valor MAC se corresponde con el que se tiene que generar a partir de un mensaje dado Hay dos formas principales de funcionar segun donde se genere el mensaje El mensaje es generado por el que se quiere autenticar y despues este manda al verificador el mensaje y el valor MAC asociado En el paso siguiente el verificador verifica la validez del valor MAC y a la vez se asegura de la integridad del mensaje recibido El mensaje es generado por el verificador y se le manda al que se quiere autenticar para que este genere el valor MAC y lo mande al verificador Este tipo de protocolo se encuadraria en los llamada protocolos desafio respuestaVease tambien EditarFuncion hash criptografica Data Authentication Code un algoritmo de calculo de valores MAC de ANSI basado en el cifrador simetrico DES UMAC HMAC CMAC Poly1305 AES Poly1305 AED HashReferencias Editar A J Menezes et all Handbook of Applied Cryptography CRC Press 2011 J Weiss Java cryptography extensions practical guide for programmers MORGAN KAUFMANN PUBLISHERS 2004 a b J Li Chang Lo A framework for cryptography algorithms on mobile devices Universy of Pretoria 2007 Datos Q1052621 Obtenido de https es wikipedia org w index php title Codigo de autenticacion de mensaje amp oldid 139329244, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos