40
Introducción VPN SSL Seguridad Informática Seguridad en redes: Arquitecturas de seguridad Ramón Hermoso y Matteo Vasirani Universidad Rey Juan Carlos Curso 2012/2013

Arquitecturas Redes

Embed Size (px)

DESCRIPTION

redes

Citation preview

Page 1: Arquitecturas Redes

Introducción VPN SSL

Seguridad InformáticaSeguridad en redes:

Arquitecturas de seguridad

Ramón Hermoso y Matteo Vasirani

Universidad Rey Juan Carlos

Curso 2012/2013

Page 2: Arquitecturas Redes

Introducción VPN SSL

Bibliografía

Eric Cole.Network Security Bible.Wiley Publishing, Inc., 2nd edition, 2009.

William Stallings.Network Security Essentials: Applications and Standards.Pearson Education, Inc., 4nd edition, 2011.

Harold F. Tipton, Micki Krause, and Micki Krause.Information security management handbook (6. ed.).Auerbach Publications, 2007.

Michael E. Whitman and Herbert J. Mattord.Principles of Information Security.Course Technology, Cengace Learning, third editionedition, 2009.

Page 3: Arquitecturas Redes

Introducción VPN SSL

Índice

1 Introducción

2 VPNIPSecPPTP/PPPShell segura

3 SSLProtocolo de registroProtocolo de cambio de especificación de cifradoProtocolo de alertasProtocolo de saludo

Page 4: Arquitecturas Redes

Introducción VPN SSL

Introducción

TCP/IP

Aplicación

Transporte

Red

Host a red

TCP UDP

IP

HTTPFTP

SMTP...

EthernetFDDIx.25...

Servicios y protocolos

TCP UDP

HTTPFTP

SMTP...

EthernetFDDIx.25...

IP/Sec

TCP

IP

HTTPFTP

SMTP...

EthernetFDDIx.25...

SSL o TLS

IP/IPSec

UDP TCP

IP

HTTPFTP

SMTP...

EthernetFDDIx.25...

Aplicación

Ker

bero

s

SSL o TLSTCP

IP

HTTPFTP

SMTP...

EthernetFDDIx.25...

S/MIME

Page 5: Arquitecturas Redes

Introducción VPN SSL

VPN(i)

VPN (Virtual Private Network ) o Redes Virtuales Privadas

Internet(red insegura)

Usuario enmovilidad

Sucursal

Oficina principal

Servidores

Cliente

Page 6: Arquitecturas Redes

Introducción VPN SSL

VPN(ii)

VPN es una red privada y segura que conecta distintossistemas de red, interconectados por una red insegura.

Usada habitualmente para extender, de forma segura, unared interna segura a localizaciones remotas.

Tres tecnologías VPN, según el VPNC (consorcio VPN)VPN de confianza: utiliza circuitos en los que confía parala transmisión de información (acuerdos o contratos deprotección de circuitos)VPN segura: utiliza protocolos de seguridad, cifrando lainformación, para poder transmitir información por redesinseguras.VPN híbrido: Combina circuitos de confianza y lautilización de protocolos de seguridad.

Page 7: Arquitecturas Redes

Introducción VPN SSL

VPN(iii)

Implementación de mecanismos de seguridad:

Encapsulación de la información entrante y saliente. Lainformación encapsulada debe poder ser transportada porla red pública.Cifrado de los datos entrantes y salientes, manteniendo laconfidencialidad de la información al transmitirla por la redpública. La información debe poder ser usada, sinproblema, en los extremos de la conexión (sin cifradoadicional)Autenticación de los extremos de la comunicación(usuario, ordenador, etc) La identificación debe ser válidano sólo en la VPN, sino también en los sistemas extremo.

Page 8: Arquitecturas Redes

Introducción VPN SSL

VPN(iv)Diseños de VPN

Dependiendo del uso de la VPN, existen dos diseños posibles:

VPNs de acceso remoto

Internet(red insegura)

Usuario enmovilidad Oficina principal

ISP

VPN segura.Dependencia en la gestión de la información del ISP.

VPNs de interconexión de redes (LAN-to-LAN o site-to-site)

Page 9: Arquitecturas Redes

Introducción VPN SSL

VPN(iv)Diseños de VPN

Dependiendo del uso de la VPN, existen dos diseños posibles:

VPNs de acceso remoto

VPNs de interconexión de redes (LAN-to-LAN o site-to-site)

InternetVPN/IPSecLAN A LAN B

Posibilidad de VPN híbrido.Utilización de IPSec y SSL para el subsistema de cifrado.

Page 10: Arquitecturas Redes

Introducción VPN SSL

VPN(v)IPSec(i)

Seguridad en la capa de red:El contenido del paquete IP es cifrado.Las cabeceras del paquete IP no son cifradas.

