Criptografía y Seguridad de Datos Aplicaciones de autenticación: Kerberos Carlos Figueira. Universida Simón Bolívar Basado en láminas del Profesor Henric Johnson (http://www.its.bth.se/staff/hjo/ henric.johnson@bth.se) Carlos Figueira 1 Confidencialidad y temporalidad de claves ● ● Confidencialidad: la identificación y la clave de sesión deben ser cifradas – Requiere el uso de claves secretas privadas previamente compartidas, o claves públicas Temporalidad para evitar ataques de repetición – Números de secuencia o marcas de tiempo o desafío/respuesta Carlos Figueira 2 Kerberos ● ● ● Acuarela de W. Blake Mit. griega: Guardián del Hades En español, el can Cerberos (sin. de arquero de fútbol) Protocolo diseñado en MIT Carlos Figueira 3 Contexto ● ● Los usuarios desean acceder a servicios en servidores Existen tres amenazas: – El usuario se hace pasar por otro usuario – El usuario altera la dirección de red de una estación de trabajo – El usuario intercepta comunicación y usa ataque de repetición Carlos Figueira 4 Kerberos ● ● ● ● Provee servidor de autenticación centralizado para autenticar usuarios ante servidores, y servidores ante usuarios Se basa en cifrado convencional, no en asimétrico Dos versiones, 4 y 5 Versión 4 usa DES Carlos Figueira 5 Componentes ● Tercero confiable, llamado Centro de Distribución de Claves (KDC), con dos componentes: – servidor de autenticación (AS) – servidor emisor de tickets (TGS) ● ● Los tickets identifican a usuarios BD con claves compartidas de cada ente con Kerberos (se crean claves de sesión) Carlos Figueira 6 Kerberos Versión 4 ● ● ● ● ● C = Cliente AS = servidor de autenticación V = servidor IDc = id. de usuario en C IDv = id. de servidor V Pc = clave de usuario en C ● ADc = dir. de red de C ● Kv = clave secreta de cifrado compartida por AS y V ● TS = fecha ● || = concatenación Carlos Figueira 7 ● Requisitos adicionales ● ● Evitar que usuario introduzca clave para cada servicio (servidor TGS) Tiempo de vida adecuado: – Si es muy corto, solicitará clave a menudo – Si es muy largo, más oportunidades para ataque de repetición. ● El riesgo es que un oponente robe el ticket y lo use antes de que expire Carlos Figueira 8 Diálogo de autenticación v. 4 (1/3) Intercambio de autenticación de servicio: Obtener un ticket para emisión de ticket (granting ticket) ● C → AS: IDc || IDtgs ||TS1 ● AS → C: EKc [Kc,tgs|| IDtgs || TS2 || TdeVida2 || Tickettgs] Carlos Figueira 9 Diálogo de autenticación v. 4 (2/3) Intercambio de servicio de Emisión de Ticket: Obtener Ticket de autorización de servicio ● C → TGS: IDv ||Tickettgs ||Autenticadorc ● TGS → C: EKc [Kc,v|| IDv || TS4 || Ticketv] Autenticadorc =EkC,TGS [IDC || ADC || TS3] Carlos Figueira 10 Diálogo de autenticación v. 4 (3/3) Intercambio de autenticación Cliente/Servidor: Obtener servicio ● C → V: TicketV || AutenticadorC,V ● V → C: EKc,v[TS5 +1] AutenticadorC,V =EkC,V [IDC || ADC || TS5] Carlos Figueira 11 Carlos Figueira 12 Solicitud en otro dominio (realm) Carlos Figueira 13 Diferencias entre 4 y 5 ● ● ● ● ● Dependencia del Sistema de cifrado (V.4 DES) Dependencia del protocolo de Internet Orden de los bytes en mensaje Reenvío de autenticación (Authentication forwarding) Autenticación inter-dominio Carlos Figueira 14 Kerberos en la práctica ● Actualmente hay dos versiones de Kerberos: – 4 : sólo un dominio – 5 permite autenticación inter-dominio ● Kerberos v5 es un estándar de Internet (RFC4120), usado por muchas utilitarias Carlos Figueira 15 Para usar Kerberos ● ● ● Necesita un KDC en la red Todos los sistemas participantes deben tener aplicaciones kerberizadas Restricciones de exportación EEUU – No puede ser distribuido el fuente. Los binarios deben entregarse sin cifrado u obscurecido – Librerías de cifrado deben ser hechas Carlos Figueira 16 localmente APÉNDICES Carlos Figueira 17 Cifrado Carlos Figueira 18 Modo PCBC Carlos Figueira 19