See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Message authentication code - Wikipedia, la enciclopedia libre

Message authentication code

De Wikipedia, la enciclopedia libre

En criptografía, Message Authentication Code o MAC (del inglés, código de autenticación de mensajes) es un código que se genera a partir de un mensaje de longitud arbitraria y de una clave secreta compartida entre remitente y destinatario, y que sirve para autenticar el mensaje. También se lo llama cryptographic checksum.

El valor MAC del mensaje garantiza la integridad del mensaje (si el cálculo del valor MAC no coincide con el valor MAC enviado, el mensaje fue modificado) y lo autentica (el mensaje debe provenir del remitente, pues es el único que conoce la clave privada).

A diferencia de un algoritmo de cifrado, el algoritmo de cálculo de un valor MAC no necesita ser reversible. Mientras el cifrado previene que un atacante pueda entender el mensaje, un valor MAC previene la manipulación de los mensajes. De esta manera, un código de autenticación de mensajes preserva la integridad de los mensajes enviados a través de un canal inseguro.

Tabla de contenidos

[editar] Definición

Los valores MAC necesitan para su cálculo una clave privada (o simétrica) K, que sólo conozcan remitente y destinatario, pero no los atacantes. Matemáticamente, se define como una función que 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, éste 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

[editar] Función MAC ideal

Al igual que una función hash 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.

[editar] Propiedad de seguridad de las funciones MAC

Sea n el tamaño del resultado de la función MAC, y x el grado de incertidumbre, medido en bits, que tiene el atacante sobre el valor de la clave K utilizada en la función CK. Un ataque sobre la función MAC se define como una forma no trivial de distinguir esa función CK de la función CK ideal en menos de 2 min(n, x) pasos.

[editar] 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 le 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.

[editar] Principio de Horton

El principio de Horton establece que se debe autenticar el significado del mensaje, y no el código del mensaje.

[editar] Véase también

  • Data Authentication Code, un algoritmo de cálculo de valores MAC de ANSI basado en el cifrador simétrico DES
  • UMAC
  • HMAC
  • CMAC
  • Poly1305-AES
  • Poly1305-AED
  • Hash


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -