arquitecturas redes
DESCRIPTION
redesTRANSCRIPT
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
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.
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
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
Introducción VPN SSL
VPN(i)
VPN (Virtual Private Network ) o Redes Virtuales Privadas
Internet(red insegura)
Usuario enmovilidad
Sucursal
Oficina principal
Servidores
Cliente
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.
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.
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)
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.
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
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
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
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.
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.
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
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.
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
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.
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)
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.
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
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)
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
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)
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).
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.
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
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)
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
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
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.
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).
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
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
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.
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.
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
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.
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.
Seguridad InformáticaSeguridad en redes:
Arquitecturas de seguridad
Ramón Hermoso y Matteo Vasirani
Universidad Rey Juan Carlos
Curso 2012/2013