Seguridad (2/4):
Protocolos de seguridad
Autenticación (validación)
1
Tema de seguridad
1.- Secretos: criptografía
2.- Protocolos de seguridad
3.- Aplicaciones y seguridad
4.- Redes y seguridad
2
Clasificación de problemas de seguridad
Los problemas de seguridad de las redes pueden dividirse de forma
general en cuatro áreas interrelacionadas:
1.-El secreto, encargado de mantener la información fuera de las manos
de usuarios no autorizados.
2.-La validación de identificación, encargada de determinar la identidad
de la persona/computadora con la que se esta hablando.
3.-El control de integridad, encargado de asegurar que el mensaje
recibido fue el enviado por la otra parte y no un mensaje manipulado
por un tercero.
4.-El no repudio, encargado de asegurar la “firma” de los mensajes, de
igual forma que se firma en papel una petición de compra/venta entre
empresas.
3
Validación de identificación en redes
La validación de identificación, o también llamada
autenticación (que no autentificación, que es ver si algo
es auténtico), es la técnica mediante la cual un proceso
comprueba que su compañero de comunicación es quien se
supone que es y no un impostor.
La verificación de la identidad de un proceso remoto con un
intruso activo malicioso, es sorprendentemente difícil y
requiere protocolos de validación complejos basados en
criptografía como vamos a ver.
La validación es el paso previo al establecimiento de una
conexión entre dos entidades, para pactar una clave de
sesión.
4
Modelo general de validación e intrusos
Un usuario A, quiere establecer una conexión segura con
un segundo usuario, B:
1.- Se validan. Comienza A por enviar un mensaje a B o a un centro de
distribución de claves (KDC, Key Distribution Centre) fiable (honesto).
Tras ello siguen varios intercambios de mensajes en diferentes direcciones
(o protocolo).
PERO, a medida que se envían estos mensajes, un intruso malicioso, C, puede
interceptarlos, modificarlos o reproducirlos para engañar a A y a B, o
simplemente para estropear sus actividades.
C
A
B
2.- Un protocolo de autenticación debe impedir que un intruso se meta.
5
Terminado el protocolo habrán negociado una clave de sesión.
Métodos de autenticación (identificación)
• Biomédicas, por huellas dactilares, retina del ojo, ...
• Tarjetas inteligentes que guardan información de los
certificados de un usuario
• Métodos clásicos basados en contraseña, más frágiles que los
anteriores y más simples (baratos), basados en:
– Comprobación local o método tradicional en la propia
máquina
– Comprobación en red o método distribuido, más utilizado
actualmente
Una vez completado el protocolo, ambos A y B están seguro que
está hablando entre ellos.
Durante el protocolo podrían haber intercambiado una clave de
sesión.
6
Modelos de validación basados en métodos
distribuidos
• clave secreta (privada o simétrica)
• clave pública (asimétrica)
7
Validación de identificación de clave secreta
Métodos:
1. Validación de identificación basada en clave
secreta compartida.
2. Establecimiento de una clave compartida:
intercambio de claves Diffie-Hellman (no
permite autenticación)
3. Validación de identificación usando un centro de
distribución de claves (KDC- Key Distribution Center).
4. Protocolo de autenticación Kerberos.
8
Clave secreta
Validación de identificación basada en
clave secreta compartida
Supondremos que A y B ya comparten una clave secreta KAB
(acordada o bien telefónicamente o en persona pero, en
cualquier caso, no a través de la red)
Este protocolo se basa en reto-respuesta:
– una parte envía un número aleatorio a la otra
– La otra parte “lo transforma” de una manera especial y devuelve el
resultado a la parte primera
Notación a utilizar:
• Ri son los retos, donde el subíndice identifica el retador: A o B
• Ki son las claves, donde i indica el dueño; Ks es la clave de la sesión.
9
Clave secreta. Método 1
Establecimiento de una clave compartida:
intercambio de claves Diffie-Hellman (1976)
Hasta ahora hemos supuesto que A y B comparten una clave secreta. ¿Y si
no es así?
Existe una manera de que completos desconocidos establezcan una clave
secreta a plena luz del día (aunque C esté registrando cada mensaje).
El protocolo de intercambio de claves Diffie-Hellman:
Este algoritmo se puede considerar también como de clave pública, pero
no permite autenticación.
RSA se basó en este algoritmo
A y B tienen que acordar dos números primos grandes (n, g), que deben
cumplir ciertas condiciones [RFC 2631]. Estos números pueden ser
públicos
Cualquiera puede escoger (n, g) y decírselo al otro abiertamente
A escoge un número grande x, y lo mantiene en secreto, de la misma
manera, B escoge un número secreto grande y
10
Clave secreta.
secreta Método 2
Establecimiento de una clave compartida: intercambio de
claves Diffie-Hellman: protocolo
A selecciona x
B selecciona y
1
n, g, g x mod n
A
2
(gy mod n)x mod n
gxy mod n
gy mod n
Se calcula
B
(gx mod n)y mod n
gxy mod n
1.-A inicia el protocolo enviando a B un mensaje que contiene (n, g, gx mod n)
2.-B responde con gy mod n
A y B comparten una clave secreta: gxy mod n
Intrusos: C conoce (n, g), pero le falta (x, y)
gxy mod n: no se conoce un algoritmo práctico para calcular esto
cuando n es un número primo muy grande.
11
Clave secreta.
secreta Método 2
Establecimiento de una clave compartida: intercambio de claves DiffieHellman: ataque de brigada de cubetas o ataque de alguien en medio
Ataque: Cuando B recibe (n, g, gx mod n), no sabe si es A o C quien se la ha
enviado
A selecciona x
C selecciona z
1
x
B selecciona y
2
n, g, g mod n
z
n, g, g mod n
3
A
z
g mod n
C
4
y
B
g mod n
gzx mod n
gxz mod n
gyz mod n
gzy mod n
Cada mensaje que A y/o B envía durante la sesión 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 están pensando
equivocadamente que tienen un canal seguro entre ambos.
Solución: utilizar un KDC, centro de distribución de claves.
Clave secreta. Método 2
12
TACACS+ y RADIUS
TACACS+ (Terminal Access Controller Access Control SystemRFC1492) y RADIUS (Remote Authentication Dial In User
Service- RFC2138) son ejemplos de centros de distribución de
claves o también conocidos como servidores de control de
acceso.
TACACS+ y RADIUS son protocolos para descentralizar el control
del acceso, de forma que cualquier servicio en red que requiera
validar, autorizar o auditar a un usuario lo puede hacer como
cliente de los servidores TACACS+ y/o RADIUS.
Estos servidores se utilizan generalmente como apoyo a los routers
de servidor de acceso remoto, por ejemplo la gestión de usuarios
que conectan desde el exterior a la Universitat por RDSI o POTS
(RTB).
13
Clave secreta. Método 3
Validación de identificación usando un
centro de distribución de claves (KDC)
En Diffie-Hellman no hay garantías por el ataque de alguien
en medio, efectuado por un extraño o intruso.
Otro inconveniente, es que para hablarle a n personas de esta
manera se requerían n claves (una verdadera carga)
Un enfoque diferente es introducir un centro de distribución
de claves fiables (KDC- Key Distribution Center)
– Cada usuario tiene una sola clave compartida con el KDC
– La validación de identificación y la administración de claves de
sesión ahora pasan a través del KDC.
El protocolo de validación e identificación más simple
conocido es “la rana de boca amplia”.
14
Clave secreta. Método 3
Autenticación con Kerberos
Servicio de autenticación (validación de identificación)
desarrollado en el Massachusetts Institute of Technology (MIT)
 Perro de tres cabezas y cola de serpiente según
