Internet key exchange para niños
Internet Key Exchange (IKE) es un protocolo especial que ayuda a establecer conexiones seguras en internet, especialmente para algo llamado IPsec. Imagina que es como un "apretón de manos secreto" que dos computadoras hacen para ponerse de acuerdo sobre cómo van a proteger la información que se envían.
IKE usa un método llamado intercambio de claves Diffie-Hellman para crear un "secreto compartido". Este secreto es como una clave secreta que solo esas dos computadoras conocen. Para asegurarse de que están hablando con la computadora correcta, IKE puede usar claves públicas (como una identificación digital) o claves pre-compartidas (como una contraseña secreta que ya conocen).
Este protocolo es una forma automática de establecer estas claves, lo que es mucho más fácil que configurarlas a mano. Su objetivo principal es negociar una "Asociación de Seguridad" para IPsec. También permite definir cuánto tiempo durará la conexión segura y verificar la identidad de las computadoras que se conectan.
Contenido
¿Cómo surgió el Intercambio de Claves por Internet?
IKE fue creado por un grupo llamado IETF (Fuerza de Tareas de Ingeniería de Internet) en noviembre de 1998. Lo definieron en varios documentos técnicos llamados RFC (Request for Comments).
- El RFC 2407 explicó cómo IKE funciona con IPsec.
- El RFC 2408 describió el Protocolo de Gestión de Claves y Asociación de Seguridad en Internet (ISAKMP).
- El RFC 2409 definió el propio Intercambio de Claves en Internet (IKE).
Más tarde, en diciembre de 2005, se desarrolló una versión mejorada llamada IKEv2, publicada en el RFC 4306. Esta versión se amplió con otros RFCs para incluir nuevas características y mejoras. La Sociedad Internet (ISOC), que es la organización que supervisa al IETF, se asegura de que estos estándares estén disponibles para todos.
¿Cómo funciona la arquitectura de IKE?
La mayoría de los sistemas que usan IPsec tienen dos partes principales:
- Un programa llamado "demonio IKE" que se encarga de la configuración.
- Una parte dentro del "núcleo" del sistema operativo que procesa los paquetes de información.
El demonio IKE, que es como un programa que siempre está funcionando, puede acceder fácilmente a la información de configuración, como las direcciones de otras computadoras, las claves y los certificados. Por otro lado, la parte del núcleo puede procesar la información muy rápido, lo cual es importante para que todo funcione bien.
El protocolo IKE usa paquetes de datos especiales llamados UDP, generalmente a través del puerto 500. Para crear una "Asociación de Seguridad" (SA), IKE suele necesitar entre 4 y 6 paquetes de información. Las claves que se negocian se entregan al sistema IPsec. Por ejemplo, esta negociación puede incluir la clave para cifrar la información, las direcciones de las computadoras que se conectan y el tipo de "túnel" seguro que se va a crear. El sistema IPsec usa esta información para cifrar y descifrar los datos.
¿Cuáles son las fases de negociación de IKE?
La negociación de IKE se divide en dos etapas importantes:
- Primera fase IKE: El objetivo es crear un canal de comunicación seguro. Esto se logra usando el algoritmo Diffie-Hellman para generar una clave secreta compartida que cifrará la comunicación de IKE. En esta fase, se establece una única Asociación de Seguridad (SA) bidireccional. La autenticación (para verificar la identidad) puede hacerse con una clave compartida, firmas digitales o cifrado de clave pública. Esta fase puede operar en "modo principal" (que protege la identidad de las computadoras) o "modo agresivo" (que no lo hace).
- Segunda fase IKE: Una vez que el canal seguro de la primera fase está listo, las computadoras lo usan para negociar una Asociación de Seguridad (SA) para otros servicios, como IPsec. Esta negociación crea al menos dos SAs unidireccionales. Esta fase solo opera en "Modo Rápido".
¿Qué problemas tenía la primera versión de IKE?
Originalmente, IKE tenía muchas opciones de configuración, lo que lo hacía un poco complicado. Las dos computadoras que querían conectarse tenían que estar de acuerdo en exactamente el mismo tipo de Asociación de Seguridad, o la conexión no funcionaría. Además, si algo salía mal, era difícil saber por qué.
Las especificaciones de IKE también podían interpretarse de diferentes maneras, lo que a veces causaba problemas de compatibilidad. Esto significaba que diferentes programas que usaban IKE no siempre podían conectarse entre sí, incluso si parecían estar configurados correctamente.
¿Qué mejoras trajo IKEv2?
La necesidad de mejorar IKE llevó a la creación de IKEv2, que solucionó varios problemas:
- Menos documentos técnicos: Las especificaciones de IKE estaban dispersas en varios RFCs. IKEv2 las combinó en un solo RFC, lo que simplificó su uso. También mejoró la forma en que atraviesa los cortafuegos.
- Soporte para movilidad: Una extensión de IKEv2 llamada MOBIKE permite que los usuarios móviles usen IKE y IPsec, lo que es útil para personas que se mueven mucho con sus dispositivos.
- Atravesar cortafuegos: IKEv2 puede encapsular sus paquetes en UDP a través del puerto 4500, lo que le permite pasar a través de cortafuegos que usan NAT (Traducción de Direcciones de Red).
- Soporte para SCTP: IKEv2 permite el uso del protocolo SCTP, que se utiliza en la telefonía por internet (VoIP).
- Intercambio de mensajes más simple: IKEv2 necesita solo cuatro mensajes para el intercambio inicial, mientras que la versión anterior necesitaba ocho.
- Menos mecanismos de cifrado: IKEv2 usa menos tipos de mecanismos de cifrado para proteger sus paquetes, lo que facilita su implementación y certificación.
- Fiabilidad y gestión de estado: IKEv2 usa números de secuencia y confirmaciones para asegurar que los mensajes se entreguen correctamente. También tiene sistemas para manejar errores y compartir el estado de la conexión. Esto evita que las conexiones se queden "colgadas" porque una parte espera a la otra.
- Resistencia a ataques de denegación de servicio (DoS): IKEv2 no realiza mucho procesamiento hasta que verifica que la computadora que solicita la conexión realmente existe. Esto ayuda a evitar que los atacantes sobrecarguen el sistema con peticiones falsas.
¿Quiénes usan IKE?
Implementaciones gratuitas
Existen varias versiones gratuitas de IPsec con capacidades de IKE. En sistemas como GNU/Linux, programas como Openswan y strongSwan incluyen un demonio IKE llamado pluto. Este programa puede establecer Asociaciones de Seguridad con los sistemas IPsec del núcleo, como KLIPS o NETKEY. NETKEY es la implementación nativa de IPsec en el núcleo de Linux.
Las diferentes versiones de BSD también tienen sus propias implementaciones de IPsec e IKE. Además, cuentan con un sistema llamado OpenBSD Cryptographic Framework (OCF), que facilita el soporte para aceleradores de cifrado. OCF también ha sido adaptado para GNU/Linux.
Implementaciones comerciales
IKE es compatible con la implementación de IPsec en sistemas operativos como Windows 2000, Windows XP, Windows Server 2003, Windows Vista y Windows Server 2008. La implementación de ISAKMP/IKE fue desarrollada en conjunto por Cisco y Microsoft.
Microsoft Windows 7 y Windows Server 2008 R2 son totalmente compatibles con IKEv2 (RFC 4306) y MOBIKE (RFC 4555) a través de una característica llamada VPN Reconnect (también conocida como Agile VPN). Muchos fabricantes de equipos de comunicación también han creado sus propios programas IKE o han obtenido licencias de terceros.
Algunas implementaciones de IKEv2 disponibles incluyen:
- strongSwan
Véase también
En inglés: Internet Key Exchange Facts for Kids