1 seguridad (2/4): protocolos de seguridad autenticación (validación)

19
1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

Upload: isbel-arcos

Post on 05-Mar-2015

16 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

1

Seguridad (2/4): Protocolos de seguridad

Autenticación (validación)

Page 2: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

2

Tema de seguridad

1.- Secretos: criptografía

2.- Protocolos de seguridad

3.- Aplicaciones y seguridad

4.- Redes y seguridad

Page 3: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

3

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.

Page 4: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

4

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.

Page 5: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

5

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.

2.- Un protocolo de autenticación debe impedir que un intruso se meta. Terminado

el protocolo habrán negociado una clave de sesión.

A

B

C

Page 6: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

6

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.

Page 7: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

7

Modelos de validación basados en métodos distribuidos

• clave secretaclave secreta (privada o simétrica)

• clave pública clave pública (asimétrica)

Page 8: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

8

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.

Clave secreta

Page 9: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

9

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.

Clave secreta. Método 1

Page 10: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

10

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

Clave secretaClave secreta. Método 2

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

Page 11: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

11

Establecimiento de una clave compartida: intercambio de claves Diffie-Hellman: protocolo

A y B comparten una clave secreta: gxy mod nIntrusos: 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 secretaClave secreta. Método 2

n, g, gx mod n

1

A

A selecciona x

B

B selecciona y

2 gy mod n

(gy mod n)x mod n (gx mod n)y mod nSe calcula

gxy 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

Page 12: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

12

Establecimiento 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.

Clave secreta. Método 2

n, g, gx mod n

1

A

A selecciona x

C

C selecciona z

gz mod n

3 n, g, gz mod n

2

gy mod n

4 B

B selecciona y

gzx mod n gzy mod ngxz mod ngyz mod n

Solución: utilizar un KDC, centro de distribución de claves.

Page 13: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

13

TACACS+ y RADIUSTACACS+ (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

Page 14: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

14

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)

Clave secreta. Método 3

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”.

Page 15: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

15

Autenticación con Kerberos

Perro de tres cabezas y cola de serpiente según mitología griega, guardián de la entrada del Templo de Hades (Infierno).

Servicio de autenticación (validación de identificación) desarrollado en el Massachusetts Institute of Technology (MIT)

Clave secretaClave secreta. Método 4

Page 16: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

16

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.

Clave secretaClave secreta. Método 4

Page 17: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

17

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)

A B

EB(A,RA)

EA(RA,RB,KS)

KS(RB)

1

2

3

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

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

Page 18: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

18

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

Clave publica

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

Page 19: 1 Seguridad (2/4): Protocolos de seguridad Autenticación (validación)

19

Validación de identificación de clave pública: protocolo de interbloqueo

AC BRivest 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 encriptado3. A tras recibir los bits pares de B, envía sus bits nones, y luego lo hace B.

Clave publica

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.