Seguridad (2/4): Protocolos de seguridad - PowerPoint PPT Presentation

About This Presentation
Title:

Seguridad (2/4): Protocolos de seguridad

Description:

Seguridad (2/4): Protocolos de seguridad ... (privada o sim trica) clave p blica (asim trica) * Validaci n de identificaci n de clave secreta M todos: ... – PowerPoint PPT presentation

Number of Views:54
Avg rating:3.0/5.0
Slides: 36
Provided by: San7177
Category:

less

Transcript and Presenter's Notes

Title: Seguridad (2/4): Protocolos de seguridad


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

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.

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.

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.

C
A
B
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.
7
Modelos de validación basados en métodos
distribuidos
  • clave secreta (privada o simétrica)
  • clave pública (asimétrica)

8
Validació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
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
10
Validación de identificación basada en clave
secreta compartida protocolo
1
Quiero algo de B
A
A
  • Ri son números aleatorios grandes lanzados desde
    cada extremo como reto.

El paso 4 y 5 es para que A se asegure que le
contesta B. Tras esta identificación, A puede
indicar una Ks para la sesión. Este protocolo
funciona, pero se puede simplificar el número de
mensajes.
DESTACAR, que con el mensaje 2 y 3 se podría
tratar de explotar por fuerza bruta la clave.
Clave secreta. Método 1
11
Validación de identificación basada en clave
secreta compartida simplificación
Pero si B acepta varias sesiones simultáneamente
...
Clave secreta. Método 1
12
Validación de identificación basada en clave
secreta compartida fallo
  • Un intruso C puede burlar este protocolo por un
    ataque por reflexión, si es posible abrir al
    mismo tiempo varias sesiones con B.
  • Por ejemplo, B es un banco y acepta muchas
    conexiones simultáneas de los diferentes cajeros
  • El ataque comienza cuando C indica que es A y
    envía RC.
  • B responde, como de costumbre, con su propio
    reto, RB pero C no conoce KAB(RB)!

Clave secreta. Método 1
13
Validación de identificación basada en clave
secreta compartida ataque por reflexión

  • C puede abrir una segunda sesión con el mensaje
    3, proporcionando como reto el RB tomado del
    mensaje 2.

B lo cifra y envía de regreso KAB(RB) en el
mensaje 4. Ahora C tiene toda la información y
aborta la segunda sesión. B ahora está convencido
de que C es A.
Clave secreta. Método 1
14
Validación de identificación basada en clave
secreta compartida solución al ataque por
reflexión
  • Tres reglas generales que frecuentemente son de
    ayuda son las siguientes
  • Hacer que el iniciador demuestre quién es antes
    de que lo tenga que hacer el respondedor. B
    regala información valiosa antes de que C dé
    cualquier prueba de su identidad.
  • Hacer que el iniciador y el respondedor usen
    diferentes claves para comprobación, incluso si
    esto significa tener dos claves compartidas, KAB
    y KAB.
  • Hacer que el iniciador y el respondedor tomen sus
    retos de diferentes conjuntos y por tanto no se
    puedan repetir los retos, por ejemplo, el
    iniciador usa números pares y el respondedor
    números nones.
  • En este caso, la simplificación ha sido una
    vulnerabilidad, porque con el primer esquema no
    pasaba esta situación.

Clave secreta. Método 1
15
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
Clave secreta
Clave secreta. Método 2
16
Establecimiento 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
17
Clave secreta
Clave secreta. Método 2
18
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.
Solución utilizar un KDC, centro de distribución
de claves.
Clave secreta. Método 2
19
TACACS 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
20
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.

Clave secreta. Método 3
21
Validación de identificación usando un KDCla
rana de boca amplia
  • 1.- A escoge una clave de sesión, KS e indica al
    KDC que desea hablar con B usando KS. Este
    mensaje se cifra con la clave secreta que
    comparte A sólo con el KDC, KA

