IPsec

Una asociación de seguridad es simplemente el paquete de algoritmos y parámetros (tales como las claves) que se está usando para cifrar y autenticar un flujo particular en una dirección.

En el caso de multicast, se proporciona una asociación de seguridad al grupo, y se duplica para todos los receptores autorizados del grupo.

Los protocolos de IPsec se definieron originalmente en las RFCs 1825 y 1829, publicadas en 1995.

Es raro ver un producto que ofrezca soporte de RFC1825 y 1829.

IPsec puede utilizarse para crear VPNs en los dos modos, y este es su uso principal.

En modo transporte, solo la carga útil (los datos que se transfieren) del paquete IP es cifrada o autenticada.

En el modo túnel, todo el paquete IP (datos más cabeceras del mensaje) es cifrado o autenticado.

Debe ser entonces encapsulado en un nuevo paquete IP para que funcione el enrutamiento.

Para ello, calcula un Hash Message Authentication Code (HMAC) a través de algún algoritmo hash operando sobre una clave secreta, el contenido del paquete IP y las partes inmutables del datagrama.

AH protege la carga útil IP y todos los campos de la cabecera de un datagrama IP excepto los campos mutantes, es decir, aquellos que pueden ser alterados en el tránsito.

El proyecto KAME también implementó soporte IPsec completo para NetBSD y FreeBSD.

OpenBSD hizo su propio demonio ISAKMP/IKE, llamado simplemente isakmpd (y ha sido portado a otros sistemas, incluyendo Linux).

Esta pila fue posteriormente lanzada como parte de Linux 2.6, y es llamada por varios "nativa"o "NETKEY".

Por lo tanto, contrariamente a la creencia popular, la pila IPsec de Linux no se originó en el proyecto KAME.

Como soporta el protocolo estándar PF KEY (RFC 2367) y el intefaz nativo XFRM para gestión de claves, la pila IPsec de Linux puede utilizarse junto con pluto de Openswan/strongSwan, isakmpd del proyecto OpenBSD, racoon del proyecto KAME o sin ningún demonio ISAKMP/IKE (utilizando claves manuales).

Esquema en inglés mostrando funcionamiento de IPsec