Kerberos

Marc Horowitz

Section 4: Prof. Peter Elias Luis Rodriguez May 7, 1991

The timestamps in Kerberos are so the receiving client can protect itself against delayed or replayed packets. Using a timestamp instead of a random number gives several advantages. A random number has no basis in reality, which means it is impossible for a recipient to determine that a packet has been delayed. A timestamp is measurable, and if the packet is delayed, the recipient can notice this and not honor the authentication in that packet. For the replay case, to be truly secure, a Needham-Schroeder system needs to keep an infinite replay cache, since a random number is good forever. Under Kerberos, the replay cache only needs to be kept for five minutes. After that, the timestamp is sufficient to outdate the packet.

The timestamp approach is not perfect, however. Limited packet delays are still possible, since there is a time difference allowed. Synchronization between different hosts on the network is not always guaranteed. If you can alter the time on the recipient host, you could replay a packet much later.