25.02.2013 Views

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

TCP/IP Tutorial and Technical Overview - IBM Redbooks

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The authentication process consists of exchanging five messages (see<br />

Figure 22-52 on page 867):<br />

1. Client → KAS<br />

The client sends a message {c, tgs, n} to the KAS, containing its identity (c), a<br />

nonce (a time stamp or other means to identify this request), <strong>and</strong> requests for<br />

a ticket for use with the ticket-granting server (TGS).<br />

2. KAS → client<br />

The authentication server looks up the client name (c) <strong>and</strong> the service name<br />

(the ticket-granting server, tgs) in the Kerberos database <strong>and</strong> obtains an<br />

encryption key for each (Kc <strong>and</strong> Ktgs ).<br />

The KAS then forms a response to send back to the client. This response<br />

contains an initial ticket T c,tgs, which grants the client access to the requested<br />

server (the ticket-granting server). T c,tgs contains K c,tgs, c, tgs, nonce,<br />

lifetime, <strong>and</strong> some other information. The KAS also generates a r<strong>and</strong>om<br />

encryption key K c,tgs, called the session key. It then encrypts this ticket using<br />

the encryption key of the ticket-granting server (K tgs). This produces what is<br />

called a sealed ticket {T c,tgs}K tgs. A message is then formed consisting of the<br />

sealed ticket <strong>and</strong> the TGS session key K c,tgs.<br />

Note: In Kerberos Version 4, the message is:<br />

{Kc,tgs,n,{Tc,tgs}Ktgs}Kc<br />

While in Kerberos Version 5, the message is of a simpler form:<br />

{Kc,tgs, n}Kc, {Tc,tgs}Ktgs<br />

This simplifies the (unnecessary) double encryption of the ticket.<br />

3. Client → TGS<br />

Upon receiving the message, the client decrypts it using its secret key Kc, which is only known to it <strong>and</strong> the KAS. It checks to see if the nonce (n)<br />

matches the specific request, <strong>and</strong> then caches the session key Kc,tgs for<br />

future communications with the TGS.<br />

The client then sends a message to the TGS. This message contains the<br />

initial ticket {Tc,tgs}Ktgs, the server name (s), a nonce, <strong>and</strong> a new authenticator<br />

Ac containing a time stamp. Ac is {c, nonce}. The message is:<br />

{A c }K c,tgs , {T c,tgs }K tgs , s, n<br />

868 <strong>TCP</strong>/<strong>IP</strong> <strong>Tutorial</strong> <strong>and</strong> <strong>Technical</strong> <strong>Overview</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!