Hi everyone !

Last week I had some technical discussion with an experimented guy. He told me 
that a "kerberized" service needs to contact the KDC to confirm the validity of 
a client authenticator. And that the keytab contains some credentials needed to 
contact this KDC.

Since it's an important guy that do a great job, I don't want to openly 
contradict him. Thus I need to confirm the right Kerberos mechanisms before 
telling him that he's not completly right about the Kerberos protocol.

I let appart the TGT part of the Kerberos protocol which is out of scope for my 
question.

My theory is that when a client wants to authenticate with a service, it gets a 
ticket from the KDC dedicated to that service. Then the client generates an 
authenticator embedding the retrieved ticket, and adds its identity and a 
timestamp, encrypted with the session key given along the service ticket by the 
KDC. 

Since the service ticket contains the session key encrypted with the service 
key, and the service knows its key via the keytab file, the service is able to 
decrypt the ticket, get the session key, decrypt the remaining part of the 
authenticator, and compare the identity encrypted with the session key with the 
identity embedded in the ticket service, enabling it to authenticate the client.

All of this without the service contacting the KDC. That is the most important 
point.

Am I right ?

Thanks !

-- 
Emmanuel Coirier

Reply via email to