breaking the bluetooth pairing fixed coordinate invalid

75
Breaking the Bluetooth Pairing – Fixed Coordinate Invalid Curve Attack Eli Biham Lior Neumann Department of Computer Science Technion – Israel Institute of Technology Cryptoday 2018 Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 1 / 44

Upload: others

Post on 11-Jan-2022

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Breaking the Bluetooth Pairing –Fixed Coordinate Invalid Curve Attack

Eli Biham Lior Neumann

Department of Computer ScienceTechnion – Israel Institute of Technology

Cryptoday 2018

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 1 / 44

Page 2: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Overview

Bluetooth is a widely deployed platform for wireless communicationbetween mobile devices.Examples:

Mobile computers – mobile-phones and laptops.Computer peripherals – mouses and keyboards.Wearable smart devices – fitness tracker and smart watches.Audio equipments – wireless headphones and speakers.IoT – smart door locks and smart lights.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 2 / 44

Page 3: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Overview

The Bluetooth standard is comprised of two main protocols

Bluetooth BR/EDR, andBluetooth Low Energy (aka. Bluetooth Smart)

Both protocols promise to provide confidentiality and MitMprotection.

In this talk we show that none of these protocols provided thepromised protections.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 3 / 44

Page 4: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth Pairing

The Bluetooth pairing establishes connection between two devices.

The latest pairing protocols are

Bluetooth BR/EDR – Secure Simple Pairing (SSP)Bluetooth Low Energy – Low Energy Secure Connections (LE SC)

Both LE SC and SSP are variants of authenticated Elliptic-CurveDiffie-Hellman protocol for key-exchange.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 4 / 44

Page 5: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Legacy Pairing Eavesdropping Attack

A paper published in 2013 by Mike Ryan pointed out that BTLE“Legacy Pairing” is vulnerable to an eavesdropping attack.

Legacy Pairing is protected by a 6-digit decimal mutual temporary key.The attack recovers the session key by exhaustively searching throughall million possible temporary keys.This vulnerability was mitigated by LE SC using ECDH.

Mike Ryan also published CrackLE, an open-source software thatrecovers the session key from captured Legacy Pairing traffic.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 5 / 44

Page 6: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Introduction to Elliptic Curves

Elliptic curves over finite fields are defined by group equation and theunderlying field Fq.Consider curves in Weierstrass form y 2 = x3 + ax + b.

y2 = x3 + ax + b

The elements of the group are:All pairs (x , y) ∈ F2

q that satisfy the curve equation.An identity element called point-at-infinity denoted by ∞.We denote points that satisfy the equation as P = (Px , Py).

The figures are drawn over R for intuition, while the formulae aredefined over Fq as used in cryptography.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 6 / 44

Page 7: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Introduction to Elliptic Curves

The group operation is point addition.

The use the following notations:

Point Addition – Adding two group elements P, Q ∈ E , st. P 6= Q.Point Doubling – Adding a group element P ∈ E to itself.Repeated Addition – Denote [α]P to be the sum of α times repeatedadditions of P to itself.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 7 / 44

Page 8: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Point Inversion

Given a point P = (Px , Py) the inverse of P is computed byreflecting it across the x-axis

P−1 = (Px ,−Py).

P

P−1

y2 = x3 + ax + b

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 8 / 44

Page 9: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Point Addition

P Q

R=P+Q

y2 = x3 + ax + b

s ≡ (Py −Qy)(Px −Qx)−1 (mod q)

Rx ≡ s2 − Px −Qx (mod q)

Ry ≡ Py − s(Rx − Px) (mod q)

It can be seen that these formulae do not involve the curve parameter b.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 9 / 44

Page 10: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Point Doubling

P

R=[2]P

y2 = x3 + ax + b

s ≡ (3Px2 + a)(2Py)−1 (mod q)

Rx ≡ s2 − 2Px (mod q)

Ry ≡ Py − s(Rx − Px) (mod q)

It can be seen that these formulae do not involve the curve parameter b.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 10 / 44

Page 11: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Order Two Points

An important observation is that every point of the form P = (Px , 0)equals its own inverse, thus has order two

