[ Pobierz całość w formacie PDF ]
.One of the cryptosystems used is the Data Encryption Standard (DES), whichhas been developed to be modular and replaceable by the Kerberos designers.Kerberos assumes a loosely synchronized clock in the whole system so theworkstation has to have a synchronization tool such as the time serverprovided.5.11.2 NamingA principal identifier is the name that identifies a client or a service for the Kerberossystem.In Version 4, the identifier consists of three components:The principal name is unique for each client and service assigned by theKerberos Manager.The instance name used for distinct authentication is an added label for clientsand services which exist in several forms.For users, an instance can providedifferent identifiers for different privileges.For services, an instance usuallyspecifies the host name of the machine that provides this service.The realm name used to allow independently administered Kerberos sites.Theprincipal name and the instance are qualified by the realm to which theybelong, and are unique only within that realm.The realm is commonly thedomain name.In Version 4, each of the three components has a limit of 39 characters long.Dueto conventions, the period (.) is not an acceptable character.In Version 5, the identifier consists of two parts only, the realm and the remainder,which is a sequence of however many components are needed to name theprincipal.Both the realm and each component of the remainder are defined asASN.1 (Abstract Syntax Notation One, ISO standard 8824) GeneralStrings.Thisputs few restrictions on the characters available for principal identifiers.5.11.3 Kerberos Authentication ProcessIn the Kerberos system, a client that wants to contact a server for its service, firsthas to ask for a ticket from a mutually trusted third party, the KerberosAuthentication Server (KAS).This ticket is obtained as a function where one of thecomponents is a private key known only by the service and the KerberosAuthentication Server, so that the service can be confident that the information onthe ticket originates from Kerberos.The client is known to the KAS as a principalname (c).The private key (Kc) is the authentication key known only to the user andthe Kerberos Authentication Server (KAS).In this chapter, the symbol {X,Y} indicates a message containing information (ordata) X and Y.{X,Y}Kz indicates that a message that contains the data X and Y,has been enciphered using the key Kz.340 TCP/IP Tutorial and Technical Overview 5Client c Server s1 2 3 4KerberosKerberosTicketAuthenticationGrantingServer (KAS)Server (TGS)KerberosDatabase3376E\3376F4OTFigure 205.Kerberos Authentication SchemeThe authentication process consists of exchanging five messages (see Figure 205):1 Client -> KASThe client sends a message {c, tgs, n}, to the KAS, containing its identity (c), anonce (a timestamp or other means to identify this request), and requests for aticket for use with the ticket-granting server (TGS).2 KAS -> ClientThe authentication server looks up the client name (c) and the service name (theticket-granting server, tgs) in the Kerberos database, and obtains an encryption keyfor each (Kc and Ktgs).Chapter 5.TCP/IP Security Overview 341 The KAS then forms a response to send back to the client.This response containsan initial ticket Tc,tgs, which grants the client access to the requested server (theticket-granting server).Tc,tgs contains Kc,tgs, c, tgs, nonce, lifetime and some otherinformation.The KAS also generates a random encryption key Kc,tgs, called thesession key.It then encrypts this ticket using the encryption key of theticket-granting server (Ktgs).This produces what is called a sealed ticket {Tc,tgs}Ktgs.A message is then formed consisting of the sealed ticket and the TGS session keyKc,tgs.Note: In Kerberos Version 4, the message is:{Kc,tgs,n,{Tc,tgs}Ktgs}KcWhile in Kerberos Version 5, the message is of a simpler form:{Kc,tgs, n}Kc, {Tc,tgs}KtgsThis simplifies the (unnecessary) double encryption of the ticket.3 Client -> TGSUpon receiving the message, the client decrypts it using its secret key Kc which isonly known to it and the KAS.It checks to see if the nonce (n) matches thespecific request, and then caches the session key Kc,tgs for future communicationswith the TGS.The client then sends a message to the TGS.This message contains the initialticket {Tc,tgs}Ktgs, the server name (s), a nonce, and a new authenticator Accontaining a timestamp.Ac is {c, nonce}.The message is:{Ac}Kc,tgs, {Tc,tgs}Ktgs, s, n4 TGS -> ClientThe ticket-granting server (TGS) receives the above message from the client (c),and first deciphers the sealed ticket using its TGS encryption key.(This ticket wasoriginally sealed by the Kerberos authentication server in step 2 using the samekey.) From the deciphered ticket, the TGS obtains the TGS-session-key.It usesthis TGS session key to decipher the sealed authenticator.(Validity is checked bycomparing the client name both in the ticket and in the authenticator, the TGSserver name in the ticket, the network address that must be equal in the ticket, inthe authenticator, and in the received message.) Finally, it checks the current timein the authenticator to make certain the message is recent.This requires that allthe clients and servers maintain their clocks within some prescribed tolerance.TheTGS now looks up the server name from the message in the Kerberos database,and obtains the encryption key (Ks) for the specified service.The TGS forms a new random session key Kc,s for the benefit of the client (c) andthe server (s), and then creates a new ticket Tc,s containing:Kc,s, n, nonce, lifetime,It then assembles and sends a message to the client.Note: In Kerberos Version 4, the message is:{Kc,s,n,{Tc,s}Ks}Kc,tgsWhile in Kerberos Version 5, the message is of a simpler form:342 TCP/IP Tutorial and Technical Overview {Kc,s,n}Kc,tgs, {Tc,s}KsThis simplifies the (unnecessary) double encryption of the ticket.5 Client -> ServerThe client receives this message and deciphers it using the TGS session key thatonly it and the TGS share.From this message it obtains a new session key Kc,sthat it shares with the server(s) and a sealed ticket that it cannot decipher becauseit is enciphered using the server's secret key Ks.The client builds an authenticator and seals it using the new session key Kc,s.Atlast, it sends a message containing the sealed ticket and the authenticator to theserver (s) to request its service.The server (s) receives this message and first deciphers the sealed ticket using itsencryption key, which only it and KAS know.It then uses the new session keycontained in the ticket to decipher the authenticator and does the same validationprocess that was described in step 4.Once the server has validated a client, an option exists for the client to validate theserver.This prevents an intruder from impersonating the server.The client requiresthen that the server sends back a message containing the timestamp (from theclient's authenticator, with one added to the timestamp value).This message isenciphered using the session key that was passed from the client to the server.Let us summarize some of the central points in this scheme:In order for the workstation to use any end server, a ticket is required.Alltickets, other than the first ticket (also called the initial ticket) are obtained fromthe TGS.The first ticket is special; it is a ticket for the TGS itself and isobtained from the Kerberos authentication server [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • funlifepok.htw.pl
  •