First, let’s revisit the underlying reason why the Kerberos protocol was developed. Kerberos was designed to protect authentication data from passing over a network in the clear. Before Kerberos, when a user wished to log into a remote service, the client software would pass the user’s credentials (a password) to the server in clear text. Since networks are broadcast mediums, where every station connected to a network segment can “hear” all traffic on that segment, sending passwords in the clear over a network is extremely insecure. Therefore, Kerberos encrypts all authentication exchanges that occur over the network. Encryption is only part of the solution, however, and the designers of Kerberos have put much thought into ensuring as secure a system as possible. In this section, we’ll explore several attacks against the distributed authentication systems, such as Kerberos. We’ll also discuss the particular techniques that Kerberos employs to mitigate the threats posed by these attacks.