| Redes Privadas Virtuales |
Redes Privadas Virtuales - VPN El término VPN (Virtual Private Network: Red Privada Virtual), ha tenido varios usos a lo largo del tiempo asociados con conectividad remota de servicios, pero actualmente se ha establecido como sinónino de redes de datos basadas en IP. Previo a este concepto, las grandes corporaciones gastaban enormes recursos a fin de configurar redes privadas de alta complejidad, hoy comunmente denominadas Intranets. Estas redes eran instaladas usando costosos servicios de líneas dedicadas, Frame Relay y ATM para incorporar usuarios remotos. Al mismo tiempo, empresas medianas y pequeñas no podían adquirir servicios tan costosos, y se encontraban condenadas a utilizar servicios muy inferiores. Al volverse Internet más accesible, y aumentar en gran medida las capacidades de ancho de banda, se comenzaron a implementar las llamadas Extranets, permitiendo comunicar usuarios internos y externos con un bajo costo y una implementación rápida. Sin embargo, esto presenta un problema fundamental: la seguridad. Las soluciones actuales de VPNs dan una respuesta a este problema. Utilizando protocolos especiales de encapsulamiento y procedimientos complejos de encripción, logra alcanzarse la integridad de datos y privacidad de conexiones punto a punto de una forma transparente, y una reducción de costos significativa al estar haciendo uso de una red pública. Podemos decir entonces que existen al menos dos elementos fundamentales que combinados permiten formar una VPN: encripción y encapsulamiento. EncripciónLas redes privadas virtuales garantizan la privacidad y la confidencialidad de la información haciendo uso de la encripción. En un muy breve resumen, encripción es una técnica que codifica la información de un modo que hace difícil o imposible su lectura, y la decodifica de modo que pueda ser leída nuevamente. A la información codificada se la llama cipher-text y a la información sin codificar, clear-text. Cuando en una VPN se transmite información de un punto a otro, el Gateway de la VPN del punto de origen encripta la información en cipher-text antes de enviarla. En el otro punto, el Gateway receptor desencripta la información, es decir se vuelve clear-text, y luego la envía a la LAN. Un algoritmo de encripción es una técnica reproducible de cifrado y descifrado de información que puede ser realizada por personas o computadoras. Un ejemplo sencillo de un algoritmo de encripción sería reemplazar cada letra en una oración por la letra que le sigue inmediatamente a ésta en el alfabeto, obteniendo el cipher-text. Para leer la oración original, simplemente reemplazaríamos cada letra del cipher-text por la letra que la precede en el alfabeto. En el pasado (y en algunas implementaciones actuales de baja calidad), la encripción permanecía segura manteniendo el algoritmo como un secreto. De este modo, no se podía leer un mensaje encriptado ya que se desconocía cómo había sido creado. El principal problema es que una vez que el algoritmo ha sido descubierto, se tiene acceso a toda la información que haya sido encriptada con el mismo. Peor aún, dado que la técnica de encripción es un secreto, resulta imposible determinar cuán buena es su calidad ya que muy poca gente puede probarla. Actualmente, los mejores métodos de encripción son públicos de modo tal que todo el mundo sepa cómo funcionan. De hecho, se sabe exactamente cómo es encriptada la información. Estos métodos están disponibles para cualquiera y están muy probados. ClavesAhora, dado que el método no es secreto, se evita que alguien acceda a la información mediante el uso de keys (claves). Una clave es un código secreto utilizado por el algoritmo de encripción para crear una versión única de cipher-text. Esta clave podría compararse con la combinación utilizada en una caja fuerte. De este modo, la seguridad no depende de que el algoritmo de encripción sea un secreto. Actualmente, la mayoría de los estándares de seguridad de Internet (como DES y 3DES) toman esta postura de exponer su algoritmo ante cualquiera para que sea examinado y usado, brindando seguridad a través de la generación de claves únicas y con alta dificultad de ser conocidas. El nivel de seguridad generalmente depende en buena parte del largo de la clave (key lenght). Key LenghtUtilizando algoritmos de encripción conocidos, la seguridad depende del largo de la clave. Una clave de 8 bits implica 28 combinaciones, mientras que una clave de 16 bits implica 216 (65536) combinaciones posibles. Con una clave de 16 bits, alguien podría realizar 65536 intentos antes de adivinar la clave que brinda acceso al cipher-text. Para una persona esto sería bastante difícil, pero para una computadora no sería un gran desafío y no tomaría demasiado tiempo recorrer todas las posibilidades.
DES, Triple-Pass DES y 3DESDES (Data Encryption Standard) es un algoritmo comunmente usado y ampliamente probado. El sistema DES usa claves de 56 bits para encriptar datos en bloques de 64 bits. La clave de 56 bits brinda 256 combinaciones posibles.Esto implica que una persona valiéndose de una PC para adivinar la clave, tendría que recorrer durante alrededor de 20 años las distintas combinaciones. Por otro lado, si imaginamos una gigantesca organización con millones de computadoras recorriendo en paralelo las distintas posibilidades, encontrar la clave podría reducirse a minutos. Por esto, DES puede ser seguro frente a atacantes casuales, pero no frente a una organización de amplios recursos realizando un ataque dirigido. Triple-Pass DES es un sistema DES que incrementa la seguridad encriptando la información varias veces. Los datos son encriptados utilizando una clave de 56 bits. El cipher-text resultante es desencriptado utilizando una segunda clave de 56 bits. Esto da como resultado un clear-text que nada tiene que ver con lo que originalmente fue encriptado. Finalmente, los datos son nuevamente encriptados utilizando la primer clave: A esta técnica de encriptar, desencriptar y volver a encriptar se la conoce como EDE. Incrementa efectivamente la clave de 56 bits a 112 bits. 3DES es un algoritmo de encripción que provee una seguridad aún mayor que triple-pass DES. Con 3DES, los datos son encriptados, desencriptados y vueltos a encriptar (EDE), pero con tres claves distintas. Esto resulta en una clave de 168 bits. Generar claves seguras es sólo una parte de la ecuación. Para garantizar una seguridad continua, lo deseable es que las claves cambien constantemente cada breves periodos de tiempo. Del mismo modo en que los algoritmos que basan su seguridad en mantenerse secretos, sucede con las claves. Si se logra adivinar una clave, se tiene acceso a toda la información encriptada con ella. Por este motivo, en una buena implementación nuevas claves son generadas cada vez que un túnel VPN es establecido, y las claves son regeneradas cada cierto tiempo, generalmente cada dos horas. Claves simétricas y asimétricasCuando la misma clave es utilizada para encriptar y desencriptar la información, esta es denominada simétrica. Esto requiere que los puntos comunicados a través de la VPN posean la misma clave. Otra técnica utilizada permite que la información sea encriptada con una clave, pero desencriptada con otra. La información encriptada con una clave no puede ser desencriptada con la misma y viceversa. Dos claves son requeridas, una para encriptar y otra para desencriptar, y estas no pueden ser intercambiadas. Estos pares de claves son denominadas claves asimétricas. Con las claves asimétricas, a una clave se la denomina clave pública y a la otra clave privada. La clave pública en general no se mantiene en secreto. Si A desea enviarle un mensaje a B de modo tal que nadie más pueda verlo, entonces A encripta el mensaje usando la clave pública de B. B es el único capaz de desencriptar el mensaje, utilizando su clave privada. En otro ejemplo, si A envía un mensaje a B y desea que B pueda corroborar que efectivamente el mensaje proviene de A y no está falsificado, entonces A puede encriptar el mensaje utilizando su clave privada, y B puede desencriptar el mensaje con la clave pública de A. Si de este modo B logra desencriptar el mensaje correctamente, entonces el mensaje tiene que haber provenido de A. Las claves asimétricas suelen ser muy largas - por ej. 1024 o 2048 bits -. El procesamiento de encripción requiere bastante potencia computacional y toma mucho tiempo. Por esto, las claves asimétricas son utilizadas para eventos que no ocurren frecuentemente, como establecer un túnel VPN. Las claves simétricas suelen ser mucho mas cortas - por ej. 56, 112 o 168 bits-, por lo que el procesamiento de encripción utilizando claves simétricas es considerablemente mas rápido que con las asimétricas. Las claves simétricas se utilizan para transacciones de alta frecuencia, especialmente para la encripción de datos transmitidos sobre una VPN. AutenticaciónLa tecnología de encripción garantiza la privacidad de la información al atravesar Internet. La tecnología de autenticación garantiza:
Existen diversos modos de autenticación, siendo el mas común el uso de usuario y contraseña. El problema con este método en particular es que es un tanto inseguro: una de sus debilidades es que los usuarios deben elegir contraseñas que puedan recordar fácilmente. Esto significa que pueden ser adivinadas. Una de las tecnologías mas utilizadas es la de certificados digitales, lo que permite autenticar e identificar tanto a personas como a sistemas sin el uso de usuarios y contraseñas. Un certificado digital es un registro que incluye varios datos, como el nombre de una persona, su dirección, su clave pública, y fechas de expiración del certificado que indican cuando éste deja de ser válido. En una VPN, los certificados digitales se utilizan para identificar a quien (persona o sistema) intenta conectarse a la VPN, y como medio de distribución de claves públicas. Para evitar la falsificación, los certificados digitales se basan en la firma digital. La firma digital garantiza que la información recibida es auténtica y no ha sido alterada en modo alguno. La creación de una firma digital es un procedimiento de dos pasos. Primero, el mensaje transmitido es procesado por un algoritmo de encripción particular: la función de hash, que transforma un mensaje de largo arbitrario en un número único de longitud fija. Este número creado por la función hash es llamado el digest del mensaje. Si se cambia en cualquier forma el mensaje original, el digest de este cambia también. Las funciones de hash son muy conocidas, como SHA (Secure Hash Algorithm) y MD5(Message Digest 5). El segundo paso para crear la firma digital, es encriptar el digest del mensaje utilizando la clave privada. Esto da como resultado la firma digital. Para garantizar la autenticidad de un mensaje, se crea una firma digital para el mismo y se incluye en el. El recipiente comprueba la autenticidad mediante:
Si los resultados son idénticos, entonces el mensaje es auténtico y no ha sido alterado. Un mensaje que incluye una firma digital es un mensaje firmado. Entonces, un certificado digital es un tipo especial de mensaje firmado que asocia a una persona, organización o computadora con una clave pública. Una entidad certificadora, llamada CA (Certificate Authority), acepta claves públicas con una prueba de identidad y crea certificados digitales dejándolos disponibles para otras personas. La entidad certificadora es un organismo confiable por ambas partes, el cual declara que efectivamente una clave pública pertenece a una persona, organización o sistema. Esta entidad puede utilizar protocolos de directorio como X.500 o LDAP para brindar sus servicios, o puede estar implementada haciendo uso de protocolos propietarios. PKI (Public Key Infrastructure: Infraestructura de claves públicas) es una serie de servicios de seguridad para administrar claves, certificados digitales y políticas de seguridad. Las PKIs están diseñadas para dar soporte a grupos abiertos, a fin de manejar interacciones entre personas y sistemas que no se conocen previamente. Por ejemplo, en un sistema de compras a través de Internet. En particular, las PKIs posibilitan la coordinación entre múltiples CAs, dado que distintas personas o sistemas puede poseer certificados emitidos por distintas CAs. EncapsulamientoEncripción, claves, certificados y firmas digitales son las tecnologías de seguridad que garantizan la privacidad en una VPN. Ahora, generalmente, el envío de información en una VPN se realiza entre direcciones privadas. Es decir, entre direcciones no routeables vía Internet. Veamos este ejemplo. En la oficina A la maquina con dirección "a" puede comunicarse con "c" al enviar paquetes con encabezados que digan dirección-origen: a, dirección-destino: b. Esto funciona perfectamente dentro de la LAN. El problema se presenta cuando la máquina "a" de la oficina A quiere enviar información a la máquina "z" en la oficina B. Como ambas direcciones son privadas, no hay modo de routear paquetes a través de Internet, que es la red pública que une a ambas oficinas. Entonces, para realizar esta conexión, se requiere encapsulamiento. El gateway de la oficina A, con dirección C, sabe que las direcciones privadas "x", "y" y "z" se encuentran en la oficina B; y también sabe que el gateway de la oficina B tiene dirección T. Entonces, cuando "a" envía un paquete a "z", el gateway de la oficina A lo recibe y prepara para su envío. El paquete inicial que dice dirección-origen:a, dirección-destino: b, es encriptado y puesto dentro de un segundo paquete que dice dirección-origen: C, dirección-destino: T. Como estas direcciones son routeables en Internet, este paquete es enviado a la oficina B, en donde el gateway de esta oficina extrae el primer paquete y lo envía a la LAN. Este proceso de poner un paquete dentro de otro es denominado encapsulamiento, y es la base del tunneling. IPSecIPSec es el estándar de facto para garantizar la seguridad y autenticidad de las comunicaciones privadas a través de redes públicas basadas en IP, y se basa en estándares desarrolados por la IETF. Si bien la incorporación de IPSec es opcional en implementaciones de IPv4, debe estar presente en las implementaciones de IPv6, por lo que puede asumirse que IPSec será utilizado en forma creciente. IPSec es realmente flexible y muy escalable, y si bien las implementaciones suelen ser bastantes complejas, una vez superada ésta se obtiene una notable estabilidad. IPSec provee encripción y autenticación al nivel de IP en la pila de protocolos de red, por lo que protege todo tipo de tráfico transportado sobre IP y puede ser utilizado en routers, firewalls, servidores de aplicaciones e incluso desktops y laptops. Se utilizan tres protocolos:
El protocolo IKE prepara las conexiones IPSec (ESP o AH) tras negociar ciertos parámetros (algoritmos a utilizar, claves, etc). Esto se realiza intercambiando paquetes en el puerto 500/UDP entre ambos gateways. IKE se encuentra definido en RFC2409. AH brinda un servicio de autenticación a nivel de paquetes. Esta autenticación se brinda en forma separada a la encripción agregando un header de autenticación (AH) entre el header IP y el resto. Los detalles pueden encontrarse en RFC2402. Los datos de autenticación del header dependen tanto de una clave simétrica como de cada byte de los datos que son autenticados. La técnica utilizada es HMAC (RFC2104). Los algoritmos involucrados son SHA y MD5. AH utiliza el protocolo 51. El protocolo ESP brinda encripción y autenticación de paquetes. Puede usarse con o sin AH. La autenticación se realiza en forma similar a AH. Los algoritmos de encripción pueden variar de acuerdo a la implementación (los RFCs requieren únicamente DES y encripción nula). FreeS/WAN, la implementación de IPSec para Linux utiliza 3DES actualmente, aunque existen patches para agregar soporte de otros, como AES (Rijndael), Blowfish y CAST. Pese al requerimiento de DES, FreeS/WAN no lo implementa, ya que como anteriormente se dijo es inseguro. ESP utiliza el protocolo 50. ModosPueden realizarse conexiones IPSec de dos modos diferentes: modo de transporte y modo de túnel. El modo de transporte es una conexión de host a host y sólo involucra dos máquinas. Cada equipo realiza su propio procesamiento de IPSec y routea paquetes en forma acorde (algunos via IPSec). El modo de túnel es una conexión entre gateways, los cuales proveen túneles para ser utilizados por máquinas clientes detrás de cada gateway. Las máquinas clientes no realizan ningún procesamiento de IPSec, tan sólo routean a los gateways. Efectividad y EconomíaUna VPN es realmente efectiva en términos de intercambio de información crítica entre empleados que trabajan en oficinas remotas, en el hogar, o en la vía pública. Puede distribuir información en forma segura entre vendedores, proveedores o socios, aún habiendo una distancia enorme entre ellos. Debido a que las companías no tienen que invertir en gran infraestructura, pueden reducir sus costos operativos tercerizando los servicios de red a proveedores. VPNs también reducen costos al eliminar la necesidad de llamados telefónicos de larga distancia, combinando VPNs con Voz sobre IP (VoIP). Tecnologías de AvanzadaIPSec de FreeS/WANDebido a su estabilidad y confiabilidad, IPSec se ha transformado en el estándar de facto para las VPNs más críticas. Utiliza una fuerte criptografía que provee autenticación y encriptación. Mientras que la autenticación asegura el origen de los datos, la encriptación provee la privacidad de los mismos. El protocolo IPSec es utilizado ampliamente en IPv4, y será requerido en IPv6, la próxima generación de IP. IPSec posee también gran flexibilidad a la hora de personalizar las aplicaciones, ya que opera en la capa de red. Sin embargo, hay tres tipos de red privada que se utilizan ampliamente:
Por último, cabe agregar que debido a que IPSec es un protocolo estándar, puede operar con otros dispositivos o network appliances de VPN, asegurando la escalabidad en el fututo, aún con la llegada de IPv6.
|
||||||||||||||
Redes Privadas Virtuales
Obtenga la mejor solución