[2]P = ∞.

−15 −10 −5 5 10 15

−10

−5

5

10

–3 0

x = −3y2 = x3 − 3x + 18

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 11 / 44

Page 12: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Elliptic Curve Diffie-Hellman

The Elliptic Curve Diffie-Hellman (ECDH) protocol is a variant of theDiffie-Hellman key exchange protocol.Both parties agree on an Elliptic Curve E and a generator pointP ∈ E .Then they communicate as follows:

Alice Bob

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 12 / 44

Page 13: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Elliptic Curve Diffie-Hellman

The Elliptic Curve Diffie-Hellman (ECDH) protocol is a variant of theDiffie-Hellman key exchange protocol.Both parties agree on an Elliptic Curve E and a generator pointP ∈ E .Then they communicate as follows:

Alice Bob

Select a random private key SKa ∈ [2, n − 2] Select a random private key SKb ∈ [2, n − 2]

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 12 / 44

Page 14: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Elliptic Curve Diffie-Hellman

The Elliptic Curve Diffie-Hellman (ECDH) protocol is a variant of theDiffie-Hellman key exchange protocol.Both parties agree on an Elliptic Curve E and a generator pointP ∈ E .Then they communicate as follows:

Alice Bob

Select a random private key SKa ∈ [2, n − 2] Select a random private key SKb ∈ [2, n − 2]

Compute the appropriate public keyPKa = [SKa]P

Compute the appropriate public keyPKb = [SKb]P

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 12 / 44

Page 15: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Elliptic Curve Diffie-Hellman

The Elliptic Curve Diffie-Hellman (ECDH) protocol is a variant of theDiffie-Hellman key exchange protocol.Both parties agree on an Elliptic Curve E and a generator pointP ∈ E .Then they communicate as follows:

Alice Bob

Select a random private key SKa ∈ [2, n − 2] Select a random private key SKb ∈ [2, n − 2]

Compute the appropriate public keyPKa = [SKa]P

Compute the appropriate public keyPKb = [SKb]P

PKa

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 12 / 44

Page 16: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Elliptic Curve Diffie-Hellman

The Elliptic Curve Diffie-Hellman (ECDH) protocol is a variant of theDiffie-Hellman key exchange protocol.Both parties agree on an Elliptic Curve E and a generator pointP ∈ E .Then they communicate as follows:

Alice Bob

Select a random private key SKa ∈ [2, n − 2] Select a random private key SKb ∈ [2, n − 2]

Compute the appropriate public keyPKa = [SKa]P

Compute the appropriate public keyPKb = [SKb]P

PKa

PKb

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 12 / 44

Page 17: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Elliptic Curve Diffie-Hellman

The Elliptic Curve Diffie-Hellman (ECDH) protocol is a variant of theDiffie-Hellman key exchange protocol.Both parties agree on an Elliptic Curve E and a generator pointP ∈ E .Then they communicate as follows:

Alice Bob

Select a random private key SKa ∈ [2, n − 2] Select a random private key SKb ∈ [2, n − 2]

Compute the appropriate public keyPKa = [SKa]P

Compute the appropriate public keyPKb = [SKb]P

PKa

PKb

Compute the shared secret DHkey = [SKa]PKb Compute the shared secret DHkey = [SKb]PKa

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 12 / 44

Page 18: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

The Invalid Curve Attack, introduced by Biehl et al., is acryptographic attack where invalid group elements (points) are used inorder to manipulate the group operations to reveal secret information.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 13 / 44

Page 19: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

Let SK be the secret key of the victim device and let PK = [SK ]P itspublic key.

Let E ′ be a different group defined by the curve equationy 2 = x3 + ax + b′ with the same a and a different b′ parameter.

Victim Attacker

Select a curve E ′ with apoint Q1 ∈ E ′ of a smallprime order |Q1| = p1

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 14 / 44

Page 20: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

Let SK be the secret key of the victim device and let PK = [SK ]P itspublic key.

Let E ′ be a different group defined by the curve equationy 2 = x3 + ax + b′ with the same a and a different b′ parameter.

