Como hemos dicho en la sección anterior, la cabecera de autenticación o AH permite proteger la integridad de los datos y proporcionar autenticación. Esto significa, por un lado, que podremos detectar si el paquete ha sido modificado en su trayecto desde el origen y, por otro, que un sistema final o dispositivo de red podrá autenticar el usuario o la aplicación para filtrar el tráfico.
El mecanismo que se emplea para ofrecer estos dos servicios es el código de
autenticación de mensaje (Message Authentication Code o MAC). Este
método supone la utilización de una clave entre las dos partes, que genera
un pequeño bloque de datos que se añade al mensaje. Viene a ser una
función de resumen con clave. Cuando un nodo A tiene que enviar un mensaje
a un nodo B, calcula el MAC en función del mensaje y la clave:
,
y se añade al mensaje. Cuando el receptor recibe el mensaje, éste hace la
misma operación sobre el mensaje recibido, utilizando la misma clave secreta.
Esto significa que el receptor vuelve a calcular el MAC del mensaje que ha
recibido y lo compara con el que acompañaba al mensaje recibido. Si todas
las comprobaciones se superan con éxito, entonces podremos asegurar que
el mensaje no ha sido alterado.
La cabecera de autenticación está formada por los siguientes campos:
Los datos de autenticación se calcularán sobre la parte inmutable del paquete, es decir, aquellos que no necesitan ser variados a su paso por los distintos encaminadores entre origen y destino. La parte inmutable del paquete será siempre, al menos, el campo de datos del paquete IP y la cabecera de autenticación a excepción de del campo de datos de autenticación mismo.
En IPv4, otros de los campos inmutables son la dirección de origen y destino y la longitud de la cabecera IP. En IPv6, otros de los campos serían el de versión y dirección de destino.