IPsec
-
Servicios de Seguridad
-
Estructura IPsec
Resumen
IPsec, un estándar IETF, es un túnel seguro que funciona en la capa 3 del modelo OSI que puede proteger y autenticar paquetes IP entre peers IPsec. Puede proporcionar confidencialidad mediante el cifrado, la integridad de datos, la autenticación y la protección antirreproducción. La integridad de datos se proporciona mediante un algoritmo de hash, como MD5 o SHA. El método de autenticación de peers PSK o RSA proporciona la autenticación.
Se describe las características de IPsec (Internet Protocol security) y se explica la forma en que se implementa IPsec mediante el marco del protocolo IPsec.
Tabla de Contenido
1. IPsec
Las VPN con IPsec ofrecen conectividad flexible y escalable. Las conexiones de sitio a sitio pueden proporcionar una conexión remota segura, rápida y confiable.
Con una VPN con IPsec, la información de una red privada se transporta de manera segura a través de una red pública. Esto forma una red virtual en lugar de usar una conexión dedicada de capa 2, como se muestra en la ilustración. Para que siga siendo privado, el tráfico se cifra a fin de mantener la confidencialidad de los datos.

1.1. Qué es IPSec
Seguridad de protocolo de Internet o IPsec es un estándar IETF que define la forma en que se puede configurar una VPN de manera segura mediante el protocolo de Internet.
IPsec es un marco de estándares abiertos que detalla las reglas para las comunicaciones seguras. IPSec no se limita a ningún tipo específico de cifrado, autenticación, algoritmo de seguridad ni tecnología de creación de claves. En realidad, IPsec depende de algoritmos existentes para implementar comunicaciones seguras. También permite que se implementen nuevos y mejores algoritmos sin modificar los estándares existentes de IPsec.
IPsec funciona en la capa de red, por lo que protege y autentica los paquetes IP entre los dispositivos IPsec participantes, también conocidos como “peers”. IPsec protege una ruta entre un par de gateways, un par de hosts o un gateway y un host. Como resultado, IPsec puede proteger prácticamente todo el tráfico de una aplicación, dado que la protección se puede implementar desde la capa 4 hasta la capa 7.
Todas las implementaciones de IPsec tienen un encabezado de capa 3 de texto no cifrado, de modo que no hay problemas de routing. IPsec funciona en todos los protocolos de capa 2, como Ethernet, ATM o Frame Relay.
Las características de IPsec se pueden resumir de la siguiente manera:
- Es un marco de estándares abiertos que no depende de algoritmos.
- Proporciona confidencialidad e integridad de datos, y autenticación del origen.
- Funciona en la capa de red, por lo que protege y autentica paquetes IP.
2. Servicios de seguridad IPsec
Los servicios de seguridad IPsec proporcionan cuatro funciones fundamentales:
- Confidencialidad (cifrado): en una implementación de VPN, los datos privados se transfieren a través de una red pública. Por este motivo, la confidencialidad de los datos es fundamental. Esto se puede lograr mediante el cifrado de los datos antes de transmitirlos a través de la red. Este es el proceso de tomar todos los datos que una computadora envía a otra y codificarlos de una manera que solo la otra computadora pueda decodificar.
- Integridad de datos: el receptor puede verificar que los datos se hayan transmitido a través de Internet sin sufrir ningún tipo de modificaciones ni alteraciones. Si bien es importante que los datos a través de una red pública estén cifrados, también es importante verificar que no se hayan modificado cuando estaban en tránsito.
- Autenticación: verifica la identidad del origen de los datos que se envían. Esto es necesario para la protección contra distintos ataques que dependen de la suplantación de identidad del emisor. IPsec utiliza el intercambio de claves de Internet (IKE) para autenticar a los usuarios y dispositivos que pueden llevar a cabo la comunicación de manera independiente.
- Protección antirreproducción: es la capacidad de detectar y rechazar los paquetes reproducidos, y ayuda a prevenir la suplantación de identidad. Verifica que cada paquete sea único y no esté duplicado. Los paquetes IPsec se protegen mediante la comparación del número de secuencia de los paquetes recibidos con una ventana deslizante en el host de destino o el gateway de seguridad. Se considera que un paquete que tiene un número de secuencia anterior a la ventana deslizante tiene un retraso o está duplicado.

