VPN - Redes Privadas Virtuales - Área de Ingeniería de Sistemas y

Anuncio
Redes Privadas Virtuales
Jose Luis Ruiz González
VPN - Redes Privadas Virtuales
Jose Luis Ruiz González, Marzo 2002
Introducción:
La nueva economía exige, no como un lujo sino más bien como una necesidad,
una cobertura global entre oficinas locales y remotas de una misma
organización. Una red privada virtual (RPV o VPN, Virtual Private Network) es
la interconexión de varias redes locales (LAN, Local Area Network) que están
separadas físicamente (remotas) y que realizan una transmisión de datos entre
ellas de un volumen considerable. De forma habitual, lo que se pretende es que
dicho grupo de redes locales se comporten como si se trataran de una única
red local, aunque por diversos motivos, fundamentalmente de índole
económica, la interconexión entre dichas redes LAN se efectúa a través de
medios potencialmente hostiles o inseguros (Internet, Red telefónica
conmutada o RTC a través de módem, Líneas alquiladas, RDSI o ISDN, X.25,
Frame Relay, ATM,...), de forma que hay que articular diversos mecanismos,
especialmente de encriptación y de firma digital, para garantizar la seguridad
de los sistemas.
El principal elemento que subyace bajo el establecimiento de una VPN son las
pasarelas (gateways) entre la red privada y la red pública. Sean estas basadas
en software, hardware o una combinación de ambos, estos elementos se
encargan de trabajar al servicio de la red privada que están protegiendo.
Cuando un host local envía información a un host remoto que pertenece a la
misma VPN, los datos tienen que atravesar el primer gateway protector antes
de salir a la red pública, y luego a través del segundo gateway a la entrada de
la red local remota en la que está el host receptor de la información. El sistema
protege dicha información de forma automática encriptándola, haciéndola de tal
forma incomprensible a terceras partes. Los gateways pueden asimismo hacer
una doble función, al actuar también como firewalls o cortafuegos que
deneguen el acceso de datos dañinos o maliciosos a nuestra red.
Para que el tránsito de información sea seguro, el sistema de red privada virtual
actúa a través de dos mecanismos simultáneos:
Certificación: Cada uno de los gateways que pretendan unirse a la VPN debe
garantizar de alguna forma que está autorizado. Esto se hace a través de algún
mecanismo de firma digital, normalmente a través de una autoridad de
certificación (Certification Authority). Esta certificación suele ser doble, e incluye
un elemento electrónico y un número de identificación personal o PIN (Personal
Identification Number). De esta manera, el usuario debe poseer de alguna
forma un código electrónico, bien sea una tarjeta magnética o un fichero en un
ordenador, y memorizar otra parte del código. Esto reduce drásticamente el
problema de que alguien pueda falsear una identidad para entrar al sistema,
puesto que debe poseer ambos elementos.
1
Redes Privadas Virtuales
Jose Luis Ruiz González
Encriptación: Una vez dentro de la VPN, cada uno de los gateways envían su
clave pública a todos los demás gateways pertenecientes al sistema. Con el
uso de sistemas de encriptación simétricos, de clave pública y clave privada, la
información se encripta matemáticamente de tal forma que es extremadamente
complejo desencriptar la información sin poseer las claves. Existe un proceso
de gestión de dichas claves (Key management) que se encarga de su
distribución, su refresco cada cierto tiempo, y revocarlas cuando sea necesario
hacerlo. Se ha de conseguir un balance entre los intervalos de intercambio de
las claves y la cantidad de información que se transfiere: Un intervalo
demasiado corto sobrecargaría los servidores de la VPN con la generación de
claves, mientras que uno excesivamente largo podría comprometer la clave y la
información que esta protege.
Esquema habitual de una VPN:
2
Redes Privadas Virtuales
Jose Luis Ruiz González
FreeS/WAN:
Linux FreeS/WAN (http://www.freeswan.org) es una implementación de IPSec e
IKE para Linux. IPSec (Internet Protocol SECurity) usa criptografía fuerte para
los servicios tanto de certificacion como de encriptación de la información, de
tal forma que ésta provenga realmente del emisor que tiene que venir, que no
haya sido modificada en su paso por la red pública, y que además no pueda
haber sido leída por terceras personas no autorizadas. Estos servicios permiten
construir túneles seguros de información a través de redes no seguras.
Los protocolos IPSec han sido desarrollados por la IETF (Internet Engineering
Task Force), y formarán parte de la versión 6 del protocolo IP (IPv6), la nueva
generación del mismo. De igual forma, están siendo ampliamente
implementados en redes IPv4. De hecho, casi todos los fabricantes de
productos de firewall o de software de seguridad tienen soporte de IPSec ya en
el mercado, o bien en desarrollo. Asímismo hay varios proyectos Open Source
relativos a IPSec, como puede ser FreeS/WAN.
VPN con Windows 2000:
Microsoft Windows 2000 proporciona servicios de VPN a través del protocolo
de túnel punto a punto (PPTP, Point-to-Point Tunneling Protocol) y de protocolo
de túnel de capa dos (L2TP). Se puede consultar en la web de Microsoft cómo
configurar
un
sistema
de
este
tipo
(http://www.microsoft.com/latam/technet/articulos/200008/art04/default.asp).
Además del acceso remoto basado en VPN, se puede proporcionar acceso
telefónico remoto mediante módem a través del servicio de autenticación
Internet (IAS, Internet Authentication Service) como servidor RADIUS.
Organizaciones:
La IETF (Internet Engineering Task Force) es la organización que define los
protocolos estándares de funcionamiento de Internet, como por ejemplo
TCP/IP. Es supervisada por la IAB (Internet Society Internet Architecture
Board). Los miembros de la IETF son escogidos entre los miembros de la
Internet Society y de las organizaciones que la conforman. Los estándares son
publicados en forma de RFCs (Requests for Comments). SU página web está
en http://www.ietf.org
3
Redes Privadas Virtuales
Jose Luis Ruiz González
La Internet Society (ISOC) es una organización internacional sin ánimo de
lucro. Fué fundada en 1992, y tiene su base en Reston, Virginia, en USA. La
Internet Society sostiene a la IAB (Internet Architecture Board), que supervisa
asuntos técnicos entre otros. Entre las actividades de la IAB se encuentra la
IETF (Internet Engineering Task Force), que supervisa la evolución del TCP/IP.
Su página web se encuentra en http ://www.isoc.org
La IAB (Internet Architecture Board) es el organismo consultor, encargado de
analizar la evolución técnica de Internet para la Internet Society. La IAB
suprevisa a la IETF (Internet Engineering Task Force), que analiza la evolución
del TCP/IP, y la IRTF (Internet Research Task Force), que trabaja en
tecnología de redes. Su dirección web es http://www.iab.org
La IRTF (Internet Research Task Force) es un área de actividad de la Internet
Society. La función de la IRTF es trabajar en tecnología de redes. Se encuentra
en Internet a través de la página web http://www.irtf.org
NIST (National Institute of Standards and Technology, anteriormente
conocido como National Bureau of Standards, es una unidad del US
Commerce Department. Promueve y mantiene estándares, y tiene además
programas activos para promover y ayudar a la industria y al sector científico y
técnico a desarrollar y adoptar dichos estándares.
Un RFC (Request for Comments) es un documento formal de la IETF (Internet
Engineering Task Force), que es el resultado de un borrador redactado por un
comité, y las revisiones posteriores de las partes interesadas. Algunos RFC son
de naturaleza informativa. De aquellos que intentan transformarse en
estándares de Internet, la versión final del RFC se transforman en el estándar,
y no se permite ningún comentario o cambio posterior en el texto redactado. Se
pueden incorporar cambios, sin embargo, a través de nuevos RFCs que
modifiquen o extiendan estándares propuestos por RFCs anteriores. Se
pueden obtener a través de http://www.ietf.org/rfc.html , de http://www.rfceditor.org/ , o de numerosos mirrors a través de Internet.
Protocolos:
Los protocolos TCP/IP (Transmission Control Protocol/Internet Protocol)
conforman el lenguaje básico de comunicación en Internet. Se puede encontrar
información abundante sobre estos protocolos en toda Internet, por ejemplo en
http://www4.uji.es/~al019803/Tcpip.htm
o
en
http://members.es.tripod.de/janjo/janjo1.html
El protocolo L2TP (Layer Two Tunneling Protocol) es una extensión del
protocolo PPTP, usado por un ISP para conseguir crear una red privada virtual
o VPN (Virtual Private Network) a través de Internet. L2TP surge de la
cunfluencia de las mejores características de otros dos protocolos de
entunelamiento: PPTP de Microsoft, y L2F (Layer-2 Forwarding) de Cisco
Systems. Además de las diferencias en el sistema de autentificación, L2TP ha
4
Redes Privadas Virtuales
Jose Luis Ruiz González
adquirido una popularidad particular por el uso de IPsec (IP Security) para
garantizar la privacidad. Los dos principales componentes que conforman L2TP
son el LAC (L2TP Access Concentrator), que es el dispositivo que canaliza
físicamente la llamada, y el LNS (L2TP Network Server), que es el que canaliza
y autentifica (si es necesario) el stream PPP. Se define en el RFC 2661.
El protocolo PPTP (Point-to-Point Tunneling Protocol) permite extenderse a una
red privada a través de una red pública como Internet a través de túneles. Es
un estándar propuesto por Microsoft, entre otras compañías, y junto con L2TP,
propuesto por Cisco Systems, son los candidatos más sólidos para sentar las
bases de un nuevo estándar de la IETF. Con PPTP, que es una extensión del
protocolo PPP (Point-to-Point Protocol), cualquier usuario/a de un PC con
soporte de cliente PPP, puede usar un ISP (Internet Service Provider)
independiente para conectar con un servidor cualquiera dentro de la red
privada a la que esté accediendo, de forma segura.
El protocolo PPP (Point-to-Point Protocol), es un protocolo diseñado para
establecer la comunicación entre dos ordenadores a través de un interfaz serie,
típicamente un ordenador conectado con un servidor a través de una línea
telefónica. PP usa el protocolo IP (Internet Protocol), aunque está diseñado
para poder usar otros. A veces se considera incluso parte de la familia de
protocolos TCP/IP. Respecto al modelo de referencia OSI (Open Systems
Interconnection), PPP proporciona servicios en la capa 2 (data-link layer o capa
de enlace). El protocolo PPP es un protocolo full-duplex que puede ser usado
sobre diferentes medios físicos de transmisión de datos. Usa una variación del
HDLC (High Speed Data Link Control) para la encapsulación de paquetes.
Normalmente se prefiere PPP sobre el estándar de facto anterior denominado
SLIP (Serial Line Internet Protocol), porque puede gestionar comunicaciones
tanto síncronas como asíncronas. PPP puede compartir una línea con otros
usuarios, y tiene además detección de errores, de la que carece SLIP. PPP
soporta tanto el Password Authentication Protocol (PAP) como el Challenge
Handshake Authentication Protocol (CHAP) como métodos de autentificación.
HDLC (High-level Data Link Control) es un grupo de protocolos para la
transmisión de datos entre nodos, o puntos de una red. En HDLC, los datos se
organizan en unidades o frames y son enviadas a través de una red hasta un
nodo de destino que verifica la llegada correcta del frame. El protocolo HDL
también gestiona el flujo al que se envían los datos. HDLC es uno de los
protocolos más usados en la capa 2 del modelo OSI. HDLC es un estándar ISO
(ISO 3309 e ISO 4335) basado en el protocolo SDLC de IBM. Se usan
variaciones de este protocolo en redes públicas que funcionan sobre el
protocolo de comunicaciones X.25, y sobre frame ralay, un protocolo usado
tanto en redes WAN (Wide Area Network) públicas como privadas.
El protocolo SLIP (Serial Line Internet Protocol), es un protocolo sobre TCP/IP
que se usa para la transmisión de datos entre dos máquinas previamente
configuradas para comunicarse entre ellas. El protocolo PPP es notablemente
superior al SLIP.
5
Redes Privadas Virtuales
Jose Luis Ruiz González
IPsec (Internet Protocol Security) es un estándar en desarrollo para garantizar
la seguridad de las comunicaciones a nivel de red. Será especialmente útil para
el desarrollo de redes privadas virtuales (VPNs), y para acceso remoto a través
de conexiones dial-up a redes privadas. Un gran avance de IPsec es que los
ajustes en la seguridad se pueden gestionar sin necesidad de realizar cambios
individualmente en todos los ordenadores. Cisco ha liderado la propuesta de
IPsec como estándar, y ha incluido su suporte en sus rputers de red. IPsec
proporciona dos opciones en su servicio de seguridad: Authentication Header
(AH), que esencialmente permite la autentificación del emisor de la información,
y Encapsulating Security Payload (ESP), que soporta tanto autentificación del
emisor como la encriptación de los datos. La información específica asociada a
cada uno de estos servicios es insertada en los paquetes en una cabecera que
sigue a la cabecera IP. Se pueden elegir diferentes protocolos de llave, como el
protocolo ISAKMP/Oakley. Aunque la IETF lo escribe oficialmente como IPsec,
a menudo aparece escrito como IPSec o IPSEC.
ESP (Encapsulating Security Payload) es un estándar de encriptación y
validación usado con IPsec.
IKE (Internet Key Exchange) es un servicio de negociación automático y de
gestión de claves, usado en los protocolos IPsec.
TLS (Transport Layer Security) es un protocolo que garantiza la privacidad de
las comunicaciones entre aplicaciones y sus usuarios en Internet. Cuando se
comunican un cliente y un servidor, TLS se encarga de que ninguna tercera
parte pueda espiar o modificar la comunicación. TLS es el sucesor de SSL.
TLS se compone de dos capas: el TLS Record Protocol y el TLS Handshake
Protocol. El TLS Record Protocol aporta seguridad en la conexión con un
método de cifrado como DES (Data Encryption Standard). El TLS Record
Protocol también puede ser usado sin encriptación. El TLS Handshake Protocol
permite al servidor y al cliente autentificarse entre ellos y negociar un algoritmo
de cifrado y las llaves criptográficas antes de iniciar el intercambio de datos. EL
protocolo TLS se basa en el protocolo SSL 3.0 de Netscape. De todas formas,
SSL y TLS no son interoperables. El protocolo TLS contiene un mecanismo que
permite a la implementación TLS descender hasta SSL 3.0. Las versiones más
modernas de los navegadores soportan TLS. El TLS Working Group, creado en
1996, continá trabajando en el protocolo TLS y las aplicaciones relacionadas cn
éste. Se describe formalmente en el RFC 2246.
SSL (Secure Sockets Layer) es un protocolo usado muy habitualmente para
gestionar la seguridad en la transmisión de datos en Internet. TLS se ha
convertido recientemente en el sucesor de SSL, en el cual se basa. SSL se
ubica en una capa intermedia entre el protocolo HTTP (Hypertext Transfer
Protocol) y el TCP (Transport Control Protocol). SSL se incluye como parte de
los navegadores de Netscape y de Microsoft, así como en casi todos los
servidores. Desarrollado por Netscape, SSL se ha ganado además el soporte
de Microsoft y de otros desarrolladores de aplicaciones cliente/servidor, y se ha
convertido en el estándar de facto hasta su evolución hacia TLS. SSL usa el
sistema de encriptación de clave pública y privada de RSA (Rivest-ShamirAdleman), que además incluye el uso de un certificado digital. Los protocolos
6
Redes Privadas Virtuales
Jose Luis Ruiz González
TLS y SSL no son interoperables, aunque un mensaje enviado con TLS puede
ser manejado por un cliente que use SSL pero no así TLS.
SSH (Secure Shell, a veces interpretado también como Secure Socket Shell)
es un interfaz de comandos basado en UNIX y un protocolo para obtener
acceso a un ordenador remoto. Es ampliamente utilizado por administradores
para gestionar servidores de forma remota. SSH es realmente un conjunto de
tres utilidades, slogin, ssh y scp, que son versione seguras de utilidades
anteriores de unix: rlogin, rsh y rcp. los comandos SSH son encriptados y
asegurados de múltiples formas. Ambos extremos de la conexión clienteservidor se autentifican mediante un certificado digital, y las contraseñas se
protegen mediante encriptación. SSH usa criptografía RSA de clave pública
tanto para la conexión como para la autentificación. Los mecanismos de
encriptación incluyen Blowfish, DES e IDEA. IDEA es el que se usa por defecto.
SSH2, la última versión, es un estándar propuesto por la IETF (Internet
Engineering Task Force). SSH puede establecer una conexión segura para
cualquier protocolo de aplicación a través de una conexión cliente-servidor
encriptada y autentificada, como por ejemplo los protocolos POP y SMTP.
Diffie-Hellman es un protocolo de negociación de claves o key agreement, que
es también denominado exponential key agreement, y está definido en el
Request for Comments 2631. Fué desarrollado en 1976 por W. Diffie y M. E.
Hellman, y publicado en el paper "New Directions in Cryptography" (IEEE
Transactions on Information Theory 22, 1976, 644-654). Este protocolo permite
a dos usuarios intercambiar una clave secreta sobre un medio inseguro, sin
secretos anteriores entre los extremos negociantes. Consiste básicamente en
la generación en ambos extremos de unas claves privadas, el intercambio de
unos valores públicos, y la generación de la clave en ambos extremos. Su
seguridad depende del problema del logaritmo discreto, ya que reventarlo es
equivalente matemáticamente a calcular logaritmos discretos bajo ciertas
condiciones. Es vulnerable al ataque man-in-the-middle. Un elemento
intermedio podría modificar los mensajes y forzar la generación clave que
quisiera en ambos extremos, conociendola por tanto, ya que no se autentifica a
los participantes, aunque se puede solucionar con el uso de firma digital o
mediante variantes del protocolo. En los últimos años, se ha empezado a
considerar este protocolo como un ejemplo de una técnica criptográfica mucho
más amplia, que tiene como elemento común la generación de un valor secreto
compartido por los participantes (clave) a partir de la clave privada de
cualquiera de los dos participantes y la clave pública del otro.
STS (Station To Station) o authenticated Diffie-Hellman key agreement
protocol, fué desarrollado por Diffie, van Oorschot, y Wiener en 1992, para
evitar un posible ataque man-in-the-middle sobre el protocolo Diffie-Hellman, a
través del uso de firmas digitales y certificados de claves públicas.
RADIUS (Remote Authentication Dial-In User Service) es un protocolo clienteservidor que permite a servidores de acceso remoto (concentradores VPN en
este caso) comunicarse con un servidor central para autentificar a usuarios
externos (dial-in) y permitirles el acceso a los servicios requeridos. RADIUS
permite que una organización mantenga los perfiles de usuarios en una base
7
Redes Privadas Virtuales
Jose Luis Ruiz González
de datos central que compartan el resto de servidores. Proporciona, por tanto,
una mejor seguridad, permitiendo a cualquier organización aplicar una política
de gestión de usuarios desde un único punto administrativo de la red. Esto
simplifica además la traza de uso del servicio para las tarifas y para su control
estadísitico. Fue creado por Livingston (ahora propiedad de Lucent), y es un
estándar de facto en la industria, siendo usado por Ascend y otras compañías
de productos de red. Ha sido propuesto como estándar de la IETF en el
Request for Comments 2138.
TACACS (Terminal Access Controller Access Control System) es un antiguo
protocolo de autentificación, común en redes UNIX, que permite a un servidor
remoto reenviar la contraseña de autentificación de un usuario a otro servidor
que lo autentifique, antes de darle paso al uso de un servicio del sistema.
TACACS es un protocolo de encriptación y, por tanto, menos segur que los
posteriores TACACS+ y RADIUS (Remote Authentication Dial-In User Service).
Una versión posterior de TACACS es XTACACS (Extended TACACS). Ambos
protocolos se definen en el Request for Comments 1492. En 1997, Cisco
declaró que TACACS y XTACACS estaban fuera de mantenimiento, es decir,
que no se solucionarían los problemas que hubiera, debido a que habían sido
reemplazados por nuevos protocolos.
TACACS+ es, a pesar de su nombre, un protocolo de autentificación
totalmente diferente a TACACS. TACACS+ y RADIUS han reemplazado de
forma generalizada a los protocolos anteriores en las redes más modernas o
las que hayan sido actualizadas. TACACS+ usa enlaces TCP (Transmission
Control Protocol), al contrario que RADIUS, que usa datagramas UDP (User
Datagram Protocol). Algunos aldministradores recomiendan el uso de
TACACS+ por este motivo, ya que TCP es más fiable. TACACS+ separa las
operaciones de autentificación y de autorización, al contrario que RADIUS, que
las combina en la ficha de usuario (user profile). A pesar de ello, aún se sigue
usando TACACS and XTACACS en muchos sistemas viejos.
MPLS (Multiprotocol Label Switching) es una tecnología para acelerar el tráfico
de red y hacerlo más sencillo de gestionar. MPLS configura un camino
específico para una secuencia dada de paquetes de información, identificados
por una etiqueta insertada en cada paquete. De esa forma, el router se ahorra
el tiempo necesario para buscar la dirección siguiente a la que debe enviar el
paquete. MPLS se denomina multiprotocolo puesto que funciona con los
diferentes protocolos de red IP (Internet Protocol), ATM (Asynchronous
Transport Mode) y frame relay. Respecto al modelo OSI, MPLS permite a la
mayoría de los paquetes ser reenviados en el nivel 2 (switching) en lugar de en
el nivel 3 (routing). Además de acelerar el movimiento del tráfico de datos,
MPLS hace más sencillo gestionar una red para dar una determinada calidad
de servicio (QoS, quality of service). Por todo ello, se espera que esta técnica
se empiece a adoptar al empezar a transportar las diversas redes mezclas de
distintos tráficos.
8
Redes Privadas Virtuales
Jose Luis Ruiz González
Algoritmos de encriptación:
El cifrado de bloques (block cipher) es un método de encriptación de datos en
que una llave criptográfica y un algoritmo son aplicados a un bloque de datos
(por ejemplo, 64 bits contiguos) de una vez sobre todo el grupo, en lugar de
aplicarlo a un bit cada vez. Para evitar que bloques idénticos de datos queden
cifrados igual, lo que haría mñas sencillo de reventar el sistema, es habitual
aplicar el texto cifrado del bloque anteriormente cifrado al bloque siguiente, en
una secuencia. Para evitar que mensajes idénticos encriptados de la misma
forma no den el mismo resultado, un vector de inicialización, derivado de un
generador de números aleatorios, se combina con los datos del primer bloque y
la llave. Esta operación garantiza que al encriptar los siguientes bloques, se
genere cada vez un mensaje encriptado diferente.
El cifrado de flujos (stream cipher) es, por contraposición al cifrado de
bloques, un método de encriptación en el que se aplica la clave y el algoritmo
de cifrado a cada dígito binario del flujo de datos, un bit de cada vez. No se usa
habitualmente en criptografía moderna.
RSA (Rivest-Shamir-Adleman) es el algoritmo de encriptación y autentificación
más comunmente usado. Fué desarrollado en 1977 por Ron Rivest, Adi Shamir
y Leonard Adleman, y se incluye como parte de los navegadores de Netscape y
Microsoft, así como aplicaciones como Lotus Notes y muchos otros productos.
El sistema de encriptación era propiedad de RSA Security hasta que en
septiembre de 2000 caducó la patente que había sobre este algoritmo. El
funcionamiento de este algoritmo se basa en multiplicar dos números primos
extremadamente grandes, y a través de operaciones adicionales obtener un
par de números que constituyen la clave pública y otro número que costituye la
clave privada. Una vez que se han obtenido las claves, los números primos
originales ya no son necesarios para nada, y se descartan. Se necesitan tanto
las claves públicas como las privadas para encriptar y desencriptar, pero
solamente el dueño de la clave privada lo necesitará. Usando el sistema RSA,
la clave privada nunca necesitará ser enviada. La clave privada se usa para
desencriptar el código que ha sido encriptado con la clave pública. Por tanto,
para enviar un mensaje a alguien, hay que conocer su clave pública, pero no su
clave privada. Al recibir el mensaje, se necesitará la clave privada para
desencriptarlo. También se puede usar para autentificar un mensaje, firmando
con la clave privada un certificado digital.
AES (Advanced Encryption Standard) es un algoritmo de encriptación para
proteger información delicada, aunque no clasificada, por las agencias
gubernamentales de USA y, como consecuencia, puede transformarse en el
estándar de facto para las transacciones comerciales en el sector privado. La
criptografía para las comunicaciones clasificadas, incluyendo las militares, es
gestionada por algoritmos secretos. En enero de 1997, El NIST (National
Institute of Standards and Technology) inició un proceso para encontrar un
algoritmo más robusto que reemplazara a DES y en menor medida a triple DES
(3DES). La especificación solicitaba un algoritmo simétrico usando encriptación
por bloques de 128 bits de tamaño, que soportara como mínimo claves de 128,
192 y 256 bits. Debía ser royalty-free para su uso en todo el mundo, y ofrecer
9
Redes Privadas Virtuales
Jose Luis Ruiz González
un nivel de seguridad suficiente para los próximos 20 ó 30 años. Que fuera
sencillo de implementar por hardware y software, así como en entornos
restringidos (cómo smart cards, por ejemplo), y ofrecer buenas defensas contra
diversas técnicas de ataque. De los algoritmos presentados (MARS de IBM
research, RC6 de RSA Security, Rijndael de dos criptógrafos belgas: Joan
Daemen y Vincent Rijmen, Serpent de Ross Andersen, Eli Biham y Lars
Knudsen, y Twofish de un amplio equipo de criptógrafos entre los que se
encuentra Bruce Schneier de Counterpane) se seleccionó a Rijndael como el
candidato propuesto como AES. En diciembre de 2001, el NIST (National
Institute of Standards and Technology, instituto nacional de estándares y
tecnología) convirtió al AES en un estándar norteamericano oficial. Para
sorpresa de muchos, el algoritmo está desarrollado por dos criptógrafos
europeos, en detrimento de productos genuinamente norteamericanos. El
proceso, en líneas generales, gozó de una transparencia envidiable. Con este
nuevo estándar, muchos órdenes de magnitud más seguro que DES, la
criptografía "oficial" se pone al día y adecúa su seguridad al "estado del arte"
actual.
DES (Data Encryption Standard) es un método de encriptación de clave privada
muy usado. El gobierno de USA restringió su exportación a otros paises debido
a su estimación de la dificultad para reventarlo por hackers. Hay 72
cuadrillones (72,000,000,000,000,000) o más de posibles claves. Para cada
mensaje, se elige una clave al azar entre todas esas posibilidades. Es un
método de encriptación simétrico, lo que obliga a que tanto el emisor como el
receptor han de conocer la clave privada. DES aplica una clave de 56 bits a
cada bloque de 64 bits de datos. El proceso se puede ejecutar en diferentes
modos e implica 16 turnos de operaciones. Aunque está considerado como un
algoritmo de encriptación fuerte, muchas organizaciones usan "triple DES", o
sea aplicar 3 claves de forma sucesiva. Esto no quiere decir que un mensaje
encriptado por DES no pueda ser reventado. En 1997, Rivest-Shamir-Adleman,
propietarios de otro sistema de encriptación de diferente filosofía, el RSA,
ofrecieron una recompensa de 10 mil dólares ($10,000) por reventar la
encriptación de un mensaje encriptado con el algoritmo DES. Más de 14,000
ordenadores de todo el mundo, en un enorme esfuerzo cooperativo, finalmente
descifraron el mensaje, descubriendo la clave después de probar únicamente
18 cuadrillones de entre las posibles 72 cuadrillones de claves. Pocos
mensajes pueden estar sujetos a este esfuerzo tan intensivo para
desencriptarlos. DES fué desarrollado por IBM en 1977 y posteriormente
adoptado por el U.S. Department of Defense. Está especificado en los
estándares ANSI (American National Standards Institute) X3.92 y X3.106, y en
los estándares FIPS (Federal Information Processing Standards) 46 y 81.
Preocupados por su posible uso por gobiernos enemigos, el gobierno de USA
no permite su exportación. Pese a ello, versiones libres de este software están
ampliamente disponibles en numerosos sitios web y BBSs (Bulletin Board
Services). Puesto que hay seria preocupación sobre que el algoritmo se
mantenga invulnerable, NIST (National Institute of Standards and Technology)
ha indicado que no se volverá a certificar DES como un estándar. El siguiente
estándar será denominado Advanced Encryption Standard (AES). La clave del
algoritmo DES tiene un valor de 64 bits, 8 de los cuales se usan para
comprobar la paridad, y 56 para el algoritmo de encriptación. Triple DES
10
Redes Privadas Virtuales
Jose Luis Ruiz González
(3DES) usa tres claves de 56 bits, un total de 168 bits. DES es un tipo de
cifrado de los conocidos como Red Feistel Tradicional.
IDEA (International Data Encryption Algorithm) es un algoritmo de encriptación
desarrollado en el ETH de Zurich (Suiza) por James Massey y Xuejia Lai. Usa
criptografía de bloque con una clave de 128 bits, y se suele considerar como
muy seguro. Está considerado como uno de los algoritms más conocidos.
Durante los años que lleva siendo usado, no ha sido publicado ningún método
práctico para reventarlo, a pesar de los numerosos intentos que ha habido de
encontrar uno. IDEA está patentado en USA y en la mayor parte de los paises
europeos, y la patente está en manos de Ascom-Tech AG. El uso no comercial
de IDEA es gratuito.
Blowfish es un algoritmo de encriptación que puede usarse como sustituto de
DES y de IDEA. Es simétrico y encripta bloques, con una clave de longitud
variable, desde 32 bits hasta 448 bits. Fué diseñado en 1993 por Bruce
Schneier como una alternativa a los algoritmos existentes entonces, y con
procesadores de 32 bits en mente, lo que lo hace significativamente más rápido
que DES. Desde su origen, ha sido considerablemente analizado. No está
patentado, ni bajo licencia, y está libremente disponible para cualquier uso.
CAST-128 es un algoritmo de encriptación del mismo tipo que DES. Es un
criptosistema SPN (Substitution-Permutation Network) que parece tener buena
resistencia contra ataques diferenciales, lineales y related-key, Además de
poseer algunas otras propiedades criptográficas interesantes (avalancha, SAC
(Strict Avalanche Criterion), BIC (Bit Independence Criterion), propiedad de no
complementación, ausencia de claves débiles y semidébiles), lo que hace que
sea un buen candidato para su uso con propósito general para la comunidad de
Internet donde se necesite un algoritmo criptográficamente fuerte y disponible
libremente. Pertenece a la clase de algoritmos denominada como cifrados
Feistel, y su mecanismo, de 4 pasos, es similar al DES.
TEA (Tiny Encryption Algorithm) es uno de los algoritmos de encriptación más
rápidos y eficientes que existen. Fué desarrollado por David Wheeler y Roger
Needham en el Computer Laboratory de Cambridge University. Consiste en un
cifrado Feistel que usa operaciones de grupos algebraicos mixtos
(ortogonales), XORs y sumas en este caso. Encripta bloques de 64 bits usando
una clave de 128 bits. Parece altamente resistente al criptoanálisis diferencial y
consigue difusión total (una diferencia de un bit en el mensaje original causa
aproximadamente 32 bits de diferencia en el mensaje cifrado) en solamente 6
pasos. Hasta ahora no se ha conseguido reventar este algoritmo de
encriptación, y se estima (James Massey) que TEA es tan seguro como IDEA.
Usa la misma técnica de grupos algebraicos mixtos que IDEA, pero es mucho
más simple y,por tanto, más rápido. Además es de dominio público, al contrario
que IDEA. Existen además varias variantes de este algoritmo, que solucionan
problemas menores de éste, principalmente el de claves equivalentes, que
hace que el algoritmo TEA original tenga 126 bits efectivos de seguridad en vez
de 128, así como un posible ataque de claves relacionadas que requiere poder
encriptar 2^23 textos determinados bajo dos claves relacionadas (la segunda
depende de la primera).
11
Redes Privadas Virtuales
Jose Luis Ruiz González
Ejemplos de productos comerciales:
Una red privada virtual (VPN) necesita que exista en ambos extremos de la
comunicación un software capaz de encriptar el tráfico saliente a la red pública,
y desencriptar el tráfico entrante. Este software puede ser ejecutado en un
dispositivo hardware dedicado, o en un PC con un sistema operativo de
propósito general, como Linux, *BSD, NetWare o Windows. Es más
recomendable disponer de un hardware específico dedicado a esta tarea,
normalmente denominados concentradores (concentrators). En los PCs se
ejecutan tantas tareas no relacionadas de forma simultánea que es más fácil
que haya en ellos agujeros de seguridad. Además, son más propensos a dar
fallos debido a que tienen más partes movibles.
El control de acceso, la autentificación y la encriptación de los datos son
elementos vitales de una conexión segura. El protocolo PPP (Point-to-Point
Protocol) ha sido el usado desde hace mucho tiempo como la capa de enlace
universal para crear conexiones punto a punto entre diferentes dispositivos en
Internet, aunque en la época más reciente están empezando a prevalecer los
protocolos PPTP (Point-to-Point Tunneling Protocol) y L2TP (Layer 2 Tunneling
Protocol).
L2TP es una combinación de elementos de PPTP y de L2F (Layer-2
Forwarding de Cisco Systems). Además de las diferencias en el sistema de
autentificación, L2TP ha adquirido una especial popularidad por el hacho de
que usa IPsec (IP Security) para garantizar la privacidad de las comunicacines.
Actualmente, IPsec se ha convertido en el principal protocolo de seguridad para
conectar dos dispositivos o redes. La única pregunta sin respuesta aún es qué
esquema de encriptación usar. DES (Data Encryption Standard), durante
mucho tiempo la opción más extendida, ha sido reemplazado por muchos
administradores de sistemas desde finales de los 90. Su clave de 56 bits no
proporciona un desafío demasiado grande para los hackers con los poderosos
ordenadores personales actuales. El esquema 3DES, aceptado por la industria,
funciona con una clave de 168 bits, proporcionando tripe encriptación con tres
claves separadas. Estos métodos de encriptación no neceitan procesadores
dedicados o de gran capacidad.
La compatibilidad entre sistemas de VPN es un asunto importante a tener en
cuenta. La implementación de cada fabricante de las especificacione y
protocolos ha sido como mínimo ligeramente diferente. Ha habido simplemente
una amplitud de miras y un espacio de movimiento demasiado amplio en los
estándares como para poder garantizar la interoperabilidad. Si la organización
que quiere instalar una red privada virtual se decide por un proveedor, puede
encontrarse atada al mismo hasta que la interoperabilidad deje de ser un
problema, lo que tardará en ocurrir, según Ian Williams, analista de
Datamonitor, como poco 2 años.
http://www.pcmag.com/article/0,2997,s%253D1553%2526a%253D12352%252
6app%253D1%2526ap%253D2,00.asp
12
Redes Privadas Virtuales
Jose Luis Ruiz González
Nokia CC2500 & CC500 VPN Gateway
Precio: CC2500, para usuarios ilimitados, $9,995
CC500, para usuarios ilimitados, $1,495
Compañía: Nokia Internet Communications, Mountain View, CA; 877 997-9199;
http://www.nokia.com/securenetworksolutions
Calificación PCWorld: *****
Cisco VPN 3030 & 3005 Concentrators
Precio: Cisco VPN 3030 Concentrator, para usuarios ilimitados, $22,000
Cisco VPN 3005 Concentrator, para usuarios ilimitados, $4000.
Compañía: Cisco Systems Inc., San Jose, CA; 800-553-6387;
http://www.cisco.com
Calificación PCWorld: ****
RedCreek Ravlin 5300 & 3300 With Node Manager
Precio: 5300, $4,000
3300, $1,500
RedCreek Node Manager, $1,000 (licencias de cliente para 100 usuarios,
$2,000).
Compañía: RedCreek Communications Inc., Newark, CA; 888-745-3900;
http://www.redcreek.com
Calificación PCWorld: ****
SonicWall Pro-VX & XPRS2
Precio: Pro-VX, para 50 users, $4,995
XPRS2, para usuarios ilimitados, $1,795.
Compañía:
SonicWall
Inc.,
Sunnyvale,
http://www.sonicwall.com
Calificación PCWorld: ***
CA;
888-222-6563;
WatchGuard Firebox 1000
Precio: Firebox 1000, para usuarios ilimitados, $4,990
SOHO con VPN, $599
VPN Manager, $995
Mobile User VPN client software, para 100 usuarios, $6,400.
Compañía:
WatchGuard
Technologies,
Seattle;
877-232-3531;
http://www.watchguard.com
Calificación PCWorld: ***
Microsoft Windows 2000 Advanced Server
Precio: Advanced Server, para 25 usuarios, $3,999
Server, para 5 usuarios, $999
Compañía:
Microsoft
Corp.,
Redmond,
WA;
800-936-4900;
http://www.microsoft.com/windows2000/advancedserver/default.asp
Calificación PCWorld: **
13
Redes Privadas Virtuales
Jose Luis Ruiz González
Novell BorderManager Enterprise Edition 3.6
Precio: para 10 usuarios, $400
Compañía:
Novell
Inc.,
Provo,
http://www.novell.com/products/bordermanager
Calificación PCWorld: *
UT;
800-453-1267;
Comparativa
PCWorld:
http://www.pcmag.com/article/0,2997,s%253D1553%2526a%253D12376,00.as
p
Bibliografía:
Information and Tutorials on Networks
http://www.rad.com/networks/inf_main.htm
Safe Passage By Karen J. Bannan, PC Magazine, 25-Sept-2001
http://www.pcmag.com/article/0,2997,s%253D1553%2526a%253D12376,00.as
p
Internet Engineering Task Force (IETF) - IP Security Protocol (ipsec) Charter
http://www.ietf.org/html.charters/ipsec-charter.html
Internet Engineering Task Force (IETF) - Transport Layer Security (tls) Charter
http://www.ietf.org/html.charters/tls-charter.html
National Institute of Standards and Technology (NIST)
http://www.nist.gov
Introduction to SSL (Netscape, 1998)
http://developer.netscape.com/docs/manuals/security/sslin/contents.htm
Linux FreeS/WAN
http://www.freeswan.org/
OpenSSH
http://www.openssh.com/
The IETF provides a comprehensive list of papers about IPsec.
http://www.ietf.org/ids.by.wg/ipsec.html
Cisco - IPSec Overview
http://www.cisco.com/warp/public/cc/techno/protocol/ipsecur/prodlit/ipsec_ov.ht
m
Counterpane Labs Crypto Links - Virtual Private Networks
http://www.counterpane.com/vpn.html
14
Redes Privadas Virtuales
Jose Luis Ruiz González
Counterpane Labs - A Cryptographic Evaluation of IPsec
http://www.counterpane.com/ipsec.html
VPN Info on the World Wide Web (Tina Bird)
http://kubarb.phsx.ukans.edu/~tbird/vpn.html
Virtual Private Networks Frequently Asked Questions (Tina Bird)
http://kubarb.phsx.ukans.edu/~tbird/vpn/FAQ.html
Microsoft Point-Point Tunneling Protocol (PPTP) FAQ
http://www.microsoft.com/ntserver/ProductInfo/faqs/PPTPfaq.asp
VPNs: Virtually Anything? - A Core Competence Industry Report
http://www.corecom.com/html/vpn.html
http://www.corecom.com/external/vpn/compare.html
RFC 2661 - Layer Two Tunneling Protocol "L2TP"
http://www.landfield.com/rfcs/rfc2661.html
RFC 1661 - The Point-to-Point Protocol (PPP)
http://www.faqs.org/rfcs/rfc1661.html
RFC 2246 - The TLS Protocol Version 1.0
http://www.ietf.org/rfc/rfc2246.txt
RFC 2631 - Diffie-Hellman Key Agreement Method
http://www.ietf.org/rfc/rfc2631.txt
RFC 2144 - The CAST-128 Encryption Algorithm
http://www.faqs.org/rfcs/rfc2144.html
RFC 2612 - The CAST-256 Encryption Algorithm
http://www.faqs.org/rfcs/rfc2612.html
RFC 1492 - An Access Control Protocol, Sometimes Called TACACS
http://www.ietf.org/rfc/rfc1492.txt
RFC 2138 - Remote Authentication Dial In User Service (RADIUS)
http://www.ietf.org/rfc/rfc2138.txt
RFC-ES - Traducción al castellano de RFCs
http://www.rfc-es.org/
TACACS+
http://www.mentortech.com/learn/welcher/papers/tacacs.htm
MPLS Resource Center
http://www.mplsrc.com/
RSA Laboratories' Frequently Asked Questions About Today's Cryptography
15
Redes Privadas Virtuales
Jose Luis Ruiz González
http://www.rsa.com/rsalabs/faq/index.html
http://www.rsasecurity.com/rsalabs/faq/index.html
Cryptographic Algorithms
http://www.ssh.fi/tech/crypto/algorithms.html
A short history of crypto
http://webhome.idirect.com/~jproc/crypto/crypto_hist.html
AES (Advanced Encryption Standard)
http://csrc.nist.gov/encryption/aes/
The Block Cipher Lounge - AES
http://www.ii.uib.no/~larsr/aes.html
The Rijndael Block Cipher (AES)
http://rijndael.com/
TEA - Tiny Encryption Algorithm
http://vader.brad.ac.uk/tea/tea.shtml
Block Cyphers and Cryptoanalysis - Fauzan Mirza
http://mesa-sys.com/~eternal/fame/solutions/report.pdf
Speed Comparison of Popular Crypto Algorithms
http://www.eskimo.com/~weidai/benchmarks.html
The Mathematical Guts of RSA Encryption
http://world.std.com/~franl/crypto/rsa-guts.html
The CAST-128 Encryption Algorithm
http://finecrypt.tripod.com/cast.html
"Weaknesses in the Key Scheduling Algorithm of RC4" by Scott Fluhrer, Itsik
Mantin and Adi Shamir.
http://www.eyetap.org/~rguerra/toronto2001/rc4_ksaproc.pdf
whatis.com - Definitions for thousands of the most current IT-related words
http://whatis.techtarget.com
16
Descargar