Lecture5 Authentication Protocols Part II
Lecture5 Authentication Protocols Part II
PART II
1
Chapter 10:
Real-World Protocols
The wire protocol guys don't worry about security because that's really
a network protocol problem. The network protocol guys don't
worry about it because, really, it's an application problem.
The application guys don't worry about it because, after all,
they can just use the IP address and trust the network.
Marcus J. Ranum
In the real world, nothing happens at the right place at the right time.
It is the job of journalists and historians to correct that.
Mark Twain
2
Real-World Protocols
Next, we look at real protocols
o SSL practical security on the Web
o IPSec security at the IP layer
o Kerberos symmetric key, single sign-on
o WEP “Swiss cheese” of security protocols
o GSM mobile phone (in)security
3
Secure Socket Layer
4
Socket layer
5
What is SSL?
SSL is the protocol used for majority of secure Internet transactions today
For example, if you want to buy a book at amazon.com…
o You want to be sure you are dealing with Amazon (authentication)
o Your credit card information must be protected in transit (confidentiality and/or
integrity)
o As long as you have money, Amazon does not really care who you are…
o …so, no need for mutual authentication
6
Simple SSL-like Protocol
Here’s my certificate
{K}Bob
7
Simplified SSL Protocol
8
SSL Keys
6 “keys” derived from K = h(S,RA,RB)
o 2 encryption keys: client and server
o 2 integrity keys: client and server
o 2 IVs: client and server
o Why different keys in each direction?
Q: Why is h(msgs,CLNT,K) encrypted?
A: Apparently, it adds no security…
9
SSL Authentication
10
SSL MiM Attack?
RA RA
certificateT, RB certificateB, RB
{S1}Trudy,E(X1,K1) {S2}Bob,E(X2,K2)
h(Y1,K1) h(Y2,K2)
Alice E(data,K1) Trudy E(data,K2) Bob
Q: What prevents this MiM “attack”?
A: Bob’s certificate must be signed by a certificate authority (CA)
What does browser do if signature not valid?
What does user do when browser complains?
11
SSL Sessions vs Connections
SSL session is established as shown on previous slides
SSL designed for use with HTTP 1.0
HTTP 1.0 often opens multiple simultaneous (parallel) connections
o Multiple connections per session
SSL session is costly, public key operations
SSL has an efficient protocol for opening new connections given an
existing session
12
SSL Connection
session-ID, cipher list, RA
session-ID, cipher, RB,
h(msgs,SRVR,K)
h(msgs,CLNT,K)
13
SSL vs IPSec
IPSec discussed in next section
o Lives at the network layer (part of the OS)
o Encryption, integrity, authentication, etc.
o Is overly complex, has some security “issues”
SSL (and IEEE standard known as TLS)
o Lives at socket layer (part of user space)
o Encryption, integrity, authentication, etc.
o Relatively simple and elegant specification
14
SSL vs IPSec
IPSec: OS must be aware, but not apps
SSL: Apps must be aware, but not OS
SSL built into Web early-on (Netscape)
IPSec often used in VPNs (secure tunnel)
Reluctance to retrofit applications for SSL
IPSec not widely deployed (complexity, etc.)
The bottom line?
Internet less secure than it could be!
15
IPSec
16
IPSec and SSL
IPSec lives at the network layer
IPSec is transparent to applications
application User
SSL
transport
OS
IPSec network
link
NIC
physical
17
IPSec and Complexity
IPSec is a complex protocol
Over-engineered
o Lots of (generally useless) features
Flawed Some significant security issues
Interoperability is serious challenge
o Defeats the purpose of having a standard!
Complex
And, did I mention, it’s complex?
18
IKE and ESP/AH
Two parts to IPSec…
IKE: Internet Key Exchange
o Mutual authentication
o Establish session key
o Two “phases” like SSL session/connection
ESP/AH
o ESP: Encapsulating Security Payload for confidentiality and/or integrity
o AH: Authentication Header integrity only
19
IKE
20
IKE
IKE has 2 phases
o Phase 1 IKE security association (SA)
o Phase 2 AH/ESP security association
Phase 1 is comparable to SSL session
Phase 2 is comparable to SSL connection
Not an obvious need for two phases in IKE
o In the context of IPSec, that is
If multiple Phase 2’s do not occur, then it is more costly to have two
phases!
21
IKE Phase 1
4 different “key options”
o Public key encryption (original version)
o Public key encryption (improved version)
o Public key signature
o Symmetric key
For each of these, 2 different “modes”
o Main mode and aggressive mode
There are 8 versions of IKE Phase 1!
Need more evidence it’s over-engineered?
22
IKE Phase 1
We discuss 6 of the 8 Phase 1 variants
o Public key signatures (main & aggressive modes)
o Symmetric key (main and aggressive modes)
o Public key encryption (main and aggressive)
Why public key encryption and public key signatures?
o Always know your own private key
o May not (initially) know other side’s public key
23
IKE Phase 1
24
IKE Phase 1: Digital Signature (Main Mode)
IC, CP
IC,RC, CS
IC,RC, ga mod p, RA
IC,RC, gb mod p, RB
IC,RC, E(“Alice”, proofA, K)
Alice IC,RC, E(“Bob”, proofB, K) Bob
26
Main vs Aggressive Modes
Main mode MUST be implemented
Aggressive mode SHOULD be implemented
o So, if aggressive mode is not implemented, “you should feel guilty about it”
Might create interoperability issues
For public key signature authentication
o Passive attacker knows identities of Alice and Bob in aggressive mode, but not in
main mode
o Active attacker can determine Alice’s and Bob’s identity in main mode
27
IKE Phase 1: Symmetric Key (Main Mode)
IC, CP
IC,RC, CS
IC,RC, ga mod p, RA
IC,RC, gb mod p, RB
IC,RC, E(“Alice”, proofA, K)
Alice Bob
KAB IC,RC, E(“Bob”, proofB, K) KAB
29
IKE Phase 1: Symmetric Key (Aggressive Mode)
30
IKE Phase 1: Public Key Encryption (Main Mode)
IC, CP
IC,RC, CS
IC,RC, ga mod p, {RA}Bob, {“Alice”}Bob
IC,RC, proofA
Alice Bob
K, proofA, proofB computed as in main mode
Note that identities are hidden
o The only aggressive mode to hide identities
o So, why have a main mode?
32
Public Key Encryption Issue?
In public key encryption, aggressive mode…
Suppose Trudy generates
o Exponents a and b
o Nonces RA and RB
Trudy can compute “valid” keys and proofs: gab mod p, K, SKEYID,
proofA and proofB
All of this also works in main mode
33
Public Key Encryption Issue?
34
Plausible Deniability
Trudy can create fake “conversation” that appears to be between Alice and
Bob
o Appears valid, even to Alice and Bob!
A security failure?
In IPSec public key option, it is a feature…
o Plausible deniability: Alice and Bob can deny that any conversation took place!
In some cases it might create a problem
o E.g., if Alice makes a purchase from Bob, she could later repudiate it (unless she
had signed)
35
IKE Phase 1 “Cookies”
IC and RC cookies (or “anti-clogging tokens”) supposed to prevent
DoS attacks
o No relation to Web cookies
To reduce DoS threats, Bob wants to remain stateless as long as possible
But Bob must remember CP from message 1 (required for proof of
identity in message 6)
Bob must keep state from 1st message on
o So, these “cookies” offer little DoS protection
36
IKE Phase 1 Summary
Result of IKE phase 1 is
o Mutual authentication
o Shared symmetric key
o IKE Security Association (SA)
But phase 1 is expensive
o Especially in public key and/or main mode
Developers of IKE thought it would be used for lots of things not just
IPSec
o Partly explains the over-engineering…
37
IKE Phase 2
Phase 1 establishes IKE SA
Phase 2 establishes IPSec SA
Comparison to SSL…
o SSL session is comparable to IKE Phase 1
o SSL connections are like IKE Phase 2
IKE could be used for lots of things, but in practice, it’s not!
38
IKE Phase 2
IC, RC, CP, E(hash1,SA,RA,K)
IP header data
Where IP header is
41
IP and TCP
Consider Web traffic, for example
o IP encapsulates TCP and…
o …TCP encapsulates HTTP
IP header data
43
IPSec: Host-to-Host
44
IPSec Tunnel Mode
IPSec Tunnel Mode
IP header data
46
Comparison of IPSec Modes
Transport Mode Transport Mode
o Host-to-host
IP header data
Tunnel Mode
IP header IPSec header data
o Firewall-to-
firewall
Tunnel Mode Transport Mode
IP header data not necessary…
…but it’s more
new IP hdr IPSec hdr IP header data efficient
47
IPSec Security
What kind of protection?
o Confidentiality?
o Integrity?
o Both?
What to protect?
o Data?
o Header?
o Both?
ESP/AH allow some combinations of these
48
AH vs ESP
AH Authentication Header
o Integrity only (no confidentiality)
o Integrity-protect everything beyond IP header and some fields of header (why not
all fields?)
ESP Encapsulating Security Payload
o Integrity and confidentiality both required
o Protects everything beyond IP header
o Integrity-only by using NULL encryption
49
ESP NULL Encryption
According to RFC 2410
o NULL encryption “is a block cipher the origins of which appear to be lost in
antiquity”
o “Despite rumors”, there is no evidence that NSA “suppressed publication of this
algorithm”
o Evidence suggests it was developed in Roman times as exportable version of
Caesar’s cipher
o Can make use of keys of varying length
o No IV is required
o Null(P,K) = P for any P and any key K
Is ESP with NULL encryption same as AH ?
50
Why Does AH Exist? (1)
Cannot encrypt IP header
o Routers must look at the IP header
o IP addresses, TTL, etc.
o IP header exists to route packets!
AH protects immutable fields in IP header
o Cannot integrity protect all header fields
o TTL, for example, will change
ESP does not protect IP header at all
51
Why Does AH Exist? (2)
ESP encrypts everything beyond the IP header (if non-null encryption)
If ESP-encrypted, firewall cannot look at TCP header in host-to-host case
Why not use ESP with NULL encryption?
o Firewall sees ESP header, but does not know whether null encryption is used
o End systems know, but not the firewalls
52
Why Does AH Exist? (3)
The real reason why AH exists:
o At one IETF meeting “someone from Microsoft gave an impassioned
speech about how AH was useless…”
o “…everyone in the room looked around and said `Hmm. He’s right,
and we hate AH also, but if it annoys Microsoft let’s leave it in since
we hate Microsoft more than we hate AH.’ ”
53
Kerberos
54
Kerberos
In Greek mythology, Kerberos is 3-headed dog that guards entrance to
Hades
o “Wouldn’t it make more sense to guard the exit?”
In security, Kerberos is an authentication protocol based on symmetric
key crypto
o Originated at MIT
o Based on Needham and Schroeder protocol
o Relies on a Trusted Third Party (TTP)
55
Motivation for Kerberos
Authentication using public keys
o N users N key pairs
Authentication using symmetric keys
o N users requires (on the order of) N2 keys
Symmetric key case does not scale
Kerberos based on symmetric keys but only requires N keys for N users
- Security depends on TTP
+ No PKI is needed
56
Kerberos KDC
Kerberos Key Distribution Center or KDC
o KDC acts as the TTP
o TTP is trusted, so it must not be compromised
KDC shares symmetric key KA with Alice, key KB with Bob, key KC with
Carol, etc.
And a master key KKDC known only to KDC
KDC enables authentication, session keys
o Session key for confidentiality and integrity
In practice, crypto algorithm is DES
57
Kerberos Tickets
KDC issue tickets containing info needed to access network resources
KDC also issues Ticket-Granting Tickets or TGTs that are used to
obtain tickets
Each TGT contains
o Session key
o User’s ID
o Expiration time
Every TGT is encrypted with KKDC
o So, TGT can only be read by the KDC
58
Kerberized Login
59
Kerberized Login
Alice wants
Alice’s a TGT
password
E(SA,TGT,KA)
REPLY
Alice’s Bob
Computer
63
Questions about Kerberos
When Alice logs in, KDC sends E(SA, TGT, KA) where TGT = E(“Alice”, SA,
KKDC)
Q: Why is TGT encrypted with KA?
A: Enables Alice to be anonymous when she later uses her TGT to request a ticket
In Alice’s “Kerberized” login to Bob, why can Alice remain anonymous?
Why is “ticket to Bob” sent to Alice?
o Why doesn’t KDC send it directly to Bob?
64
Kerberos Alternatives
Could have Alice’s computer remember password and use that for
authentication
o Then no KDC required
o But hard to protect passwords
o Also, does not scale
Could have KDC remember session key instead of putting it in a TGT
o Then no need for TGT
o But stateless KDC is major feature of Kerberos
65
Kerberos Keys
In Kerberos, KA = h(Alice’s password)
Could instead generate random KA
o Compute Kh = h(Alice’s password)
o And Alice’s computer stores E(KA, Kh)
Then KA need not change when Alice changes her password
o But E(KA, Kh) must be stored on computer
This alternative approach is often used
o But not in Kerberos
66
WEP
67
WEP
WEP Wired Equivalent Privacy
The stated goal of WEP is to make wireless LAN as secure as a wired
LAN
According to Tanenbaum:
o “The 802.11 standard prescribes a data link-level security protocol called WEP
(Wired Equivalent Privacy), which is designed to make the security of a wireless
LAN as good as that of a wired LAN. Since the default for a wired LAN is no
security at all, this goal is easy to achieve, and WEP achieves it as we shall see.”
68
WEP Authentication
Authentication Request
R
E(R, K)
Alice, K Bob, K
70
WEP Integrity Problems
WEP “integrity” gives no crypto integrity
o CRC is linear, so is stream cipher (XOR)
o Trudy can change ciphertext and CRC so that checksum on plaintext remains
valid
o Then Trudy’s introduced changes go undetected
o Requires no knowledge of the plaintext!
CRC does not provide a cryptographic integrity check
o CRC designed to detect random errors
o Not to detect intelligent changes
71
More WEP Integrity Issues
Suppose Trudy knows destination IP
Then Trudy also knows keystream used to encrypt IP address, since
C = destination IP address keystream
Then Trudy can replace C with
C = Trudy’s IP address keystream
And change the CRC so no error detected
o Then what happens??
Moral: Big problems when integrity fails
72
WEP Key
Recall WEP uses a long-term key K
RC4 is a stream cipher, so each packet must be encrypted using a different
key
o Initialization Vector (IV) sent with packet
o Sent in the clear, that is, IV is not secret
o Note: IV similar to MI in WWII ciphers
Actual RC4 key for packet is (IV,K)
o That is, IV is pre-pended to long-term key K
73
WEP Encryption
IV, E(packet,KIV)
Alice, K Bob, K
KIV = (IV,K)
o That is, RC4 key is K with 3-byte IV pre-pended
The IV is known to Trudy
74
WEP IV Issues
WEP uses 24-bit (3 byte) IV
o Each packet gets its own IV
o Key: IV pre-pended to long-term key, K
Long term key K seldom changes
If long-term key and IV are same, then same keystream is used
o This is bad, bad, really really bad!
o Why?
75
WEP IV Issues
Assume 1500 byte packets, 11 Mbps link
Suppose IVs generated in sequence
o Since 1500 8/(11 106) 224 = 18,000 seconds, an IV repeat in about 5 hours of
traffic
Suppose IVs generated at random
o By birthday problem, some IV repeats in seconds
Again, repeated IV (with same K) is bad
76
Another Active Attack
Suppose Trudy can insert traffic and observe corresponding ciphertext
o Then she knows the keystream for some IV
o She can decrypt any packet that uses that IV
If Trudy does this many times, she can then decrypt data for lots of IVs
o Remember, IV is sent in the clear
Is such an attack feasible?
77
Cryptanalytic Attack
WEP data encrypted using RC4
o Packet key is IV with long-term key K
o 3-byte IV is pre-pended to K
o Packet key is (IV,K)
Recall IV is sent in the clear (not secret)
o New IV sent with every packet
o Long-term key K seldom changes (maybe never)
So Trudy always knows IV and ciphertext
o Trudy wants to find the key K
78
Cryptanalytic Attack
3-byte IV pre-pended to key
Denote the RC4 key bytes …
o … as K ,K ,K ,K ,K ,K , …
0 1 2 3 4 5
o Where IV = (K ,K ,K ) , which Trudy knows
0 1 2
o Trudy wants to find K = (K ,K ,K , …)
3 4 5
Given enough IVs, Trudy can easily find key K
o Regardless of the length of the key
o Provided Trudy knows first keystream byte
o Known plaintext attack (1st byte of each packet)
o Prevent by discarding first 256 keystream bytes
79
WEP Conclusions
Many attacks are practical
Attacks have been used to recover keys and break real WEP traffic
How to prevent these attacks?
o Don’t use WEP
o Good alternatives: WPA, WPA2, etc.
How to make WEP a little better?
o Restrict MAC addresses, don’t broadcast ID, …
80
GSM (In)Security
81
Cell Phones
First generation cell phones
o Brick-sized, analog, few standards
o Little or no security
o Susceptible to cloning
Second generation cell phones: GSM
o Began in 1982 as “Groupe Speciale Mobile”
o Now, Global System for Mobile Communications
Third generation?
o 3rd Generation Partnership Project (3GPP)
82
GSM System Overview
air
interface
Mobile
Base AuC
VLR
Station
“land line”
HLR
PSTN
Base Internet
etc. Home
Visited Station Network
Network Controller
83
GSM System Components
Mobile phone
o Contains SIM (Subscriber Identity Module)
SIM is the security module
o IMSI (International Mobile Subscriber ID)
o User key: Ki (128 bits)
o Tamper resistant (smart card)
o PIN activated (often not used)
SIM
84
GSM System Components
Visited network network where mobile is currently located
o Base station one “cell”
o Base station controller manages many cells
o VLR (Visitor Location Register) info on all visiting mobiles currently in the
network
Home network “home” of the mobile
o HLR (Home Location Register) keeps track of most recent location of mobile
o AuC (Authentication Center) has IMSI and Ki
85
GSM Security Goals
Primary design goals
o Make GSM as secure as ordinary telephone
o Prevent phone cloning
Not designed to resist an active attacks
o At the time this seemed infeasible
o Today such an attacks are clearly feasible…
Designers considered biggest threats to be
o Insecure billing
o Corruption
o Other low-tech attacks
86
GSM Security Features
Anonymity
o Intercepted traffic does not identify user
o Not so important to phone company
Authentication
o Necessary for proper billing
o Very, very important to phone company!
Confidentiality
o Confidentiality of calls over the air interface
o Not important to phone company…
o …except for marketing
87
GSM: Anonymity
88
GSM: Authentication
Caller is authenticated to base station
Authentication is not mutual
Authentication via challenge-response
o Home network generates RAND and computes XRES = A3(RAND, Ki) where A3
is a hash
o Then (RAND,XRES) sent to base station
o Base station sends challenge RAND to mobile
o Mobile’s response is SRES = A3(RAND, Ki)
o Base station verifies SRES = XRES
Note: Ki never leaves home network
89
GSM: Confidentiality
Data encrypted with stream cipher
Error rate estimated at about 1/1000
o Error rate is high for a block cipher
Encryption key Kc
o Home network computes Kc = A8(RAND, Ki) where A8 is a hash
o Then Kc sent to base station with (RAND,XRES)
o Mobile computes Kc = A8(RAND, Ki)
o Keystream generated from A5(Kc)
Note: Ki never leaves home network
90
GSM Security
1. IMSI
2. IMSI
4. RAND
3. (RAND,XRES,Kc)
5. SRES
Mobile Base Home
6. Encrypt with Kc Station Network
92
GSM Insecurity (2)
93
GSM Insecurity (3)
Fake base station exploits two flaws
1. Encryption not automatic
2. Base station not authenticated
RAND
SRES Call to
destination
No
Mobile Fake
encryption Base Station Base Station
94
GSM Insecurity (4)
Denial of service is possible
o Jamming (always an issue in wireless)
Can replay triple: (RAND,XRES,Kc)
o One compromised triple gives attacker a key Kc that is valid forever
o No replay protection here
95
GSM Conclusion
Did GSM achieve its goals?
o Eliminate cloning? Yes, as a practical matter
o Make air interface as secure as PSTN? Perhaps…
But design goals were clearly too limited
GSM insecurities weak crypto, SIM issues, fake base station, replay,
etc.
PSTN insecurities tapping, active attack, passive attack (e.g., cordless
phones), etc.
GSM a (modest) security success?
96
3rd Generation Partnership Project (3GPP)
3G security built on GSM (in)security
3G fixed known GSM security problems
o Mutual authentication
o Integrity-protect signaling (such as “start encryption” command)
o Keys (encryption/integrity) cannot be reused
o Triples cannot be replayed
o Strong encryption algorithm (KASUMI)
o Encryption extended to base station controller
97
Protocols Summary
98
Coming Attractions…
Software and security
o Software flaws buffer overflow, etc.
o Malware viruses, worms, etc.
o Software reverse engineering
o Digital rights management
o OS and security/NGSCB
99