2.- KDC descifra este mensaje, extrayendo la
identidad de B y la clave de sesión. Construye un
mensaje nuevo cifrado con KB (compartido entre
KDC y B) que contiene la identidad de A y la
clave de sesión y se lo envía a B
Ahora, A y B pueden hablar y saben además la
clave a utilizar. Para la validación de
identificación, como las claves con el KDC son
secretas, nadie más habría sido capaz de cifrarlo
con la clave secreta de otro ? A diferencia de
Diffie Hellman, aquí si existe autenticación por
ambas partes.
Clave secreta. Método 3
22
Validación de identificación usando un KDC
ataque por repetición
  • Ataque un intruso C puede copiar el mensaje 2
    (de KDC a B) y todos los mensajes que le siguen y
    reproducirlos de nuevo para B, con lo cual B
    creerá estar hablando con A. Pero C no sabe Ks
    repite sin saber lo que dice, pero interfiere en
    B e incluso podría generar denegación de servicio
    (DoS).

Soluciones posibles 1.- incluir una marca de
tiempo en cada mensaje de forma que pueda
descartar mensajes obsoletos, pero los relojes
nunca están perfectamente sincronizados en toda
una red 2.- incluir un número de mensaje único
(llamado núnico), de forma que cada parte
entonces tiene que recordar todos los núnicos y
rechazar cualquier mensaje que contenga un núnico
previamente usado
Comentarios Si una máquina se cae y pierde la
lista de núnicos, es vulnerable a un ataque por
repetición. Las marcas de tiempo y los núnicos
pueden combinarse para limitar el tiempo que
pueden recordarse los núnicos, pero el protocolo
se volverá más complicado.
Clave secreta. Método 3
23
Validación de identificación 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
    transacción.

1.- A indica al KDC que quiere hablar con B,
incluyendo un número aleatorio grande, RA, como
núnico.
  • 2.- KDC devuelve el mensaje 2 con
  • RA para asegurar a A que el mensaje 2 es
    reciente, y no una repetición
  • La identidad de B, por si a C se le ocurre
    reemplazar a B del mensaje 1 por su propia
    identidad además 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 sesión
  • un billete para que puede re-enviarse a B
    (identificando a A y la clave de sesión Ks)

Clave secreta. Método 3
24
Validación de identificación usando un KDC
protocolo de Needham-Schroeder (2/2)
3.- A ahora envía el billete a B, junto con un
nuevo número aleatorio, RA2, cifrado con la clave
de la sesión, KS. 
4.- B devuelve KS(RA2-1) para demostrar a A que
está hablando con el verdadero B. El envío de
regreso de KS(RA2) no habría funcionado, puesto
que C lo podría 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 repetición.
5.- A está convencido de que está hablando con
B, y de que no se pudieron haber usado
repeticiones hasta el momento. El propósito del
mensaje 5 es convencer a B de que realmente está
hablando con A, y de que tampoco se han usado
repeticiones aquí.
Clave secreta. Método 3
25
Validación de identificación usando un KDC
ataque del protocolo de Needham-Schroeder
  • Debilidad
  • Si C llega a obtener una clave de sesión vieja KS
    en texto normal, puede iniciar una nueva sesión
    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.

Solución Otway y Rees publicaron un protocolo
que resuelve el problema, haciendo que B hable
con el KDC.
Clave secreta
Clave secreta. Método 3
26
Validación de identificación usando un KDC
protocolo de Otway y Rees
  • 1.- A comienza por generar un par de números
    aleatorios R, que se usará como identificador
    común, y RA, que A usará para retar a B.

2.- Cuando B recibe este mensaje, construye un
mensaje nuevo a partir de la parte cifrada del
mensaje de A con KA, y uno análogo propio con KB.
Ambas partes cifradas, identifican A, B, el
identificador común R y un reto RA o RB
respectivamente.
3 y 4.- KDC comprueba que R de ambas partes es
igual. Los R podrían 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 válido, y genera
una clave de sesión. Cada mensaje contiene un
número aleatorio del receptor como prueba de que
el KDC, y no C, generó el mensaje.
Clave secreta
Clave secreta. Método 3
27
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).

