IPsec para niños
IPsec (que significa Internet Protocol security) es un grupo de reglas y procedimientos que ayudan a proteger la información que viaja por internet usando el Protocolo de Internet (IP). Su trabajo principal es verificar que los datos son auténticos y/o cifrar cada paquete de información para que solo las personas correctas puedan verlos. IPsec también incluye formas de establecer las claves secretas necesarias para el cifrado.
Contenido
¿Cómo funciona IPsec?
Los protocolos de IPsec trabajan en la capa de red, que es como el nivel 3 de un modelo que describe cómo se comunican los ordenadores (el Modelo OSI). Otros sistemas de seguridad para internet, como SSL, TLS y SSH, funcionan en un nivel más alto (la capa de aplicación o nivel 7). Esto hace que IPsec sea muy flexible, ya que puede proteger otros protocolos importantes como TCP y UDP.
La arquitectura de seguridad de IPsec
IPsec usa un conjunto de protocolos especiales para:
- Asegurar que los paquetes de información viajen de forma segura.
- Garantizar que los dos puntos que se comunican se verifiquen mutuamente.
- Establecer los parámetros para el cifrado.
IPsec utiliza algo llamado "asociación de seguridad" (SA). Piensa en una SA como un paquete que contiene las reglas y las claves secretas que se usarán para cifrar y verificar un flujo de datos en una dirección específica. Si la comunicación es en ambos sentidos, se necesitan dos asociaciones de seguridad. Los administradores de IPsec eligen qué métodos de cifrado y verificación se usarán.
Para saber cómo proteger un paquete de datos que va a salir, IPsec usa un número llamado Índice de Parámetro de Seguridad (SPI). Este número, junto con la dirección de destino del paquete, ayuda a IPsec a encontrar la asociación de seguridad correcta para ese paquete. Cuando un paquete llega, se hace algo similar para encontrar las claves necesarias para verificar y descifrar la información.
El estado actual de IPsec
IPsec era una parte obligatoria de IPv6 (una versión más nueva del Protocolo de Internet), pero desde 2011, su uso es recomendado, no obligatorio. Para IPv4 (la versión más común de IP), usar IPsec es opcional. Aunque IPsec está diseñado para funcionar con cualquier versión de IP, la mayoría de las veces se ha usado con IPv4.
Los protocolos de IPsec se han ido actualizando a lo largo del tiempo. Las primeras versiones se definieron en 1995. Luego, en 1998, salieron nuevas versiones que no eran compatibles con las anteriores, pero la idea principal era la misma. En 2005, se publicó una tercera generación de documentos que mejoró aún más el sistema.
¿Para qué se diseñó IPsec?
IPsec fue creado para proteger el tráfico de datos de dos maneras principales:
- Modo transporte: La seguridad se aplica directamente entre dos ordenadores.
- Modo túnel: La seguridad se aplica entre dos puntos de una red, protegiendo el tráfico de varias máquinas a la vez.
IPsec se usa mucho para crear VPNs (Redes Privadas Virtuales) en ambos modos. Una VPN te permite conectarte a una red de forma segura a través de internet, como si estuvieras en esa red.
Como el Protocolo de Internet no tiene seguridad incorporada, IPsec se añadió para ofrecer servicios como:
- Cifrado: Para que nadie más pueda leer tus datos.
- Verificación de integridad: Para asegurar que los datos no han sido cambiados en el camino.
- Autenticación: Para confirmar que los datos vienen de una fuente confiable.
- Protección contra repetición: Para evitar que alguien reenvíe datos antiguos para engañar al sistema.
Modos de operación de IPsec
IPsec tiene dos modos principales de funcionamiento:
Modo transporte
En el modo transporte, solo la parte de los datos del paquete IP (la "carga útil") se cifra o se verifica. La información de la dirección del paquete (la cabecera IP) no se modifica ni se cifra, por lo que el paquete puede seguir su ruta normal. Este modo se usa para comunicaciones directas entre dos ordenadores.
Modo túnel
En el modo túnel, todo el paquete IP (tanto los datos como la cabecera) se cifra o se verifica. Luego, este paquete cifrado se mete dentro de un nuevo paquete IP. Esto es como crear un "túnel" seguro. El modo túnel se usa para conectar redes entre sí (por ejemplo, para VPNs entre routers) o para que un ordenador se conecte de forma segura a una red a través de internet.
Protocolos de IPsec
IPsec usa tres protocolos principales para dar seguridad a los paquetes de datos, tanto para IPv4 como para IPv6:
- Authentication Header (AH): Este protocolo asegura que los datos no han sido alterados y que vienen de la fuente correcta. También puede proteger contra la repetición de paquetes.
- Encapsulating Security Payload (ESP): Este protocolo se encarga de cifrar los datos para que sean confidenciales. También puede ofrecer verificación y protección de integridad, lo cual es muy recomendable.
- Internet key exchange (IKE): Este protocolo ayuda a establecer las claves secretas que se usarán para el cifrado y la verificación.
Los algoritmos de cifrado que se usan con IPsec incluyen métodos como HMAC-SHA-1 para la integridad, y Triple DES-CBC y AES-CBC para la confidencialidad.
Authentication Header (AH)
AH se enfoca en asegurar la integridad y la autenticación de los datos. Para ello, calcula un código especial (HMAC) usando un algoritmo y una clave secreta, basándose en el contenido del paquete IP. AH protege la parte de los datos y la mayoría de los campos de la cabecera IP, excepto aquellos que pueden cambiar durante el viaje. AH funciona directamente sobre IP, usando el número de protocolo 51.
0 - 7 bit | 8 - 15 bit | 16 - 23 bit | 24 - 31 bit |
---|---|---|---|
Siguiente cabecera | Longitud de datos | RESERVADO | |
Índice de parámetros de seguridad (SPI) | |||
Número de secuencia | |||
Código de Autenticación de Mensaje (variable) |
Encapsulating Security Payload (ESP)
El protocolo ESP proporciona autenticidad del origen, integridad y protección de la confidencialidad de un paquete. ESP también permite configuraciones de solo cifrado o solo autenticación, pero usar cifrado sin autenticación no es seguro. A diferencia de AH, ESP no protege la cabecera del paquete IP (aunque en modo túnel, sí protege la cabecera interna del paquete). ESP funciona directamente sobre IP, usando el número de protocolo 50.
0 - 7 bit | 8 - 15 bit | 16 - 23 bit | 24 - 31 bit |
---|---|---|---|
Índice de parámetros de seguridad (SPI) | |||
Número de secuencia | |||
Datos de carga útil (variable) |
|||
Relleno (0-255 bytes) | |||
Longitud de relleno | Siguiente cabecera | ||
Datos de autenticación (variable) |
Implementaciones de IPsec
El soporte para IPsec suele estar integrado en el "núcleo" de los sistemas operativos (la parte central que controla el hardware y el software). La gestión de claves y la negociación se realizan en otra parte del sistema. Muchas implementaciones de IPsec incluyen ambas funciones.
Algunos proyectos importantes que han implementado IPsec para sistemas operativos como Linux, NetBSD y FreeBSD son FreeS/WAN (que ya no existe, pero dio origen a Openswan y strongSwan) y el proyecto KAME. Otros sistemas operativos como Microsoft Windows, Cisco IOS, Solaris, AIX de IBM, z/OS de IBM y HP-UX también tienen sus propias implementaciones de IPsec.
Documentos relacionados con IPsec (RFCs)
Los protocolos de IPsec se describen en una serie de documentos técnicos llamados RFCs (Request For Comments). Aquí hay algunos de los más importantes:
- RFC 2401 (y sus sucesores RFC 4301): Arquitectura de seguridad para el Protocolo de Internet.
- RFC 2402 (y sus sucesores RFC 4302): Cabecera de Autenticación (AH).
- RFC 2406 (y sus sucesores RFC 4303): Carga Útil de Seguridad Encapsulada (ESP).
- RFC 2409 (y sus sucesores RFC 4306): Intercambio de Claves de Internet (IKE).
- RFC 3948: Encapsulación UDP de paquetes ESP de IPsec (útil para atravesar NAT).
- RFC 4305 (y sus sucesores RFC 4835): Requisitos de implementación de algoritmos criptográficos para ESP y AH.
- RFC 4306: Protocolo de Intercambio de Claves de Internet (IKEv2).