El acrónimo CIA se suele utilizar para ayudar a recordar las iniciales de estas tres funciones: confidencialidad, integridad y autenticación.
3. Confidencialidad con cifrado
El tráfico VPN se mantiene confidencial con el cifrado. Los datos de texto no cifrado que se transportan a través de Internet pueden interceptarse y leerse. Cifre la fecha para que se mantenga privada. El cifrado digital de los datos hace que estos sean ilegibles hasta que el receptor autorizado los descifre.
Para que la comunicación cifrada funcione, el emisor y el receptor deben conocer las reglas que se utilizan para transformar el mensaje original a su forma cifrada. Las reglas se basan en algoritmos y claves asociadas.
En el contexto del cifrado, un algoritmo es una secuencia matemática de pasos que combina un mensaje, texto, dígitos o las tres cosas con una cadena de dígitos denominada “clave”. El resultado es una cadena de cifrado ilegible. El algoritmo de cifrado también especifica cómo se descifra un mensaje cifrado. El descifrado es extremadamente difícil o imposible sin la clave correcta.

En la ilustración, Gail desea enviar una transferencia electrónica de fondos (EFT) a Jeremías a través de Internet. En el extremo local, el documento se combina con una clave y se procesa con un algoritmo de cifrado. El resultado es un texto cifrado. El texto cifrado se envía a través de Internet. En el extremo remoto, el mensaje se vuelve a combinar con una clave y se devuelve a través del algoritmo de cifrado. El resultado es el documento financiero original.
La confidencialidad se logra con el cifrado del tráfico mientras viaja por una VPN. El grado de seguridad depende de la longitud de la clave del algoritmo de cifrado y la sofisticación del algoritmo.
4. Algoritmos de cifrado
El grado de seguridad depende de la longitud de la clave del algoritmo de cifrado. Cuanto más larga es la clave, se torna más difícil descifrarla. Sin embargo, una clave más larga requiere más recursos de procesador para cifrar y descifrar datos.
DES y 3DES ya no se consideran seguros; por lo tanto, se recomienda utilizar AES para el cifrado de IPSec. La mejor seguridad para el cifrado de IPSec de las VPN entre dispositivos de Cisco la proporciona la opción de 256 bits de AES.
Además, dado que se descifraron claves de Rivest, Shamir y Adleman (RSA) de 512 bits y 768 bits, Cisco recomienda utilizar claves de 2048 bits con la opción RSA si se la utilizó durante la fase de autenticación de IKE.
4.1. Cifrado simétrico
Los algoritmos de cifrado, como AES, requieren una clave secreta compartida para el cifrado y el descifrado. Cada uno de los dos dispositivos de red debe conocer la clave para decodificar la información. Con el cifrado de clave simétrica, también denominado “cifrado de la clave secreta”, cada dispositivo cifra la información antes de enviarla a través de la red al otro dispositivo.
El cifrado de clave simétrica requiere saber qué dispositivos se comunican entre sí para poder configurar la misma clave en cada dispositivo.

- Por ejemplo, un emisor crea un mensaje cifrado en el que cada letra se reemplaza por otra letra que está dos lugares más adelante en el abecedario: A se convierte en C, B se convierte en D y así sucesivamente. En este caso, la palabra SECRET se convierte en UGETGV.
- El emisor ya le dijo al destinatario que la clave secreta se corre dos letras.
- Cuando el destinatario recibe el mensaje UGETGV, la computadora del destinatario decodifica el mensaje corriendo dos letras hacia atrás y calcula la palabra SECRET.
- Cualquier persona que ve el mensaje solo ve el mensaje cifrado, que parece no tener sentido, a menos que la persona conozca la clave secreta.
A continuación, se muestra una sinopsis para los algoritmos simétricos:
- Utilizan criptografía de clave simétrica.
- El cifrado y el descifrado utilizan la misma clave.
- Por lo general, se utilizan para cifrar el contenido del mensaje.
- Ejemplos: DES, 3DES y AES
¿Cómo es que los dispositivos de cifrado y descifrado tienen una clave secreta compartida? Para enviar las claves secretas compartidas a los administradores de los dispositivos, se podría utilizar el correo electrónico, el servicio de mensajería común o de entrega urgente. Otro método más seguro es el cifrado asimétrico.
4.2. Cifrado asimétrico
El cifrado asimétrico utiliza claves diferentes para el cifrado y el descifrado. Aunque conozca una de las claves, un pirata informático no puede deducir la segunda clave y decodificar la información. Una clave cifra el mensaje, mientras que una segunda clave descifra el mensaje. No es posible cifrar y descifrar con la misma clave.