Victim Attacker

Select a curve E ′ with apoint Q1 ∈ E ′ of a smallprime order |Q1| = p1

PK

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 14 / 44

Page 21: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

Let SK be the secret key of the victim device and let PK = [SK ]P itspublic key.

Let E ′ be a different group defined by the curve equationy 2 = x3 + ax + b′ with the same a and a different b′ parameter.

Victim Attacker

Select a curve E ′ with apoint Q1 ∈ E ′ of a smallprime order |Q1| = p1

PK

Q1

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 14 / 44

Page 22: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

Let SK be the secret key of the victim device and let PK = [SK ]P itspublic key.

Let E ′ be a different group defined by the curve equationy 2 = x3 + ax + b′ with the same a and a different b′ parameter.

Victim Attacker

Select a curve E ′ with apoint Q1 ∈ E ′ of a smallprime order |Q1| = p1

PK

Q1

Compute the sharedsecret DHkey = [SK ]Q1

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 14 / 44

Page 23: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

Let SK be the secret key of the victim device and let PK = [SK ]P itspublic key.

Let E ′ be a different group defined by the curve equationy 2 = x3 + ax + b′ with the same a and a different b′ parameter.

Victim Attacker

Select a curve E ′ with apoint Q1 ∈ E ′ of a smallprime order |Q1| = p1

PK

Q1

Compute the sharedsecret DHkey = [SK ]Q1

C = EDHKey (M)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 14 / 44

Page 24: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

For simplicity lets assume that M is a message known to the attacker.

The attacker wishes to find the discrete log of DHKey in the smallsubgroup generated by Q1.

Let a1 be the discrete log of DHkey :

a1 ≡ SK (mod p1).

The attacker finds a1 by iterating over all a1 ∈ [0, p1 − 1] andchecking whether E[a1]Q1

(M) = C .

This exchange repeats with a different subgroup orders pi until theproduct of the primes satisfies

k

∏i=1

pi > n.

Finally, the attacker recovers the victim’s private key using theChinese-Remainder-Theorem.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 15 / 44

Page 25: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Invalid Curve Attack

A patent assigned by Peter Landrock and Jan Ulrik Kjaersgaard in2008 describes how attacker could reveal the private key of the victimin SSP using the Invalid Curve Attack.

As a mitigation the BT specification suggests refreshing the ECDHkey-pair on every pairing attempt.Most implementors follow this suggestion.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 16 / 44

Page 26: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth Pairing

The pairing protocol is part of the Bluetooth link layer protocol.

It generates the encryption keys for the rest of the protocol.

Due to the similarity of SSP and LE SC, our attack applies to bothprotocols.

For this presentation we arbitrarily chose to concentrate on LE SC.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 17 / 44

Page 27: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth LE Secure Connections

The protocol comprises of four phases:

Phase 1 – Feature exchange (irrelevant for this talk).

Phase 2 – Key exchange.

Phase 3 – Authentication.

Phase 4 – Key derivation.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 18 / 44

Page 28: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth LE SC Phase 2 – Key Exchange

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 19 / 44

Page 29: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Cryptographic Functions

Function f4 – Commitment Value Generation Function

f4(U, V , X , Y ) = AES-CMACX (U ‖ V ‖ Y )

Function g2 – User Confirm Value Generation Function

The six least decimal digits of the following function:g2(U, V , X , Y ) = AES-CMACX (U ‖ V ‖ Y ) (mod 232)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 20 / 44

Page 30: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth LE SC Phase 3 – Authentication

Note that unintuitively PKa and PKb in this diagram refers to the x-coordinate of eachpublic-key, later in the specification defined as PKax and PKbx .

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 21 / 44

Page 31: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Our Fixed Coordinate Invalid Curve Attack

The Fixed Coordinate Invalid Curve Attack is a new variant of theInvalid Curve Attack in which we exploit the ability to forge low orderECDH public keys that preserve the x-coordinate of the originalpublic-keys.

It is based on the following observations:

Only the x-coordinate of each party is authenticated during theBluetooth pairing protocol.The protocol does not require its implementations to validate whethera given public-key satisfies the curve equation.

