Boletín de RedIRIS n. 54-55

Redes privadas virtuales dinámicas

Dinamic Virtual Private Networks

O. Cánovas, A. F. Gómez, G. López, G. Martínez

Resumen

Internet se ha convertido en una infraestructura de bajo coste para las comunicaciones. Su alcance universal ha llevado a muchas organizaciones a considerar la construcción de una red privada virtual segura (VPN) sobre esta red pública. Para conseguir esta seguridad, usando los estándares IETF, necesitamos soluciones VPN basadas en el protocolo de seguridad a nivel de red IPSec (IPSecurity), y protocolos de intercambio de claves de alto nivel, como IKE (Internet Key Exchange). Pero desde el punto de vista del manejo de claves, esta solución es muy estática, ya que todas las entidades involucradas en la comunicación deben tener previamente almacenada toda la información privada (claves privadas o compartidas) que protege la transmisión de datos. Esto es un grave problema si queremos tener un modelo abierto donde dos entidades quieran comunicarse de un modo seguro, flexible y de bajo coste, y sin conocimiento previo de la otra parte (solamente teniendo en común una jerarquía de confianza). Para solucionar este problema hemos diseñado un marco seguro basado en redes privadas virtuales, infraestructuras de clave pública y el uso de tarjetas inteligentes, que hemos llamado redes privadas virtuales dinámicas.

Palabras clave: RPV, tarjetas inteligentes


Summary

The Internet has become a popular and low-cost communications infrastructure. Its universal reach has led many organisations to consider constructing a secure virtual private network (VPN) over this public network.

To get security, using IETF standards, we need VPN solutions based on network-level security protocol IPSec (IP Security), and high level key exchange protocols, such as IKE (Internet Key Exchange). But, from a key- management point of view, these solutions are very static, because all entities involved in the communication must have previously stored all the private information (shared or private keys) protecting transmitted data.

This is a real drawback if we want to have an open model where two entities could communicate in a secure, low-cost and flexible way without knowing each other before (only having a trust hierarchy in common). To solve this problem we have designed a secure framework based on virtual private networks, public key infrastructures and the use of smart cards, that we have called dynamic virtual private networks.

Keywords: VPN, IPSec, IKE, PKI, smart cards.


1.- Introducción

Debido al auge de las comunicaciones a través de Internet, las compañías se están decidiendo por realizar sus transacciones sobre la red pública, consiguiendo de este modo un ahorro en los costes. La principal solución utilizada hasta el momento es el establecimiento de Redes Privadas Virtuales (VPNs) que consiguen confidencialidad en las comunicaciones sobre un canal público gracias a los protocolos IPSec[1] e IKE[6]. Sin embargo estas VPNs se basan en la compartición de secretos por parte de las entidades involucradas, secretos que deben ser repartidos y que son almacenados de forma estática en los equipos.

En este articulo se presenta una solución de VPN en la cual las entidades no poseen secretos compartidos, sino que utilizan criptografía de clave pública para ofrecer seguridad a las comunicaciones, información criptográfica que no tiene que estar almacenada de forma estática, sino que es ofrecida al sistema cuando la necesita. Esta solución se consigue gracias a una PKI[3] propia y al uso de tarjetas inteligentes.

2.- Red privada virtual

En este diseño la VPN que ha sido utilizada consta, como se puede ver en la Figura 1, de dos redes privadas que van a ser protegidas por dos Gateways Seguros (SG), los cuales se encargarán de controlar la información que circula entre la red A y la red B a través de Internet. De este modo, una entidad que se encuentre situada en la red A podrá enviar o recibir información de otra entidad situada en la red B de modo seguro, es decir, se proporcionará confidencialidad (la información enviada no será vista por otras personas), autenticación (la información enviada es realmente de quien dice ser) e integridad (seguridad de que cualquier alteración de la información será detectada).

(Figura 1)RED PRIVADA VIRTUAL

Para ofrecer esta conexión, los SGs establecen un canal seguro basado en los protocolos IPsec e IKE. La autenticación entre los extremos será realizada usando certificados X.509[7] emitidos para los SGs, así como a través de sus correspondientes claves privadas.