- El cifrado de clave pública es una variante del cifrado asimétrico que utiliza una combinación de una clave privada y una pública.
- El destinatario brinda una clave pública a cualquier emisor con el que desee comunicarse.
- El emisor utiliza una clave privada que se combina con la clave pública del destinatario para cifrar el mensaje. Además, el emisor debe compartir su clave pública con el destinatario.
- Para descifrar un mensaje, el destinatario utiliza la clave pública del emisor con su propia clave privada.
A continuación, se muestra una sinopsis para los algoritmos asimétricos:
- Utilizan criptografía de clave pública.
- El cifrado y el descifrado utilizan claves diferentes.
- Por lo general, se usan en la certificación digital y la administración de claves.
- Ejemplos: RSA
5. Intercambio de claves de Diffie-Hellman
Diffie-Hellman (DH) no es un mecanismo de cifrado y no se suele utilizar para cifrar datos. En cambio, es un método para intercambiar con seguridad las claves que cifran datos. Los algoritmos (DH) permiten que dos partes establezcan la clave secreta compartida que usan el cifrado y los algoritmos de hash.
DH fue el primer sistema en utilizar la clave pública o las claves criptográficas asimétricas. En la actualidad, DH forma parte del estándar IPsec. Además, un protocolo denominado OAKLEY utiliza un algoritmo DH. OAKLEY es un protocolo utilizado por el protocolo IKE, que forma parte del marco general denominado “protocolo de administración de claves y de asociación de seguridad de Internet“.

Los algoritmos de cifrado, como DES, 3DES y AES, así como los algoritmos de hash MD5 y SHA-1, requieren una clave secreta compartida simétrica para realizar el cifrado y el descifrado. ¿Cómo obtienen la clave secreta compartida los dispositivos de cifrado y descifrado? El método más sencillo de intercambio de claves es un método de intercambio de clave pública entre dispositivos de cifrado y descifrado.
El algoritmo DH especifica un método de intercambio de clave pública que proporciona una manera para que dos peers establezcan una clave secreta compartida que solo ellos conozcan, aunque se comuniquen a través de un canal inseguro. Como todos los algoritmos criptográficos, el intercambio de claves DH se basa en una secuencia matemática de pasos.
6. Integridad con los algoritmos de hash
Los algoritmos de hash manejan la integridad y la autenticación del tráfico VPN. Los hashes proporcionan integridad y autenticación de datos al asegurar que las personas no autorizadas no alteren los mensajes transmitidos.
Un hash, también denominado “síntesis del mensaje“, es un número que se genera a partir de una cadena de texto. El hash es más corto que el texto en sí. Se genera mediante el uso de una fórmula, de tal manera que es muy poco probable que otro texto produzca el mismo valor de hash.
El emisor original genera un hash del mensaje y lo envía con el mensaje propiamente dicho. El destinatario analiza el mensaje y el hash, produce otro hash a partir del mensaje recibido y compara ambos hashes. Si son iguales, el destinatario puede estar lo suficientemente seguro de la integridad del mensaje original.
6.1. Ejemplo del algoritmo de hash
En la ilustración, Gail le envió a Alex un EFT de USD 100. Jeremías interceptó y alteró este EFT para mostrarse como el destinatario y que la cantidad sea USD 1000. En este caso, si se utilizara un algoritmo de integridad de datos, los hashes no coincidirían, y la transacción no sería válida.

Los datos VPN se transportan por Internet pública. Como se muestra, existe la posibilidad de que se intercepten y se modifiquen estos datos. Para protegerlos contra esta amenaza, los hosts pueden agregar un hash al mensaje.
6.2. HMAC
El código de autenticación de mensajes basado en hash (HMAC) es un mecanismo para la autenticación de mensajes mediante funciones de hash.
Un HMAC con clave es un algoritmo de integridad de datos que garantiza la integridad de un mensaje.
Un HMAC tiene dos parámetros: una entrada de mensaje y una clave secreta que solo conocen el autor del mensaje y los destinatarios previstos.
- El emisor del mensaje utiliza una función HMAC para producir un valor (el código de autenticación de mensajes) que se forma mediante la compresión de la clave secreta y la entrada de mensaje.
- El código de autenticación de mensajes se envía junto con el mensaje.
- El receptor calcula el código de autenticación de mensajes en el mensaje recibido con la misma clave y la misma función HMAC que utilizó el emisor.
- A continuación, el receptor compara el resultado que se calculó con el código de autenticación de mensajes que se recibió.
Hay dos algoritmos HMAC comunes:
- MD5: utiliza una clave secreta compartida de 128 bits. El mensaje de longitud variable y la clave secreta compartida de 128 bits se combinan y se procesan con el algoritmo de hash HMAC-MD5. El resultado es un hash de 128 bit. El hash se adjunta al mensaje original y se envía al extremo remoto.
- SHA: SHA-1 utiliza una clave secreta de 160 bits. El mensaje de longitud variable y la clave secreta compartida de 160 bits se combinan y se procesan con el algoritmo de hash HMAC-SHA1. El resultado es un hash de 160 bits. El hash se adjunta al mensaje original y se envía al extremo remoto.
7. Autenticación IPsec
Las VPN con IPsec admiten la autenticación. Al realizar negocios a larga distancia, es necesario saber quién está del otro lado del teléfono, del correo electrónico o del fax. Lo mismo sucede con las redes VPN.

