07.07.2023 Views

Implementing-cryptography-using-python

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

40 Chapter 2 ■ Cryptographic Protocols and Perfect Secrecy

Alice creates an authenticator and sends it together with the Ticket Granting

Ticket and the name of the server to TGS:

A ➔ TGS: (S1, Ticket TGS , Authenticator A, TGS ) with Authenticator A, TGS = {A,

Addr A , t`A} KA, TGS

Once the TGS receives the message, it will decrypt Ticket TGS , extract the key

K A, TGS from the message, and use the key to decrypt Authenticator A, TGS . If the

name, ticket, and address of the authenticator matches, the TGS will ensure

the timestamp is still valid, check if Alice may access the service S1, and

create the following message:

TGS ➔ A: {K A, S1 }, S1, t TGS , LifetimeTicket S1 } KA, TGS with Ticket S1 = {K A, S1 , A,

Addr A , S1, t TGS , LifetimeTicket S1 } KTGS, S1

Alice decrypts the message and holds a session key for secure communication

between her and S1. She sends a message to S1 to show her ticket and a

new authenticator:

A➔ S1: (Ticket S1 , Authenticator A, S1 ) with Authenticator A,S1 = {A, Addr A , t``A} KA, S1

Once the ticket from Alice is received by Server 1, the server decrypts the

ticket with the key K TGS, S1 and shares with TGS the session key K A, S1 for secure

communication with A. Using the obtained key, the S1 checks the authenticator

and responds to A:

S1➔ A: {t``A + 1} KA, S1

Alice is able to verify that she is communicating with S1 and only S1 and the

TGS knows the key K TGS, S1 to decrypt Ticket S1 , which contains the session key

K A, S1 and so only S1 is able to decrypt Authenticator A, S1 and to answer with

t``A+1 encrypted with K A, S1 .

Multiple-Domain Kerberos

In many environments, an organization may be required to establish secure

communications with a service that is located inside another domain. If both

locations use their own Kerberos servers and user databases, then there are in

fact two different domains; in this context, we will refer to them as realms to

keep consistent with Kerberos terminology.

In an effort to avoid user duplication in both domains, Kerberos allows you

to perform an inter-realm authentication. Inter-realm authentication requires

that the Ticket Granting Servers of both domains share a secret key K TGS1, TGS2 .

The basic concept that is presented is that the TGS service of another realm

(domain) can be viewed as a normal server for which the TGS of the local realm

can hand out a ticket.

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

Saved successfully!

Ooh no, something went wrong!