La implementación IPSec/IKE utilizada ha sido Linux FreeS/WAN[4] ya que es una solución para IPv4 completa, robusta, usada ampliamente y no esta sujeta a controles de exportación. Además, el hecho de ser de libre distribución nos permite modificarla para integrar las soluciones de VPN y PKI.

3.- Seguridad IP (IPSec)

IPSec se ha convertido en el estándar criptográfico para los servicios de nivel IP, ofreciendo confidencialidad, integridad y autenticación de los extremosIPSec se ha convertido en el estándar criptográfico para los servicios de nivel IP, ofreciendo confidencialidad, integridad y autenticación de los extremos. El estándar es obligatorio para soluciones IPv6[1], para el cual fue definido, y ha sido adaptado para soluciones IPv4, en las que es optativo.

El principal concepto que define IPSec es el de Asociación de Seguridad (SA). Una SA representa una conexión lógica unidireccional entre dos entidades IPSec, y ofrece servicios de seguridad al trafico mantenido por ella. Estos servicios de seguridad son proporcionados por dos cabeceras que son añadidas al nivel IP: AH [8] (Authentication Header) y ESP [9] (Encapsulating Security Payload). La primera ofrece integridad en las conexiones, autenticación de origen y opcionalmente servicio anti- reenvío. La segunda es más completa y además de los servicios ofrecidos por AH ofrece confidencialidad. Tanto AH como ESP se basan en la existencia de una suite criptográfica previamente negociada para el autenticado y cifrado de los paquetes, tal y como se verá a continuación.

La implementación IPSec utilizada ha sido KLIPS (KerneL IP Security) incluida en el software FreeS/WAN. Esta solución permite establecer túneles seguros sobre redes no confiables, siendo los paquetes IP enrutados entre los SGs separados por cualquier topología de red. El resultado es una conexión IP virtual que nos permite definir nuestra VPN.

4.- Intercambio de claves: IKE

Los mecanismos de seguridad de IPSec se basan en que las entidades deben establecer una negociación, en la cual ambas partes se ponen de acuerdo en los algoritmos criptográficos utilizados, en qué claves utilizar, y otros parámetros. Esta negociación no se puede establecer a nivel de red, por lo que es necesario un protocolo de nivel superior. El estándar actual es IKE (Internet Key Exchange), también conocido como Internet Security Association and Key Management Protocol (ISAKMP/Oakley)[10]. Este protocolo se basa en una negociación en dos fases. En la primera se establece una SA ISAKMP con la cual las entidades realizan la negociación y autenticación. En la segunda se establece una SA que será usada para la comunicación entre los extremos.

El software utilizado ha sido Pluto, la solución IKE que ofrece Linux FreeS/WAN. Pluto es un demonio que maneja intercambios de claves, verifica identidades y establece una política se seguridad para KLIPS. Pluto se basa en la autenticación de las entidades mediante secretos compartidos. Esto implica que estos secretos deben distribuirse de un modo seguro entre las entidades antes de la negociación. Este software ha sido ampliado para el uso de certificados digitales ofreciendo un modelo de autenticación fuerte. Pero esta información sigue siendo manejada de modo manual, obligando al administrador a distribuir los certificados y las claves privadas entre los sistemas. Sin embargo se ha modificado el software para unir realmente las soluciones de PKI y VPN. Esta modificación permitirá a cada entidad IPSec obtener la información criptográfica que necesite: certificados, claves privadas, etc., de un modo dinámico, con el único requerimiento de que tenga instalado un certificado de la Autoridad de Certificación deseada.

5.- Infraestructura de Clave Pública

La solución que ofrece los mecanismos y elementos necesarios de gestión de información criptográfica para el establecimiento de comunicaciones seguras es lo que se llama PKI (Public Key Infrastructure) o Infraestructura de Clave Pública.

Un entorno de VPN implica, normalmente, a grandes grupos de usuarios y nodos, intercambiando información sobre canales inseguros. Desde este punto de vista, una PKI certificando los valores de clave pública usados es necesaria para proveer de dinamismo al establecimiento de canales seguros. Existen dos puntos de unión entre una PKI y una VPN. El primero es cuándo se deben emitir certificados para los usuarios, de modo que deba verificarse la identidad de cada entidad que lo solicite, siendo en este caso los administradores de red los responsables para la certificación de los sistemas. La información privada es almacenada en una tarjeta inteligente, mientras que la información pública es publicada en un directorio accesible para todos los usuarios de la organización.