El dispositivo en el otro extremo del túnel VPN se debe autenticar para que la ruta de comunicación se considere segura, como se indica en la ilustración. Existen dos métodos de autenticación de peers:
- PSK: es una clave secreta que se comparte entre las dos partes que utilizan un canal seguro antes de que se necesite utilizarla. Las claves previamente compartidas (PSK) utilizan algoritmos criptográficos de clave simétrica. Se introduce una PSK en cada peer de forma manual y se la utiliza para autenticar el peer. En cada extremo, la PSK se combina con otra información para formar la clave de autenticación.
- Firmas RSA: se intercambian certificados digitales para autenticar los peers. El dispositivo local deriva un hash y lo cifra con su clave privada. El hash cifrado, o la firma digital, se vincula al mensaje y se reenvía hacia el extremo remoto. En el extremo remoto, se descifra el hash cifrado con la clave pública del extremo local. Si el hash descifrado coincide con el hash recalculado, la firma es genuina.
IPsec utiliza RSA (sistema criptográfico de claves públicas) para la autenticación en el contexto de IKE. El método de firmas RSA utiliza una configuración de firma digital en la que cada dispositivo firma un conjunto de datos de forma digital y lo envía a la otra parte.
El algoritmo de firma digital (DSA) es otra opción para la autenticación.
8. Marco del protocolo IPsec
Como se mencionó anteriormente, el marco del protocolo IPSec describe la mensajería para proteger las comunicaciones, pero depende de los algoritmos existentes.

En la Imagen 9, se describen dos protocolos IPSec principales:
- Encabezado de autenticación (AH): AH es el protocolo que se debe utilizar cuando no se requiere o no se permite la confidencialidad. Proporciona la autenticación y la integridad de datos para los paquetes IP que se transmiten entre dos sistemas. Sin embargo, AH no proporciona la confidencialidad (el cifrado) de datos de los paquetes. Todo el texto se transporta como texto no cifrado. Cuando se utiliza solo, el protocolo AH proporciona una protección poco eficaz.
- Contenido de seguridad encapsulado (ESP): es un protocolo de seguridad que proporciona confidencialidad y autenticación mediante el cifrado del paquete IP. El cifrado de paquetes IP oculta los datos y las identidades del origen y el destino. ESP autentica el paquete IP y el encabezado ESP internos. La autenticación proporciona la autenticación del origen de los datos y la integridad de los datos. Si bien el cifrado y la autenticación son optativos en ESP, se debe seleccionar, como mínimo, uno de ellos.
8.1. Componentes de la configuración de IPSec

En la Imagen 10, se muestran los componentes de la configuración de IPSec. Se deben seleccionar cuatro componentes básicos del marco de IPsec.
- Protocolo del marco de IPsec: al configurar un gateway IPsec para proporcionar servicios de seguridad, se debe seleccionar un protocolo IPsec. Las opciones son una combinación de ESP y AH. En realidad, las opciones de ESP o ESP+AH casi siempre se seleccionan porque AH en sí mismo no proporciona el cifrado.
- Confidencialidad (si se implementa IPsec con ESP): el algoritmo de cifrado elegido se debe ajustar al nivel deseado de seguridad (DES, 3DES o AES). Se recomienda AES, ya que AES-GCM proporciona la mayor seguridad.
- Integridad: garantiza que el contenido no se haya alterado en tránsito. Se implementa mediante el uso de algoritmos de hash. Entre las opciones se incluye MD5 y SHA.
- Autenticación: representa la forma en que se autentican los dispositivos en cualquiera de los extremos del túnel VPN. Los dos métodos son PSK o RSA.
- Grupo de algoritmos DH: representa la forma en que se establece una clave secreta compartida entre los peers. Existen varias opciones, pero DH24 proporciona la mayor seguridad.
La combinación de estos componentes es la que proporciona las opciones de confidencialidad, integridad y autenticación para las VPN con IPsec.