04-Key Exchange
04-Key Exchange
J. Mitchell
Next few lectures
Today 1/17
• Some possible projects
• Key exchange protocols and properties
Tuesday 1/19
• Contract-signing protocols
• Choose project partner, topic?
Next Thurs 1/24
• Wireless security: 802.11i
• Homework #1 due
Tuesday 1/29
• Probabilistic model checking
Project presentation #1 1/31
• One page, 1-2 slides on your project topic
Course projects
Choose a subject Choose a tool
Network protocol Murphi
• Wired networking (VoIP?) • Standard finite-state tool
• Wireless PRISM
• Mobility • probabilistic checker
Security system MOCHA
• Tamper-proof chip • Games, temporal logic
• “Trusted computing” Constraint solvers
Privacy, security policy Avispa tool set
• HIPAA Prolog
• GLBA Isabelle
• … • Automated theorem proving
Some project topics
Add timestamps to Kerberos
Group key handshake from 802.11i
IPv6 binding update (already taken?)
802.1af, DKIM, …
TCG protocols register TPM to CA, …
HIPAA, other privacy laws, GLBA, ...
Voting machine, voting procedure
• election board “programs” election, votes
cast, counted, possibly recounted …
Send email or talk with us about choosing a project
Process
Choose your project partner
• You can work alone, or with another person
Chose a subject for your project
• Can be something already familiar
• Project presentation #1 at this point!
Formulate an “abstraction” of system
• Separate relevant and irrelevant details
• Identify security properties of interest
Choose a tool and method
Complete your study. Success!
• Clear explanation of security goals
• Possible bugs or insecure configurations
• Identify proper, improper use
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
} } Kc
{Kcs Ks
Kc s,
{ Shared
Client symmetri
{Kc c key Ks
s}
Ks {m
sg
}
Kcs
Server
Key Center generates session key Kcs and
distributes using shared long-term keys
Key Exchange
Parties may have initial information
Generate and agree on session key
• Authentication – know ID of other party
• Secrecy – key not known to any others
• Avoid replay attack
• Forward secrecy
• Avoid denial of service
• Identity protection – disclosure to others
• Other properties you can think of???
Diffie-Hellman Key Exchange
Assume finite group G = S,
• Generator g so every xS is x = gn
• Example: integers modulo prime p
Protocol
ga mod p
A B
gb mod p
Alice, Bob share gab mod p not known to
anyone else
Diffie-Hellman Key Exchange
ga mod p
A B
gb mod p
Authentication?
Secrecy?
Replay attack
Forward secrecy?
Denial of service?
Identity protection?
IPSec: Network Layer
Security
Authentication Header (AH)
• Access control and authenticate data origins
• replay protection
• No confidentiality
Encapsulated Secure Payload (ESP)
• Encryption and/or authentication
Internet Key Management (IKE)
• Determine and distribute secret keys
• Oakley + ISAKMP
• Algorithm independent
Security policy database (SPD)
• discarded, or bypass
IKE: Many modes
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
B A : KB-1
A B : KA-1
B A : {message’}KA
B B : KB-1
cookie
STS0 STS0H
distribute
certificates
open
responder
STSa STSaH JFK0
m=gx, n=gy
k=gxy
protect
identities
symmetric
hash
RFK
Example
Construct protocol with properties:
• Shared secret
• Authenticated
• Identity Protection
• DoS Protection
Design requirements for IKE, JFK,
IKEv2 (IPSec key exchange
protocol)
Component 1
Diffie-Hellman
A B: ga
B A: gb