Una vez que los certificados han sido emitidos, los administradores pueden establecer canales seguros entres las redes. Es en este momento cuando Pluto obtendrá las información criptográfica necesaria para la negociación, ya sea la clave privada a través de la tarjeta inteligente o su propio certificado o el del otro extremo mediante el acceso al directorio de certificados.

En la Figura 2 se muestra este proceso.

(Figura 2) USO Y VALIDACIÓN DE CERTIFICADO

6.- El resultado final

Tradicionalmente las VPNs son establecidas mediante el uso de secretos compartidos, lo cual es válido, pero esta limitado a pequeñas organización debido al costo de tener que distribuir estos secretos. Sin embargo, para grandes organizaciones se necesita una solución más escalable y dinámica que ofrezca soporte para añadir y eliminar nodos de forma ágil, un mecanismo estructurado para el manejo de confianza y la incorporación de nuevos dispositivos como tarjetas inteligentes.

Una Red Privada Virtual Dinámica (DVPN) ofrece todos estos elementos basada en dos tecnologías principales VPN y PKI. Para comunicar dos redes A y B, es necesario usar dos SG con soporte para IPSec/IKE y un método de autenticación de firma digital. Los certificados para los SGs están disponibles en directorios públicos de certificados, y sus claves privadas son almacenadas en tarjetas inteligentes en el momento de la certificación. Como se puede ver este sistema es más flexible, seguro y estructurado que las técnicas basadas en secretos compartidos.

En este artículo se ha presentado una solución al problema presentado por el uso de secretos compartidos y su distribución. Nuestro diseño es un modelo abierto que permite a dos entidades comunicarse de un modo seguro y flexible, sin tener conocimiento el uno del otro, con el único punto en común de una jerarquía de confianza. Esta solución hace uso de los principales protocolos y técnicas relacionadas con la seguridad en a nivel de red (IPSec, IKE) y el uso de PKI (X.509, directorios de certificados). Además incorpora tarjetas inteligentes como soporte para almacenar la información privada, añadiendo un nivel extra de seguridad al sistema.

Bibliografía

  1. Atkinson R., RFC 2401, Security Architecture for the Internet Protocol, November 1998.

  2. Cánovas O. Gómez A.F., Martínez G. Self-revocation of digital certificates: A Distributed System that Increases Revocation Availability, INC 2000. Proceedings of the INC2000 Conference. Plymouth, July 2000. pp.289-295.

  3. Cánovas O., Martínez G., et al, Providing Security to University Enviroment Communications, TERENA-NORDUnet Networking Conference `99, June 1999.

  4. FreeS/Wan Home Page. [www] http://www.xs4all.nl/~freeswan/, August 1999.

  5. Guthery S.B., Jurgersen T.N. Smart Card developers' kit. Macmillan Technical Publishing, 1998.

  6. Harkins D., Carrel D., RFC 2409, The Internet Key Exchange (IKE), November 1998.

  7. International Telecommunication Union (ITU), ITU-T Recommendation X.509, ISO/IEC 9594-8,International Standard, June 1997

  8. Kent S., Atkinson R., RFC 2402, IP Authentication Header, November 1998.

  9. Kent S., Atkinson R., RFC 2406, IP Encapsulating Security Payload (ESP), November 1998.

  10. Maughan D., Schertler M., Schneider M., Turner J., RFC 2408, Internet Security Association and Key Management Protocol (ISAKMP), November 1998.

Trabajo parcialmente financiado por el proyecto FEDER CICYT TEL-1FD97-1426


O. Cánovas,
dirección de correo ocanovas [at] ditec [dot] um.es
Dpto. Ingeniería y Tecnología de Computadores

A. F. Gómez, G. López, G. Martínez
dirección de correo skarmeta [at] dif [dot] um.esdirección de correo gabilm [at] dif [dot] um.esdirección de correo gremar [at] dif [dot] um.es
Dpto. Informática, Inteligencia Artificial y Electrónica
Universidad de Murcia