Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 25

Needham-Schroeder Protocol

Authentication & Key Establishment

CS 470
Introduction to Applied Cryptography
Instructor: Ali Aydin Selcuk

CS470, A.Selcuk Needham-Schroeder 1


Key Establishment and Authentication
with KDC
A simple protocol:

Alice, Bob
KB{Alice, KAB}
KA{Bob, KAB} KDC

b
Bo
Alic
e

Problem: Potential delayed key delivery to Bob.


(besides others)

CS470, A.Selcuk Needham-Schroeder 2


Another simple protocol:

Alice, Bob

KA{Bob, KAB}, ticketB KDC


where ticketB= KB{Alice, KAB}

b
Bo
Alic
e

Alice, ticketB

Problems:
• No freshness guarantee for KAB
• Alice & Bob need to authenticate

CS470, A.Selcuk Needham-Schroeder 3


Needham-Schroeder Protocol

N1, Alice, Bob

KA{N1, Bob, KAB, ticketB} KDC


where ticketB= KB{KAB, Alice}

ticketB, KAB{N2}

b
Bo
Alic
e

KAB{N2-1, N3}

KAB{N3-1}

CS470, A.Selcuk Needham-Schroeder 4


Needham-Schroeder Protocol

• N1: for authenticating KDC & freshness of KAB.


• Ticket is double-encrypted. (unnecessary)
• N2, N3: for key confirmation, mutual authentication
• Why are the challenges N2, N3 encrypted?
• Problem: Bob doesn’t have freshness guarantee
for KAB (i.e., can’t detect replays).

CS470, A.Selcuk Needham-Schroeder 5


Messages should be integrity protected.
Otherwise, cut-and-paste reflection attacks possible:

replay ticketB, KAB{N2}

KAB{N2-1, N3}
Trud

b
Bo
y

KAB{N3-1}

ticketB, KAB{N3}
Trud

b
Bo
KAB{N3-1, N4}
y

CS470, A.Selcuk Needham-Schroeder 6


Expanded Needham-Schroeder Protocol
hello

KB{NB}

N1, Alice, Bob, KB{NB}

KA{N1, Bob, KAB, ticketB} KDC


where ticketB= KB{KAB, Alice, NB}

b
Bo
Alic
e

ticketB, KAB{N2}

KAB{N2-1, N3}

KAB{N3-1}

CS470, A.Selcuk Needham-Schroeder 7


Otway-Rees Protocol

NC, “Alice”, “Bob”, KA{NA, NC, “Alice”, “Bob”}

KA{NA, NC, “Alice”, “Bob”}


KB{NB, NC, “Alice”, “Bob”}
KDC
NC, KA{NA, KAB}, KB{NB, KAB}

b
Bo
Alic
e

KA{NA, KAB}

KAB{anything recognizable}

CS470, A.Selcuk Needham-Schroeder 8


Otway-Rees Protocol

• NA, NB: Provides freshness guarantee for A & B,


as well as authentication of KDC.

• NC: Binds Alice, Bob, and the session. Also


authenticates Bob.

• Having separate NA & NC is redundant for security,


though it’s good for functional separation of nonces
and uniformity of KDC messages.

CS470, A.Selcuk Needham-Schroeder 9


Basic Kerboros Protocol
N1, Alice, Bob

KA{N1, Bob, KAB, ticketB} KDC


where ticketB=
KB{KAB, Alice, expiration time}

b
Bo
Alic
e

ticketB, KAB{T}

KAB{T+1}

T: timestamp

CS470, A.Selcuk Needham-Schroeder 10


KERBEROS

LtCdr Samit Mehra (05IT 6018)


