Title: Unknown Key Share Attacks and the MQV Protocol
1Unknown Key Share Attacks and the MQV Protocol
- Burt Kaliski, RSA Laboratories
- April 11, 2000
- RSA Euro 2000
2Introduction
- Key establishment protocols have traditionally
been among the hardest protocols to design - whether based on symmetric cryptography,
public-key cryptography, or both (as in the case
of recent password-based protocols) - Many different attributes to consider
- Unknown key share attribute illustrates the
challenges of design for the MQV protocol
3Outline
- Unknown key share
- The MQV protocol
- An unknown key share attack
- Countermeasures
- Lessons learned
- Conclusions
4Unknown Key Share
- Alice, Bob each run a key establishment protocol,
intending to share a key with another party - An unknown key share occurs if one party shares a
key with a different party than intended and does
not know it - May lead to confusion when the key is applied, if
parties are not otherwise identified - a motivation for good key usage in general
5Example
- Suppose Bob is running a protocol with Eve
- Meanwhile, Alice is running a protocol with Bob
- If Eve can manipulate the exchanges so that Bob
and Alice compute the same key, then Bob will
have an unknown key share with Alice - Alice believes she shares the key with Bob
- Bob believes he shares it with Eve
- Bob doesnt know he shares it with Alice!
- Eve doesnt even know the key in this attack
6The Confusion
- Suppose Bob wants to send a message to Eve
- e.g., Youre fired!
- Bob encrypts the message and sends the ciphertext
to Eve - Eve forwards the ciphertext to Alice
- Alice decrypts the ciphertext and recovers the
message - Confusion
- Bob believes the message is from Bob to Eve
- Alice believes the message is from Bob to Alice
7The MQV Protocol
- Key agreement protocol in Diffie-Hellman family
- Proposed by Menezes, Qu and Vanstone (1995)
- Improved with Law and Solinas (1998)
- current version in IEEE P1363
- Several variants
- one-pass (store-and-forward)
- two-pass without key confirmation
- three-pass with key confirmation
- Attack applies to one- and two-pass variants only
8Domain Parameters
- Group G with hard discrete logarithm problem
- e.g., finite field mod p, elliptic curve
- Base P of prime order n
- Cofactor h G/n
- for protecting against small subgroup attacks
typically small for elliptic curve groups - Mapping ? G ? 2m,2m1-1
- where m length in bits of sqrt(n)
9Notational Conventions
- Notation is from elliptic curve arithmetic
- Group operation is written additively U V
- multiplication in finite field
- Repeated operation is scalar multiplication
- c U U U U U (c times)
- exponentiation in finite field
- O is group identity
10Key Pairs
- Public key W ? G
- Private key w ? 1,n-1
- where W wP
11Protocol Setup
- Alice has static key pair (WA,wA)
- Bob has static key pair (WB,wB)
- Each party has a certificate certA, certB
12MQV Protocol(Two-Pass Variant, 1998 Version)
RA, certA
Alice
Bob
(WB,wB) (RB,rB)
(WA,wA) (RA,rA)
RB, certB
sA rA µ(RA) wA SB RB µ(RB) WB KAB h sA
SB
sB rB µ(RB) wB SA RA µ(RA) WA KBA h sB
SA
13Details
- 1. Alice generates ephemeral key pair (RA,rA),
sends RA, certA to Bob. - 2. Bob generates ephemeral key pair (RB,rB),
sends RB, certB to Alice. - 3. Alice verifies certB, checks that RB ? G,
computes sA rA µ(RA) wA, SB RB µ(RB) WB
and KAB h sA SB, checks that KAB ? O. - 4. Alice verifies certA, checks that RA ? G,
computes sB rB µ(RB) wB, SA RA µ(RA) WA
and KBA h sB SA, checks that KBA ? O. - KAB KBA is the shared secret key
14Protocol Attributes
- Implicit key authentication
- only Alice, Bob can determine key (assuming
theyre honest) - Forward secrecy
- past keys remain secret if WA, WB compromised
- Bandwidth efficiency
- only ephemeral public key, certificate exchanged
- Computational efficiency
- only about 2.5 scalar multiplications per party
- vs. 3 for unified Diffie-Hellman
15An Unknown Key-Share Attack
- Eves goal is to manipulate the exchange so that
- Alice, Bob compute the same key
- Bob believes he shares it with Eve, not Alice
- Eve must at least replace Alices certificate
with her own certificate - Eve may also replace other items in exchange
- Several kinds of attack trivial, better and best
- Only the best is really an attack
16A Trivial Attack
- Eve obtains a certificate for Alices static
public key, substitutes it for Alices
certificate in the protocol exchange - Applicable to many protocols
- Easily prevented if certificate issuer checks for
duplicate public keys - Also prevented if issuer requires Eve to prove
possession of the corresponding private key
17A Better Attack
- Eve obtains a certificate for a related public
key, where she does not know the corresponding
private key - Applicable to MTI, Goss protocols
- Not prevented if certificate issuer only checks
for duplicates - But easily prevented if issuer requires Eve to
prove possession of the private key
18The Best Attack
- Eve generates a new key pair, obtains a
certificate for the public key, substitutes it
for Alices certificate, replaces other items so
that Bob computes same key as Alice - Applicable to one- and two-pass MQV protocols,
early version of Station-to-Station protocol - Not easily prevented by issuer, because Eve knows
the private key - But how to generate the new key pair?
19Succeeding at the Best
- Eve needs a new static key pair (WE,wE) and an
ephemeral public key RE such that Alice, Bob
compute the same key - KBE h sB SE KAB KBA h sB SA
- where SE RE µ(RE) WE
- To do this, Eve must solve SE SA, i.e.
- RE µ(RE) wE P SA
- for RE and wE
20Solving the Equation
- Equation
- RE µ(RE) wE P SA
- Solution
- 1. Let u ? 1,n-1
- 2. Compute RE SA u P
- 3. Compute wE µ(RE)-1 u mod n
- Proof
- RE µ(RE) wE P SA u P u P SA
21The Attack
RA, certA
Alice
Bob
(WB,wB) (RB,rB)
(WA,wA) (RA,rA)
RB, certB
RE, certE
Eve
sB rB µ(RB) wB SE RE µ(RE) WE SA KBE
h sB SE KAB
(WE,wE) RE
22Discussion
- Since Eves static public key depends on Alices
ephemeral public key, Eve must obtain the
certificate during the protocol run - However, certificate issuers are often on-line,
and Alice might not notice the delay - though Bob might notice that the certificate is
new - Not an obstacle if Bob is off-line (as in the
one-pass protocol)
23Countermeasures
- Key confirmation
- Alice, Bob demonstrate knowledge of KAB, as in
the three-pass variant - Identification within exchanged messages
- e.g., Youre fired, Eve! (Signed, Bob)
- Key derivation based on parties identities
- KAB f(KAB, A, B, time, )
- Ephemeral public key commitment exchange
Hash(RA), Hash(RB) before exchanging RA, RB - but more passes ...
24Lessons Learned
- Countermeasures are easily implemented, so the
attack is not a major concern in practice - However, the attack does illustrate several
principles of protocol design - 1. Double-check minor changes
- 2. Consider all parties
- 3. Assess system requirements
25Double-Check Minor Changes
- Original MQV protocol was not vulnerable to an
unknown key-share attack - as described in early IEEE P1363 drafts, U.S.
Patent 5,761,305 (different than SAC 95 version) - A minor change to improve efficiency introduced
an unexpected vulnerability - Interestingly, efficiency could have been
improved in many environments without any changes
26Original MQV Protocol(Two-Pass Variant, 1995
Version)
RA, certA
Alice
Bob
(WB,wB) (RB,rB)
(WA,wA) (RA,rA)
RB, certB
sA rA µ(RA) µ(WA) wA SB RB µ(RB) µ(WB)
WB KAB h sA SB
sB rB µ(RB) µ(WB) wB SA RA µ(RA) µ(WA)
WA KBA h sB SA
27Unknown Key-Share Resistance
- To mount an attack, Eve must solve
- RE µ(RE) µ(WE) WE SA
- for RE, wE and WE wE P
- This is difficult because the equation is
nonlinear in both RE and WE - current protocol is nonlinear only in RE
- Original protocol thus appears to resist unknown
key share attacks
28The Minor Change
- Original protocol apparently involved 3 scalar
multiplications per party - ephemeral key pair generation
- µ(RB) µ(WB) WB
- h sA SB
- Protocol was changed to save 0.5 scalar
multiplications - µ(RB) µ(WB) WB became µ(RB) WB
- µ(RB) is half-length
- As a result, resistance to attack was lost!
29No Change Was Necessary!
- Trick Rewrite KAB
- KAB h (?A RB ?A WB)
- where ?A sA and ?A sA µ(RB) µ(WB) mod n
- Sum of two scalar multiplications can be done
with slightly more work than one scalar
multiplication by Shamirs method - Original protocol (as well as current one) can
thus be implemented with only 2? scalar
multiplications better than 2.5 goal - needs a little extra code, memory, but
straightforward
30Consider All Parties
- Why was the attack overlooked at first?
- not only by designers, but also by reviewers
- Perhaps because certificate issuer wasnt
expected to be on-line? - All interactions should be considered in
analysis, not just parties that share the key
31On-Line vs. Off-LineA Big Difference
- Recall that Eve must solve
- RE µ(RE) WE SA
- for RE, wE and WE wE P
- If certificate issuer is off-line, then Eve must
solve for RE, given WE and SA - difficult because the equation is nonlinear in RE
- SA is a one-way function of RE for a given WE
- sA rA µ(RA) wA is called an implicit
signature on RA - If issuer is on-line, then Eve can solve for WE
and RE together
32Two Parties or More?
- Certificate issuer has traditionally been
considered a trusted third party, but analysis
has often abstracted this to an off-line role of
providing a certificate - Whether on-line or not, issuers interactions
with other parties can influence results - e.g., whether proof of possession performed
- Analysis should thus consider all interactions
that may influence the result - Alice and Bob
- Alice and her issuer Bob and his issuer
- Alice and Bobs issuer Bob and Alices issuer
33Two Parties or More? (contd)
- Some recent architectures (e.g., OCSP) are moving
toward on-line status checking - and future protocols could move away from static
certificates entirely in many cases - This brings the status providers on-line as full
parties - Eventually, perhaps a return to the traditionally
on-line third party, but with public keys instead
of symmetric keys - and a substantial body of protocol analysis to
build on
34Assess System Requirements
- Bottom line question Is the attack really a
weakness? - Answer What does the system require?
- Requirements probably need more research
35Is It a Weakness?
- In the certificational sense, yes a claimed
attribute does not hold - perhaps other conjectured attributes dont hold
either? - In the practical sense, no the claimed attribute
doesnt need to hold, if key confirmation is
employed as generally recommended - Even without key confirmation, the confusion
exists only in a special setting - Bob sends unidentified messages to an
unauthenticated recipient - and Eve doesnt learn the key
36What Does the System Require?
- Consider a standard three-pass key agreement
protocol with key confirmation, where parties
exchange static and ephemeral keys - not the only model, but a common one
- Keys are combined with certain cryptographic
operations, e.g., - KAB F (rA,wA,RA,WA,RB,WB)
- KBA F (rB,wB,RB,WB,RA,WA)
- following IEEE P1363, F is a secret value
derivation primitive - As recommended, followed by key confirmation
37A General Protocol
RA, certA
Alice
Bob
RB, certB, TB
(WB,wB) (RB,rB)
(WA,wA) (RA,rA)
TA
KAB F (rA,wA,RA,WA,RB,WB)
k f (KAB) TA MACk (3,A,B,RA,RB)
KBA F (rB,wB,RB,WB,RA,WA) k f (KBA) TB
MACk (2,B,A,RB,RA)
38Defining Secret Value Derivation Primitives
- Input
- partys private key(s)
- other partys public key(s)
- Output
- shared secret key
- What properties needed by general protocol?
- probably not unknown key share resistance
- but what else? To be continued!
39Conclusions
- MQV experience reconfirms challenge of designing
key establishment protocols - Minor change introduced an unknown key share
attack, perhaps overlooked because certificate
issuer was considered off-line - Bottom line a certificational weakness, readily
addressed in practice - Security definitions remain an interesting topic
for further study