Showing posts with label Kerberos Version 4. Show all posts
Showing posts with label Kerberos Version 4. Show all posts

Wednesday, November 10, 2021

Kerberos Version 4 Message Exchange

     Kerberos Version 4 Message Exchange Scenario

 

Figure : Kerberos Version 4 Message Exchange Scenario


Step – 1: The client sends a message to the AS requesting access to the TGS. It includes a timestamp, so that the AS knows that the message is timely.

Step – 2: The AS responds with a message, encrypted with a key derived from the user’s password (KC), that contains the ticket. The encrypted message also contains a copy of the session key, KC, tgs, where the subscripts indicate that this is a session key for C and TGS. Because this session key is inside the message encrypted with KC, only the user’s client can read it. The same session key is included in the ticket, which can be read only by the TGS. Thus, the session key has been securely delivered to both C and the TGS.

Step – 3: C sends TGS a message that includes the ticket plus the ID of the requested service. In addition, C transmits an authenticator, which includes the ID and address of C’s user and a timestamp. The TGS uses the session key to decrypt the authenticator. The TGS can then check the name and address from the authenticator with that of the ticket and with the network address of the incoming message. If all match, then the TGS is assured that the sender of the ticket is indeed the ticket’s real owner.

Step – 4: Reply message from TGS is encrypted with KC, tgs and includes a session key to be shared between C and the server V, the ID of V, and the timestamp of the ticket. The ticket itself includes the same session key.

Step – 5: When C sends ticket and an authenticator. The server can decrypt the ticket, recover the session key, and decrypt the authenticator.

Step – 6: The server returns the value of the timestamp from the authenticator, incremented by 1, and encrypted in the session key. C can decrypt this message to recover the incremented timestamp. Because the message was encrypted by the session key, C is assured that it could have been created only by V. The contents of the message assure C that this is not a replay of an old reply.


Summery of Kerberos version 4 message exchange scenario


To learn more about Kerberos Version 4 message exchange, Click here

   Watch more videos click here.

Kerberos Version 4 | Kerberos version 4 using authentication and ticket granting server

What is Kerberos?

Kerberos: Kerberos is a network authentication protocol that works on the basis of tickets to allow nodes communicating over a non-secure network to prove their identity to one another in a secure manner.

Different Version of Kerberos Protocols

Using Authentication Server (AS)

 

Step – 1: In this scenario, the user logs on to a workstation and requests access to server V. The client module C in the user’s workstation requests the user’s password and then sends a message to the AS that includes the user’s ID, the server’s ID, and the user’s password. The AS checks its database to see if the user has supplied the proper password for this user ID and whether this user is permitted access to server V. If both tests are passed, the AS accepts the user as authentic and must now convince the server that this user is authentic.

Step – 2: To do so, the AS creates a ticket that contains the user’s ID and network address and the server’s ID. This ticket is encrypted using the secret key shared by the AS and this server. This ticket is then sent back to C. Because the ticket is encrypted, it cannot be altered by C or by an opponent.

Step – 3: With this ticket, C can now apply to V (Server) for service. C sends a message to V containing C’s ID and the ticket. V decrypts the ticket and verifies that the user ID in the ticket is the same as the unencrypted user ID in the message. If these two matches, the server considers the user authenticated and grants the requested service.

Problems:

Problem – 1: Under this scheme, a user would need a new ticket for every different service. If a user wants to access a print server, a mail server, a file server, and so on, the first instance of each access would require a new ticket.

Problem – 2: In this scheme, password is transmitted without encryption. An eavesdropper could capture the password and use any service accessible to the victim.

 

Using Ticket Granting Server (TGS)

Step – 1: The client requests a ticket-granting ticket on behalf of the user by sending its user’s ID to the AS, together with the TGS ID, indicating a request to use the TGS service.

Step – 2: The AS responds with a ticket that is encrypted with a key that is derived from the user’s password (KC), which is already stored at the AS. When this response arrives at the client, the client prompts the user for his or her password, generates the key, and attempts to decrypt the incoming message. If the correct password is supplied, the ticket is successfully recovered. Thus, we have used the password to obtain credentials from Kerberos without having to transmit the password in plaintext. Here, the opponent may be able to reuse the ticket to spoof the TGS. To counter this, the ticket includes a timestamp, indicating the date and time at which the ticket was issued, and a lifetime, indicating the length of time for which the ticket is valid.

Step – 3: The client requests a service-granting ticket on behalf of the user. For this purpose, the client transmits a message to the TGS containing the user’s ID, the ID of the desired service, and the ticket-granting ticket.

Step – 4: The TGS decrypts the incoming ticket using Ktgs and verifies the success of the decryption by the presence of its ID. It checks to make sure that the lifetime has not expired. Then it compares the user ID and network address with the incoming information to authenticate the user. If the user is permitted access to the server V, the TGS issues a ticket to grant access to the requested service.

Step – 5: The client requests access to a service on behalf of the user. For this purpose, the client transmits a message to the server containing the user’s ID and the service-granting ticket. The server authenticates by using the contents of the ticket.

 

Problems

Problem – 1: A network service (the TGS or an application service) must be able to prove that the person using a ticket is the same person to whom that ticket was issued.

Problem – 2: There may be a requirement for servers to authenticate themselves to users. Without such authentication, the false server would then be in a position to act as a real server and capture any information from the user and deny the true service to the user.

Solution

AS provides both the client and the TGS with a secret piece of information in a secure manner. Then the client can prove its identity to the TGS by revealing the secret information—again in a secure manner.  An efficient way of accomplishing this is to use an encryption key as the secure information; this is referred to as a session key in Kerberos.

To learn more about Kerberos Version 4, Click here

   Watch more videos click here.