Kerberos

Zhaoyu Luo bio photo By Zhaoyu Luo

Attacks

  • tapping
  • spurious messages injection
  • replay

Design considerations

  • No passwords are communicated over the network
  • Cryptographic protection against spoofing
  • Limited period of validity
  • Timestamps to prevent replay attacks
    • timestamp is a sequence number
  • Mutual Authentication
    • if client wants server to prove its identity, the server could reply the new_timestamp = timestamp + 1

Open Problems

  • How to decide the correct lifetime for a ticket
  • How to allow proxies
  • How to guarantee workstation integrity
  • Constant availability of a TRUSTED Ticket Granting Server
  • Authenticity of servers is dependent on a trust relationship between the KDC and every server
  • Requires timely transactions
  • Subverted workstation can save and replay user passwords
  • Vulnerable to Simple Password Attacks
  • Scalability is an issue
  • Every object has to be “Kerberized”

Reviews

  • Why Authentication Services separates from Ticket Granting Services
    • prevent fake user get the real ticket, so we should let the client to decrypt the Ticket Granting Ticket firstly
  • Why we need an authenticator besides the ticket
    • the ticket just shows person A has been granted the permission, but you could not assume the ticket holder is person A
      • the client could create the authenticator by itself easily
    • the ipaddr in the ticket is not useful: it assumes that the client could not move with a fixed ip

Notes

  • Distribute shared secret to right people
  • Who do you trust?
    • devices are not trustworthy
  • What if publish the public key?
    • others may fake your public key
      • need third party or key distribution service