Página siguiente Página anterior Índice general

2.5 Códigos de autentificación de mensajes y firmas digitales

Un código de autentificación de mensaje (message authentication code o MAC) es un bloque de datos de tamaño fijo que se envía con un mensaje para averiguar su origen e integridad. Son muy útiles para proporcionar autentificación e integridad sin confidencialidad. Para generar MACs se pueden usar algoritmos de clave secreta, de clave pública y algoritmos de resumen de mensajes.

Un tipo de MAC muy empleado en la actualidad es el código de autentificación de mensaje resumido (hashed message authentication code o HMAC). Lo que hacemos es generar el MAC aplicando una función de dispersión criptográfica a un conjunto formado por un mensaje y un código secreto. Así, el que recibe el mensaje puede calcular su propio MAC con el mensaje y el código secreto (que comparte con el que ha generado el MAC). Si no coinciden sabemos que el mensaje ha sido manipulado. Este tipo de técnicas se emplean para proteger comunicaciones a nivel de la capa de red.

La firma digital es un item que responde del origen e integridad de un mensaje. El que escribe un mensaje lo firma usando una clave de firmado y manda el mensaje y la firma digital. El destinatario usa una clave de verificación para comprobar el origen del mensaje y que no ha sido modificado durante el tránsito.

Para firmar los mensajes se emplean algoritmos de clave pública y funciones de dispersión. El proceso es como sigue:

  1. El emisor genera un resumen del mensaje, lo encripta con su clave privada (clave de firmado) y envía el mensaje y el texto cifrado que corresponde al resumen del mensaje.
  2. El destinatario genera un resumen del mensaje que recibe y desencripta el resumen cifrado que lo acompañaba usando la clave pública del emisor (clave de verificación).>Si al comparar los resúmenes ambos son iguales el mensaje es válido y ha sido firmado por el emisor real, ya que de otro modo no se hubiera podido desencriptar correctamente con su clave pública.

Hay que indicar que los MAC y las firmas digitales se diferencian en un punto importante: aunque los MAC se pueden usar para verificar la autenticidad de los mensajes, no se pueden usar para firmar los mensajes, ya que sólo se usa una clave secreta que comparten el emisor y el receptor, lo que hace que ambos puedan generar la misma firma.


Página siguiente Página anterior Índice general