Seguridad en Sistemas Distribuidos TEMA 2 Protocolos de Autenticación en redes José M. Sierra José María Sierra Departamento de Informática Universidad Carlos III de Madrid 1 Seguridad en Sistemas Distribuidos Aspectos de seguridad o La autenticación remota supone un reto para la seguridad o Deben evitarse los ataques de repetición o Mantener la confidencialidad de los secretos o Canales seguros para la autenticación o Mecanismos de sincronización temporal o empleo de contenidos que permitan asegurar la frescura de la comunicación (nonce) José M. Sierra 2 Seguridad en Sistemas Distribuidos KERBEROS José M. Sierra oFiabilidad oSeguridad oEscalabilidad oTransparencia 3 Seguridad en Sistemas Distribuidos KERBEROS o Diseñado para permitir el acceso de usuarios a servicios. o Red Distribuida o Existen tres amenazas principales: o Suplantación . o Ip-spoofing. o Ataques de repetición. José M. Sierra 4 Seguridad en Sistemas Distribuidos KERBEROS o Su funcinamiento se base en el empleo de un servidor de autenticación (AS) que participa en la autenticación entre usuarios y servidores o Basado en criptografia simétrica o Se establece una solución a un problema muy habitual de seguridad o Empleado desde su diseño hasta nuestros días. o Dos versiones: v4 y v5 José M. Sierra 5 Kerberos Version 4 Seguridad en Sistemas Distribuidos o Terminología empleada: o C = Client o AS = authentication server o V = server o IDc = identifier of user on C o IDv = identifier of V o Pc = password of user on C o ADc = network address of C o Kv = secret encryption key shared by AS an V o TS = timestamp o || = concatenation José M. Sierra 6 Seguridad en Sistemas Distribuidos Autenticación básica 1) C AS: IDc || Pc || IDv 2) AS C: Ticket 3) C V: IDc || Ticket Ticket = EKv[IDc || Pc || IDv] ◦ José M. Sierra Problemas: ◦ Cada solicitud al servidor V precisa de la ejecución del protocolo completo (y la intervención del usuario) ◦ Envío de la contraseña en claro (Pc) 7 Autenticación básica mejorada Seguridad en Sistemas Distribuidos o Protocolo en tres fases o autenticación de usuario, autorización de tipo de servicio, autorización de un servidor o Conceptos emergentes o Además de AS aparece TGS (ticket granting server y el TGT (ticket granting ticket) o El TGT permite el uso del TGS o El TGS permite el uso de un Servicio determinado José M. Sierra 8 Autenticación básica mejorada Seguridad en Sistemas Distribuidos Obtención del Ticket-Granting Ticket (1) C AS: IDc || IDtgs (2) AS C: EKc [Tickettgs] Tickettgs= EKtgs[IDc||ADc||IDtgs||TS1||Tiempo de vida1] Obtención del Service-Granting Ticket (3) C TGS: (4) TGS C: IDc|| IDv ||Tickettgs Ticketv TicketV= EKv[IDc||ADc||IDV||TS2||Tiempo de vida2] Obtención del Service (5) C V: José M. Sierra IDc||Ticketv 9 Autenticación básica mejorada Seguridad en Sistemas Distribuidos o Problemas: o Tiempo de vida asociado al ticket-granting ticket o Si es muy corto continua petición al usuario o Si es muy largo ventajas para el ataque de repetición o El atacante podria utlizar el ticket de servicio antes de que caduque o Suplantación de los Servidores José M. Sierra 10 Autenticación en Kerberos v4 Seguridad en Sistemas Distribuidos Obtención del Ticket-Granting Ticket (1) C AS: IDc || IDtgs||TS1 (2) AS C: EKc [Kc,tgs||IDtgs||TS2||Tiempo de vida2||Tickettgs] Tickettgs= EKtgs[Kc,tgs ||IDc||ADc||IDtgs||TS2||Tiempo de vida2] Obtención del Service-Granting Ticket (3) C TGS: IDv ||Tickettgs ||Authenticatorc (4) TGS C: EKc,tgs [Kc,v|| IDv || TS4 || Ticketv] Authenticatorc = EKc,tgs [IDc||ADc || TS3 ] TicketV= EKv[Kc,v ||IDc||ADc||IDV||TS4||Tiempo de vida4] Obtención del Servicio (5) C V: IDc||Ticketv ||Authenticatorc (6) V C: EKc,v [TS5+1] José M. Sierra Authenticatorc = EKc,v [IDc||ADc || TS5] 11 Seguridad en Sistemas Distribuidos TEMA 2. Parte 2 Protocolos Seguros de Acceso José M. Sierra 12 Seguridad en Sistemas Distribuidos Introducción o Túneles de encapsulación de protocolos (Tunneling) o La transmisión de paquetes de datos de un determinado protocolo encapsulados en otro, de manera que el contenido del paquete original puede llegar inalterado a su destino, creando una conexión virtual extremo a extremo a través de una red. o En distintos niveles de la pila de red: José M. Sierra o Nivel 2 (Enlace):, PPP, PPTP, L2F, L2TP, MPLS, ... o Nivel 3 (Red): L2TP, MPLS, IPSEC, GRE, ... 13 Introducción Seguridad en Sistemas Distribuidos o Repaso al protocolo PPP o Es un protocolo para encapsular IP por línea serie que corrige las deficiencias de SLIP. o Consta de tres partes: José M. Sierra o Especificación de la encapsulación de paquetes o Protocolo de Control de Enlace (LCP), para establecer, configurar y testear el enlace. o Familia de Protocolos de Control de Red (NCPs), para poder especificar distintas familias de protocolos de niveles superiores y sus parámetros. 14 Seguridad en Sistemas Distribuidos Protocolos de nivel 2 o Incluyen servicios de seguridad previos al establecimiento de la comunicación José M. Sierra IP PPP Layer-2 Layer-2 Point-to-Point Transport Forwarding Tunneling Protocol (L2TP) (L2F) IP Protocol (PPTP) 15 Protocolos de nivel 2 Seguridad en Sistemas Distribuidos o PPTP (Point-to-Point Tunneling Protocol): o Protocolo desarrollado por Microsoft y normalizado por la IETF (RFC 2637) o Permite el tráfico seguro de datos desde un cliente remoto a un servidor corporativo privado o PPTP soporta múltiples protocolos de red (IP, IPX, NetBEUI… ) o L2F (Layer 2 Forwarding): o Protocolo desarrollado por Cisco Systems o Precursor del L2TP o Ofrece métodos de autenticación pero carece de cifrado de datos José M. Sierra 16 Protocolos de nivel 2 Seguridad en Sistemas Distribuidos o L2TP (Layer 2 Tunneling Protocol): o Estándar aprobado por la IETF (RFC 2661) o Mejora combinada de PPTP y L2F o No posee cifrado o autentificación por paquete, por lo que ha decombinarse con otro protocolo de seguridad o Combinado con IPSec ofrece la integridad de datos y confidencialidad exigidos para una solución VPN o Permite el encapsulado de distintos protocolos (IP, IPX,NetBEUI…) José M. Sierra 17 Seguridad en Sistemas Distribuidos Seguridad en el protocolo PPTP o PPTP proporciona dos servicios de seguridad básicos: o Autenticación o Confidencialidad o PPTP Utiliza la seguridad de PPP para asegurar las comunicación sobre el túnel o Autenticación de usuario PPP (PAP, CHAP, MSCHAP, MS-CHAPv2, EAP). o Confidencialidad y cifrado PPP (MPPE). RC4 con claves de 40 o 128 bits. José M. Sierra 18 Seguridad en el protocolo PPTP Seguridad en Sistemas Distribuidos o Comunicación en PPTP de dos tipos o Control o Creación de un control de conexión PPTP o Conexión lógica que representa el túnel PPTP. o El servidor utiliza el puerto TCP 1723 y el cliente un puerto dinámico. o Determina los ID de la cabecera GRE entre cliente y servidor que identifican el túnel PPTP específico. o Mantenimiento del control de conexión PPTP o Finalización del control de conexión PPTP o Datos José M. Sierra o Encapsulado y transmisión de datos PPP mediante (GRE). Generic Routing Encapsulation 19 Seguridad en el protocolo PPTP Seguridad en Sistemas Distribuidos o Autenticación o Password Authentication Protocol (PAP). o Envía la password en texto claro. o Shiva Password Authentication Protocol (SPAP). o Utiliza cifrado reversible. o Challenge Handshake Authentication Protocol (CHAP) José M. Sierra o Reto-respuesta enviado con la función resumen MD5 20 Seguridad en el protocolo PPTP Seguridad en Sistemas Distribuidos o Autenticación o MS-CHAP v1 José M. Sierra o Lan Manager hash function o La clave se transforma en una cadena de 14 bytes o Minúsculas Mayúsculas o Cifrado con DES de una constante usando cada mitad de 7 bytes como clave 2 cadenas de 8 bytes o • Windows NT hash function o La clave se transforma en una cadena de 14 bytes o Se convierte a Unicode o Se usa MD4 hash de 16 bytes o A Tener en cuenta o Conversión a mayúsculas o Ausencia de condimento (SALT) en el almacenamiento de claves 21 Seguridad en el protocolo PPTP Seguridad en Sistemas Distribuidos o Proceso de autenticación en MS-CHAP o El cliente solicita un reto o El servidor envía un reto de 8bytes aleatorios o El cliente añade 5 bytes a cero al valor obtenido del hash (Lan Manager y WindowsNT) o Divide los 21 bytes en 3 claves que son usadas para cifrar con DES el reto 24 bytes (para cada opción Lan Manager y Windows NT) o El servidor analiza uno de los dos bloques de 24 bytes (determinado por el cliente) o MS-CHAP v2 o Mejoras de seguridad (no se envía el Lan Manager de la contraseña del usuario) o Sigue siendo tachado de inseguro José M. Sierra 22 Seguridad en el protocolo PPTP Seguridad en Sistemas Distribuidos o Cifrado en PPTP o Protocolo MPPE (Microsoft Point-to-Point Encryption) o Cifrado de flujo a través del algoritmo RC4 o 128 bits de semilla tomados de la aplicación de SHA1 sobre el hash (Windows NT) de la contraseña de usuario y 64 generados durante la negociación MS-CHAP o Cada 256 paquetes PPTP, se recalcula una semilla nueva a través de la clave antigua y la clave original. o Siguen existiendo debilidades en MPPE José M. Sierra o P.e.: puede evitarse el cambio de clave cada 256 paquetes 23 Seguridad en el protocolo L2TP Seguridad en Sistemas Distribuidos o El estándar permite que se pueda utilizar la seguridad de PPP para asegurar las comunicación sobre el túnel. o Autenticación PPP (PAP, SPAP, CHAP, MS-CHAP, ...) o Confidencialidad y cifrado PPP (MPPE). o Autenticación con EAP Extensible Authentication Protocol o Soporta varios tipos de Autenticación o EAP-MD5: Desafió/Respuesta. o EAP-TLS: Basado en cerificados digitales o EAP-RADIUS: Mecanismo proxy de reenvió de datos en un formato EAP especifico a un servidor RADIUS o PEAP: Protected EAP o Proteje las negociaciones EAP envolviéndolas con TLS. o L2TP/IPSEC José M. Sierra 24