One embodiment of the present invention provides a system for operating a
key distribution center (KDC) that provides keys to facilitate secure
communications between clients and servers across a computer network,
wherein the system operates without having to store long-term server
secrets. The system operates by receiving a communication from a server
at the KDC. This communication includes an identifier for the server, as
well as a temporary secret key to be used in communications between a
client and the server for a limited time period. In response the
communication, the system attempts to authenticate the server. If the
server is successfully authenticated, the system stores the temporary
secret key at the KDC, so that the temporary secret key can be
subsequently used to facilitate communications with the server. Upon
subsequently receiving a request at the KDC from a client that desires to
communicate with the server, the system produces a session key to be used
in communications between the client and server, and then creates a
ticket to the server by encrypting an identifier for the client and the
session key with the temporary secret key for the server. Next, the
system assembles a message that includes the identifier for the server,
the session key and the ticket to the server, and sends the message to
the client in a secure manner. The system subsequently allows the client
to forward the ticket to the server in order to initiate communications
between the client and the server.