View
251
Download
0
Category
Preview:
Citation preview
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Introducción SSL/TLS
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Seguridad WEB
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Seguridad Web
• HTTP no es un protocolo seguro– Es simple y no se establece un estado cliente/servidor.
Ejecuta sobre TCP/IP
• Es necesario instrumentar medidas de seguridad– Revisaremos SSL (Secure Socket Layer) y su sucesor
TLS (Transport Layer Security)– HTTPS
• Protocolo seguro HTTP
– El uso de SSL se aplica también a otras capas TCP/IP,por ejemplo,
• POP3, SMTP, FTP, SSH, etc.
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Problema de Diseño
Problema de diseño: crear aplicaciones quepuedan ejecutar de manera segura sobreInternet. Se cuenta con las siguientesherramientas/soluciones:
• TLS: Transport Layer Security (SSL)
• Certificados
• Esta presentación está basadaprincipalmente en el capítulo 17 delStallings
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
¿Dónde ofrecer Seguridad?
• Discusión bizantina sin respuesta final
Se menciona Esta presentación futuro
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Contexto de SSL/TLS
• Amenazas– Integridad
• Modificación de datos, inseción• Funciones hash (HMAC)
– Confidencialidad• Espionaje en la red
– Puede ser prevenido con cifrado• Compromiso de la seguridad
– Las medidas de seguridad in-situ son indispensables
– Autenticación• masacarada• Hemos visto diversas técnicas criptográficas
– Denegación de servicio
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
SSL (Secure Socket Layer)
• Desarrollado originalmente por Netscape
• Versión 3: Diseñada tomando en cuenta opiniones de lacomunidad [RFC 2246]
• Un esfuerzo de estandarización ha sido patrocinado porla IETF
– TLS (Transport Layer Security) grupo de trabajoestablecido y funcionando [Véase:
http://www.ietf.org/html.charters/tls-charter.html]
– TLS puede ser visto como SSL v3.1 y/o compatiblecon SSL v3
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
HTTP : Visto como aplicación deTLS
• HTTP es la más común aplicación de TLS– https://
• Requiere servidores Web que soporten TLS• Requiere navegadores Web que soporten
TLS:– Netscape– Internet Explorer– Cryptozilla
• Netscape Mozilla sources with SSLeay
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Cambios de SSL 3.0 a TLS
• Mensajes adicionales de alerta
• Modificaciones a los cómputos defunciones hash
• versión del protocolo 3.1 enClientHello, ServerHello
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Arquitectura TLS
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
TLS: ¿Qué hace?
• Establece una sesión– Acuerdo de algoritmos– Realiza autenticación– Compartir de secretos
• Transferencia de datos de aplicación– Asegura privacidad e integridad
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Arquitectura SSL
• Utiliza TCP (transferencia de datosconfiable)
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
SSL: Protocolo “Record”• Utilizado en conexiones SSL
– Usa parámetros de la conexión• Brinda confidencialidad e integridad• También fragmenta (en bloques de 214 bytes) y
opcionalmente comprime datos (en la práctica no seutiliza casi nunca)
• confidencialidad– IDEA, RC2-40, DES-40, DES, 3DES, Fortezza, RC4-
40, RC4-128– Opcionalmente, los mensajes son comprimidos
• integridad de mensaje– Se usan protocolos MAC con llave secreta
compartida– Actua de manera similar a HMAC pero la llave es
concatenada al mensaje en vez de XORed
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
SSL: Protocolo “Record”
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo de cambio deespecificaciones de cifrado
• El protocolo TLS más simple
• El nuevo estado establecido por el protocolo handshake esun estado de pendiente
– Todavía no definitivo
• El protocolo de cambio de espec. de cifrado es enrealidad un sólo mensaje intercambiado entre el cliente yel servidor que cambia el estado de pendiente adefinitivo.
• Se revisará en el protocolo de intercambio de datos[handshake protocol]
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo de Alerta• Cubre el sistema de alertas de SSL generadas por la identidad de las
entidades• Asegura los datos intercambiados en el protocolo record
– Y con los parámetros de conexión en vigor en la sesión• Cada mensaje tiene 2 bytes
– Un byte para el nivel de seguridad (severidad)• warning (cone´xión puede reanudarse) o fatal (la conexión se
termina inmediatamente)– Un byte para el código de alerta
• Mensaje inesperado, falla en el MAC o en el descomprimido• Falla en el intercambio (no pudo establecerse acuerdo),
parámetros ilegales (inconsistentes o irreconocibles)• Tiempo insuficiente para procesar• Sin certificado, mal certificado, certificado no soportado,
certificado revocado, certificado expirado, certificadodesconocido
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo de Intercambio de datosTLS
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo de Intercambio de datos
• La parte más compleja de SSL
• Permite al servidor y al cliente– Autenticar uno a otro
– Negociar algoritmos de cifrado y MAC
– Negociar llaves de cifrado y MAC a ser usadas
• Este protocolo es ejecutado antes que cualquierintercambio de datos se realice– Es decir, el protocolo record no comienza hasta que no acabe el
de intercambio de datos.
• De hecho, el protocolo de intercambio de datos (demanera abreviada) aun si una sesión anterior esrelanzada
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo handshake de TLS: tresobjetivos
1. Negociar algoritmos criptográficos– Cifradores simétricos– Método de intercambio de llave– Función de digestión de mensaje
2. Autentica [opcionalmente] al cliente yal servidor
3. Establece y comparte un secretomaestro
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Parámetros de estado de la Sesión• Identificador de Sesión
– Escogido por el servidor• Certificado de participante
– (certificado del servidor si la entidad es el cliente, o del cliente si laentidad es el servidor)
– Puede ser null (lo cual es un caso probable para el cliente)• Método de Compresión
– Algoritmo usado por compresión• Especificación de cifrado
– Algoritmos de cifrado por bloques (DES, etc.) – puede ser null (casinunca)
– Algoritmo hash usado para integridad (MD5 o SHA-1)• Secreto Maestro
– 48-bytes secretos compartidos por el cliente y servidor• Es re-ejecutable
– Existe una bandera que indica si la sesión puede ser reutilizadamás tarde
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Parámetros de Conexión
• Números Aleatorios– Intercambios entre servidor y cliente– Utilizados como “nonces” durante los mensajes
intercambiados• secreto MAC
– Llave secreta utilizada en operaciones MAC• Llave de cifrado convencional• Vector de inicialización
– Si el modo CBC es utilizado• Secuencias pseudo-aleatorios
– Cada participante genera sus propias secuencias
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Definición de la palabra nonce
• Nonce: The present or particularoccasion.
• Nonce word: A word occurring,invented, or used just for a particularoccasion.
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Tipos de mensajes en el protocolohandshake
≤
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Fases del protocolo Handshake
• Mensajes de Hola• Mensajes de certificados e
intercambio de llaves.• Cambio de especificación de cifrado y
mensajes de finalización
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Fase 1 del Protocolo Handshake
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Mensajes de hola
• Hola del cliente – Inicia Sesión
– Propone la versión del protocolo
– Los cifradores a ser utilizados
– Es el servidor quien escoge los algoritmos
criptográficos a ser usados
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Establecimiento de algoritmoscriptográficos
• Hola del Cliente (Lista de sus preferencias)– versión: la más alta soportada por el cliente– El cliente envía un número aleatorio
• Se incluye un marca de tiempo para evitar ataques de replay
– Identificador de Sesión• No-cero significa que el cliente desea utilizar una sesión
existente para renovar el estado de conexión, cero significauna conexión nueva en una sesión nueva.
– Métodos de comprensión soportados por el cliente– Selección criptográfica
• Una lista que contiene la combinación de algoritmoscriptográficos soportados por el cliente en orden depreferencia
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
• Hola del Servidor• versión: versión propuesta por el cliente si la soporta
el servidor, si no, la más alta soportada por el servidor.– Aleatorios del servidor
• Mismos mecanismos que el cliente peroindependientes
– Identificador de sesión• Se acepta la sugerida por el cliente si el servidor
la soporta• En caso contrario, el servidor asigna un
identificador– Lo mismo ocurre con las sugerencias del cliente
para los algoritmos de cifrado
Establecimiento de algoritmoscriptográficos
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Métodos de intercambio de Llave
• ¿Cómo se intercambian las llaves secretas
para el cifrado y funciones MAC?
– Primero se intercambia un secreto pre-maestro.
– El secreto maestro se deriva a partir de éste.
– Las llaves necesarias se derivan del secreto
maestro
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
• ¿Cómo se intercambia el secreto pre-maestro?– RSA
• El servidor envía un certificado RSA, el clientecifra el secreto pre-maestro y lo envía.
– Diffie-Hellman (DH) fijo• Los parámetros DH del servidor han sido
prefijados y se les envían al cliente por mediode un certificado.
– DH Efímero [DH Ephemeral]• El certificado del servidor contiene una llave
RSA o DSA• El servidor crea los parámetros DH en tiempo
real (se asume que sólo serán usados una vez) ylos firma con su llave.
– DH Anónimo• Sin certificados ni autenticación, simplemente se
envían los parámetros DH en claro.• Obviamente es vulnerable a ataques
Métodos de intercambio de Llave
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo Diffie-Hellman
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
References
• http://www.openssl.org/
• http://www.openssl.org/docs/
• http://httpd.apache.org/docs-2.0/ssl/
• Stallings, William Cryptography and Network Security:Principles and Practice, 2nd Edition, Prentice Hall,1999.
• Wagner, David, Schneier, Bruce “Analysis of the SSL3.0 Protocol”<http://www.counterpane.com/ssl.html>
• Internet Drafts and RFCs <http://www.ietf.org/>.
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
WTLS
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
WTLS
WTLS es el protocolo de seguridad de WAP. Está diseñado parahacer seguras las comunicaciones y las transacciones sobre redesinalámbricas.
WTLS
Capa de Transacción (WTP)
Capa de Transporte (WDP/UDP)
Protocolode Alerta
Protocolo deNegociación
Protocolo deEspCC
Protocolo deAplicación
Protocolo de Registro
WTLS proporciona Privacidad, Integridad y Autentificación.El protocolo de aplicación: es la interfaz para lascapas superiores.Protocolo de registro: administra la fragmentaciónde los mensajes y aquí se realizan los mecanismosnecesarios para dar privacidad e integridad al usuario.Protocolo de alerta: administra los avisos.Protocolo de especificación de cambio de cifrado:indica la transición a la verdadera fase de transmisiónutilizando los métodos de cifrado acordados.
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Cliente Servidor
Prot
ocol
o de
Neg
ocia
ción
Com
plet
o
Fase 1hola del cliente
hola del servidor
certificado
Fase 2 intercambio de llave del servidor
hola del servidor terminado
petición de certificado
certificado
Fase 3intercambio de llave del clienteverificación del certificado
terminado
especificación de cambio de cifrador
especificación de cambio de cifrador
terminado
Fase 4
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Módulo de Negociación
en el Cliente usando
TLS/WTLS
Módulo de Negociación
en elServidor usando
TLS/WTLS
HolaClienteHolaServidor
Certificado DigitalPetic ión de Certificado
Llave PúblicaPetic ión de Certificado
Certificado
Especificación CambioCifrador
Llave PúblicaVerificación de Certificado
TerminadoEspecificación Cambio
CifradorTerminado
Llave deSesión
Llave deSesión
CanalInalámbrico
Intercambio deDatosCifrado Descifrado
Firmado Verificación
Cifrado Descifrado
Firmado Verificación
ParámetrosCriptográficos
Datos aIntercambiar
Datosrecibidos
TiemposdeEjecución
Datosrecibidos
Datos aIntercambiar
Módulo paraIntercambio de
Datos
Módulo paraIntercambio de
Datos
Fase deNegociación
Fase deIntercambio de Datos
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Seguridad IP
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo Inter-redes (IP)• Objetivo
– Proveer interconexión entre diferentes redes
• Implementado en todas las redes yruteadores
• IP es un protocolo no confiable– Los datagramas IP suelen perderse– Llegan en desorden– TCP arregla estos problemas
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocol Inter-redes (IP)
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
¿Dónde proveer Seguridad?
• ¿Capa de aplicación?– S/MIME, PGP – seguridad en correo electrónico– Kerberos – modelo cliente-servidor– SSH –telnet seguro
• ¿Nivel de transporte?– SSL / TLS– Entre TCP y Aplicación
• Nivel IP– IPSec
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
IPv4• La versión IP que la mayoría de las
LANs utilizan
Los datos [payload] siguen al encabezado
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
IPv6
• Nueva generación IP– La motivación principal fue lo inadecuado
del espacio de direcciones de IPv4
• Encabezado IPv6– Estrategia modular– Encabezado base + extensiones– Encabezado base es mayor que el de v4, pero
el número de campos es menor
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
IPv6 header
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
¿Cuán seguro es IP?
• Los datos (Payload) no viajan cifrados– No se ofrece confidencialidad
– IP sniffers están disponibles en la red
– Las direcciones IP pueden ser observadas
– La autenticación basada en direcciones IPaddresses puede ser rota
• Así que IP tiene debilidades
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
IPSec• Mecanismos de Seguridad para IP• Provee confidencialidad y autenticación a nivel
IP– También incluye algunas características de
administración de llaves• Applicaciones
– VPNs (Virtual Private Networks)• Interconexión de LANs sobre un medio inseguro
[típicamente Internet]• Ruteador a ruteador
– Acceso remoto seguro• Nodos a ruteadores
• IPSec es obligatorio para v6 y opcional para v4
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
IPSec: Posibles escenarios
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
AH – Servicio Anti-Replay• Detección de paquetes duplicados• Secuencias
– Asociadas con SAs– 32-bit valores– Cuando un SA es creado, se inicializa a 0
• Cuando alcance 232-1, SA debe ser terminado– El transmisor incrementa el contador de replay y
lo coloca en cada AH [campo de secuencias]• Problema: IP no es confiable, así que el
destinatario puede recibir paquetes IP endesorden– La solución es usar ventanas
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
• Si un paquete recibido cae dentro de la ventana– Si se autentica y no está marcado, márquelo– Si ya está marcado: Ataque de replay!
• Si un paquete recibido es mayor > N– Si está autenticado, avance la ventana así que el paquete esté
en el extremo derecho de la ventana• Si el paquete recibido es menor que <= N-W
– El paquete se descarta
•Ventana fija detamaño W (pordefault 64)
–Empleadopor elreceptor
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
• Objetivo principal– Generar y administrar SAs para los modos AH y ESP
– Criptografía asimétrica• El remitente y destinatario tienen diferentes SAs
• Puede ser manual o automatizada– Administración manual de llave
• El administrador de red configura manualmente cada llave
– Administración automática de red• Creación de llaves de acuerdo a la demanda en sistemas de
redes grandes.
Administración de Llaves enIPSec
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Administración de Llaves enIPSec
Recommended