Está en la página 1de 51

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 que


puedan ejecutar de manera segura sobre
Internet. Se cuenta con las siguientes
herramientas/soluciones:
• TLS: Transport Layer Security (SSL)
• Certificados
• Esta presentación está basada
principalmente en el capítulo 17 del
Stallings

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 la
comunidad [RFC 2246]
• Un esfuerzo de estandarización ha sido patrocinado por
la IETF
– TLS (Transport Layer Security) grupo de trabajo
establecido y funcionando [Véase:
http://www.ietf.org/html.charters/tls-charter.html]
– TLS puede ser visto como SSL v3.1 y/o compatible
con SSL v3

Seguridad en Sistemas de Información Francisco Rodríguez Henríquez


HTTP : Visto como aplicación de TLS

• 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 de
funciones hash
• versión del protocolo 3.1 en
ClientHello, 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 datos


confiable)

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 se
utiliza 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 de
especificaciones de cifrado
• El protocolo TLS más simple
• El nuevo estado establecido por el protocolo handshake es
un estado de pendiente
– Todavía no definitivo
• El protocolo de cambio de espec. de cifrado es en
realidad un sólo mensaje intercambiado entre el cliente y
el servidor que cambia el estado de pendiente a
definitivo.
• 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, certificado desconocido

Seguridad en Sistemas de Información Francisco Rodríguez Henríquez


Protocolo de Intercambio de datos
TLS

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 cualquier
intercambio 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 (de
manera abreviada) aun si una sesión anterior es
relanzada
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Protocolo handshake de TLS: tres
objetivos
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 y
al servidor
3. Establece y comparte un secreto
maestro

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 la
entidad 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 (casi
nunca)
– 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 reutilizada
má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 particular


occasion.
• Nonce word: A word occurring,
invented, or used just for a particular
occasion.

Seguridad en Sistemas de Información Francisco Rodríguez Henríquez


Tipos de mensajes en el protocolo
handshake

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 algoritmos
criptográ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 significa
una 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 algoritmos
criptográficos soportados por el cliente en orden de
preferencia
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Establecimiento de algoritmos
criptográficos
• 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 pero
independientes
– 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
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


Métodos de intercambio de Llave
• ¿Cómo se intercambia el secreto pre-maestro?
– RSA
• El servidor envía un certificado RSA, el cliente cifra
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 medio de 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) y los 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

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 SSL
3.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

Capa de Transacción (WTP)

Protocolo Protocolo de Protocolo de Protocolo de


WTLS

de Alerta Negociación EspCC Aplicación

Protocolo de Registro

Capa de Transporte (WDP/UDP)

Protocolo
Protocolo dederegistro:
especificación de cambio
administra de cifrado:
WTLS
El es el protocolo
protocolo de seguridad
de aplicación: de la la
esWAP. fragmentación
Está diseñado
interfaz para las para
indica
de
Protocolo
hacer
WTLS la transición
los seguras
mensajesde a laadministra
y aquí
las alerta:
proporciona verdadera
se realizan
comunicaciones
Privacidad, fase
los
los
Integridad de transmisión
ymecanismos
avisos.
y las transacciones
Autentificación.
sobre redes
capas superiores.
Seguridadutilizando
en Sistemas delos
inalámbricas.
necesarios paramétodos de cifrado
dar privacidad
Información acordados.
e integridad
Francisco al usuario.
Rodríguez Henríquez
Cliente
Servidor hola del clie
nte

Fase 1
rvidor
hola del se
Negociación
Protocolo de

Completo certificado
io d e lla ve d el servidor
Fase 2 intercamb
t ición d e certificado
pe

rvidor terminado
hola del se

certificad
o
intercamb
io de llave d
Fase 3 verificació
el cliente
n del certi
ficado

especificació
n de cambio
de cifrador
terminado

Fase 4 c am bio de cif rador


ión d e
especificac
terminado
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Parámetros Datos Tiempos
Criptográfic recibidos Datos a de
os Canal Intercambia Ejecución
Inalámbrico r
Datos a Datos
HolaCliente
Intercambiar recibidos
HolaServidor
Certificado Digital
Petición de Certificado
Módulo de Llave Pública Módulo de
Negociación Petición de Certificado Negociación
Fase de Certificado
en el en el
Negociación Llave Pública
Cliente usando Verificación de Certificado Servidor usando
TLS/WTLS Especificación Cambio
Cifrador
TLS/WTLS
Terminado
Especificación Cambio
Cifrador
Terminado

Llave de Llave de
Sesión Sesión

Módulo para Módulo para


Intercambio de Intercambio de Intercambio de
CifradoDatos
Descifrado Datos CifradoDatos
Descifrado
Fase de Firmado Verificación Firmado Verificación
Intercambi
o deSeguridad
Datos 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 y
ruteadores
• 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 IP
addresses 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 en
desorden
– La solución es usar ventanas
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
•Ventana fija de
tamaño W (por
default 64)
–Empleado
por el
receptor

• 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
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Administración de Llaves en
IPSec
• 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.
Seguridad en Sistemas de Información Francisco Rodríguez Henríquez
Administración de Llaves en
IPSec

Seguridad en Sistemas de Información Francisco Rodríguez Henríquez

También podría gustarte