We describe two versions of our attack:

Semi-Passive.Fully-Active.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 22 / 44

Page 32: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 33: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 34: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

PKa = (PKax ,PKay )

Change the y-coordinate of eachpublic key to zero

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 35: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

PKa = (PKax ,PKay ) PKa′ = (PKax , 0)

Change the y-coordinate of eachpublic key to zero

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 36: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

PKa = (PKax ,PKay ) PKa′ = (PKax , 0)

PKb = (PKbx ,PKby )Change the y-coordinate of each

public key to zero

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 37: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

PKa = (PKax ,PKay ) PKa′ = (PKax , 0)

PKb = (PKbx ,PKby )PKb′ = (PKbx , 0)Change the y-coordinate of each

public key to zero

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 38: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

PKa = (PKax ,PKay ) PKa′ = (PKax , 0)

PKb = (PKbx ,PKby )PKb′ = (PKbx , 0)Change the y-coordinate of each

public key to zero

DHKeya = [SKa]PKb′ DHKeyb = [SKb]PKa′

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 39: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack

The Semi-Passive attack requires a message interception during thesecond phase of the pairing.

It replaces the y-coordinate of each public key with 0.

Device A Attacker Device B

PKa = [SKa]P PKb = [SKb]P

PKa = (PKax ,PKay ) PKa′ = (PKax , 0)

PKb = (PKbx ,PKby )PKb′ = (PKbx , 0)Change the y-coordinate of each

public key to zero

DHKeya = [SKa]PKb′ DHKeyb = [SKb]PKa′

With probability of 25% both shared keys equal the identity element

DHKeya = DHKeyb = ∞.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 23 / 44

Page 40: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack – Passive Message Eavesdropping

In case both shared keys equal the identity element

the attack is undetected,the attacker knows the shared key, andthe rest of the communication can be passively eavesdropped.

Device A Attacker Device B

Passively eavesdrops and decrypts eachmessage using

MacKey ‖ LTK = f5(∞,Na,Nb,A,B).

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 24 / 44

Page 41: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack – Passive Message Eavesdropping

In case both shared keys equal the identity element

the attack is undetected,the attacker knows the shared key, andthe rest of the communication can be passively eavesdropped.

Device A Attacker Device B

Ci = ELTK (Msgi )

Passively eavesdrops and decrypts eachmessage using

MacKey ‖ LTK = f5(∞,Na,Nb,A,B).

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 24 / 44

Page 42: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Semi-Passive Attack – Passive Message Eavesdropping

In case both shared keys equal the identity element

the attack is undetected,the attacker knows the shared key, andthe rest of the communication can be passively eavesdropped.

Device A Attacker Device B

Ci = ELTK (Msgi )

Ci+1 = ELTK (Msgi+1)

Passively eavesdrops and decrypts eachmessage using

MacKey ‖ LTK = f5(∞,Na,Nb,A,B).

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 24 / 44

Page 43: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Cryptographic Functions

Function f5 – Key Derivation Function

SALT = 0x6C888391AAF5A53860370BDB5A6083BE

T = AES-CMACSALT (DHKey)

f5(DHKey , N1, N2, A1, B2) =

AES-CMACT (0 ‖ ‘btle ′ ‖ N1 ‖ N2 ‖ A1 ‖ A2 ‖ 256) ‖AES-CMACT (1 ‖ ‘btle ′ ‖ N1 ‖ N2 ‖ A1 ‖ A2 ‖ 256)

Function f6 – Check Value Generation Function

f6(W , N1, N2, R, IOcap, A1, A2) =

AES-CMACW (N1 ‖ N2 ‖ R ‖ IOcap ‖ A1 ‖ A2)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 25 / 44

Page 44: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth LE SC Phase 4 – Key Derivation

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 26 / 44

Page 45: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack

By also intercepting messages sent during the fourth phase we canfurther improve the attack success probability to 50%.

DHKeyb never equals PKb′

=⇒ the Semi-Passive attack fails when DHKeya = PKb′.

DHKeya DHKeyb∞ ∞∞ PKa′

