Compartir a través de


entradas de Ticket-Granting

Como el protocolo Kerberos se diseñó originalmente, una clave maestra para un usuario se derivaba de una contraseña proporcionada por el usuario. Cuando un usuario inició sesión, el cliente Kerberos en la estación de trabajo del usuario aceptó la contraseña del usuario y lo convirtió en una clave de cifrado pasando el texto a través de una función hash unidireccional. El hash resultante era la clave maestra del usuario. El cliente usó esta clave maestra para descifrar las claves de sesión recibidas de KDC.

El problema con el diseño de Kerberos original es que el cliente necesita la clave maestra del usuario cada vez que descifra una clave de sesión del KDC. Esto significa que el cliente debe pedir al usuario la contraseña al principio de cada intercambio de cliente o servidor, o bien el cliente debe almacenar la clave del usuario en la estación de trabajo. Las interrupciones frecuentes del usuario son demasiado intrusivas. Almacenar la clave en la estación de trabajo corre el riesgo de poner en peligro una clave derivada de la contraseña de usuario, que es una clave a largo plazo.

La solución del protocolo Kerberos a este problema es que el cliente obtenga una clave temporal del KDC. Esta clave temporal solo es adecuada para esta sesión de inicio de sesión. Cuando un usuario inicia sesión, el cliente solicita un vale para el KDC igual que solicitaría un vale para cualquier otro servicio. El KDC responde mediante la creación de una clave de sesión de inicio de sesión y un vale para un servidor especial, el servicio completo de concesión de vales del KDC. Una copia de la clave de sesión de inicio de sesión está incrustada en el vale y el vale se cifra con la clave maestra del KDC. Otra copia de la clave de sesión de inicio de sesión se cifra con la clave maestra del usuario derivada de la contraseña de inicio de sesión del usuario. Tanto el vale como la clave de sesión cifrada se envían al cliente.

Cuando el cliente obtiene la respuesta del KDC, descifra la clave de sesión de inicio de sesión con la clave maestra del usuario derivada de la contraseña del usuario. El cliente ya no necesita la clave derivada de la contraseña del usuario porque el cliente usará ahora la clave de sesión de inicio de sesión para descifrar su copia de cualquier clave de sesión del servidor que obtiene del KDC. El cliente almacena la clave de sesión de inicio de sesión en su caché de vales junto con su vale para el servicio de concesión de vales completa del KDC.

El vale para el servicio de concesión de vales completo se denomina vale de concesión de vales (TGT). Cuando el cliente solicita al KDC un vale a un servidor, presenta las credenciales en forma de un mensaje de autenticador y un vale , en este caso un TGT, igual que presentaría credenciales a cualquier otro servicio. El servicio de concesión de vales abre el TGT con su clave maestra, extrae la clave de sesión de inicio de sesión para este cliente y usa la clave de sesión de inicio de sesión para cifrar la copia del cliente de una clave de sesión para el servidor.