¿Por qué en la capa de red?Muchos estándares de protocolos a nivel de aplicación.Añadir más complejidad al nivel de transporte (TCP) esmucho más complejo que hacerlo a un nivel inferior (IP)

Proporciona:ConfidencialidadAutenticaciónIntegridad de datosProtección contra ataques reply

Page 11: Arquitecturas Redes

Introducción VPN SSL

VPN(vi)IPSec(ii)

Capa de actuación de IPSec: diagrama de niveles OSI

TCP/IP

Aplicación

Transporte

Red

Host a red

TCP UDP

IP

HTTPFTP

SMTP...

EthernetFDDIx.25...

Servicios y protocolos

TCP UDP

HTTPFTP

SMTP...

EthernetFDDIx.25...

IP/Sec

IP/IPSec

Page 12: Arquitecturas Redes

Introducción VPN SSL

VPN(vii)IPSec(iii)

El cliente puede seleccionar el cifrador a utilizar.

IPSec es orientado a conexión (IP no).

Protocolos en IPSec para el manejo de clave y certificados:

Internet Security AssociationKey Management ProtocolInternet Key Exchange Protocol

Page 13: Arquitecturas Redes

Introducción VPN SSL

VPN(viii)Modos de funcionamiento de IPSec

Los modos de funcionamiento de IPSec son:

Modo transporte: El paquete completo (cabeceras ycontenido) no es encapsulado.

Se requiere software específico para poder tratar conpaquetes IPSec.

Modo túnel (tunneled mode): Encapsulación del paquete(cabeceras en claro, datos cifrados).

No es necesario de ningún software especial para eltratamiento.Distribución de paquetes IP por la red insegura.El origen y destino del paquete está en claro.

Page 14: Arquitecturas Redes

Introducción VPN SSL

VPN(ix)

Para mantener el estado de las comunicaciones, se añadeinformación adicional a las cabeceras IP:

Autenticación de cabecera:Proporciona integridad y autenticación de los extremos dela comunicación.Asegura la utilización de los mismos sistemas de cifrado ylongitudes de claves.

Encapsulación de la información:Proporciona autenticación y confidencialidad a latransmisión de información.Puede ofrecer también (RFC 2406), integridad y proteccióncontra ataques reply.

Page 15: Arquitecturas Redes

Introducción VPN SSL

VPN(x)Autenticación de cabecera(i)

Autenticación de cabecera

Próxima cabecera Longitud contenido Reservado

Parámetros seguros de indexado

Número de secuencia

Datos de autenticación

Page 16: Arquitecturas Redes

Introducción VPN SSL

VPN(xi)Autenticación de cabecera(ii)

Próxima cabecera: Muestra el protocolo del siguientepaquete IP, antes de ser procesado por IPSec.Longitud del contenido: Longitud del contenido enviado.Parámetros seguros indexados: Información comoclaves y algoritmos utilizados.Número de secuencia: Mantiene el número de paquetesenviados en una asociación segura. Efectivo contraataques reply.Datos de autenticación: mantienen la integridad de laconexión. Firmas digitales, códigos hash, etc.

Mantiene únicamente el control de integridad y autenticación:VPN de confianza.

Page 17: Arquitecturas Redes

Introducción VPN SSL

