Sunday, May 15, 2022

Kerberos Version 5 | Need of Kerberos Version 5 | Message Exchange in Kerberos Version 5

     Kerberos Version 5 | Need of Kerberos Version 5 | Message Exchange in Version 5

What is 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


Why Kerberos Version 5.0?

Version 5 is intended to address the limitations of version 4 in two areas: environmental shortcomings and technical deficiencies.

Environmental shortcomings: Encryption System Dependence, Internet Protocol, Dependence, Ticket Lifetime, Authentication Forwarding, Inter Realm Authentication. All the shortcomings are explained as below:

Encryption system dependence

Version 4 requires the use of DES. Export restriction on DES as well as doubts about the strength of DES were thus of concern. In version 5, ciphertext is tagged with an encryption-type identifier so that any encryption technique may be used.

Internet protocol dependence

Version 4 requires the use of Internet Protocol (IP) addresses. Other address types, such as the ISO network address, are not accommodated. Version 5 network addresses are tagged with type and length, allowing any network address type to be used.

Ticket lifetime

Lifetime values in version 4 are encoded in an 8-bit quantity in units of five minutes. Thus, the maximum lifetime that can be expressed is 28 * 5 = 1280 minutes This may be inadequate for some applications. In version 5, tickets include an explicit start time and end time, allowing tickets with arbitrary lifetimes.

Authentication forwarding

Version 4 does not allow credentials issued to one client to be forwarded to some other host and used by some other client. This capability would enable a client to access a server and have that server access another server on behalf of the client. Version 5 provides this capability.

Figure: Authentication Forwarding

Inter Realm Authentication

In version 4, interoperability among realms requires many Kerberos - to - Kerberos relationships but version 5 supports a method that requires fewer relationships.

Figure: Inter Ralm Authentication

Technical Deficiencies: PCBC Encryption, Session Keys, Password attack. All technical deficiencies are explained as below:

PCBC encryption:

Encryption in version 4 makes use of a non-standard mode of DES known as propagating cipher block chaining (PCBC). It has been demonstrated that this mode is vulnerable to an attack involving the interchange of ciphertext blocks. Version 5 allows the standard CBC mode to be used for encryption.

Figure: PCBC Encryption
Figure: CBC Encryption

Session keys:

Each ticket includes a session key used for encrypting messages. However, because the same ticket may be used repeatedly, replay attack is possible. In version 5, it is possible for a client and server to negotiate a sub- session key, which is to be used only for that one connection.

Figure: Session Key & Sub Session key

Password attack:

Both versions are vulnerable to a password attack. The message from the AS to the client includes material encrypted with a key based on the client's password. An opponent can capture this message and attempt to decrypt it by trying various passwords. Thus, the opponent can discover the client's password and may subsequently use it to gain authentication credentials from Kerberos.


Kerberos V 5.0 Message Exchange

Message-1: First, consider the authentication service exchange. Message (1) is a client request for a ticket-granting ticket. As before, it includes the ID of the user and the TGS. The following new elements are added:

Realm: Indicates realm of user

Options: Used to request that certain flags be set in the returned ticket

Times: Used by the client to request the following time settings in the ticket:

from: the desired start time for the requested ticket

till: the requested expiration time for the requested ticket

rtime: requested renew-till time

Nonce: A random value to be repeated in message (2) to assure that the response is fresh and has not been replayed by an opponent

Message-2: Message (2) returns a ticket-granting ticket, identifying information for the client, and a block encrypted using the encryption key based on the user’s password. This block includes the session key to be used between the client and the TGS, times specified in message (1), the nonce from message (1), and TGS identifying information. The ticket itself includes the session key, identifying information for the client, the requested time values, and flags that reflect the status of this ticket and the requested options. These flags introduce significant new functionality to version 5. For now, we defer a discussion of these flags and concentrate on the overall structure of the version 5 protocol.

The following flags are used in Kerberos Version 5 message exchange:


Message-3: Let us now compare the ticket-granting service exchange for versions 4 and5. We see that message (3) for both versions include an authenticator, a ticket, and the name of the requested service. In addition, version 5 includes requested times and options for the ticket and a nonce—all with functions similar to those of message (1). The authenticator itself is essentially the same as the one used in version 4.

Message-4: Message (4) has the same structure as message (2). It returns a ticket plus information needed by the client, with the information encrypted using the session key now shared by the client and the TGS.


Message-5: Finally, for the client/server authentication exchange, several new features appear in version 5. In message (5), the client may request as an option that mutual authentication is required. The authenticator includes several new fields:

Subkey: The client’s choice for an encryption key to be used to protect this specific application session. If this field is omitted, the session key from the ticket (Kc,v) is used.

Sequence number: starting sequence number to be used by the server for messages sent to the client during this session. Messages may be sequence numbered to detect replays.

Message-6: If mutual authentication is required, the server responds with message (6). This message includes the timestamp from the authenticator. Note that in version 4, the timestamp was incremented by one. This is not necessary in version 5, because the nature of the format of messages is such that it is not possible for an opponent to create message (6) without knowledge of the appropriate encryption keys. The subkey field, if present, overrides the subkey field, if present, in message (5). The optional sequence number field specifies the starting sequence number to be used by the client.


To learn more about Socket Programming Functions, Click here

Watch more videos click here.

No comments:

Post a Comment