Clave secreta
Clave secreta. Método 4
28
Protocolo de autenticación Kerberos
  • Kerberos es un KDC diseñado por el MIT para
    autenticar 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 autenticació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
29
Protocolo de autenticación Kerberos protocolo
(1/2)
  • A y B no comparten ninguna clave secreta, excepto
    con el servidor de claves Kerberos Ka y Kb. A y
    B pueden ser usuarios, usuario-servicio,...

1.- A solicita a Kerberos una credencial para
conectarse con B y una clave de sesión, a través
de un mensaje con un valor aleatorio RA y los
identificadores en la red de comunicación de A y
B.
2.- Kerberos genera una clave de sesión aleatoria
K y define el período de validez L de la
credencial, cifrando a continuación 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 A y un sello temporal Ta
para sincronización, con la clave de sesión K ?
K(A,Ta)
Clave secreta
Clave secreta. Método 4
30
Protocolo de autenticación Kerberos protocolo
(2/2)
K(A,Ta)
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 válido y se encuentra en los
límites de L.
4- Si las comprobaciones son satisfactorias, B se
convence de la autenticidad de la identidad de A,
y en tal caso, B envía a A la conformidad con
K(Ta1)
Por su parte A descifra la conformidad con la
clave de sesión K y verifica que el valor
recuperado es Ta1, lo cual asegura a A que la
clave de sesión K ha sido correctamente recibida
por el usuario B
Clave secreta
Clave secreta. Método 4
31
Protocolo de autenticación Kerberos comentarios
(1/2)
  • 1.-El propósito del sello temporal Ta y del
    período de validez L es doble
  • A pueda utilizar la credencial para realizar
    sucesivas autentificaciones ante B durante el
    período 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 reutilización. Esto se
    consigue puesto que una clave no se acepta como
    válida si su sello temporal no se encuentra
    dentro de los límites del período de validez de
    la misma.
  • 2.- Kerberos viene en la mayoría de
    distribuciones UNIX y/o Linux, utilizado en
    procesos como login, rlogin o NFS (Network File
    System) y las versiones más 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, además las claves
    almacenadas son privadas y no públicas. En
    versión 4 y/o 5 incorpora servidores secundarios.

Clave secreta
Clave secreta. Método 4
32
Protocolo de autenticación Kerberos comentarios
(2/2)
  • 4.- requiere la kerberización (modificación) de
    todas las aplicaciones, así como de la
    sincronización de todas las máquinas
  • 5.- cuando un usuario está más de 8 horas (por
    defecto) delante de una estación de trabajo
    kerberizada, debe identificarse otra vez
  • 6.- en ningún momento los passwords viajan por la
    red ni son guardados en memoria (sólo las
    credenciales)
  • 7.- Cabe destacar del protocolo visto, que
    realmente se distinguen dos partes, por una lado
    la autenticación y por otro la gestión de tickets
    para los diferentes servicios

Clave secreta
Clave secreta. Método 4
33
Autenticación con Kerberos ejemplo de login
  • Escenario usuario A a través de login requiere
    de las credenciales necesarias para acceder a
    otros servicios
  • Pasos
  • 1.- al teclear el nombre, el login kerberizado
    envía el nombre al servidor Kerberos solicitando
    un ticket
  • 2.- si el usuario es conocido, le manda un
    mensaje cifrado, donde utilizará su contraseña
    (password) para descifrarlo. De esta forma la
    contraseña nunca viaja por la red
  • 3.- de dicho mensaje extrae el ticket para
    realizar la petición de servicio

Clave secreta
Clave secreta. Método 4
34
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
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
35
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
Write a Comment
User Comments (0)
About PowerShow.com