VPN(xii)Seguridad del contenido (Encapsulating security payload(i)

Seguridad del contenido

Próxima cabecera

Asociación de seguridad

Datos de autenticación

Número de secuencia

Longitud de relleno

Contenido

Relleno

Page 18: Arquitecturas Redes

Introducción VPN SSL

VPN(xii)Seguridad del contenido (Encapsulating security payload(ii)

Respecto a la autenticación de cabecera, ofrece ademásla confidencialidad.Protección contra ataque reply.Limitaciones de uso de cifrados según legislación de cadapaís.Seguridad en contenido es opcional en IPv6 (porproblemas legales)Autenticación de cabecera no tiene ninguna limitaciónlegal y está incluido en IPv6.

Page 19: Arquitecturas Redes

Introducción VPN SSL

VPN(xii)VPN basadas en PPTP/PPP

Point-to-Point Tunneling Protocol (PPTP)

Desarrollado por Microsoft para proporcionar serviciosVPN sin IPSec.Intento de ser más fácilmente utilizable:

Sin necesidad de software IPSecIntegrado en sistemas operativos de MicrosoftSoporte en antiguos PDAs

Cifrados sin problema de exportación fuera de EEUU.Debilidad en longitud de claves y cifradores.

Es una implementación mejorada de PPP (utilizado comoacceso telefónico a internet)

Page 20: Arquitecturas Redes

Introducción VPN SSL

VPN(xiii)Shell segura(i)

Secure Shell o ssh: sustituto seguro a programa deacceso remoto en UNIX (rsh, ftp, rlogin, rcp, etc.)Funcionamiento similar a telnet, pero con un nivel más altode seguridad.Las sesiones en ordenadores pueden transmitirinformación valiosa (cat /etc/passwd).Permite tanto el inicio de sesión, como la transmisión deinformación utilizando canales seguros.

Page 21: Arquitecturas Redes

Introducción VPN SSL

VPN(xiv)Shell segura(ii)

Características:

Reemplaza completamente a programas como ftp, telnet,rlogin con sus versiones scp, sftp, ssh y agentes ssh.Puede utilizar distintos algoritmos de cifrado (similar aSSL)Algoritmos específicos para la detección de spoofing.Puede hacer uso de los modos transporte y modo túnel.Proporciona algoritmos de autenticación.Permite mantener múltiples sesiones de forma simultánea.

ssh -f [email protected] -L 2000:server.com:25 -N

Page 22: Arquitecturas Redes

Introducción VPN SSL

SSL(i)SSL y TLS

SSL:

Secure Socket LayerDesarrollado originalmente por Netscape como unprotocolo abierto.Pensado y usado para la web: autenticación yconfidencialidad.Autenticación del cliente con el servidor y del servidor conel cliente.

TLS:Transport Layer SecurityBasado en SSL, para producir un protocolo estándar parainternet (RFC 5246, muy similar a SSLv3)

Page 23: Arquitecturas Redes

Introducción VPN SSL

SSL(ii)

TCP/IP

Aplicación

Transporte

Red

TCP UDP

IP

HTTPFTP

SMTP...

Servicios y protocolos

TCP

IP

SSL

SSL Record Protocol

SSL HandShake

Protocol

SSL Change Cipher Spec

Protocol

HTTPSSL Alert Protocol

Page 24: Arquitecturas Redes

Introducción VPN SSL

SSL(iii)Arquitectura

Protocolo divido en 2 niveles:Protocolo de registro SSL (SSL Record Protocol)

Proporciona los servicios básicos de seguridad para HTTPClientes y servidores Web pueden interactuar sobre esteprotocolo

Tres protocolos de alto nivel:Protocolo de saludo SSL (SSL Handshake Protocol)Protocolo de cambio de especificación de cifrado (SSLChange Cipher Spec Protocol)Protocolo de alertas SSL (SSL Alert Protocol)

Page 25: Arquitecturas Redes

Introducción VPN SSL

SSL(iv)Conceptos

Dos conceptos clave para SSL:

Conexión: es un transporte que ofrece un tipo de servicioadecuado.

Es una relación 1 a 1 (peer-to-peer ).Las conexiones son transitorias.Toda conexión está asociada con una sesión.

Sesión: es una asociación entre un cliente y un servidor.Creada por el protocolo de saludo (Handshake Protocol)Una sesión define un entorno criptográfico que puede sercompartido durante distintas conexiones.Son utilizadas para evitar el negociar en cada conexióntodos los parámetros de seguridad (proceso costoso).

Page 26: Arquitecturas Redes

Introducción VPN SSL

SSL(v)Parámetros de una sesión

Parámetros de una sesión:

Identificador de sesiónCertificado del par (X509.v3)Método de compresiónEspecificaciones del cifrado: para el cifrador (AES, etc) yfunción Hash (MD5, SHA-1,etc) para el cálculo del códigode autenticación de mensaje (MAC).Secreto compartido.Es reanudable.

Page 27: Arquitecturas Redes

Introducción VPN SSL

SSL(vi)Parámetros de una conexión

Parámetros de una conexión:

Número aleatorio para el cliente y el servidorCódigo de autenticación de mensaje del servidorCódigo de autenticación de mensaje del clienteClave privada del servidorClave privada del clienteVectores de inicialización (IV)Número de secuencia

Page 28: Arquitecturas Redes

Introducción VPN SSL

SSL(vii)Protocolo de registro - SSL Record

Protocolo de registro - SSL Record

Proporciona 2 servicios en las conexiones SSL:Confidencialidad: El protocolo de saludo define unsecreto compartido que se utiliza para cifrar la información.Integridad: El secreto compartido definido en elprotocolo de saludo se utiliza para generar un código deautenticación de mensaje (MAC)

Page 29: Arquitecturas Redes

Introducción VPN SSL

SSL(viii)Protocolo de registro - SSL Record - funcionamiento

Datos de aplicación

Fragmentación

Compresión

Añadir MAC(código autenticación de mensaje)

Cifrar

Añadir cabeceraSSL Record

Page 30: Arquitecturas Redes

Introducción VPN SSL

SSL(ix)Protocolo de registro - SSL Record - Formato de mensaje

Tipo de contenido

Major version

Minor version Longitud de contenido

Contenido

MAC (código autenticación de mensaje)

Cifr

ado

Page 31: Arquitecturas Redes

Introducción VPN SSL

SSL(x)Protocolo de cambio de especificación de cifrado

Protocolo de cambio de especificación de cifrado (SSLChange Cipher Spec Protocol)

Un único mensaje con 1 byte con valor 1Cambia el estado del protocolo, actualizando el entornocriptográfico actual al negociado en el protocolo desaludo.

Page 32: Arquitecturas Redes

Introducción VPN SSL

SSL(xi)Protocolo de alertas

Protocolo de alertas (SSL Alert Protocol)

Envío de posibles alertas en el uso de los protocolos SSL.Dos niveles de alertas: warning y fatal :

fatal cierra la conexión de forma inmediata.

Colección de tipos de error (problemas en certificados, elprotocolos, en cierre de sesión inesperado, etc).

Page 33: Arquitecturas Redes

Introducción VPN SSL

SSL(xii)Protocolo de saludo - SSL Handshake(i)

Protocolo de saludo SSL Handshake

El más complejo de todos los protocolos SSLPermite autenticar el cliente con el servidor y el servidorcon el cliente.Negocian los algoritmos de cifrado y hash a utilizar.Se calcula la clave secreta compartida de sesión.Divido en 4 fases:

Fase 1: establecer entorno de seguridad.Fase 2: autenticación de servidor e intercambio de claves.Fase 3: autenticación del cliente e intercambio de clavesFase 4: finalización

Page 34: Arquitecturas Redes

Introducción VPN SSL

SSL(xiii)Protocolo de saludo - SSL Handshake(ii)

client_hello

server_hello

certificate

serve_key_exchange

certificate_request

Fase 1

Fase 2

server_hello_done

Serv

idor

Clie

nte

Page 35: Arquitecturas Redes

Introducción VPN SSL

SSL(xiv)Protocolo de saludo - SSL Handshake(iii)

Fase 1: Establecer entorno de seguridad

El cliente envía sus capacidades para el entornocriptográfico de la sesión:

Método de intercambio de clave (RSA, Diffie-Hellman y susvariaciones, Fortezza)Especificación del cifrador (RC4, RC2, DES, 3DES,DES40, IDEA o Fortezza)Función hash para el cálculo de código de autenticación demensaje MAC (MD5 o SHA-1)Tipo de cifrador (por bloques o por flujo)Tamaño del hashVector de inicialización IV para el Cipher Block Chaining(CBC)

El servidor responde con el entorno criptográficoseleccionado a partir de las capacidades enviadas por elcliente. Si no existe, se aborta la conexión.

Page 36: Arquitecturas Redes

Introducción VPN SSL

SSL(xv)Protocolo de saludo - SSL Handshake(iv)

Fase 2: autenticación del servidor e intercambio de clavesEl servidor envía sus credenciales al cliente (cuando seanecesario, no lo es para Diffie-Hellman anónimo)El servidor envía un mensaje de intercambio de clave(excepto cuando no sea necesario)El servidor puede solicitar el certificado del cliente (sifuese necesario, dependiendo de los métodos deintercambio de clave seleccionados)Se envía un mensaje de finalización.

Page 37: Arquitecturas Redes

Introducción VPN SSL

SSL(xvi)Protocolo de saludo - SSL Handshake(v)

certificate

change_cipher_spec

Fase 3

Fase 4

client_key_exchange

certificate_verify

change_cipher_spec

finished

finishedSe

rvid

or

Clie

nte

Page 38: Arquitecturas Redes

Introducción VPN SSL

SSL(xvii)Protocolo de saludo - SSL Handshake(vi)

Fase 3: autenticación del cliente e intercambio de clavesEl cliente envía sus credenciales al servidor (cuando seanecesario)El cliente envía un mensaje de intercambio de clave(excepto cuando no sea necesario)Se envía un mensaje que ofrece una verificación explícitadel certificado enviado al servidor (cuando sea necesario)

Fase 4: finalizaciónSe inicia el protocolo de cambio de especificación decifrado, para actualizar en los 2 extremos el nuevoentorno criptográfico de sesión.Se envía un mensaje de finalización, utilizando losalgoritmos y secretos compartidos.

Page 39: Arquitecturas Redes

Introducción VPN SSL

SSL(xvi)Consideraciones finales

Análisis de los certificados:

Periodo de validezConfianza en el CA (entidad certificadora) que emitió elcertificado (directa o indirectamente)Validez de la clave pública del CA.Correspondencia del nombre del dominio con el declaradoen el certificado.

Page 40: Arquitecturas Redes

Seguridad InformáticaSeguridad en redes:

Arquitecturas de seguridad

Ramón Hermoso y Matteo Vasirani

Universidad Rey Juan Carlos

Curso 2012/2013