PKb′ ∞PKb′ PKa′

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 27 / 44

Page 46: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack

In the beginning of the fourth phase Device A commits to the mutualkey by transmitting Ea.

The attacker can use the value of Ea in order to determine the valueof DHKeya ∈ {PKb′, ∞}.If DHKeya = ∞ the attacker continues as described in theSemi-Passive Attack without further interception.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 28 / 44

Page 47: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4

The following diagram describes the attack consideringDHKeya = PKb′.

Device A Attacker Device B

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 29 / 44

Page 48: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4

The following diagram describes the attack consideringDHKeya = PKb′.

Device A Attacker Device B

Compute the LTK and MacKey

MacKeya ‖ LTKa = f5(DHKeya = PKb′,Na,Nb,A,B)

Compute the LTK and MacKey

MacKeyb ‖ LTKb = f5(DHKeyb,Na,Nb,A,B)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 29 / 44

Page 49: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4

The following diagram describes the attack consideringDHKeya = PKb′.

Device A Attacker Device B

Compute the LTK and MacKey

MacKeya ‖ LTKa = f5(DHKeya = PKb′,Na,Nb,A,B)

Compute the LTK and MacKey

MacKeyb ‖ LTKb = f5(DHKeyb,Na,Nb,A,B)

Compute

Ea = f6(MacKeya,Na,Nb, rb, IOcapA,A,B)

Compute

Eb = f6(MacKeyb,Nb,Na, ra, IOcapB,B,A)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 29 / 44

Page 50: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4

The following diagram describes the attack consideringDHKeya = PKb′.

Device A Attacker Device B

Compute the LTK and MacKey

MacKeya ‖ LTKa = f5(DHKeya = PKb′,Na,Nb,A,B)

Compute the LTK and MacKey

MacKeyb ‖ LTKb = f5(DHKeyb,Na,Nb,A,B)

Compute

Ea = f6(MacKeya,Na,Nb, rb, IOcapA,A,B)

Compute

Eb = f6(MacKeyb,Nb,Na, ra, IOcapB,B,A)

Arbitrarily guess the value of DHKeybto be DHKey ′b ∈ {PKa′,∞}

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 29 / 44

Page 51: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4

The following diagram describes the attack consideringDHKeya = PKb′.

Device A Attacker Device B

Compute the LTK and MacKey

MacKeya ‖ LTKa = f5(DHKeya = PKb′,Na,Nb,A,B)

Compute the LTK and MacKey

MacKeyb ‖ LTKb = f5(DHKeyb,Na,Nb,A,B)

Compute

Ea = f6(MacKeya,Na,Nb, rb, IOcapA,A,B)

Compute

Eb = f6(MacKeyb,Nb,Na, ra, IOcapB,B,A)

Arbitrarily guess the value of DHKeybto be DHKey ′b ∈ {PKa′,∞}

Ea

Compute

MacKey′b ‖ LTK′b = f5(DHKey ′b,Na,Nb,A,B)

Ea′ = f6(MacKey′b,Na,Nb, rb, IOcapA,A,B).

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 29 / 44

Page 52: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4

The following diagram describes the attack consideringDHKeya = PKb′.

Device A Attacker Device B

Compute the LTK and MacKey

MacKeya ‖ LTKa = f5(DHKeya = PKb′,Na,Nb,A,B)

Compute the LTK and MacKey

MacKeyb ‖ LTKb = f5(DHKeyb,Na,Nb,A,B)

Compute

Ea = f6(MacKeya,Na,Nb, rb, IOcapA,A,B)

Compute

Eb = f6(MacKeyb,Nb,Na, ra, IOcapB,B,A)

Arbitrarily guess the value of DHKeybto be DHKey ′b ∈ {PKa′,∞}

Ea Ea′Compute

MacKey′b ‖ LTK′b = f5(DHKey ′b,Na,Nb,A,B)

Ea′ = f6(MacKey′b,Na,Nb, rb, IOcapA,A,B).

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 29 / 44

Page 53: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4 (Cont.)

Device A Attacker Device B

Verify that

