Académique Documents
Professionnel Documents
Culture Documents
Protocolos criptogrficos
Roberto Gmez Crdenas
rogoca@gmail.com http://cryptomex.org
Lmina 1
Protocolos critpograficos
VPN
Autenticacin
Lmina 2
Protocolos Criptogrfcios
Seguridad Informtica
Se crea un segmento virtual entre cualesquiera dos entidades que tengan acceso. Puede darse a travs de infraestructura compartida, LAN, WAN o el internet Tecnologa barata y efectiva para una solucin de red remota que cualquiera con Internet puede aprovechar.
Lmina 3 Dr. Roberto Gmez Crdenas
transporte (SSL)
contenido comunicacin es protegido, pero paquetes no
red (IPSec)
no solo encripta el payload sino la informacin TCP/IP posible si dispositivos usan encapsulacin
Protocolos Criptogrfcios
Seguridad Informtica
SSL/TLS
Secure Socket Layer/Transport Layer Security
IPSEC, GRE
IP Security Generic Routing Encapsulation
CHAP, PAP
Host Hostto toNetwork Network Layer Layer
Lmina 5
Concepto: tuneleo
Tuneleo (tunneling)
proceso de encapsular un tipo de paquete dentro de otro para facilitar el transporte de este.
Servidor Servidor Workstation
hub
hub
Tunel VPN
Firewall Firewall Workstation
Workstation
Workstation
Workstation
Workstation
Ejemplo
00:05:18.671517 192.168.44.129 > 172.16.1.128 AH(spi=580532459, seq=0x3): 1232 > 80: P 1:260(259) ack 1 win 17520 (DF)
Lmina 6 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
Seguridad Informtica
IPSec
Este protocolo desarrollado por el grupo de trabajo de seguridad del IETF (Internet Engineering Task Force). Surgi a partir del desarrollo de IPv6. Empez siendo una extensin del encabezado en Ipv6
debido a que cubra las necesidades de un gran nmero de clientes, se decidi implantar en parte para Ipv4.
RFC 2401-2412
Lmina 7 Dr. Roberto Gmez Crdenas
Objetivos IPSec
Soportar los protocolos IP existentes (IPv4, IPv6) Incremento pequeo en el tamao de las tramas Permitir implantacin progresiva en Internet Permitir el establecimiento de tneles Ofrecer los siguientes servicios
Integridad de los contenidos Confidencialidad de los contenidos Autentificacin de los participantes
Lmina 8
Protocolos Criptogrfcios
Seguridad Informtica
Modos de operacin
Modo Tnel
IP HDR Nuevo IPSec HDR IP HDR Datos
IP HDR
Datos
Modo Transporte
IP HDR Datos
IP HDR
IPSec HDR
Datos
puede encriptarse
Lmina 9
Security Association
Se trata de un acuerdo entre dos entidades acerca de cmo se transmitir informacin de forma segura.
conexin lgica unidireccional entre dos sistemas
IPSec soporta varios protocolos, diferentes modos de comunicacin, as como algoritmos de encripcin y de hash.
todo esto debe negociarse antes de que la comunicacin se lleve a cabo
El resultado de la negociacin es una SA Cada sesin de comunicacin cuenta con dos SA una para cada participante de la comunicacin
Lmina 10 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
Seguridad Informtica
Base Datos de la SA
Despus de negociar una SA, esta se almacena en una base de datos de SA Formadas por una tripleta <SPI, IP-DA, SP>
Security Parameter Index (SPI)
Identificador nico de cada SA
Lmina 11
Ejemplo negociacin
Host 1 Base Datos SA 1. Conexin a firewall DES 2. Conexin a firewall 3DES Firewall que solo acepta conexiones DES
Lmina 12
Protocolos Criptogrfcios
Seguridad Informtica
Protocolos usados
AH
Authentication Header proporciona un servicio de autenticacin a nivel paquete
ESP
Encapsulating Security Payload proporcionar encripcin ms autenticacin
IKE
Internet Key Exchange negocia parmetros de conexin, incluyendo llaves para los otros dos protocolos
Lmina 13 Dr. Roberto Gmez Crdenas
Protocolo AH
Proporciona integridad y autentificacin
opcionalmente protege contra reenvo (replay)
Protocolos Criptogrfcios
Seguridad Informtica
Esquema encabezado AH
8 bits 8 bits 16 bits
Reservado Encabezado Longitud Siguiente payload
32 bits
Tipo protocolo del paquete que sigue al encabezado AH Longitud encabezado AH SPI: a que stream de comunicacin SA pertenece el paquete Nmero incremental nico para evitar paquetes capturados sean reenviados a una vctima para extraer informacin Contiene ICV y una firma digital
Lmina 15 Dr. Roberto Gmez Crdenas
Lmina 16
Protocolos Criptogrfcios
Seguridad Informtica
Lmina 17
Ejemplo protocolo AH
Lmina 18
Protocolos Criptogrfcios
Seguridad Informtica
Protocolo ESP
Encapsulating Security Payload (ESP) Se utiliza para integridad, autentificacin, y cifrado
Opcionalmente protege contra reenvo Servicios no orientados a conexin Seleccin opcional de servicios
Al menos uno debe de estar activado
Lmina 20
Protocolos Criptogrfcios
10
Seguridad Informtica
Lmina 21
Encabezado ESP
Parmetro de ndice seguridad Nmero de secuencia Payload del paquete Padding (opcional) Informacin autenticacin (opcional)
1 bit 1 bit Longitud variable Longitud variable Varia de acuerdo a mtodo autenticacin
Lmina 22
Protocolos Criptogrfcios
11
Seguridad Informtica
Ejemplo ESP
Lmina 23
Al tener dos protocolos se tiene un mejor control sobre la red IPSec, as como opciones flexibles
Lmina 24
Protocolos Criptogrfcios
12
Seguridad Informtica
Combinando AH/ESP
Si se requiere autenticacin de direcciones (AH) y confidencialidad (ESP)
posible combinar ambos protocolos
Tuneles IPSec
1. 2. 3. 4. Seguridad de extremo a extremo Soporte bsico VPN Seguridad extremo a extremo con soporte VPN Seguridad en acceso remoto
Lmina 26
Protocolos Criptogrfcios
13
Seguridad Informtica
El protocolo IKE
Protocolo autenticador y negociador de IPSec Verifica que la parte que desea iniciar una comunicacin con un dispositivo, este autorizada a hacerlo.
despus negocia el tipo de encripcin a utilizar
SSL y SSH
Lmina 28
Protocolos Criptogrfcios
14
Seguridad Informtica
Es un esquema de encriptado de bajo nivel usado para encriptar transacciones en protocolos de nivel aplicacin como HTTP, FTP, etc. Con SSL puede autentificarse un servidor con respecto a su cliente y viceversa.
Lmina 29 Dr. Roberto Gmez Crdenas
Protocolo SSL
El estndar de IETF Transport Layer Security (TLS) se basa en SSL. Ha pasado por varias versiones
las ms comunes son las versiones 2 y 3 problemas criptogrficos conocidos en versin 2, solucionados en la versin 3
Protocolos Criptogrfcios
15
Seguridad Informtica
Protocolos de SSL
SSL handshake protocol
proceso de reconocimiento mutuo y de peticin de conexin encargado de establecer, mantener y finalizar las conexiones SSL
Define los formatos de los mensajes empleados en SSL. Establece tres componentes para la porcin de datos del protocolo
MAC DATA: cdigo de autenticacin del mensaje ACTUAL DATA: datos de aplicacin a transmitir PADDING- DATA: datos requeridos para rellenar el mensaje cuando se usa un sistema de encripcin en bloque
Lmina 32 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
16
Seguridad Informtica
Lmina 33
tipo contenido
versin mayor
versin menor
longitud
Tipo contenido: protocolo usado para procesar contenido del fragmento Versin mayor: versin mayor usada Versin menor: versin menor usada Longitud: longitud en bytes del fragmento de texto plano
Lmina 34 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
17
Seguridad Informtica
Lmina 35
(1)
...
(2)
SSL Cert Parmetros Datos ... Version Criptogrficos Aleatorios S Opcional Datos Firmados Opcional Cert C ...
(3)
Premaster
Lmina 36
El cliente autentifica al servidor basndose en Cert S Si falla error Crea el secreto Premaster Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
18
Seguridad Informtica
Todo el protocolo
Lmina 37
El protocolo SSH
Desarrollado por Communications Security Ltd. Es un programa (protocolo) para acceder a otra computadora a travs de una red, ejecutar comandos a una maquina remota y mover archivos de una computadora a otra. Provee una fuerte autenticacin y comunicaciones seguras por medio de encripcin sobre canales inseguros. Es un sustituto para el telnet, ftp, rlogin, rsh, rcp y rdist.
Lmina 38 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
19
Seguridad Informtica
Varios programas basados en los protocolos SSH son desarrollados por otra gente.
Lmina 39 Dr. Roberto Gmez Crdenas
Autenticacin servidor
No se basa en nombre servicio o direcciones IP En ambas versiones, criptografia llave pblica es usada para probar identidad servidor. Primera parte verifica que cliente posee un llave pblica correcta del servidor a conectarse.
Problema durante desarrollo V1: no exista estndar global para distribuir y verificar llaves pblicas SSH V2: puede usar autoridades certificadoras para verificar una llave pblica (en base a TLS) SSH V2 tambin soporta mecanismo desarrollado para V1
Lmina 40 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
20
Seguridad Informtica
Solucin versin 1
Cliente retira llave pblica del mismo servidor. Verifica si conoce una llave para un servidor con el mismo nombre.
si no coinciden se imprime una alerta
Autenticacin usuario
Puede ser autenticado de diferentes formas Dialogo dirigido por el cliente
enva peticiones al servidor.
Primera peticin:
siempre solicita al usuario su login name.
Servidor responde peticiones: un xito o falla. Los mtodos soportados actualmente son:
Lmina 42
autenticacin de password tradicional combinacin de autenticacin .rhost con RSA basada en host autenticacin RSA pura se incluye soporte para otros mtodos
Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
21
Seguridad Informtica
Llave host: 1024 bit RSA Llave servidor: 768 bit RSA - regenerada cada hora Llave sesin 256 bits encripcin doble con RSA
ok
Lmina 43
Lmina 44
Protocolos Criptogrfcios
22
Seguridad Informtica
Lmina 45
SSH vs SSL
La capa en la que actan
SSH: aplicacin SSL: transporte
El mtodo de autenticacin
SSH: llaves SSL: certificados
Lmina 46
Protocolos Criptogrfcios
23
Seguridad Informtica
El protocolo PPP
Point-to-point Protocol se encarga de proveer un mtodo estndar para transportar datagramas de mltiples protocolos sobre enlaces punto a punto. Protocolo que opera en la capa del nivel de enlace de datos.
se entiende por un enlace punto a punto aquel que conecta dos nodos directamente.
Se han convertido en el protocolo elegido para conectar a los usuarios de casa con sus ISPs sobre una conexin telefnica.
Lmina 47
Autenticacin PPP
PPP provee bsicamente dos esquemas de autenticacin, en lneas asincrnicas se debe siempre configurar algn esquema de autenticacin a diferencia que si esta usando PPP sobre enlaces punto a punto. Los dos esquemas bsicos de autenticacin que maneja PPP son:
PAP (Password Authentication Protocol, rfc 1334) CHAP(Challenge-Handshake Authentication Protocol, rfc 1334)
Lmina 48
Protocolos Criptogrfcios
24
Seguridad Informtica
Lmina 49
Protocolo PAP
Password Authentication Protocol Provee un simple mtodo de autenticacin para que un peer (en un enlace punto a punto) se autentique utilizando un saludo de dos vas (two-way handshake). PAP no es un protocolo seguro de autenticacin.
el enlace el password es enviado en texto claro
De igual forma el control del nmero de intentos de conexin lo tiene el peer remoto mas no el servidor. PAP no provee ningn esquema de proteccin para intentos de un hacker de ensayo/error. PAP soporta autenticacin bidireccional o unidireccional .
Lmina 50 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
25
Seguridad Informtica
Lmina 51
CHAP
Challenge Handshake Authentication Protocol A diferencia de PAP, CHAP es usado para verificar peridicamente la identidad del peer usando un 3-way handshake. Esto es hecho al inicio del establecimiento del enlace y puede ser repetido en cualquier momento despus de que el enlace ha sido establecido. CHAP es considerado un protocolo mas seguro y debe ser usado cuando sea posible.
solo se recomienda utilizar PAP cuando los equipos no soporten CHAP.
Con CHAP el control del nmero de intentos para autenticarse no lo tiene el nodo remoto si no el server. Este mtodo de autenticacin depende de un secreto que solo es conocido por los peers y que en ningn momento es enviado sobre el enlace.
Lmina 52 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
26
Seguridad Informtica
Funcionamiento CHAP
Lmina 53
Desventaja CHAP
Los clientes estndar de CHAP usan la versin de texto claro del password (i.e. password decriptado) para crear el reto del CHAP challenge response Debido a lo anterior los passwords deben ser almacenados en claro dentro del servidor, para poder calcular la respuesta.
Lmina 54
Protocolos Criptogrfcios
27
Seguridad Informtica
MS-CHAP v1
Microsoft Challenge Handshake Authentication Protocol Variante de CHAP que no requiere que una versin en claro del password sea almacenada en el servidor. El servidor remoto solo requiere el hash MD4 del password para validar la respuesta del reto. En Windows 2000, el password del usuario es almacenado como un hash MD4 (NT hash).
Lmina 55
MS-CHAP v2
Proporciona autenticacin mutua
cliente autentica al servidor servidor enva tambin un challenge al cliente y este lo verifica
Protocolos Criptogrfcios
28
Seguridad Informtica
MS-CHAP v2
Negocia CHAP con valor algoritmo 0x81 Servidor enva un valor de 16 bytes para ser usado por el cliente para crear un valor de challenge de 8 bytes
Cliente enva 24 bytes LANMAN y 24 bytes Cliente enva 16 bytes de challenge que fue NT response al challenge de 8 bytes usada en crear el challenge de 8 bytes y los 24 bytes de NT response Servidor envia una respuesta de xito o fracasoCliente decide si continua o termina de acuerdo a la respuesta anterior. Servidor enva una respuesta de xito o falla y piggybacks un Authenticator Response al challenfe de 16 bytes de la contraparte Cliente decide continuar o terminar de acuerdo a la respuesta anterior. Aparte el cliente verifica la validez del Authenticator Response y se desconecta si no es el valor correcto
Dr. Roberto Gmez Crdenas
Lmina 57
Protocolos de autenticacin
Alicia proporciona su identidad a Beto realizando una operacin criptogrfica en un nmero que Beto le proporciona La operacin criptogrfica realizada por Alicia se basa en el secreto de Alicia
Lmina 58
Protocolos Criptogrfcios
29
Seguridad Informtica
Protocolos de autenticacin
Secreto compartido
Reto/respuesta (challenge/response)
Lmina 59
A
Iniciador
un reto R
KAlicia-Beto {R}
Lmina 60
Protocolos Criptogrfcios
30
Seguridad Informtica
A
[R]Alicia
Iniciador
Beto autentica Alicia basado en la firma de Alicia del reto que enva
Soy Alicia {R}Alicia
A
R
Iniciador
Beto autentica Alicia si ella puede decriptar un mensaje encriptado con su llave pblica
Lmina 61 Dr. Roberto Gmez Crdenas
El hash de Lamport
Autenticacin basada en funciones hash. Fase de registro:
Usuario elige un secreto s. Calcula hn(s)
hn(s) = h( h(... n veceses...( h(s) )...) )
Eva
Beto
Lmina 62
Servidor
h100(s)
Protocolos Criptogrfcios
31
Seguridad Informtica
Primera autenticacin
Asumiendo un valor de n=100. Beto enva su primera contrasea, p1=h99(s) al servidor. Servidor autentica a Beto verificado que h(p1) = h100(s) Si la autenticacin tiene xito, el servidor reemplaza h100(s) con p1=h99(s)
Eva
Beto, H 100 (s)
s
Beto
Lmina 63
H99(s)
Servidor
Dr. Roberto Gmez Crdenas
Segunda autenticacin
Beto enva su segunda contrasea, p2=h98(s) al servidor. Servidor autentica a Beto verificado que h(p2) = h99(s) Si la autenticacin tiene xito, el servidor reemplaza h99(s) con p1=h98(s)
Eva
Beto, H 99 (s)
s
Beto
Lmina 64
H98(s)
Servidor
Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
32
Seguridad Informtica
PASSWORD01 PASSWORD02 PASSWORD03 PASSWORD04 PASSWORD05 PASSWORD06 PASSWORD07 PASSWORD08 PASSWORD09 PASSWORD10 PASSWORD11 PASSWORD12
Lmina 65
Beto
Servidor
h5(s)=67890
Lmina 66 Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
33
Seguridad Informtica
Ejemplo autenticacin
Beto
p1 = 12345 p2 = 47aef p3 = 71821 p4 = 8a9ef p5 = 71890
Eva
Beto
p1 = 12345 p2 = 47aef p3 = 71821 p4 = 8a9ef p5 = 71890
Eva
Lmina 67
Lmina 68
Protocolos Criptogrfcios
34
Seguridad Informtica
User
2) Enter: toto
Lmina 69
User
2) Enter: toto
3) Challenge (4230618) 4) Request password: 5) Unlock token with PIN 6) Enter challenge in token (4230618) 7) Token responds with OTP password (0923735) 8) Enter: 0923735
Lmina 70
Protocolos Criptogrfcios
35
Seguridad Informtica
User
2) Enter: toto
3) Challenge (4230618) 4) Request password: 5) Unlock token with PIN 6) Enter challenge in token (4230618) 7) Token responds with OTP password (0923735) 8) Enter: 0923735
Unique seed
Lmina 72
Protocolos Criptogrfcios
36
Seguridad Informtica
Lmina 73
KDC
inventa llave KAB
KBeto{ usa KAB para Beto}
Alicia
Beto
Lmina 74
Protocolos Criptogrfcios
37
Seguridad Informtica
KDC de la CIA
Boris Alicia
Lmina 75
Protocolo mlti-dominio
KDC de la CIA
KDC de la CIA genera Knew KCIA-KGB{Alicia de mi dominio quiere hablar contigo usa Knew}
Alicia
Knew{ quiero hablar con Boris }
KDC de la KGB
Boris
KDC genera KAlicia-Boris KBoris{ hblale a Alicia de la CIA; usa KAlicia-Boris }
Lmina 76
Protocolos Criptogrfcios
38
Seguridad Informtica
KDC
KDC
KDC
KDC
Lmina 77
KDC
KDC
KDC
KDC
Dr. Roberto Gmez Crdenas
Uso de tickets
KDC
inventa llave KAB
Alicia quiere comunicarse con Beto KAlicia{ usa KAB para Beto} ticket Beto = KBeto{usa KAB para Alicia}
Alicia
Beto
Soy Alicia, ticket = KBeto{ usa KAB para Alicia}
Lmina 78
Protocolos Criptogrfcios
39
Seguridad Informtica
KERBEROS
Kerberos o Cancerbero (de can y cerbero) . Mit. Perro de tres cabezas que, segn la fbula, guardaba la puerta de los infiernos.
Real Academia Espaola, Diccionario de la Lengua Espaola.
Lmina 79
usuario A 5 6
Lmina 80
Servicio S
Dr. Roberto Gmez Crdenas
Protocolos Criptogrfcios
40
Seguridad Informtica
Y??
Desde el punto de vista del protocolo de Kerberos:
Doc2 es el ticket Doc3 es el autenticador
Servicio S usuario A
Lmina 81
algo ms de informacin
Dr. Roberto Gmez Crdenas
El TGS
Lmina 82
Protocolos Criptogrfcios
41
Seguridad Informtica
El protocolo Kerberos
KERBEROS (AS)
KDC TGS
4 5
USUARIO CLIENTE
SERVIDOR
6
Lmina 83 Dr. Roberto Gmez Crdenas
Tipos de llaves
1
Llave secreta del Cliente Llave secreta del TGS Llave de sesin entre el Cliente y el TGS Llave secreta de un Servidor Llave de sesin entre el Cliente y un Servidor
Dr. Roberto Gmez Crdenas
Lmina 84
Protocolos Criptogrfcios
42
Seguridad Informtica
cliente
CLIENTE
1
KERBEROS
CLIENTE
KERBEROS
Lmina 85
Lmina 86
Protocolos Criptogrfcios
43
Seguridad Informtica
Servidor
Cliente
CLIENTE
TGS
4
CLIENTE
TGS
3
Cliente
Lmina 87 Dr. Roberto Gmez Crdenas
Cliente Tiempo
CLIENTE
3
SERVIDOR
4
CLIENTE
5
Lmina 88
Protocolos Criptogrfcios
44
Seguridad Informtica
Resumiendo ...
KERBEROS
TGS 2 3 4
USUARIO CLIENTE
5
SERVIDOR
1) SOLICITUD DE TICKET PARA TGS 2) TICKET PARA EL TGS 3) SOLICITUD DE TICKET PARA SERVIDOR 4) TICKET PARA SERVIDOR 5) SOLICITUD DE SERVICIO 6) AUTENTIFICACION DEL SERVIDOR
Lmina 89
Realms o Reinos
Lmina 90
Protocolos Criptogrfcios
45
Seguridad Informtica
Protocolos Criptogrfcios
46