380 likes | 716 Views
Sistemas Distribuidos Tema 5 Seguridad en Sistemas Distribuidos. Alberto Lafuente Departamento de Arquitectura y Tecnología de Computadores UPV/EHU. Seguridad en sistemas distribuidos. Políticas y mecanismos de seguridad Servidores de seguridad: Kerberos Computación distribuida segura
E N D
Sistemas DistribuidosTema 5Seguridad en Sistemas Distribuidos Alberto Lafuente Departamento de Arquitectura y Tecnología de Computadores UPV/EHU
Seguridad en sistemas distribuidos • Políticas y mecanismos de seguridad • Servidores de seguridad: Kerberos • Computación distribuida segura Bibliografía: [COU05] Cap. 7 [TAN06] Cap. 9 Yao, A. Protocols for secure computations. In Proceedings of the twenty-third annual IEEE Symposium on Foundations of Computer Science, pages 160-164. IEEE Computer Society, 1982. Lysyanskaya, A. Protección de secretos. Investigación y Ciencia, Nov 2008, pp 75-81
1 Políticas y mecanismos de seguridad • Políticas de seguridad: establecen límites definidos en la compartición de recursos. Independientes de la tecnología. • Mecanismos de seguridad: cómo se implementan las políticas. Conjunto de técnicas dependientes de la tecnología.
1 Políticas y mecanismos de seguridad Amenazas (Pfleeger, 1997) • Intercepción. Escucha de mensajes, ... • Interrupción. Retardo de mensajes, denegación del servicio, ... • Modificación. Alteración o corrupción de mensajes, ... • Fabricación. Suplantación de identidad, ...
1 Políticas y mecanismos de seguridad Políticas • Confidencialidad • La información estará disponible sólo para los sujetos autorizados. • Integridad • Las modificaciones de la información sólo se realizarán por los sujetos autorizados.
1 Políticas y mecanismos de seguridad Mecanismos • Cifrado • Simétrico (clave secreta) • Asimétrico (par de claves pública y privada) • Autenticación • Passwords • Protocolos de reto-respuesta. • Autorización • Listas de control de accesos, Credenciales • Firewalls • Auditoría • Mantenimiento y análisis de trazas (logs)
Cifrado [TAN06] • Intruders and eavesdroppers in communication.
Autenticación [TAN06]Protocolos de reto-respuesta Authentication based on a shared secret key.
Autorización [TAN06] Firewalls A common implementation of a firewall.
2 Servidores de seguridad:Kerberos • Incluye mecanismos de autenticación y otras herramientas de seguridad. • Desarrollado en el MIT, años 80. • Uso muy extendido en la actualidad (DCE, NFS, AFS-3, Windows). • Existe versión de código fuente disponible (www.mit.edu).
2 Servidores de seguridad:Kerberos Servicios • Un Key Distribution Centre con dos servicios: • Servicio de autenticación (AS). Autentica a los clientes en el login y expide tickets para el acceso al TGS. • Servicio de expedición de tickets (TGS). Expide tickets y claves de sesión para el acceso de los clientes a servicios específicos.
2 Servidores de seguridad:Kerberos Objetos de seguridad • Tickets: expedidos por el TGS para el acceso de un cliente a un servicio determinado con un plazo de expiración. • Autenticaciones: las construye un cliente con su identidad y una marca de tiempos (cifrados) para un solo uso en una comunicación con un servidor. • Clave de sesión: clave secreta, expedida por el AS, que se incluye en el ticket del cliente y es usada por un servidor para descifrar la autenticación.
2 Servidores de seguridad:Kerberos Arquitectura Autentication Service (AS) Ticket Granting Service (TGS) A T Kerberos Key Distribution Center (KDC) (2) Ticket TGS (1) (3) (4) Ticket Cliente C Servidor S (5) (6)
2 Servidores de seguridad:Kerberos • {M}k: mensaje M cifrado con clave K • K C: clave del cliente C • ticket(C, S) = (C, S, t1, t2, KCS) • t1: comienzo del periodo de validez del ticket • t2: final del periodo de validez del ticket • KCS : clave de sesión entre C y S (generada aleatoriamente) • autent(C) = (C, t) • t: marca de tiempo • n: contraste para identificar un mensaje • A: nombre del AS • T: nombre del TGS • K T: clave de T Notación
2 Servidores de seguridad:Kerberos Paso A: Login Autentication Service (AS) Ticket Granting Service (TGS) A T Kerberos Key Distribution Center (KDC) (2) Ticket TGS (1) (3) (4) Ticket Login Cliente C Abrir sesión Servidor S (5) · · · (6)
2 Servidores de seguridad:Kerberos Paso A: Login Obtención de una clave de sesión y un ticket TGS C, T, n (1) C A {KCT, n}KC, {ticket(C, T)} KT (2) C A El cliente debe ser capaz de descifrar el mensaje (2), que está cifrado con su clave secreta KC.
2 Servidores de seguridad:Kerberos Paso B: Obtención de un ticket Autentication Service (AS) Ticket Granting Service (TGS) A T Kerberos Key Distribution Center (KDC) (2) Ticket TGS (1) (3) (4) Ticket Cliente C Servidor S (5) (6)
2 Servidores de seguridad:Kerberos Paso B: Obtención de un ticket Obtención de un ticket para acceder a un servidor S {autent(C)}KCT, {ticket(C, T)}KT , S, n (3) C T {KCS, n}KCT, {ticket(C, S)}KS (4) C T
2 Servidores de seguridad:Kerberos Paso C: Acceso al servicio Autentication Service (AS) Ticket Granting Service (TGS) A T Kerberos Key Distribution Center (KDC) (2) Ticket TGS (1) (3) (4) Ticket Cliente C Servidor S (5) (6)
2 Servidores de seguridad:Kerberos Paso C: Acceso al servicio Acceso al servidor S {autent(C)}KCS, {ticket(C, S)}KS, petición, n (5) C S {n}KCS, resultado (6) C S La inclusión (opcional) del contraste n en (6) permite al cliente asegurar la autenticidad de S
3 Computación distribuida segura • El problema: • Calculemos cuánto pesamos entre todos… • …pero sin que nadie conozca el peso de los demás • Enfoques: • Contratemos a una autoridad externa y fiable • Ejecutemos un algoritmo distribuido (Secure Multiparty Computation, SMC)
3 Computación distribuida segura Modelo • n participantes: P1, …, Pn • Objetivo: • Computar una función f(x1, …, xn) = (y1, …, yn), tal que Piobtiene yi pero ninguna otra información. • Incluso si alguno de los participantes se comporta maliciosamente: • En principio, modelo de fallos bizantino • Con un módulo Hw de seguridad (p. ej., smart card) en cada nodo modelo de omisión:
Ejemplo • Tres participantes, P1, P2, P3. Cada uno aporta un valor Ai • Función a calcular: • f(A1, A2, A3) = A1+A2+A3 • Estrategia ejemplo: • Cada Pi elige 3 números entre 0 y 1000: dos al azar, el tercero es tal que la suma de los 3 números sea igual a Ai mod 1000 • P. ej., para Ai=54 300, 550, 204
Ejemplo (cont) 1. Elección de los números
Ejemplo (cont) 2. Cada uno entrega dos de sus números a los otros por separado
Ejemplo (cont) 3. Cada uno suma módulo 1000
Ejemplo (cont) 4. Cada uno difunde su resultado
Ejemplo (cont) 5. Y suma módulo 1000