La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Distribuidos

Presentaciones similares


Presentación del tema: "Sistemas Distribuidos"— Transcripción de la presentación:

1 Sistemas Distribuidos
Seguridad

2 Seguridad Introducción Criptografía
requerimientos, amenazas, ataques Criptografía clave privada clave pública Autenticación y distribución de claves Caso de estudio: Kerberos Firmas digitales

3 Requerimientos de seguridad
Canales de comunicación con protección contra: escuchas no autorizadas alteraciones Verificación de la identidad y/o autenticidad de: clientes (por los servidores) servidores (por los clientes) autor de un mensaje (por los receptores)

4 Amenazas y ataques redes locales es fácil construir un programa para
Algunas amenazas son obvias. En la mayoría de las redes locales es fácil construir un programa para obtener copias de los mensajes transmitidos entre computadoras. Otras amenazas pueden ser mas sutiles: si los clientes fallan en autenticar un servidor de archivos, se pueden instalar programas que actúen como los servidores de archivos auténticos y obtengan copias de información confidencial.

5 Amenazas y ataques Para protegerse de tales amenazas deben adoptarse
políticas de seguridad, las cuales son implementadas usando mecanismos de seguridad. La distinción entre políticas y mecanismos de seguridad resulta importante; sin ellas no se puede decir que el sistema sea seguro.  Las políticas de seguridad son independientes de la tecnología usada.  Los mecanismos de seguridad no aseguran por si mismos la seguridad del sistema.

6 Modelo de seguridad Objeto (o recurso): Destinado a ser usado por
diferentes clientes, vía invocación remota Ej: mailbox, sistema de archivos, parte de un web site comercial Principal:  usuario o proceso que tiene autoridad (derechos) para realizar acciones  la identidad del principal es importante

7 Modelo de seguridad Objeto Derechos de acceso Invocación Cliente
Resultado Server Principal (Usuario) Red Principal (Server)

8 Amenazas El principal objetivo de la seguridad es restringir el
acceso a la información y recursos, sólo a aquellos principales que están autorizados. Las amenazas caen en cuatro clases:  Fugas: adquisición de información por receptores no autorizados  Alteración: no autorizada de información  Robo de recursos: uso sin autorización  Vandalismo: Interferencia con la operación del sistema sin ganancia para el autor de la amenaza

9 Métodos de ataque Escucha no autorizada
Definición: Obtención de copias de mensajes sin tener autoridad. Obtención de mensajes:  directamente de la red o,  de información almacenada en forma inadecuada

10 Métodos de ataque Enmascaramiento
Definición: Envío o recepción de mensajes usando la identidad de otro principal, sin su autorización Mediante:  obtención y uso de la identidad y password de otro principal  usando capacidad de acceso al sistema después que la autorización para hacerlo ha expirado

11 Alteración de mensajes
Métodos de ataque Alteración de mensajes Definición: Interceptación de mensajes y alteración de los mismos antes de pasarlos a los receptores esperados Nota:  Difícil en Ethernet (aunque se ha hecho)  Relativamente simple en Internet

12 Métodos de ataque Reproducción
Definición: Almacenamiento de mensajes y envío de los mismos un tiempo después.  Por ejemplo: Después que la autorización para usar un recurso ha sido revocada  Puede ser usada para robo de recursos y vandalismo aún cuando los mensajes reproducidos no puedan ser interpretados por el autor

13 Infiltración Virus: programa que se autoreproduce y
que (típicamente) infecta otros programas Gusano: programa que se autoreproduce y propaga en forma independiente Caballo de Troya: ataque oculto dentro de un programa benigno

14 Amenazas en sistemas cliente-servidor
Replay Cliente Servidor Request DoOperation Alteración GetRequest Message execute (wait) request Replay SendReplay (continuación) Message Cliente impostor? Escucha Servidor impostor?

15 Sistemas cliente-servidor(I)
Requerimientos de seguridad Asegurar los canales de comunicación contra escuchas no autorizadas Diseñar clientes y servidores de manera “desconfiada”:  los servidores deben ser satisfechos que los clientes actúen en nombre de los principales que proclaman ser  los clientes deben garantizar que los servidores sean quienes dicen ser

