Title: Seguridad: Protocolos de seguridad
1Seguridad Protocolos de seguridad
Autenticación (validación)
2Clasificació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.
3Validació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.
4Modelo 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. - 2.- Un protocolo de autenticación debe impedir
que un intruso se meta. Terminado el protocolo
habrán negociado una clave de sesión.
C
A
B
5Mé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.
6Modelos de validación basados en métodos
distribuidos
- clave secreta (privada o simétrica)
- clave pública (asimétrica)
7Validación de identificación de clave secreta
- Métodos
- Validación de identificación basada en clave
secreta compartida. - Establecimiento de una clave compartida
intercambio de claves Diffie-Hellman (no permite
autenticación) - Validación de identificación usando un centro de
distribución de claves (KDC- Key Distribution
Center). - Protocolo de autenticación Kerberos.
Clave secreta
8Validació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.
Clave secreta. Método 1
9Establecimiento 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
Clave secreta
Clave secreta. Método 2
10Establecimiento de una clave compartida
intercambio de claves Diffie-Hellman protocolo
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.
Clave secreta
Clave secreta. Método 2
11Establecimiento de una clave compartida
intercambio de claves Diffie-Hellman 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
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
12TACACS y RADIUS
- TACACS (Terminal Access Controller Access
Control System-RFC1492) 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).
Clave secreta. Método 3
13Validació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.
Clave secreta. Método 3
14Autenticació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).
Clave secreta
Clave secreta. Método 4
15Protocolo 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.
Clave secreta
Clave secreta. Método 4
16Validació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
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...
Clave publica
17Validació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
18Validació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). - 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) - B entonces responde con los bits pares del
mensaje de B encriptado - 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.
Clave publica