Kerberos: An Authentication Service for Computer Networks

Review by Kevin LoGuidice, April 1998


Introduction:

Goal:

Advantages:

Protocol:

AS = Authentication Service TGS = Ticket Granting Service
c = client name s = server name
n = rand # Tc,s = Ticket
Kc = client private key Ks = server private key
Kc,s = session key Kc,tgs = TGS session key
{} = encryption  

· Basic Authentication Protocol

    1. Client -> AS: c,s,n
    2. AS -> Client: {Kc,s,n}Kc, {Tc,s}Ks
    3. Client -> Server: {Ac}Kc,s ,{Tc,s}Ks
    4. Server->Client: {ts…}Kc,s (optional)

· Complete Authentication Protocol

    1. Client -> TGS: c, tgs, n
    2. TGS -> Client: {Kc,tgs,n}Kc, {Tc,tgs}Ktgs
    3. Client ->TGS: {Ac}Kc,tgs, {Tc,tgs}Ktgs,s,n
    4. TGS -> Client: {Kc,s,n}Kc,tgs,{Tc,s}Ks
    5. Client -> Server: {Ac}Kc,s. {Tc,s}Ks

· Inter-Realm Authentication Protocol

    1. Client -> TGSlocal: {Ac}Kc,tgs , {Tc,tgs}Ktgs , tgsrem
    2. TGSlocal -> Client: {Kc,tgsrem}Kc,tgs , {Tc,tgsrem}Ktgsrem
    3. Client -> TGSremote: {Ac}Kc,tgsrem , {Tc,tgsrem}Ktgsrem,srem
    4. TGSremote -> Client: {Kc,srem}Kc,tgsrem , {Tc,srem}Ksrem
    5. Client -> Serverremote: {Ac}Kc,srem , {Tc,srem}Ksrem

Disadvantages:

Performance:

Questions

  1. Any comments on timestamps in authentication protocols (Hint: Lamport's/syncronization)?
  2. The authenticator relies on the use of a timestamp to guard against reuse, is this acceptable ?
  3. Can a ticket from one machine be used on another ?
  4. Data Encryption Standard (DES) is used for encryption. Any problems with this ?