Title: Chapter 9: Key Management
1Chapter 9 Key Management
- Key exchange
- Session vs. interchange keys
- Classical, public key methods
- Cryptographic key infrastructure
- Certificates
- Key storage
- Key revocation
- Digital signatures
2Key Establishment Protocols
- Common implementation of secure sessions
establish a secret key known only to two parties - Challenge how to establish a secret key using
only public information - Even if the two parties share a long-term secret,
a fresh key should be created for each session a
session key ? why ? - Long-term secrets are valuable want to use them
as sparingly as possible to limit exposure and
the damage if the key is compromised
3Other Benefit of Using Session Key
- Prevents some attacks e.g. replay attack,
- forward search attack
- Alice will send Bob message that is either BUY
or SELL. - Attacker Eve computes possible ciphertexts
- BUY EB and SELL EB.
- Eve intercepts enciphered message, compares, and
gets plaintext - More replay attack example in the protocol
design
4Session Key and Interchange Key
- Alice wants to send a message m to Bob, Assume
- public key encryption
- Alice generates a random cryptographic key ks and
uses it to encipher m - To be used for this message only, is called a
session key - Alice enciphers ks with Bobs public key EB
- EB enciphers all session keys Alice uses to
communicate with Bob, is called an interchange
key - Alice sends m ks ks EB
5Key Establishment Techniques
- Classical Cryptographic Key Exchange
- Every party shares a pairwise secret key with
trusted key distribution center (KDC) - KDC creates a new random session key and then
distributes it. e.g. Kerberos - Public-key Cryptography Key Exchange
- Diffie-Hellman authenticated with signatures
- e.g. IKE (Internet Key Exchange)
- One party creates a random key, sends it
encrypted under the other partys public key - e.g. TLS (Transport Layer Security)
6Assumption
- Key cannot be sent in clear
- Attacker can listen in
- Key can be sent enciphered, or derived from
exchanged data plus data not known to an
eavesdropper - Alice, Bob may trust a third party a Trust
Server - All cryptosystems, protocols publicly known
- Only secret data is the keys, ancillary
information known only to Alice and Bob needed to
derive keys - Anything transmitted is assumed known to attacker
7Notation
- X ? Y Z W kX,Y
- X sends Y the message produced by concatenating
Z and W enciphered by key kX,Y (shared by X and
Y) - A ? T Z kA W kA,T
- A sends T a message consisting of the
concatenation of Z enciphered using kA (As key),
and W enciphered using kA,T (the key shared by A
and T) - r1, r2 are nonces (nonrepeating random numbers)
8Classical Cryptographic Key Exchange
- Bootstrap problem
- Alice cant send key to Bob in the clear!
- Assume a trusted third party, Cathy
- Alice and Cathy share secret key kA
- Bob and Cathy share secret key kB
- Use this to establish a shared session key
between Alice and Bob ks
9A Simple Protocol
request for session key to Bob kA
Alice
Cathy
1)
ks kA ks kB
Alice
2)
Cathy
ks kB
Alice
Bob
3)
- What will happen next?
- Is there any potential problem?
10Problem with the Simple Protocol
- Bob does NOT know to whom he is talking!
- Replay attack
- Solution? ? Protocols must provide authentication
ks kB
Eve
Bob
3)
deposit 1000 to Eves account ks
Eve
Bob
4)
11Protocol 2 Needham-Schroeder
Alice Bob r1 kA
Alice
Cathy
1)
Alice Bob r1 ks Alice ks kB
kA
Alice
Cathy
2)
Alice ks kB
Alice
Bob
3)
r2 ks
Alice
Bob
4)
r2 1 ks
Alice
Bob
5)
Is there any potential problem?
12Problem with Needham-Schroeder Protocol
- Suppose Eve can obtain/break a session key
(Secure sever generates Ks pseudorandomly) How
does that affect protocol? - ? Eve can impersonate Alice, shown below
- ? Solution assure Ks is fresh for each session
Alice ks kB
Eve
Bob
r2 ks
Eve
Bob
r2 1 ks
Eve
Bob
13Denning-Sacco Modification
Alice Bob r1 kA
Alice
Cathy
1)
Alice Bob r1 ks Alice T ks
kB kA
Alice
Cathy
2)
Alice T ks kB
Alice
Bob
3)
r2 ks
Alice
Bob
4)
r2 1 ks
Alice
Bob
5)
14Problem with Denning-Sacco Protocol
- Weakness if clocks on both parties not
synchronized, may either reject valid messages or
accept replays - Parties with either slow / fast clocks vulnerable
to replay - Solution ?
- ? Does not use timestamps (Otway-Rees Protocol)
15Otway-Rees Protocol
- Does not use timestamps
- Not vulnerable to the problems that
Denning-Sacco modification has - Basic idea Uses an integer n to associate all
messages with a particular exchange - (a serial number)
16Otway-Rees Protocol
n Alice Bob r1 n Alice Bob
kA
Alice
Bob
1)
n Alice Bob r1 n Alice Bob
kA r2 n Alice Bob kB
Cathy
Bob
2)
n r1 ks kA r2 ks kB
Cathy
Bob
3)
n r1 ks kA
Alice
Bob
4)
17How Otway-Rees Protocol Handles Replay Attack
- If Eve acquires an old ks and message in msg 3)
- n r1 ks kA r2 ks kB
- Eve forwards appropriate part to Alice
- Alice rejects, since no ongoing key exchange
with Bob with series number n - The only way Eve succeed is she acquires Ks for
an ongoing session.
18In Practice Kerberos System
- Kerberos is an authentication system based on
Needham-Schroeder with Denning-Sacco modification - e.g. Alice wants to use a server S (say printing
a file) - Alice authenticates herself to the Kerberos
system - Alice obtain a ticket to use Server S
- Separate authentication user ? the ticket issuer
- and the vouching of identity ? Server S
19Idea
- Step 1 User u authenticates to Kerberos server
- Obtains ticket Tu,TGS for ticket granting service
(TGS) - Step 2 User u wants to use service s
- User sends authenticator Au and ticket Tu,TGS to
TGS asking for ticket for service - TGS sends ticket Tu,s to user
- User sends Au and Tu,s to server as request to
use s
20Ticket
- Credential saying issuer has identified ticket
requester - e.g. A ticket issued to user u for service s
- Tu,s s u us address valid time
ku,s ks - ku,s is session key for user and service
- Valid time is interval for which ticket valid
- us address may be IP address
- ks is key that s shared with the authentication
server
21Authenticator
- Credential containing identity of sender of
ticket - to confirm sender is entity to which ticket was
issued - e.g. authenticator user u generates for service
s - Au,s u generation time kt ku,s
- kt is alternate session key
- Generation time is when authenticator generated
- Note more fields, not relevant here
22Kerberos Protocol
user TGS
user
Cathy
1)
ku,TGS ku Tu,TGS
Cathy
user
2)
service Au,TGS Tu,TGS
user
TGS
3)
user ku,s ku,TGS Tu,s
user
TGS
4)
Au,s Tu,s
user
service
5)
t 1 ku,s
user
service
6)
23Problems of Kerberos
- Relies on synchronized clocks
- If not synchronized and old tickets,
authenticators not cached, replay is possible - Tickets have some fixed fields
- Dictionary attacks possible
- Kerberos 4 session keys are weak (had much less
than 56 bits of randomness)