16 Sistemas cliente-servidor(II)
Asegurarse que la comunicación es fresca  para evitar la reproducción de mensajes Imponer políticas de seguridad  políticas a nivel de compañía/nacional/legal  control de acceso  auditorías

17 Implementación de políticas de seguridad
Control acceso Encriptación Servicios autenticación y distribución de claves

18  Puede ser simétrica (basada en clave secreta
Criptografía Encriptación  se aplican reglas para transformar texto plano en texto cifrado  definida con una función F y una clave K  un mensaje M encriptado con K se nota: FK(M) = {M}K Desencriptación  se usa una función inversa: F-1K({M}K)=M  Puede ser simétrica (basada en clave secreta conocida por ambas partes)  o asimétrica (basada en clave pública)

19 Clave secreta La encriptación y desencriptación usan la misma clave secreta La clave debe ser secreta:  para prevenir escuchas no autorizadas  para prevenir enmascaramiento Las funciones de encriptación y esencriptación no necesitan ser secretas puesto que los resultados dependen de cuales la clave

20 Comunicación segura con encriptación de clave secreta
Emisor A Receptor B 1 Adquiere K 2 f(K,M){M}K 3 Envía {M}K 1 Adquiere K 2 Recibe {M}K 3 f-1(K,{M}K)M {M}K

21 Algoritmo DES Data Encryption Standard (DES)
 desarrollado por IBM en 1977  adoptado en USA como un estándar para aplicaciones gubernamentales y comerciales Función de encriptación:  mapea texto plano de 64 bits en 64 bits de texto encriptado  usa una clave de 56 bits  se rompe en 255 intentos (hecho en 1997)  se implementa en hardware VLSI

22 Clave pública El problema de clave privada: cómo proteger la clave?
Cada principal tiene 2 claves: pública y privada La clave pública del receptor la usa el emisor El receptor usa clave privada para desencriptar Pública Privada

23 Algoritmos de encriptación asimétricos
Todos dependen del uso de funciones trap-door Una trap-door provee una vía secreta en una habitación: para salir es obvio, pero si quiere entrar, debe conocer esta entrada secreta

24 Clave pública Requiere Ke Base de datos Clave pública Receptor B
Emisor A Ke Ke 1 Adquiere Ke, Kd 2 Publica Ke 3 Recibe {M}Ke 4 D(Kd,{M}Ke)M 1 Adquiere Ke 2 E(Ke,M){M}Ke 3 Envía {M}Ke {M}Ke

25 RSA Creado por Rivest, Shamir y Adelman en 1978
Basado en el problema de factorización (trap-door) Información privada:  p, primo grande (>10200)  q, primo grande (>10200)  (n)=(p-1)(q-1)  d, entero primo con (n) Información pública:  n=p*q  e, inverso de d módulo (n)

26 RSA

27 RSA: pasado, presente y futuro
 Se pensó que la factorización de números primos >10200 tomaría 4 billones de años En el 2000:  Computadoras más rápidas, mejores métodos  Números con 155 dígitos decimales (=500 bits) han sido factorizados  Claves de 512 bits son inseguras! En el futuro?:  Se recomiendan claves con 230 dígitos(768 bits)  Usar 2048 bits en algunos casos (ej.: defensa)

28 Comparación de performance
En hard RSA es unas 1000 veces más lento que que DSE  DSE Gbit/seg (clave 56 bits)  RSA Mbit/seg (clave 512 bits) En soft RSA es unas 100 veces más lento que  DSE Mbit/seg  RSA Kbit/seg Por tanto, cuando sea seguro use clave secreta! O usar algoritmos híbridos

29 Autenticación Definición:
 protocolo para asegurar la autenticidad del transmisor Protocolo con clave secreta (Needham-Schroeder 78’)  basado en un servidor de claves seguro que emite claves secretas  implementado en Kerberos Protocolo con clave pública (Needham-Schroeder 78’)  no requiere un servidor de claves seguro  usado en comercio electrónico

30 Needham y Schroeder con clave secreta
Notación:  A Nombre del principal que inicia la comunicación  B Nombre del principal, socio de A en la comunicación  KA Clave secreta de A (password)  KB Clave secreta de B (password)  KAB Clave secreta para comunicarse A y B  NA Testigo generado por A (es un entero, por ej. generado leyendo el clock del sistema en el momento del envío del mensaje)  {M}K Mensaje M encriptado con clave K

31 Needham y Schroeder con clave secreta
Encabezado Mensaje Notas 1. AS: A, B, NA A pide a S una clave para comunicarse con B. 2. SA: {NA, B, KAB, S retorna un {KAB, A}KB}KA mensaje encriptado con KA conteniendo una nueva clave KAB y un “ticket” encriptado con KB

32 Needham y Schroeder con clave secreta
Encabezado Mensaje Notas 3. AB: {KAB, A}KB A envía el “ticket” a B 4. BA: {NB}KAB B desencripta el ticket y usa la clave nueva KAB para encriptar otro testigo NB 5. AB: {NB-1}KAB A demuestra a B que fue el emisor del mensaje previo, retornando una transformación acordada de NB.

33 Needham y Schroeder con clave secreta - Debilidades
El mensaje 3 podría no ser “fresco” y un viejo valor de KAB podría estar comprometido en su almacenamiento en A Kerberos trata esta debilidad añadiendo al mensaje 3 un timestamp ({KAB, A,t}KB ) o un testigo.

34 Needham y Schroeder con clave pública
Las claves públicas deben distribuirse mediante un servidor de distribución de claves seguro para evitar la intrusión por impostores. Notación adicional:  PKA clave pública de A  PKB clave pública de B  PKS clave pública del servidor  SKS clave secreta del servidor

35 Needham y Schroeder con clave pública
Encabezado Mensaje Notas 1. AS: A, B, NA A pide a S la clave pública de B 2. SA: {PKB, B}SKS S envía a A la clave pública de B, encriptada usando su clave secreta. A puede desencriptarlo usando PKS.

36 Needham y Schroeder con clave pública
Encabezado Mensaje Notas 3. AB: {NA, A}PKB A envía un mensaje a B conteniendo un testigo encriptado con PKB. Sólo B puede desencriptarlo, para obtener el nombre de A 4. BS: B, A B pide a S la clave pública de A

37 Needham y Schroeder con clave pública
Encabezado Mensaje Notas 5. SB: {PKA, A}SKS S envía a B la PKA, encriptada usando su clave secreta SKS 6. BA: {NA, NB}PKA B envía a A un par de testigos encriptados con PKA 7. AB: {NB}PKB A envía a B el testigo, probando “frescura” y que “habla” con A.

38 Needham y Schroeder con clave pública - Debilidades
A y B deben creer que las claves públicas que reciben de S son “frescas” No hay protección contra la reproducción de mensajes viejos.  Esto puede remediarse añadiendo timestamp a los mensajes 2 y 5

39 Caso de estudio: Kerberos
Basado en el protocolo de de Needham-Schroeder con clave secreta Desarrollado en el MIT (1988) y usado en AFS, NFS de Unix, RPC de Sun y Windows 2000

40 Kerberos - Objetos de seguridad
Ticket:  Registro que el cliente incluye en un mensaje y que permite al servidor verificar su identidad  Está cifrado con clave del servidor e incluye entre otros:  identidad del cliente, clave para la sesión, plazo de expiración Autenticador:  Registro que el cliente incluye en un mensaje y que asegura que el mismo se ha generado recientemente y no ha sido modificado

41 Kerberos - Objetos de seguridad
Autenticador(continuación):  Puede usarse una sóla vez. Contiene el nombre del cliente, un timestamp y está encriptado con la clave de sesión apropiada Clave para la sesión:  Clave secreta generada aleatoriamente por Kerberos y enviada al cliente para usarse en la comunicación con un servidor particular  el encriptado no es obligatorio

42 Arquitectura del sistema Kerberos
Centro de distribución de claves Kerberos Base de datos de autenticación Paso A Servicio de autenticación A Servicio de concesión de tickets 1. Solicitud de Ticket al TGS 2. Ticket TGS Paso B 3. Petición de un ticket de servidor Comienzo de sesión 4. Ticket de servidor Paso C 5. Solicitud de servicio Establecimiento de sesión del servidor Función de servicio Cliente C Servidor S HacerOperación Solicitud encriptada con la clave de sesión Respuesta encriptada con la clave de sesión

43 Kerberos Notación:  A nombre del servidor de autenticación (AS)
 T nombre del servidor de concesión de tickets (TGS)  C nombre del cliente  n un testigo  t timestamp  t1 tiempo de comienzo de la validez del ticket  t2 tiempo de finalización de validez del ticket Un ticket Kerberos para que un cliente C acceda a S: {C, S, t1, t2, KCS}KS{ticket(C,S)}KS

44 Secuencia de mensajes en Kerberos
Claves de encriptación usado en el esquema: KC clave privada de C (Password de usuario) KT clave privada de T KCT clave de sesión de TGS KS clave privada del servidor KCS clave de sesión

45 Secuencia de mensajes en Kerberos
Obtener una clave de sesión, una vez por login de sesión 1. CA C, T, n clave sesión TGS, n ticket (C, T) 2. AC Obtener ticket del server, una vez por sesión cliente-server 3. CT Auth(C) ticket (C, T) server, n clave sesión CS, n ticket (C, T) 4. TC

46 Secuencia de mensajes en Kerberos
Emitir requerimientos al servidor 5. CS Auth(C) ticket (C, S) Service request, n Autenticación del servidor (opcional) 6. SC Respuesta n

47 Firmas digitales Por qué?
 mismo finalidad que una firma escrita en un documento en papel  auténticas, difíciles de falsificar e irrefutables Cómo funcionan?  cuentan con funciones seguras que comprimen el mensaje en el llamado digest (resumen=D(M))  el emisor encripta el digest y lo añade al mensaje como una firma digital  el receptor verifica la firma  generalmente se usa criptografía de clave pública, aunque es posible usar clave privada

48 Firma digital con clave pública
Claves  El emisor envía Kpub y Kpri; Kpub se hace pública Envío del mensaje firmado M  el emisor envía una función digest acordada y segura, h, para calcular el resumen h(M)  h(M) es encriptada con Kpri para producir la firma: S = {h(M)}Kpri; se envía M y S Verificación del mensaje firmado  la firma S es desencriptada usando Kpub, se calcula h(M), y se compara con la firma desencriptada

49 Firma digital con clave pública
Documento firmado M H(M) h {h} E(K , h) Firmado Kpri pri M 128 bits {h} Kpri D(K ,{h}) h' pub Verificación M ¿h = h '? h H(doc)

50 Firma digital con clave secreta
Encabezado Mensaje Notas 1. AS: A, {D(M)}KA A calcula D(M), el digest del mensaje y lo encripta con KA y lo envía al server de autenticación

51 Firma digital con clave secreta
Encabezado Mensaje Notas 2. SA: {A, {D(M),t}KS El server hace un firmado y certificación del fechado de la firma de A en el documento, arma un texto compuesto por el nombre de A, D(M) y un timestamp t, lo encripta con KS y lo envía a A.

52 Firma digital con clave secreta
Encabezado Mensaje Notas 3. AB: M, {A, D(M), t}KS A envía el mensaje original y el certificado en un mensaje a B 4. BS: B, {A, D(M), t}KS B guarda una copia del mensaje y el certificado y envía éste al server de autenticación para desencriptarlo

53 Firma digital con clave secreta
Encabezado Mensaje Notas 5. SB: {A, D(M), t}KB El server desencripta el certificado, usa KB para encriptar el texto plano resultante y lo envía a B y éste lo desencripta.

54 Firma digital con clave secreta
A partir de 5, B tiene M, puede recalcular D(M) y compararlo con lo recibido del server. Si coinciden, B puede confiar que el mensaje es el producido originalmente por A y que A no será repudiado pues:  S (B confía en S) verificó la firma de A en 2  sería difícil para A reclamar que su firma fue falsificada, B tiene una copia de un certificado que puede chequearse con S. A no puede reclamar que B falsificó el certificado ya que B no conoce KS.


Descargar ppt "Sistemas Distribuidos"

Presentaciones similares


Anuncios Google