La respuesta es sí y no, dependiendo de lo que quieras decir. En el modelo básico de Kerberos, normalmente cada principal en un reino comparte un secreto con los servidores de autenticación Kerberos (centros de distribución de claves o KDC). (Digo "normalmente" porque los directores que actuarán solo como clientes pueden evitar compartir un secreto y usar otros métodos para autenticarse en el KDC, por ejemplo, un par de claves RSA a través de PKINIT, o contraseñas de un solo uso, lo que evita la adivinación de contraseñas problema discutido aquí por completo.) Para un componente de software como un servidor web, este es un conjunto de claves generadas aleatoriamente; hay un conjunto en lugar de solo uno, para acomodar a los clientes con soporte para varios cifrados criptográficos. Para un usuario, es un conjunto de claves derivadas de la contraseña del usuario. Así que el KDC guarda todos los secretos: si está comprometido, un atacante puede hacerse pasar por cualquier principal en el reino del KDC.
Sin embargo, el KDC no tiene realmente la contraseña del usuario, solo un conjunto de claves derivadas de la contraseña. Esta distinción no es importante en lo que respecta a Kerberos: las claves son el verdadero secreto de Kerberos. Sin embargo, las personas a menudo reutilizan contraseñas para varios sistemas; por lo tanto, si un KDC está comprometido, el atacante no tendrá inmediatamente la contraseña del usuario con la que intentar acceder a su cuenta de GMail, por ejemplo (aunque ahora puede montar un ataque de diccionario para intentar descubrir la contraseña).
¿No significa eso que esto es un talón de Aquiles de Kerberos?
El KDC está comprometido, el atacante sabrá el texto en claro de todos los usuarios.
contraseñas (a diferencia de obtener / etc / shadow de un sistema Linux que
solo proporcionará al atacante las contraseñas con hash y con sal)?
Es una propiedad de Kerberos; No lo llamaría un "talón de Aquiles". El esquema de hash de contraseña de Unix le permite hacer una cosa: verificar las contraseñas de texto sin formato, que deben entregarse al servidor. Los sistemas como Kerberos y PKI pueden hacer mucho más que eso, y tienen más secretos que proteger, distribuidos de varias maneras determinadas por las tecnologías respectivas. PKI no tiene una sola tienda con todas las claves de usuario, pero tiene las claves altamente sensibles de las autoridades de certificación (CA), que deben protegerse con tanta vigilancia como la base de datos principal de Kerberos, ya que roban una clave privada de CA de manera similar permite a un atacante hacerse pasar por muchos principios en el sistema. Puede ser más fácil proteger una clave privada de CA que la base de datos de KDC, ya que esta última debe estar en línea para la operación de KDC, mientras que la primera solo debe estar disponible para operaciones de firma relativamente infrecuentes (aunque eso depende de la naturaleza y el uso de la CA en cuestión) ). Por otro lado, la autenticación basada en contraseña de Kerberos no requiere una tienda secundaria o equipo adicional (como una tarjeta inteligente) para guardar la clave privada del usuario y los certificados de CA confiables, y su criptografía simétrica es mucho más rápida que las operaciones de clave pública de PKI. Y así sucesivamente ... hay muchas comparaciones y compensaciones.