Benchmarking the effects of operating system interference on extreme scale parallel machines.
The gold standard for computer and network security is Kerberos. Kerberos was developed at MIT as part of Project Athena, which also developed the X Windows system. It is designed to provide complete security for services on a network. The name comes from the name of a three headed dog that guarded Hades in Greek mythology.
Networking services opens up the possibility of new kinds of security violations. One such violation is called the "Man in the Middle", in which the bad guy is not only able to intercept all communication between a client and server, but also attempts to pretend that his program is the server (or client) by changing the network address. For example, a legitimate client could contact a file server requesting a file, and the man in the middle could intercept this request, read the request, and perhaps send back a different file. The client assumes that it has contacted the file server, but in fact has not.
Similarly, the Man in the Middle could contact the file server pretending to be a legitimate client, and so the file server could send a file or files over the network, but they are intercepted by the bad guy. As above, the file server thinks that it has successfully sent the files to a legitimate client.
Recall that one of the problems that SSL fixed was the WWW version of Man in the Middle, where a browser thought that it was communicating with, say, Amazon.com, but in fact, all of the packets had been intercepted. SSL solved this problem by having a Certificate Authority whom everyone trusted who issued certificates.
Kerberos is a trusted third party authentication system because it requires the user to identify themselves every time a service is requested. It effectively prevents the man in the middle attack. Every user has a password and every service has a password, and the only entity that knows both is the authentication server. The authentication server operates under considerable physical security. Typically it runs on a separate machine for which only a few people have access.
Here is what happens when Alice logs into a Kerberos system and attempts to use a service.
ticket = loginname, TGS, Workstation network address, TGS session key
This ticket is encrypted using the TGS encryption key. A message is then formed containing this sealed ticket and the TGS session key, which is then encrypted using Alice's login password. This is sent to the Alice's login process.
message = sealed ticket, sealed authenticator, end-server-name
The authenticator consists of the loginname, the Workstation network address and the current time.
The authenticator is encrypted using the TGS session key, and the message is sent to the ticket granting service.
ticket = login name, end server name, workstation network address, new-session-key
This ticket is encrypted using the file server encryption key. This is a new sealed ticket. Alice's workstation cannot decrypt it because it does not know the file server encryption key (password).
A message is created
message = new session key, sealed ticket
and this is encrypted using the TGS session key. This is sent to the user.
and seals it using the new session key.
message = sealed ticket, sealed authenticator, file server name
Here are some observations about Kerberos.
In order to use a service, a ticket is required. All tickets except the first are obtained from TGS. The first is obtained from the authentication server.
The tickets are not comprehensible to the workstation because they are encrypted using the key of the service
Every ticket is associated with a session key that is assigned every time a ticket is allocated.
Tickets are reusable. They have lifetimes of about eight hours.
But a new authenticator is required for each request, and these expire within a few minutes.
The server maintains a list of all recent requests so that it can detect duplicate requests which might arise from a stolen ticket.
Since both ticket and authenticator contain the network address, another workstation cannot use a stolen ticket without changing their system to impersonate the owners network address (and they have to do this quickly because authenticators have a time stamp).
Note that Alice's password is never sent over the network, so it is impossible for the bad guys to steal passwords by network sniffing. Note also that the Man in the Middle attack is foiled, because if the request is interrupted, the bad guy cannot read it because it does not know the encryption key of the service, so it cannot pretend to be that service.
Kerberos is in some ways cumbersome. It should be installed for all system services, such as file servers, mail servers, and printers, as well as the login process. It obviously slows down almost any operation because of all of the encryption and decryption, and it also causes additional network traffic to obtain tickets. But the advantage is that all network traffic is encrypted, and this prevents a huge amount of security violations.
The Andrew File System (AFS) has Kerberos built in.
Kerberos is believed to be secure, with the huge caveat that if the security of the authenticator or other services is breached, all security is lost.
Here is a link to the Official Kerberos Web site at MIT
Return to the course home page