Ea′ = f6(MacKeyb,Na,Nb, rb, IOcapA,A,B)

abort otherwise.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 30 / 44

Page 54: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4 (Cont.)

Device A Attacker Device B

Verify that

Ea′ = f6(MacKeyb,Na,Nb, rb, IOcapA,A,B)

abort otherwise.

Reaching here only if the guess is correct

(DHKey ′b = DHKeyb)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 30 / 44

Page 55: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4 (Cont.)

Device A Attacker Device B

Verify that

Ea′ = f6(MacKeyb,Na,Nb, rb, IOcapA,A,B)

abort otherwise.

Reaching here only if the guess is correct

(DHKey ′b = DHKeyb)

EbCompute

Eb′ = f6(MacKeya,Nb,Na, ra, IOcapB,B,A)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 30 / 44

Page 56: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Phase 4 (Cont.)

Device A Attacker Device B

Verify that

Ea′ = f6(MacKeyb,Na,Nb, rb, IOcapA,A,B)

abort otherwise.

Reaching here only if the guess is correct

(DHKey ′b = DHKeyb)

EbEb′Compute

Eb′ = f6(MacKeya,Nb,Na, ra, IOcapB,B,A)

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 30 / 44

Page 57: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Active Message Relaying

Device A Attacker Device B

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 31 / 44

Page 58: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Active Message Relaying

Device A Attacker Device B

Ci = ELTKa(Msgi ) Decrypt using LTKa and

re-encrypt using LTKb

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 31 / 44

Page 59: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Active Message Relaying

Device A Attacker Device B

Ci = ELTKa(Msgi ) C ′i = ELTKb

(Msgi )Decrypt using LTKa andre-encrypt using LTKb

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 31 / 44

Page 60: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Active Message Relaying

Device A Attacker Device B

Ci = ELTKa(Msgi ) C ′i = ELTKb

(Msgi )Decrypt using LTKa andre-encrypt using LTKb

Ci+1 = ELTKb(Msgi+1)Decrypt using LTKb and

re-encrypt using LTKa

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 31 / 44

Page 61: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The Fully-Active Attack – Active Message Relaying

Device A Attacker Device B

Ci = ELTKa(Msgi ) C ′i = ELTKb

(Msgi )Decrypt using LTKa andre-encrypt using LTKb

Ci+1 = ELTKb(Msgi+1)C ′i+1 = ELTKa

(Msgi+1) Decrypt using LTKb andre-encrypt using LTKa

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 31 / 44

Page 62: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Success Rate of Our Attack

Success Rate – Semi-Passive Attack

DHKeya

DHKeyb ∞ PKa′

∞ Success Failure

PKb′ Failure Failure

Total Semi-Passive Attack: 25%

Success Rate – Fully-Active Attack (when guessing DHKey ′b = ∞)

DHKeya

DHKeyb ∞ PKa′

∞ Success Failure

PKb′ Success Failure

Total Fully-Active Attack: 50%

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 32 / 44

Page 63: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Success Rate of Our Attack

Success Rate – Semi-Passive Attack

DHKeya

DHKeyb ∞ PKa′

∞ Success Failure

PKb′ Failure Failure

Total Semi-Passive Attack: 25%

Success Rate – Fully-Active Attack (when guessing DHKey ′b = PKa′)

DHKeya

DHKeyb ∞ PKa′

∞ Success Failure

PKb′ Failure Success

Total Fully-Active Attack: 50%

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 32 / 44

Page 64: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Frequency Hopping

Bluetooth uses frequency hopping.

It has been shown that this frequency hopping could be predicted by anattacker and therefore does not provide security.More sophisticated equipment can listen/transmit to all of the channelsused by Bluetooth thus avoiding this issue entirely.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 33 / 44

Page 65: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Over the Air Packet Manipulation

MitM attacks requires over the air packets manipulation.

There are several projects that provide over the air packet manipulationcapability on Bluetooth, such as GATTack.Unfortunately, all of the solutions we found are limited to Bluetooth4.0 and do not support Bluetooth 4.2 (with LE SC) due to its largerpacket size.It is safe to assume that products supporting Bluetooth 4.2 packetmanipulation will be released in the near future as it becomes morepopular.

