Professional Documents
Culture Documents
Protocolos de
seguridad
Autenticacin (validacin)
1
Tema de seguridad
2
Clasificacin de problemas de seguridad
4
Modelo general de validacin e intrusos
C
A
B
2.- Un protocolo de autenticacin debe impedir que un intruso se meta.
Terminado el protocolo habrn negociado una clave de sesin.
5
Mtodos de autenticacin (identificacin)
Biomdicas, por huellas dactilares, retina
del ojo, ...
Tarjetas inteligentes que guardan
informacin de los certificados de un
usuario
Mtodos clsicos basados en contrasea,
ms frgiles que los anteriores y ms
simples (baratos), basados en:
Comprobacin local o mtodo tradicional
en la propia mquina
Comprobacin en red o mtodo
distribuido, ms utilizado actualmente
7
Validacin de identificacin de clave secreta
Mtodos:
Clave secreta
Validacin de identificacin basada en
clave secreta compartida
1
A, RA
2
A RB, KAB(RA) B
3
KAB(RB)
11
14
A y B tienen que acordar dos nmeros primos grandes (n, g), que deben
cumplir ciertas condiciones [RFC 2631]. Estos nmeros pueden ser
pblicos
Cualquiera puede escoger (n, g) y decrselo al otro abiertamente
A gy mod n B
2
Clave secreta.
secreta Mtodo 2
17
Clave secreta.
secreta Mtodo 2
Establecimiento de una clave compartida: intercambio de claves Diffie-
Hellman: ataque de brigada de cubetas o ataque de alguien en medio
Cada mensaje que A y/o B enva durante la sesin cifrada es capturado por C,
almacenado, modificado y pasado (opcionalmente) a B y/o A.
C ve todo y puede modificar los mensajes, mientras A y B estn pensando
equivocadamente que tienen un canal seguro entre ambos.
A KDC B
2
KB(A,KS)
Soluciones posibles:
1.- incluir una marca de tiempo en cada mensaje de forma que pueda descartar
mensajes obsoletos, pero los relojes nunca estn perfectamente sincronizados
en toda una red
2.- incluir un nmero de mensaje nico (llamado nnico), de forma que cada
parte entonces tiene que recordar todos los nnicos y rechazar cualquier
mensaje que contenga un nnico previamente usado
Comentarios:
Si una mquina se cae y pierde la lista de nnicos, es vulnerable a un ataque
por repeticin.
Las marcas de tiempo y los nnicos pueden combinarse para limitar el tiempo
que pueden recordarse los nnicos, pero el protocolo se volver ms
22
complicado.
Clave secreta. Mtodo 3
Validacin de identificacin usando un KDC: protocolo de
Needham-Schroeder (1/2)
Mejora: se basa en usar un protocolo multisentido de reto-
respuesta, en vez de una nica transaccin.
1
RA, A, B
2 KDC
KA(RA,B,K S,KB (A,Ks))
A B
1.- A indica al KDC que quiere hablar con B, incluyendo un nmero aleatorio grande, RA,
como nnico.
2.- KDC devuelve el mensaje 2 con
RA para asegurar a A que el mensaje 2 es reciente, y no una repeticin
La identidad de B, por si a C se le ocurre reemplazar a B del mensaje 1 por su propia
identidad adems de que cifre un billete al final del mensaje 2 con KC en lugar de KB y
sabotee a A (haciendo creer a A que habla con B, cuando en realidad lo hace con C)
una clave de sesin 23
un billete para que puede re-enviarse a B (identificando a A y la clave de sesin Ks)
Clave secreta. Mtodo 3
Validacin de identificacin usando un KDC: protocolo de
Needham-Schroeder (2/2)
1
RA, A, B
2 KDC
KA(RA,B,K S,KB (A,Ks))
3
A KB(A,K S),KS(RA2 ) B
4
KS(RA2 -1), R B
5
KS(RB-1)
3.- A ahora enva el billete a B, junto con un nuevo nmero aleatorio, RA2, cifrado
con la clave de la sesin, KS.
4.- B devuelve KS(RA2-1) para demostrar a A que est hablando con el
verdadero B. El envo de regreso de KS(RA2) no habra funcionado,
puesto que C lo podra haber robado del mensaje 3.
Al hacer que cada parte genere un reto y responda a otro, en nuestro caso (-1), se elimina la
posibilidad de un ataque por repeticin.
5.- A est convencido de que est hablando con B, y de que no se pudieron haber
usado repeticiones hasta el momento. El propsito del mensaje 5 es convencer
24
a B de que realmente est hablando con A, y de que tampoco se han usado
repeticiones aqu.
Clave secreta. Mtodo 3
Validacin de identificacin usando un KDC: ataque
del protocolo de Needham-Schroeder
1
RA, A, B
2 KDC
KA(RA,B,KS,KB (A,Ks))
3
A KB(A,KS),KS(RA2) B
4
KS(RA2-1), RB
5
KS(RB-1)
Debilidad:
Si C llega a obtener una clave de sesin vieja KS en texto normal,
puede iniciar una nueva sesin con B repitiendo el mensaje 3
correspondiente a la clave obtenida con KS(Rc) y convencerlo de
que es A con KB(A,KS), que lo guard C copiado de un mensaje 3 antiguo,
completando el protocolo sin problema con los mensajes 4 y 5, y
suplantando la identidad de A.
Solucin:
Otway y Rees publicaron un protocolo que resuelve el problema, haciendo que B
hable con el KDC. 25
Clave secreta.
secreta Mtodo 3
Validacin de identificacin usando un KDC: protocolo de Otway y Rees
1
A, B, R, KA(A, B, R, RA)
2
A A, KA(A,B,R,RA) B
B, KB(A,B,R,RB)
KDC
4 3
KA(RA,KS) KB(RB,KS)
2.- Cuando B recibe este mensaje, construye un mensaje nuevo a partir de la parte cifrada del
mensaje de A con KA, y uno anlogo propio con KB. Ambas partes cifradas, identifican:
A, B, el identificador comn R y un reto RA o RB respectivamente.
3 y 4.- KDC comprueba que R de ambas partes es igual. Los R podran no serlo porque C
alter el R del mensaje 1 y reemplaz parte del mensaje 2. Si los 2 R son iguales, el KDC
se convence de que el mensaje de solicitud de B es vlido, y genera una clave de sesin.
Cada mensaje contiene un nmero aleatorio del receptor como prueba de que el KDC, y
no C, gener el mensaje.
26
Clave secreta.
secreta Mtodo 3
Autenticacin con Kerberos
Servicio de autenticacin (validacin de identificacin)
desarrollado en el Massachusetts Institute of Technology (MIT)
Clave secreta.
secreta Mtodo 4
Protocolo de autenticacin Kerberos
Clave secreta.
secreta Mtodo 4
Protocolo de autenticacin Kerberos: protocolo (1/2)
1
RA, A, B
2 Kerberos
Ka(K,L, RA,B)
A Kb(K,L,A)
1.- A solicita a Kerberos una credencial para conectarse con B y una clave
de sesin, a travs de un mensaje con un valor aleatorio RA y los
identificadores en la red de comunicacin de A y B.
2.- Kerberos genera una clave de sesin aleatoria K y define el perodo de
validez L de la credencial, cifrando a continuacin los valores K, L, RA y
B con la clave secreta Ka, junto con la credencial para B, cifrando K, L y
A con la clave secreta Kb
A verifica que el valor aleatorio RA corresponde con el que l previamente envi y guarda L
como referencia. A calcula el autentificador para B, cifrando su identidad
29 A y un sello temporal
Ta para sincronizacin, con la clave de sesin K K(A,Ta)
Clave secreta.
secreta Mtodo 4
Protocolo de autenticacin Kerberos: protocolo
(2/2)
1
RA, A, B
2 Kerberos
Ka(K,L, RA,B)
A Kb(K,L,A)
3
Kb(K,L,A)
K(A,Ta)
K(A,Ta) B
4
K(Ta+1)
3.- B descifra la credencial con su clave secreta Kb, recuperando de esta forma K,
L y la identidad A y con ello utiliza K para descifrar el autentificador y recuperar
los valores identidad de A y Ta, comprobando que las identidades de la credencial
y el autentificador coinciden, y que el sello Ta es vlido y se encuentra en los
lmites de L.
4- Si las comprobaciones son satisfactorias, B se convence de la autenticidad de la
identidad de A, y en tal caso, B enva a A la conformidad con K(Ta+1)
Por su parte A descifra la conformidad con la clave de sesin K y verifica que el
valor recuperado es Ta+1, lo cual asegura a A que la clave de sesin K ha sido
30
correctamente recibida por el usuario B
Clave secreta.
secreta Mtodo 4
Protocolo de autenticacin Kerberos: comentarios
(1/2)
1.-El propsito del sello temporal Ta y del perodo de validez L es
doble
A pueda utilizar la credencial para realizar sucesivas
autentificaciones ante B durante el perodo de validez de la clave
sin necesidad de que intervenga Kerberos
permite prevenir un posible ataque activo al protocolo
consistente en el almacenamiento de las claves para su posterior
reutilizacin. Esto se consigue puesto que una clave no se acepta
como vlida si su sello temporal no se encuentra dentro de los
lmites del perodo de validez de la misma.
2.- Kerberos viene en la mayora de distribuciones UNIX y/o Linux,
utilizado en procesos como login, rlogin o NFS (Network File
System) y las versiones ms utilizadas son v4 y v5
3.- es centralizado y no distribuido en una red, lo cual si falla ...o
si se ve comprometido, se compromete toda la red, adems las
claves almacenadas son privadas y no pblicas. En versin 4
y/o 5 incorpora servidores secundarios.
31
Clave secreta.
secreta Mtodo 4
Protocolo de autenticacin Kerberos: comentarios
(2/2)
32
Clave secreta.
secreta Mtodo 4
Autenticacin con Kerberos: ejemplo de
login
Escenario: usuario A a travs de login requiere de
las credenciales necesarias para acceder a otros
servicios
Pasos:
1.- al teclear el nombre, el login kerberizado
enva el nombre al servidor Kerberos solicitando
un ticket
2.- si el usuario es conocido, le manda un mensaje
cifrado, donde utilizar su contrasea
(password) para descifrarlo. De esta forma la
contrasea nunca viaja por la red
3.- de dicho mensaje extrae el ticket para realizar
la peticin de servicio
33
Clave secreta.
secreta Mtodo 4
Validacin de identificacin de clave pblica
Supongamos que A y B ya conocen las claves pblicas del otro EB() y EA()
respectivamente y quieren establecer una sesin utilizando
criptografa de clave secreta (por ser ms rpida)
El intercambio inicial tiene como objetivo validar la identificacin de ambos
utilizando sus claves pblicas para comunicarse y utilizando las claves privadas
para descifrar y tras ello acordar una clave de sesin secreta compartida
1
EB(A,RA)
2
A EA(RA,RB,KS) B
3
KS(RB)
Clave publica
Validacin de identificacin de clave pblica
(debilidades): ataque de brigada de cubetas
Supongamos que A y B no conocen la clave pblica del otro, por lo que
bastara simplemente A enviar a B su clave pblica en el primer
mensaje y pedir a B que devuelva la suya en el siguiente. El
problema de este enfoque es que est sujeto a un ataque de brigada
de cubetas o alguien en medio.
C puede capturar el mensaje de A a B y devolver su propia clave a A,
que pensar que tiene una clave para hablar con B cuando, de
hecho, tiene una clave para hablar con C. Ahora C puede leer todos
los mensajes cifrados con lo que A piensa es la clave pblica de B
Clave publica