Key Exchange Protocols: J. Mitchell
Key Exchange Protocols: J. Mitchell
J. Mitchell
Next few lectures
Today 1/17
• Brief cryptography background
• Key exchange protocols and properties
Thursday 1/19
• Wireless security: 802.11i
• Choose your project partner
Next Tues 1/24
• Password authentication protocols
Next Thurs 1/26
• Contract-signing protocols
Project presentation #1 2/2
One idea
• If enemy intercepts ciphertext, cannot recover
plaintext
Issues in making this precise
• What else might your enemy know?
– The kind of encryption function you are using
– Some plaintext-ciphertext pairs from last year
– Some information about how you choose keys
• What do we mean by “cannot recover plaintext” ?
– Ciphertext contains no information about plaintext
– No efficient computation could make a reasonable guess
– Cannot use ciphertext for any nontrivial purpose
Passive Adversary
m0, m1
E(mi)
Challenger Attacker
guess 0 or 1
Chosen ciphertext CCA1
c
D(c)
m0, m1
Challenger E(mi) Attacker
guess 0 or 1
Chosen ciphertext CCA2
c
D(c)
m0, m1
E(mi)
Challenger Attacker
c E(mi)
D(c)
guess 0 or 1
Public-key Cryptosystem
Different keys to encrypt and decrypt
• encrypt(key, message)
key pair
g
Applications of one-way hash
Password files (one way)
true if x = Sign(Key-1, m)
• Verify(Key, x, m) =
false otherwise
Resists forgery
• Cannot compute Sign(Key-1, m) from m and Key
• Resists existential forgery:
given Key, cannot produce Sign(Key-1, m)
for any random or otherwise arbitrary m
Basic Concepts in Cryptography
Encryption scheme:
• functions to encrypt, decrypt data
• key generation algorithm
Secret key vs. public key
• Public key: publishing key does not reveal key-1
• Secret key: more efficient, generally key = key-1
Hash function, MAC
• Map input to short hash; ideally, no collisions
• MAC (keyed hash) used for message integrity
Signature scheme
• Functions to sign data, verify signature
Key Management
Out of band
• Can set up some keys this way (Kerberos)
Public-key infrastructure (PKI)
• Leverage small # of public signing keys
Protocols for session keys
• Generate short-lived session key
• Avoid extended use of important secret
• Don’t use same key for encryption and signing
• Forward secrecy
KeyCenter
Shared
Client symmetric
key Ks
Server
Key Center generates session key Kcs and
distributes using shared long-term keys
Public-Key Infrastructure
Known public signature verification key Ka
Certificate
Certificate
Sign(Ka, Ks)
Authority
Ks
A gb mod p
B
ga mod p
A gb mod p B
Authentication?
Secrecy?
Replay attack
Forward secrecy?
Denial of service?
Identity protection?
IKE subprotocol from IPSEC
m1
A, (ga mod p)
Main mode
• Authentication by pre-shared keys
• Auth with digital signatures
• Auth with public-key encryption
• Auth with revised public-key encryption
Quick mode
• Compress number of messages
• Also four authentication options
Aug 2001 Position Statement
In the several years since the standardization of
the IPSEC protocols (ESP, AH, and ISAKMP/IKE),
… several security problems…, most notably IKE.
Formal and semi-formal analyses by Meadows,
Schneier et al, and Simpson, have shown … security
problems in IKE stem directly from its complexity.
It seems … only a matter of time before serious
*implementation* problems become apparent, again
due to the complex nature of the protocol, and the
complex implementation that must surely follow.
The Security Area Directors have asked the
IPSEC working group to come up with a
replacement for IKE.
How to study complex protocol
General Problem in Security
Divide-and-conquer is fundamental
• Decompose system requirements into parts
• Develop independent software modules
• Combine modules to produce required system
Common belief:
• Security properties do not compose
Protocol P1
A B : {message}KB
A B : KA-1
Protocol P2
B A : {message’}KA
B A : KB-1
cookie
STS0 STS0H
distribute
certificates
open
responder
STSa STSaH JFK0
m=gx, n=gy
k=gxy
protect
identities
symmetric
hash
RFK
Example
IV
No apparent pattern