21 nov 2009

¿Qué es IPSec?

Según Wikipedia, IPSec (Internet Protocol Security) es "un conjunto de protocolos cuya función es asegurar las comunicaciones sobre la suite de protocolos TCP/IP autenticando y/o cifrando cada paquete IP en un flujo de datos."

IPSec funciona encriptando la información contenida en los datagramas IP mediante encapsulamiento. Esto a su vez proporciona integridad, confidencialidad, autenticación y protección ante repetición. También se puede utilizar para proteger conexiones remotas.


Algunas de las funcionalidades que provee son:

Autenticación: una firma digital es utilizada para verificar la identidad del remitente. IPSec puede utilizar certificados digitales, Kerberos o una clave compartida previamente.
Integridad: un algoritmo de hash es utilizado para garantizar que la información no ha sido modificada en transito. A partir del paquete original, se calcula un HMAC (Hash Message Authentication Code).
  • Confidencialidad: se utilizan algoritmos de cifrado para asegurar que la información
  • transmitida, aunque interceptada, no pueda ser descifrada.
  • Anti-repetición: previene que un atacante reenvíe paquetes en un intento de acceder a la red.
  • No repudio: se utilizan firmas digitales para garantizar que el remitente no pueda negar el envío.
  • Claves dinámicas: las claves pueden ser creadas durante la sesión en forma dinámica, protegiendo distintos segmentos de la información con diferentes claves.
  • Regeneración de claves: el algoritmo de intercambio de claves Diffie-Hellman se utiliza para habilitar que dos equipos intercambien una clave de cifrado.
  • Filtrado de paquetes IP: es posible filtrar e incluso bloquear tipos de tráficos específicos, basado en cualquier combinación de dirección IP, protocolo y puerto.
IPSec posee dos modos de operación, túnel y transporte.

Modo Transporte
En este modo de trabajo, solamente la información del paquete es cifrada y/o autenticada. La información de enrutamiento, o encabezamiento no es alterada.

Modo Túnel
En este modo, todo el paquete es cifrado, lo cual incluye la información de encabezamiento.
Considerando todas las facilidades que provee IPSec, es sensato primeramente determinar cuales métodos de seguridad son necesarios implementar.

El algoritmo de cifrado
Como dijimos anteriormente, IPSec brinda servicios de confidencialidad mediante el cifrado de la
información antes de que esta sea enviada. Si los paquetes son interceptados, el cifrado asegura que el intruso no podrá interpretar la información.

Advanced Encryption Standard (AES)
También conocido como Rijndael, es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. Se espera que sea usado en el mundo entero y analizado exhaustivamente, como fue el caso de su predecesor, el Data Encryption Standard (DES).

Data Encryption Standard (DES)
Este es el algoritmo de cifrado utilizado en forma nativa por Windows Server 2003, el cual utiliza un cifrado de 56-bit. Actualmente no se recomienda su utilización por considerarlo poco robusto.

Triple DES (3DES)
Ante las vulnerabilidades presentes en DES, se necesito una forma de garantizar mayor robustes, reutilizando este algoritmo altamente implementado. La opción fue utilizar tres rondas de DES sobre cada bloque de texto plano (plaintext).

Existen 3 modos de operación en 3DES, los cuales en algunos artículos se mencionan como "keying":
  • Keying 1: Se utilizan 3 claves distintas. Esto hace que sea la modalidad mas robusta. Genera un largo de clave de 168 bits
  • Keying 2: se utilizan 2 claves distintas (K1 = K3). El largo de clave es de 112 bits
  • Keying 3: las tres claves son idénticas, por lo que el largo es de 56 bits.
  • AES, DES y 3DES son considerados “block ciphers”. Esto significa que trabajan en bloques de un largo fijo, es decir, un bloque de texto plano (plaintext), sin cifrar, de un determinado tamaño origina un bloque de texto cifrado (ciphertext) del mismo tamaño.
