top of page

Introducción a IPsec: Seguridad en la capa IP

  • jogofus
  • 1 dic 2024
  • 4 Min. de lectura

En la última entrada hablé de las interfaces TUN y TAP, algo estrechamente ligado a las VPN. Y como a lo largo de varias entradas he montado laboratorios que hacía uso de IPsec, he visto conveniente hablar de qué es y como funciona.

ree

¿Qué es IPsec?

IPsec es un grupo de protocolos diseñados para garantizar la seguridad de las comunicaciones a nivel de la capa de paquetes IP mediante técnicas de cifrado. Además, incluye mecanismos para negociar asociaciones de seguridad (SA) y gestionar la distribución de claves. Todos estos elementos se organizan dentro de un documento llamado Dominio de Interpretación (DOI). Este DOI de IPsec detalla los parámetros de seguridad esenciales para configurar correctamente un túnel VPN, incluyendo todos los aspectos necesarios para las negociaciones de SA e IKE.


Este conjunto de protocolos trabaja en la capa 3 del modelo OSI, por lo que todo el paquete original se encapsula en un nuevo paquete IP.


Su objetivo es crear tuneles de red seguros a través de redes inseguras. Por ejemplo, conecta dos redes (o sus routers, llamados peers, a través de internet).


Modos de IPsec

ree

Como podemos ver en la imagen anterior, IPsec puede funcionar en modo transporte y en modo túnel.


Modo transporte: En este modo solo se protege la carga útil del paquete (los datos y encabezados superiores como TCP/UDP), dejando intacta la cabecera IP original.

El protocolo (AH, authentication Header, o ESP, Encapsulating Security Payload) se inserta entre la cabecera IP original y los datos.

Este modo tiene la ventaja de que tiene menor sobrecarga al no añadir cabeceras IP adicionales, siendo ideal para comunicaciones punto a punto, pero no oculta la dirección IP original.


Modo tunel: En el modo túnel se encapsula el paquete IP completo, incluyendo su cabecera IP original y los datos, dentro de una nueva cabecera IP externa. Su uso típico es comunicación entre redes (site to site).


Protocolos para garantizar la seguridad

AH, authentication header: El encabezado de autenticación proporciona autenticación de datos, una integridad sólida y protección de repetición para los datagramas IP. AH protege la mayor parte del datagrama IP. Como muestra la ilustración siguiente, AH se inserta entre el encabezado IP y el encabezado de transporte.

ree

Este es el protocolo 51.


ESP, Encapsulating Security Payload: El módulo carga de seguridad encapsuladora (ESP) ofrece confidencialidad para los elementos que encapsula ESP. ESP también proporciona los servicios que proporciona AH. Sin embargo, ESP sólo proporciona sus protecciones de la parte del datagrama que encapsula ESP. ESP proporciona servicios de autenticación opcional para asegurar la integridad de los paquetes protegidos.

ree

ESP encapsula los datos, de modo que ESP sólo protege los datos que siguen a su inicio en el datagrama, como se muestra en la ilustración siguiente.

La información de dentro de los tuneles está encriptada. Se trata de una conexión segura a través de una red insegura.

Este es el protocolo 50.


Funcionamiento de IPsec

IPsec tiene dos fases principales. Si trabajas con VPN oirás hablar constantemente sobre la fase 1 y la fase 2 de IPsec.


A continuación detallo el funcionamiento de cada una de las fases.


Fase 1

ree

La primera es la IKE (Internet Key Exchange) phase 1, que se trata de la parte más lenta y pesada del proceso, es el protocolo utilizado para establecer como las claves son compartidas. Utiliza el puerto 500/UDP.

Aquí tenemos dos opciones: IKEv1 e IKEv2. La primera opción es la más vieja, siendo la segunda más moderna y con características nuevas añadidas.


En la fase 1 es donde se autentica inicialmente utilizando una clave precompartida o un certificado y en el que se crea la clave simetrica compartida, utilizada en la fase 2.

El final de esta fase se conoce como IKE SA (security association)


El primer paso de este proceso es que los routers que intervienen en el proceso (los peers, cada uno en su correspondiente lado) necesita autenticarse. Básicamente tienen que probar su identidad mediante certificados o claves compartidas.


Es importante entender que aún no se trata de cifrado. Se trata de probar la identidad.

Se comprueba que la parte contraria debe formar parte de esta VPN. Las claves no son compartidas.


Cuando la identidad ha sido confirmada procederemos con la siguiente etapa de IKE phase1.

En esta etapa se usa un proceso llamado intercambio de claves Diffie-Hellman. Cada peer crea su clave privada DH.

Esta clave es usada para descifrar y firmar cosas pertenecientes al tunel. Asociada a esta, cada peer tiene su clave privada. En este punto, las claves públicas son compartidas. Así pues, Peer-1 tiene la clave pública de Peer-2 y viceversa. Hay que tener en cuenta que esta clave no es sensible y solo se utiliza para descifrar la información.


La siguiente parte se trata de procesos matemáticos complejos, pero a nivel fundamental cada parte toma su propia clave privada y la clave pública de la otra parte y utiliza esto para derivar lo que se conoce como la Clave DH. Esta clave es la misma en ambos extremos, pero es generada independientemente. Posteriormente, la clave DH se combina con la PSK para generar la clave HMAC.




ree

Citando al CCN:

Todas las comunicaciones de IKE consisten en pares de mensajes petición/respuesta (intercambios):
El primer intercambio IKE_SA_INIT negocia algoritmos criptográficos, intercambia nonces (números de un solo uso) y realiza un intercambio Diffie-Hellman (DH) a partir del cual se genera un secreto compartido. Todos los mensajes a partir de este intercambio estarán criptográficamente protegidos utilizando los algoritmos y claves negociados.
El segundo par de mensajes (IKE_AUTH) autentica los mensajes previos, intercambia identidades y certificados y establece la primera SA derivada (Child SA). La confidencialidad y la integridad de este segundo par de mensajes está protegida con el material acordado en el primer intercambio.

ree

ree

Fase 2

Una vez se ha intercambiado la clave DH, ambos peers validan como la VPN debe ser construida. Utiliza el puerto 4500/UDP.

La fase anterior consistía en permitir este intercambio de claves y que los pares se comunicaran. En la fase 2 consiste en tener la VPN en marcha y de estar en condiciones de cifrar los datos.

En este momento, la clave DH se utiliza para cifrar y descifrar los acuerdos entre los peers. Con esta información se crea lo que se conoce como la clave IPsec. Se utiliza para el cifrado y descrifrado del trafico a través del tunel de la VPN.


Al finalizar esta fase, se tendrán dos IKE SA.


 
 
 

Comentarios


bottom of page