Kerberos
Temas abordados
Kerberos
Temas abordados
El MIT permitió que el código fuente de Kerberos estuviera disponible públicamente para proporcionar transparencia y fomentar la confianza en su seguridad. Esto permite a los usuarios y desarrolladores revisar el código de manera independiente, identificar potenciales vulnerabilidades de seguridad, y proponer mejoras. Esta apertura facilita también su adopción y adaptación en diversas plataformas y contextos, contribuyendo así a su evolución continua y a la confianza generalizada en la integridad del protocolo .
El Centro de Distribución de Claves (KDC) es fundamental en el protocolo Kerberos para facilitar la autenticación mutua entre cliente y servidor. Se compone de dos partes: el Servidor de Autenticación (AS) y el Servidor de Concesión de Tiquetes (TGS). El AS verifica la identidad inicial del cliente y emite un Ticket-Granting Ticket (TGT) cifrado con la clave secreta del TGS. Luego, el cliente usa el TGT para solicitar acceso a servicios adicionales del TGS, que a su vez emite un ticket de servicio específico cifrado, asegurando así que sólo entidades autenticadas pueden acceder a los recursos .
Integrar Kerberos con sistemas que utilizan criptografía de clave asimétrica agrega flexibilidad, permitiendo su uso en escenarios donde las claves simétricas pueden no ser seguras o ideales. Facilita autenticación en situaciones donde no es práctico compartir previamente una clave simétrica con cada entidad nueva. Sin embargo, esto puede añadir complejidad en la gestión de claves públicas y privadas y probablemente requerir adaptaciones en la infraestructura existente para manejar correctamente certificados y cadenas de confianza .
La base de datos de claves secretas en Kerberos es un elemento crítico que debe estar bien protegida para asegurar el protocolo. Generalmente está asegurada a través de mecanismos de control de acceso estrictos, registros de auditoría y cifrado del almacenamiento. Solo el Centro de Distribución de Claves (KDC) debería tener acceso a estos datos, y se pueden implementar medidas de seguridad adicionales como dispositivos hardware de seguridad para prevenir el acceso no autorizado o compromisos .
El establecimiento de confianza mutua en Kerberos inicia cuando el cliente obtiene un Ticket-Granting Ticket (TGT) del Servidor de Autenticación (AS). Usando el TGT, envía una solicitud al Servidor de Concesión de Tiquetes (TGS) para un ticket de servicio específico. Con el ticket de servicio emitido, el cliente se autentica ante el Servicio Servidor (SS) enviando el ticket junto a un autenticador cifrado. El SS valida estos y responde con un mensaje que incluye una marca de tiempo confirmada, cifrada con la clave de sesión actual. Cuando el cliente descifra y verifica este mensaje de confirmación, se establece la confianza mutua y pueden empezar a intercambiar datos de manera segura .
El protocolo Kerberos aborda los ataques de replay mediante el uso de marcas de tiempo en sus autenticadores, asegurando que cada solicitud de autenticación esté actualizada y verificable. Esto evita que un atacante pueda reutilizar una solicitud autenticada anterior. Para eavesdropping, Kerberos cifra todas las comunicaciones entre cliente y servidor con claves de sesión específicas, garantizando que cualquier comportamiento de escucha no pueda interpretar correctamente los datos intercambiados .
Kerberos utiliza criptografía de clave simétrica para proteger las credenciales. Cuando un usuario se autentica, el cliente genera un hash de su contraseña, que se utiliza como clave secreta. Esta clave cifra la parte de la comunicación que asegura el ticket del cliente (Client/TGS session key). Los mensajes entre cliente y servidor están cifrados para mitigar el riesgo de interceptación. Las claves de sesión específicas para cada comunicación ayudan a mejorar la seguridad al limitar el uso de una misma clave a un único propósito .
Si el KDC es comprometido, el atacante podría potencialmente generar o manipular tickets, acceder a información sensible de autenticación, e incluso emitir nuevas claves de sesión, afectando gravemente la seguridad de toda la red Kerberizada. Para mitigar estos riesgos, es esencial implementar medidas de seguridad físicas y lógicas robustas, como aislamiento de red del KDC, autenticación multifactor para el acceso al KDC, y auditorías regulares de sus sistemas. Además, tener un sistema de respaldo seguro que permita una recuperación rápida y mantener un monitoreo constante para detectar intentos de intrusión .
El tercero de confianza en Kerberos es crucial ya que centraliza la gestión de claves y autentica las identidades entre clientes y servidores. Sin él, no habría entidad para verificar las identidades de manera independiente y segura ni para gestionar de manera centralizada las claves necesarias para cifrado y autenticación, aumentando considerablemente el riesgo de errores humanos y exposición de credenciales. El Key Distribution Center (KDC) asume este rol, ofreciendo confianza que independiza a las entidades clientes y servidores de posibles compromisos mutuos .
El sistema de tickets de Kerberos ofrece varias ventajas: asegura que las credenciales del usuario nunca se envíen a través de la red sin cifrar, minimizando así el riesgo de interceptación. Los tickets también permiten una autenticación mutua, verificando tanto al cliente como al servidor. Además, el uso de tickets específicos para cada sesión disminuye el riesgo de que una credencial comprometida pueda usarse en otros contextos fuera de la sesión inmediatamente afectada .