mitología griega, guardián de la entrada del Templo de
Hades (Infierno).
15
Clave secreta.
secreta Método 4
Protocolo de autenticación Kerberos
Kerberos es un KDC diseñado por el MIT para autentificar la identidad
(autenticar) de los usuarios de una red digital insegura, así como para
distribuir las claves secretas de sesión transitorias que permitan a los
usuarios de la red establecer comunicaciones seguras. En ocasiones
estas claves de sesión transitorias pueden ser de un solo uso (OTP, One
Time Password).
Está basado en una variación de Needham-Schroeder, con la
condición que requiere relojes bien sincronizados.
Kerberos
–
–
actúa como un árbitro en quien los usuarios confían
utiliza con cada usuario una clave secreta diferente, intercambiada con
Kerberos a través de un canal seguro. El conocimiento de dicha clave se
utiliza como prueba de identidad del usuario.
La autentificación se produce entre cliente-servidor y servidor-cliente.
En estas condiciones como Kerberos conoce las claves secretas de todos
los usuarios, puede demostrar a cualquiera de ellos la autenticidad de
la identidad de otro.
16
Clave secreta.
secreta Método 4
Validación de identificación de clave pública
Supongamos que A y B ya conocen las claves públicas del otro EB() y EA()
respectivamente y quieren establecer una sesión utilizando criptografía de
clave secreta (por ser más rápida)
El intercambio inicial tiene como objetivo validar la identificación de ambos
utilizando sus claves públicas para comunicarse y utilizando las claves privadas
para descifrar y tras ello acordar una clave de sesión secreta compartida
1
E B (A ,R A )
2
A
E A (R A ,R B ,K S )
B
3
K S (R B )
Un intruso C no tiene manera de conocer RA para replicar, pero
dependiendo de cómo se intercambien las claves públicas, podría haber
problemas...
17
Clave publica
Validación de identificación de clave pública
(debilidades): ataque de brigada de cubetas
Supongamos que A y B no conocen la clave pública del otro, por lo que
bastaría simplemente A enviar a B su clave pública 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 pública de B
Solución: El intercambio inicial de claves públicas puede evitarse almacenando
todas las claves públicas en una base de datos pública. Así, A y B pueden
obtener la clave pública del otro de la base de datos.
PERO, sin embargo, C aún puede poner en práctica el ataque de brigada de
cubetas interceptando las solicitudes a la base de datos y enviando respuestas
simuladas que contengan su propia clave.
Certificados digitales gestionados por una autoridad de certificación
Clave publica
18
Validación de identificación de clave pública:
protocolo de interbloqueo
AC  B
Rivest y Shamir del RSA han diseñado un protocolo que frustra el ataque de brigada
de cubetas (o alguien en medio C).
1. A envía solo la mitad de su mensaje a B, conocido como INTERBLOQUEO.
Por ejemplo sólo los bits pares (después del cifrado)
2. B entonces responde con los bits pares del mensaje de B encriptado
3. A tras recibir los bits pares de B, envía sus bits nones, y luego lo hace B.
Si A o B no realiza la entrega de sus primeras partes, el protocolo falla.
Cuando C recibe los bits pares de A, no puede descifrar el mensaje (porque solo
tiene la mitad), aunque tiene la clave privada. En consecuencia, C es incapaz
de volver a cifrar los bits pares usando la clave pública de B. Si C envía
basura a B, el protocolo continuará, pero B pronto se dará cuenta de que el
mensaje reensamblado no tiene sentido y de que ha sido engañado.
19
Clave publica
Descargar

Protocolos de autenticación