El intercambio de claves
Los algoritmos de intercambio de clave son utilizados para permitir que dos equipos intercambien una clave compartida en forma segura sobre un canal inseguro.
Los equipos intercambian información que al ser procesada por el algoritmo de intercambio, genera un clave compartida que luego puede utilizarse como clave de sesión, o para generar una clave de sesión que luego se utilizará para para cifrar la información.

Diffie-Hellman (D-H)
El Intercambio de Claves Diffie-Hellman permite a dos equipos crear una clave privada compartida para autenticar la información y cifrar los datagramas IP.
Los distintos grupos D-H son:
  • Grupo 1: largo de clave de 768 bits.
  • Grupo 2: largo de clave de 1024-bits.
  • Grupo 3 (o 14): largo de clave de 2048-bits.
El Grupo 3, el cual es referenciado como Grupo 14 en algunos artículos, es considerado mucho mas robusto y complejo que el Grupo 2. Pero si es necesario garantizar compatibilidad con sistemas operativos anteriores a Windows XP, deberá ser utilizado el Grupo 2.

Elliptic Curve Diffie-Hellman (ECDH)
ECDH es una variante de D-H utilizando criptografía de curva elíptica.
Al igual que D-H, permite el intercambio de una clave secreta entre dos equipos sobre un canal inseguro.
Cada uno de los equipos debe poseer un par de claves (privada/publica) de curva elíptica.
Esta clave secreta puede ser utilizada como clave de sesión o para generar una nueva clave de sesión la cual puede ser luego utilizada para cifrar la información, utilizando un algoritmo simétrico.
Posee largos de clave de 256 y 384 bits. En plataformas Windows, es soportada en equipos con Windows Vista (SP1) y Windows Server 2008.

El método de autenticación
Por autenticación se entiende la verificación de la identidad del equipo que envía la información (remitente), o la identidad del equipo que la recibe (destinatario).

Certificados digitales
Son el método mas robusto de autenticación.

Kerberos (v5)
Una de las desventajas de este método es que la identidad del equipo permanece en claro hasta que todo el paquete se haya cifrado durante la autenticación.

Claves compartidas
Se debería evitar el uso de este método siempre que sea posible utilizar uno de los anteriores.
Debido a que las Claves compartidas son consideradas menos seguras que los demás mecanismos, solo deberán utilizarse cuando estos no sean factibles.

NTLMv2
Se trata de un mecanismo de autenticación de tipo “challenge/response” propietario de Microsoft interoperable con Active Directory. Esta disponible en Windows Vista y Windows Server 2008.

Certificados digitales + ECDSA
Este método esta disponible en equipos Windows Vista en adelante. Se trata de autenticación mediante certificados digitales, firmados con el algoritmo Elliptic Curve Digital Signature Algorithm.

Es posible definir mas de un método de autenticación, estableciendo el orden en el cual se desea que se apliquen.

El algoritmo de integridad
Aplicando un algoritmo a la información que se transmitirá, el remitente genera un hash del mismo, el cual se adjunta al paquete.
Cuando el destinatario recibe el paquete, procede a separar el hash calculado por el remitente y a calcular el propio, a partir de la información del paquete recibido.
Luego compara su hash con el del remitente, si son iguales, entonces se comprueba que el paquete no fue alterado en transito.

Message Digest 5 (MD5)
MD5 es un algoritmo que genera un hash de 128 bits. Es considerado inadecuado para su utilización por el US-CERT desde Diciembre de 2008.

Secure Hash Algorithm (SHA)
SHA-1 genera un hash de 160 bits, actualmente se utilizan SHA-256 y SHA-384, con largos de 256 y 384 bits respectivamente.

Cuanto mayor el largo de clave, se considera mas robusto, debido complejidad de los cálculos criptográficos. Sin embargo eso también significa un mayor consumo de recursos por parte de los equipos, principalmente ciclos de CPU.
SHA-1 esta disponible en las versiones de Windows 2000 en adelante.
SHA-256 y SHA-384 están disponibles en las versiones de Windows Vista (SP1) y Windows Server 2008.
IPSec brinda un muy buen nivel de seguridad siempre que este correctamente implementado, sin embargo, es importante evaluar bien el alcance del despliegue en la organización.

Gracias Americo por el artículo

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!