At the moment, only Bluetooth LE equipment is available for theseattacks, since it is far simpler than Bluetooth BR/EDR.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 34 / 44

Page 66: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Design Flaws

Both the x-coordinate and the y-coordinate are sent during the publickey exchange.

=⇒ This is unnecessary and highly inadvisable.

The protocol authenticates only the x-coordinate.

=⇒ The y-coordinate remains unauthenticated.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 35 / 44

Page 67: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Mitigations

In order to protect against the classical Invalid Curve Attack thespecification suggests refreshing the ECDH key-pair every pairingattempt.

=⇒ Our attack still works when this mitigation is applied.

The obvious (and recommended) mitigation against our attack is totest whether the given ECDH public-key satisfies the curve equation.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 36 / 44

Page 68: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Vulnerable Platforms

Our new attack was applicable to most available Bluetooth devices.

We informed the Bluetooth SIG and the vendors.

CVE-2018-5383 was assigned to this vulnerability in the Bluetoothprotocol.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 37 / 44

Page 69: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Vulnerable Platforms – Bluetooth LE SC

LE SC pairing is implemented in the host.

The vulnerability is found in the host’s operating system

Regardless of the Bluetooth controller.

The Android Bluetooth stack, “Bluedroid” is vulnerable.

Tested on Nexus 5X devices with Android version 8.1.

Apple iOS and MacOS was found to be vulnerable.

This includes all of the latest Apple products (both laptops, phonesand tablets).

At the time of our publication Microsoft Windows did not yet supportLE SC.

This made all Windows versions vulnerable to the simpler LegacyPairing Eavesdropping Attack.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 38 / 44

Page 70: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Vulnerable Platforms – Bluetooth BR/EDR SSP

The key exchange in SSP is performed by the Bluetooth controller.

The vulnerability depends on the Bluetooth controller’s firmwareimplementation.

Independent of the operating-system.

Controllers of most major vendors are vulnerable:

Qualcomm – Tested on Qualcomm’s QCA6174A.Broadcom – Tested on Broadcom’s BCM4358 and BCM4339.Intel – Tested on Intel 8265.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 39 / 44

Page 71: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Industry Reaction

Google rated this vulnerability as High-Severity.

A patch was released for the Android OS on June 4th 2018.

Apple released a formal statement explaining the vulnerability to itsusers.

A patch for iOS and MacOS was released on July 23rd 2018.

Intel rated this vulnerability as High Severity as well.

A patch, referred by INTEL-SA-00128, was released to dozens of Intel’sproducts on July 23rd 2018.

Qualcomm and Broadcom had also released patches to their vendorpartners.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 40 / 44

Page 72: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Bluetooth Protocol Fix

On July 23rd the Bluetooth SIG released a statement to addressingour findings.

“To remedy the vulnerability, the Bluetooth SIG has now updated theBluetooth specification to require products to validate any public keyreceived as part of public key-based security procedures. In addition,the Bluetooth SIG has added testing for this vulnerability within ourBluetooth Qualification Program.”The included specification change, released under the name “Erratum10734”, implements our recommended mitigation.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 41 / 44

Page 73: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Summary

We introduced the Fixed Coordinate Invalid Curve Attack whichprovides

A new tool for attacking the ECDH protocols.Presented the application of our new attack to the Bluetooth pairingprotocol.

As a result of our attack all of the variants of Bluetooth were proveninsecure.

We discovered multiple design flaws in the Bluetooth specification.

We found that all of the major vendors are vulnerable.

The Bluetooth protocol was modified according to our findings.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 42 / 44

Page 74: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

Thanks

Special thanks to the CERT/CC for helping us managing theresponsible disclosure to the vendors, and to the vendors for thecooperation on patching their systems.

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 43 / 44

Page 75: Breaking the Bluetooth Pairing Fixed Coordinate Invalid

The End

Eli Biham, Lior Neumann (Technion) Breaking the Bluetooth Pairing Cryptoday 2018 44 / 44