Inicialmente el cliente C (en este caso el usuario a través del programa login) necesita obtener las
credenciales necesarias para acceder a otros servicios. Para ello
cuando un usuario conecta a un sistema Unix `kerberizado' teclea en primer
lugar su nombre de usuario, de la misma forma que en un sistema habitual; la
diferencia está en que el programa login envía el nombre de
usuario al servidor de autenticación de Kerberos para solicitar un ticket que le permita comunicarse posteriormente con el servidor de tickets, TGS:
Si el usuario es conocido, el servidor de autenticación retorna un mensaje
que contiene una clave para
la comunicación con TGS y un timestamp cifrado con la clave secreta del
cliente, junto un ticket para la comunicación
con TGS cifrado con la clave secreta de este servidor:
El programa de login intentará descifrar
, con
la clave que el usuario proporciona, y si ésta es correcta podrá obtener
y : un cliente sólo podrá descifrar esta parte del mensaje si
conoce su
clave secreta, (en este caso el password). Una vez obtenida
, la clave para comunicar al cliente con el servidor de tickets,
el programa passwd la guarda para una posterior comunicación
con el TGS y borra la clave del usuario de memoria, ya que el ticket
será suficiente para autenticar al cliente; este modelo consigue que el
password nunca viaje por la red.
© 2002 Antonio Villalón Huerta