Kerberos
• DEVELOPED AT MIT IN THE MID 1980s
• Kerberos is a network authentication protocol. It
is designed to provide strong authentication for
client/server applications by using secret-key
cryptography.
• Kerberos acts as an extra layer of security for
any application which utilizes Kerberos
• Contains its own database of users and
passwords
• Transparently authenticates its users to save
time from redundant password entries
• IT IS FAST AND ALLOWS REAL TIME
AUTHENTICATION
WHY KERBEROS?
• AUTHENTICATION IS A KEY FEATURE IN A MULTI
USER ENVIRONMENT.

• SENDING USERNAMES AND PASSWORDS IN THE


CLEAR JEOPARDIZES THE SECURITY OF THE
NETWORK.

• EACH TIME A PASSWORD IS SENT IN THE CLEAR,


THERE IS A CHANCE FOR INTERCEPTION.
Ticket Server
Granting Server
Server
Server
Server

Kerberos
Database Workstation

Authenticatio
n
Server
Kerberos Key Distribution Service
Kerberos 4 Overview
TICKET CONTENTS

• CLIENT NAME (USER LOGIN


NAME)
• SERVER NAME
• CLIENT HOST NETWORK
ADDRESS
• SESSION KEY FOR
CLIENT/SERVER
• TICKET LIFETIME
• CREATION TIMESTAMP
SESSION KEY

• RANDOM NUMBER THAT IS SPECIFIC TO A


SESSION.

• SESSION KEY IS USED TO SEAL CLIENT


REQUESTS TO SERVER.

• SESSION KEY CAN BE USED TO SEAL


RESPONSES (APPLICATION SPECIFIC
USAGE).
Kerberos 4 Overview
Kerberos Realms
• a Kerberos environment consists of:
– a Kerberos server (AS + TGS)
– a number of clients, all registered with Kerberos
server
– application servers, sharing keys with Kerberos
server
• this is termed a realm
– typically a single administrative domain
• if there are multiple realms, their Kerberos
servers must share keys and trust each other
– N realms means N.(N-1)/2 secure interrealm keys
Inter-realm
authentication
Hierarchy/Chain of Realms

21
Kerberos Version 5
• developed in mid 1990’s
• specified by IETF as RFC 4120
• provides improvements over v4
– efforts to make Kerberos general-purpose
• encryption algorithm: v4 was only DES, v5 provides
flexibility
• network protocol addresses: v4 was only IP addresses,
v5 provides flexibility
• ticket lifetime: v4 was max. 1280 minutes due to length
of the lifetime field, v5 supports arbitrary lifetime
• authentication forwarding: In practice a server may
access another server on behalf of a client during a
transaction. v4 does not, but v5 allows this.
KERBEROS SUMMARY

• EVERY SERVICE REQUEST NEEDS A


TICKET.
• TICKETS COME FROM THE TGS (EXCEPT
THE TICKET FOR THE TGS!).
• WORKSTATIONS CANNOT UNDERSTAND
TICKETS, THEY ARE ENCRYPTED USING
THE SERVER KEY.
• EVERY TICKET HAS AN ASSOCIATED
SESSION KEY.
• TICKETS ARE REUSABLE.
KERBEROS SUMMARY (cont.)

• TICKETS HAVE A FINITE LIFETIME.


• AUTHENTICATORS ARE ONLY USED ONCE
(NEW CONNECTION TO A SERVER).
• AUTHENTICATORS EXPIRE FAST !
• SERVER MAINTAINS LIST OF
AUTHENTICATORS (PREVENT STOLEN
AUTHENTICATORS).
• THERE IS A LOT MORE TO KERBEROS!!!
WEAKNESSES AND SOLUTIONS

IF TGT STOLEN, CAN BE ONLY A PROBLEM


USED TO ACCESS UNTIL TICKET
NETWORK SERVICES. EXPIRES IN A FEW
HOURS.

SUBJECT TO DICTIONARY TIMESTAMPS


ATTACK. REQUIRE HACKER
TO GUESS IN 5
MINUTES.

VERY BAD IF PHYSICAL


AUTHENTICATION SERVER PROTECTION FOR
COMPROMISED. THE SERVER.

You might also like