16
Kerberos Chapter 10 Real world security protocols 1

Kerberos Chapter 10 Real world security protocols 1

Embed Size (px)

Citation preview

Page 1: Kerberos Chapter 10 Real world security protocols 1

Kerberos

Chapter 10 Real world security protocols 1

Page 2: Kerberos Chapter 10 Real world security protocols 1

Kerberos

In Greek mythology, Kerberos is 3-headed dog that guards entrance to Hades “Wouldn’t it make more sense to guard the

exit?” In security, Kerberos is an authentication

system based on symmetric key crypto Originated at MIT Based on work by Needham and Schroeder Relies on a Trusted Third Party (TTP)

Chapter 10 Real world security protocols 2

Page 3: Kerberos Chapter 10 Real world security protocols 1

Motivation for Kerberos

Authentication using public keys N users N key pairs

Authentication using symmetric keys N users requires about N2 keys

Symmetric key case does not scale! Kerberos based on symmetric keys but

only requires N keys for N users But must rely on TTP Advantage is that no PKI is required

Chapter 10 Real world security protocols 3

Page 4: Kerberos Chapter 10 Real world security protocols 1

Kerberos KDC

Kerberos Key Distribution Center or KDC Acts as a TTP TTP must not be compromised! KDC shares symmetric key KA with Alice, key

KB with Bob, key KC with Carol, etc.

Master key KKDC known only to KDC KDC enables authentication and session keys Keys for confidentiality and integrity In practice, the crypto algorithm used is DES

Chapter 10 Real world security protocols 4

Page 5: Kerberos Chapter 10 Real world security protocols 1

Kerberos Tickets

KDC issues a ticket containing info needed to access a network resource

KDC also issues ticket-granting tickets or TGTs that are used to obtain tickets

Each TGT contains Session key User’s ID Expiration time

Every TGT is encrypted with KKDC TGT can only be read by the KDC

Chapter 10 Real world security protocols 5

Page 6: Kerberos Chapter 10 Real world security protocols 1

Kerberized Login

Alice enters her password Alice’s workstation

Derives KA from Alice’s password

Uses KA to get TGT for Alice from the KDC

Alice can then use her TGT (credentials) to securely access network resources

Plus: Security is transparent to Alice Minus: KDC must be secure --- it’s

trusted!

Chapter 10 Real world security protocols 6

Page 7: Kerberos Chapter 10 Real world security protocols 1

Kerberized Login

Kerberos used for authentication Key KA derived from Alice’s password KDC creates session key SA

Workstation decrypts SA, TGT, forgets KA

TGT = E(“Alice”, SA, KKDC)

Chapter 10 Real world security protocols

Alice

Alice’sAlice wants

password a TGT

E(SA,TGT, KA)

KDCComputer

7

Page 8: Kerberos Chapter 10 Real world security protocols 1

Alice Requests Ticket to Bob

Once Alice’s computer receives the TGT, it can then use the TGT to request to network resource

For example, spse Alice wants to talk to Bob

Alice’s computer presents the TGT to KDC, along with an “authenticator” that is design to avoid a replay

It responds with a “ticket to Bob” Then Alice’ computer can use the ticket to

Bob to comm with Bob via his computer Chapter 10 Real world security protocols 8

Page 9: Kerberos Chapter 10 Real world security protocols 1

Alice Requests Ticket to Bob

REQUEST = (TGT, authenticator) whereauthenticator = E(timestamp, SA)

REPLY = E(“Bob”, KAB, ticket to Bob, SA) ticket to Bob = E(“Alice”, KAB, KB) KDC gets SA from TGT to verify timestamp

Chapter 10 Real world security protocols

Alice

Talk to Bob

I want totalk to Bob

REQUEST

REPLY

KDCComputer

9

Page 10: Kerberos Chapter 10 Real world security protocols 1

Alice Uses Ticket to Bob

ticket to Bob = E(“Alice”, KAB, KB) authenticator = E(timestamp, KAB) Bob decrypts “ticket to Bob” to get KAB which he

then uses to verify timestamp

Chapter 10 Real world security protocols

ticket to Bob, authenticator

E(timestamp + 1,KAB)

Alice’s Computer

Bob

10

Page 11: Kerberos Chapter 10 Real world security protocols 1

Kerberos

Session key SA used for authentication Can also be used for confidentiality/integrity

Timestamps used for mutual authentication

Recall that timestamps reduce number of messages Acts like a nonce that is known to both sides Note: time is a security-critical parameter!

Chapter 10 Real world security protocols 11

Page 12: Kerberos Chapter 10 Real world security protocols 1

Kerberos Security: Questions

1. When Alice logs in, KDC sends E(SA,TGT,KA) where TGT = E(“Alice”, SA, KKDC)

Q: Why is TGT encrypted with KA?

A: Extra work and no added security!

2. Q: In Alice’s Kerberized login to Bob, why can Alice remain anonymous?A: ticket to Bob = E(“Alice”, KAB, KB)

Chapter 10 Real world security protocols 12

Page 13: Kerberos Chapter 10 Real world security protocols 1

Kerberos Security: Questions

3. Q: Why is “ticket to Bob” sent to Alice?A: If the “ticket to Bob” arrives at Bob before Alice initiates contact with Bob, the Bob would need to maintain the state, that is, he would have to remember the key KAB and it is for Alice and so on.

4. Q: Where is replay prevention in Kerberos? A: timestamp

Chapter 10 Real world security protocols 13

Page 14: Kerberos Chapter 10 Real world security protocols 1

Kerberos Design Alternatives

1. Kerberos could have Alice’s workstation remember password and use that for authentication

Then no KDC required, but scaling issue will problem

session key SA used for authentication

Hard to protect password on workstation Every computer on the network would

become TTP

Chapter 10 Real world security protocols 14

Page 15: Kerberos Chapter 10 Real world security protocols 1

Kerberos Design Alternatives

2. Could have KDC remember session key instead of putting it in a TGT

Then no need for TGTs But stateless KDC is big feature of

Kerberos

Chapter 10 Real world security protocols 15

Page 16: Kerberos Chapter 10 Real world security protocols 1

Kerberos Keys

In Kerberos, KA = h(Alice’s password) Could instead generate random KA and

Compute Kh = h(Alice’s password) And workstation stores E(KA, Kh)

Then KA need not change (on workstation or KDC) when Alice changes her password

But E(KA, Kh) subject to password guessing This alternative approach is often used in

applications (but not in Kerberos)

Chapter 10 Real world security protocols 16