Autenticación de mensajes
En el último capítulo, discutimos las amenazas a la integridad de los datos y el uso de la técnica hash para detectar si se han producido ataques de modificación en los datos.
Otro tipo de amenaza que existe para los datos es la falta de message authentication. En esta amenaza, el usuario no está seguro sobre el autor del mensaje. La autenticación de mensajes se puede proporcionar mediante técnicas criptográficas que utilizan claves secretas como se hace en el caso del cifrado.
Código de autenticación de mensajes (MAC)
El algoritmo MAC es una técnica criptográfica de clave simétrica para proporcionar autenticación de mensajes. Para establecer el proceso MAC, el remitente y el receptor comparten una clave simétrica K.
Básicamente, una MAC es una suma de verificación cifrada generada en el mensaje subyacente que se envía junto con un mensaje para garantizar la autenticación del mensaje.
El proceso de utilizar MAC para la autenticación se muestra en la siguiente ilustración:
Intentemos ahora comprender todo el proceso en detalle:
El remitente utiliza algún algoritmo MAC conocido públicamente, ingresa el mensaje y la clave secreta K y produce un valor MAC.
Similar al hash, la función MAC también comprime una entrada larga arbitraria en una salida de longitud fija. La principal diferencia entre hash y MAC es que MAC usa una clave secreta durante la compresión.
El remitente reenvía el mensaje junto con la MAC. Aquí, asumimos que el mensaje se envía de forma clara, ya que nos preocupa proporcionar autenticación del origen del mensaje, no confidencialidad. Si se requiere confidencialidad, el mensaje debe cifrarse.
Al recibir el mensaje y el MAC, el receptor alimenta el mensaje recibido y la clave secreta compartida K en el algoritmo MAC y vuelve a calcular el valor MAC.
El receptor ahora verifica la igualdad del MAC recién calculado con el MAC recibido del remitente. Si coinciden, el receptor acepta el mensaje y se asegura de que el mensaje ha sido enviado por el remitente previsto.
Si el MAC calculado no coincide con el MAC enviado por el remitente, el receptor no puede determinar si es el mensaje el que ha sido alterado o el origen que ha sido falsificado. Como conclusión, un receptor asume con seguridad que el mensaje no es genuino.
Limitaciones de MAC
Hay dos limitaciones principales de MAC, ambas debido a su naturaleza simétrica de operación:
Establishment of Shared Secret.
Puede proporcionar autenticación de mensajes entre usuarios legítimos predeterminados que han compartido la clave.
Esto requiere el establecimiento de un secreto compartido antes del uso de MAC.
Inability to Provide Non-Repudiation
El no repudio es la garantía de que el originador de un mensaje no puede negar ningún mensaje, compromiso o acción enviados previamente.
La técnica MAC no proporciona un servicio de no repudio. Si el remitente y el receptor se involucran en una disputa sobre el origen del mensaje, los MAC no pueden proporcionar una prueba de que el remitente realmente envió un mensaje.
Aunque ningún tercero puede calcular el MAC, el remitente podría negar haber enviado el mensaje y afirmar que el receptor lo falsificó, ya que es imposible determinar cuál de las dos partes calculó el MAC.
Ambas limitaciones pueden superarse mediante el uso de firmas digitales basadas en claves públicas que se describen en la siguiente sección.