An optimal distance-bounding protocol Rolando Trujillo-Rasua - - PowerPoint PPT Presentation

an optimal distance bounding protocol
SMART_READER_LITE
LIVE PREVIEW

An optimal distance-bounding protocol Rolando Trujillo-Rasua - - PowerPoint PPT Presentation

An optimal distance-bounding protocol Rolando Trujillo-Rasua University of luxembourg (joint work with Sjouke Mauw and Jorge Toro-Pozo) Euro S&P and RFIDSec, 2016 Distance Bounding protocols 1 Beating a grand master: is this a relay


slide-1
SLIDE 1

An optimal distance-bounding protocol

Rolando Trujillo-Rasua University of luxembourg

(joint work with Sjouke Mauw and Jorge Toro-Pozo) Euro S&P and RFIDSec, 2016

Distance Bounding protocols 1

slide-2
SLIDE 2

Beating a grand master: is this a relay attack?

Distance Bounding protocols 2

slide-3
SLIDE 3

Relay attack: is this a relay attack?

Distance Bounding protocols 3

slide-4
SLIDE 4

Chip & Pin relay attack

(Murdoch & Drimer 2007)

Distance Bounding protocols 4

slide-5
SLIDE 5

Chip & Pin relay attack

(Murdoch & Drimer 2007)

Many more practical attacks, e.g.

◮ Passive keyless entry and start systems used in modern cars

(Francillon 2012)

◮ Google Wallet Relay Attack (Roland 2013)

Distance Bounding protocols 4

slide-6
SLIDE 6

Solution: distance bounding

◮ Reader sends a challenge. ◮ Tag provides correct response. ◮ Reader measures the round-trip-time and accepts if this is

“fast enough”.

Distance Bounding protocols 5

slide-7
SLIDE 7

Solution: distance bounding

◮ Reader sends a challenge. ◮ Tag provides correct response. ◮ Reader measures the round-trip-time and accepts if this is

“fast enough”.

◮ RF communication at the speed of light. ◮ Need very short processing time at the tag (otherwise the

adversary could overclock the tag).

Distance Bounding protocols 5

slide-8
SLIDE 8

Solution: distance bounding

◮ Reader sends a challenge. ◮ Tag provides correct response. ◮ Reader measures the round-trip-time and accepts if this is

“fast enough”.

◮ RF communication at the speed of light. ◮ Need very short processing time at the tag (otherwise the

adversary could overclock the tag).

◮ Slow phase: generation of random values, exchange of

parameters, preparation of data structures.

◮ Fast phase: 1-bit messages, tag performs at most

lookup/and/xor/. . . ; repeat this n times.

Distance Bounding protocols 5

slide-9
SLIDE 9

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x

Distance Bounding protocols 6

slide-10
SLIDE 10

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase fast phase

Distance Bounding protocols 6

slide-11
SLIDE 11

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase fast phase

Distance Bounding protocols 6

slide-12
SLIDE 12

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV fast phase

Distance Bounding protocols 6

slide-13
SLIDE 13

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − fast phase

Distance Bounding protocols 6

slide-14
SLIDE 14

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) fast phase

Distance Bounding protocols 6

slide-15
SLIDE 15

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase

Distance Bounding protocols 6

slide-16
SLIDE 16

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase

Distance Bounding protocols 6

slide-17
SLIDE 17

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n:

Distance Bounding protocols 6

slide-18
SLIDE 18

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n: picks a random bit ci

Distance Bounding protocols 6

slide-19
SLIDE 19

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n: picks a random bit ci starts timer

Distance Bounding protocols 6

slide-20
SLIDE 20

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n: picks a random bit ci

ci

← − − − − − − − − − − − − − − − − starts timer

Distance Bounding protocols 6

slide-21
SLIDE 21

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n: picks a random bit ci

ci

← − − − − − − − − − − − − − − − − starts timer ri = Rci

i

Distance Bounding protocols 6

slide-22
SLIDE 22

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n: picks a random bit ci

ci

← − − − − − − − − − − − − − − − − starts timer ri = Rci

i ri

− − − − − − − − − − − − − − − − →

Distance Bounding protocols 6

slide-23
SLIDE 23

Hancke and Kuhn’s proposal (2005)

P (Tag) V (Reader)

secret x secret x slow phase generates nonce NP generates nonce NV

NP

− − − − − − − − − − − − − − − − − →

NV

← − − − − − − − − − − − − − − − − − H2n = PRF(x, NV , NP) H2n = PRF(x, NV , NP) (H2n is pseudo random bitstring of length 2n) R0 :

. . .

R0 :

. . .

R1 :

. . .

R1 :

. . .

fast phase for i = 1, . . . , n: picks a random bit ci

ci

← − − − − − − − − − − − − − − − − starts timer ri = Rci

i ri

− − − − − − − − − − − − − − − − → stops timer

Distance Bounding protocols 6

slide-24
SLIDE 24

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-25
SLIDE 25

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-26
SLIDE 26

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-27
SLIDE 27

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-28
SLIDE 28

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-29
SLIDE 29

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-30
SLIDE 30

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-31
SLIDE 31

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-32
SLIDE 32

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-33
SLIDE 33

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

1

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-34
SLIDE 34

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

1

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-35
SLIDE 35

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

1 r 3

3

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-36
SLIDE 36

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

1 r 3

3

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-37
SLIDE 37

Avoine and Tchamkerten’s protocol (2009)

V

Fast phase

P

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1

r 0

1

1 r 1

2

1 r 3

3

r0 r0

1

r1

1

1 r0

2

r1

2

r2

2

r3

2

1 1 r0

3

r1

3 r2 3

r3

3 r4 3

r5

3 r6 3

r7

3

1 0 1 0 1 0 1 Distance Bounding protocols 7

slide-38
SLIDE 38

Security analyis

Mafia Fraud Memory usage HK protocol

  • 3

4

n

linear in number of rounds AT protocol

1 2n (1 + n 2)

exponential in number of rounds

Distance Bounding protocols 8

slide-39
SLIDE 39

Research questions

  • 1. Is there a lookup-based protocol that beats AT:

1 2n (1 + n 2)?

Distance Bounding protocols 9

slide-40
SLIDE 40

Research questions

  • 1. Is there a lookup-based protocol that beats AT:

1 2n (1 + n 2)?

No, AT is optimal

  • 2. Do we need an exponential memory to achieve

1 2n (1 + n 2)?

Distance Bounding protocols 9

slide-41
SLIDE 41

Research questions

  • 1. Is there a lookup-based protocol that beats AT:

1 2n (1 + n 2)?

No, AT is optimal

  • 2. Do we need an exponential memory to achieve

1 2n (1 + n 2)?

Yes, we can’t do better than AT.

  • 3. So, given a limit on the size of the lookup table, what’s the
  • ptimal db protocol?

Distance Bounding protocols 9

slide-42
SLIDE 42

Research questions

  • 1. Is there a lookup-based protocol that beats AT:

1 2n (1 + n 2)?

No, AT is optimal

  • 2. Do we need an exponential memory to achieve

1 2n (1 + n 2)?

Yes, we can’t do better than AT.

  • 3. So, given a limit on the size of the lookup table, what’s the
  • ptimal db protocol?

We will answer that question (partially) in this talk.

Distance Bounding protocols 9

slide-43
SLIDE 43

Modeling lookup-based DB protocols

q0 1 1 1

A = (Σ, Γ, Q, q0, δ, ℓ)

Σ is the set of input symbols Γ is the set of output symbols Q is the set of states q0 ∈ Q is the initial state δ: Q × Σ → Q is the transition function ℓ: Q → Γ is the state labeling function

Distance Bounding protocols 10

slide-44
SLIDE 44

Modeling lookup-based DB protocols

q0 1 1 1

A = (Σ, Γ, Q, q0, δ, ℓ)

Σ is the set of input symbols Γ is the set of output symbols Q is the set of states q0 ∈ Q is the initial state δ: Q × Σ → Q is the transition function ℓ: Q → Γ is the state labeling function ΩA (101) = 001

Distance Bounding protocols 11

slide-45
SLIDE 45

Modeling lookup-based DB protocols

P={

q0 1 1 1

,

q0 1 1 1 1

,

q0 1 1

,

q0 1 1 1 1

, ...}

Distance Bounding protocols 12

slide-46
SLIDE 46

Protocol execution

Slow/Lazy/Initial phase

{

q0 1 1 1

,

q0 1 1 1 1

,

q0 1 1

,

q0 1 1 1 1

, ...}

Reader Tag

xxxxxxx xxxxxxx

Distance Bounding protocols 13

slide-47
SLIDE 47

Protocol execution

Slow/Lazy/Initial phase

{

q0 1 1 1

,

q0 1 1 1 1

,

q0 1 1

,

q0 1 1 1 1

, ...}

Distance-bounding phase

Reader Tag

xxxxxxx xxxxxxx ∆t ≤ tMAX

Distance Bounding protocols 14

slide-48
SLIDE 48

Protocol execution

Slow/Lazy/Initial phase

{

q0 1 1 1

,

q0 1 1 1 1

,

q0 1 1

,

q0 1 1 1 1

, ...}

Distance-bounding phase

Reader Tag

1 xxxxxxx xxxxxxx ∆t ≤ tMAX ∆t ≤ tMAX

Distance Bounding protocols 15

slide-49
SLIDE 49

Protocol execution

Slow/Lazy/Initial phase

{

q0 1 1 1

,

q0 1 1 1 1

,

q0 1 1

,

q0 1 1 1 1

, ...}

Distance-bounding phase

Reader Tag

1 1 1 xxxxxxx xxxxxxx ∆t ≤ tMAX ∆t ≤ tMAX ∆t ≤ tMAX

Distance Bounding protocols 16

slide-50
SLIDE 50

Automata equivalence relations

◮ State-label-insensitive relation (∼S)

(Σ, Γ, Q, q0, δ, ℓ) ∼S (Σ, Γ, Q, q0, δ, ℓ′)

q0 1

∼S

q0 1 1 1

Distance Bounding protocols 17

slide-51
SLIDE 51

Automata equivalence relations

◮ State-label-insensitive relation (∼S)

(Σ, Γ, Q, q0, δ, ℓ) ∼S (Σ, Γ, Q, q0, δ, ℓ′)

q0

∼S

q0

Distance Bounding protocols 18

slide-52
SLIDE 52

Automata equivalence relations

◮ Label-insensitive relation (∼L)

(Σ, Γ, Q, q0, δ, ℓ) ∼L (Σ, Γ, Q, q0, δ′, ℓ′) such that ∀q ∈ Q : {δ(q, c) | c ∈ Σ} = {δ′(q, c) | c ∈ Σ}.

q0 1

∼L

q0 1 1 1

Distance Bounding protocols 19

slide-53
SLIDE 53

Automata equivalence relations

◮ Label-insensitive relation (∼L)

(Σ, Γ, Q, q0, δ, ℓ) ∼L (Σ, Γ, Q, q0, δ′, ℓ′) such that ∀q ∈ Q : {δ(q, c) | c ∈ Σ} = {δ′(q, c) | c ∈ Σ}.

q0

∼L

q0

Distance Bounding protocols 20

slide-54
SLIDE 54

Consistency and closeness

All lookup-based protocols are consistent and closed with respect to ∼S. Except for Poulidor (Trujillo et al. 2010) which is consistent and closed with respect to ∼L.

Distance Bounding protocols 21

slide-55
SLIDE 55

Consistency and closeness

All lookup-based protocols are consistent and closed with respect to ∼S. Except for Poulidor (Trujillo et al. 2010) which is consistent and closed with respect to ∼L.

◮ A protocol P is consistent w.r.t ∼R iff

A, A′ ∈ P : A ∼R A′

◮ A protocol P is closed under ∼R iff

∀(A, A′) ∈∼R : A ∈ P = ⇒ A′ ∈ P

Distance Bounding protocols 21

slide-56
SLIDE 56

A transformation towards optimality

◮ The closure of P w.r.t ∼R, denoted by P

R, is the minimal

superset of P that is closed under ∼R.

Theorem

For any layered lookup-based protocol P the following holds: M(P) ≥ M

  • P

S

≥ M

  • {A}

L

, for some A ∈ P. Moreover, the size of {A}

L is at most the size of P. Distance Bounding protocols 22

slide-57
SLIDE 57

A transformation towards optimality

◮ The closure of P w.r.t ∼R, denoted by P

R, is the minimal

superset of P that is closed under ∼R.

Theorem

For any layered lookup-based protocol P the following holds: M(P) ≥ M

  • P

S

≥ M

  • {A}

L

, for some A ∈ P. Moreover, the size of {A}

L is at most the size of P.

◮ Protocols with random state labels and transition labels are

better.

Distance Bounding protocols 22

slide-58
SLIDE 58

A transformation towards optimality

◮ The closure of P w.r.t ∼R, denoted by P

R, is the minimal

superset of P that is closed under ∼R.

Theorem

For any layered lookup-based protocol P the following holds: M(P) ≥ M

  • P

S

≥ M

  • {A}

L

, for some A ∈ P. Moreover, the size of {A}

L is at most the size of P.

◮ Protocols with random state labels and transition labels are

better.

◮ The transformation {A}

L of P is an improvement. Distance Bounding protocols 22

slide-59
SLIDE 59

A transformation towards optimality

◮ The closure of P w.r.t ∼R, denoted by P

R, is the minimal

superset of P that is closed under ∼R.

Theorem

For any layered lookup-based protocol P the following holds: M(P) ≥ M

  • P

S

≥ M

  • {A}

L

, for some A ∈ P. Moreover, the size of {A}

L is at most the size of P.

◮ Protocols with random state labels and transition labels are

better.

◮ The transformation {A}

L of P is an improvement.

◮ Let A ∈ Tree, then HK Tree is not better than {A}

L. Distance Bounding protocols 22

slide-60
SLIDE 60

Layered Protocols

Definition

A protocol P is layered if and only if in any automaton two different input sequences reach different states, i.e., ∀A ∈ P, ∀x, y ∈ Σ∗ : |x| = |y| = ⇒ ˆ δ(x) = ˆ δ(y). Example: Tree-based (Avoine et al. 2009).

q0 1 1 1 1 0 1 0 0 1 0

Distance Bounding protocols 23

slide-61
SLIDE 61

Optimal protocol

Theorem

A layered protocol with maximum girth, given a bound on the number of states, is either optimal or can be made optimal via application of the ∼L-closure.

(0,0) (1,0) 1 (1,1) (2,0) (2,1) 1 (2,2) (2,3) 1 (3,0) 1 (3,1) (3,2) 1 (3,3) 1 (4,0) (4,1) 1 (4,2) (4,3)

Distance Bounding protocols 24

slide-62
SLIDE 62

Comparative analysis

y Nondominated Attribute values instances in Iy n pm pd pt b c m f total 2−32 KA-{37, 0.85} 37 2−32.0 2−2.0 20.0 1 1 0Kb false 2 BC-{32} 32 2−32.0 2−32.0 20.0 1 2 0Kb true 97 Tree-{48, 6} 48 2−32.0 2−21.0 20.0 1 1 1Kb false 156 TMA-{53} 53 2−32.0 2−32.0 20.0 1 1 0Kb false 1 SwissKnife-{32} 32 2−32.0 2−13.0 2−13.0 1 2 1Kb true 97 Modular-{39, 32} 39 2−32.0 2−16.0 20.0 1 1 2Kb false 3 SKI-{78, 2} 78 2−32.0 2−32.0 2−78.0 2 1 1Kb false 51 2−48 Poulidor-{61} 61 2−48.0 2−25.0 20.0 1 1 0Kb false 1 KA-{53, 0.95} 53 2−48.0 2−1.0 20.0 1 1 0Kb false 4 BC-{48} 48 2−48.0 2−48.0 20.0 1 2 0Kb true 81 Tree-{72, 6} 72 2−48.0 2−32.0 20.0 1 1 2Kb false 120 TMA-{80} 80 2−48.0 2−48.0 20.0 1 1 0Kb false 1 SwissKnife-{48} 48 2−48.0 2−19.0 2−19.0 1 2 1Kb true 81 Modular-{58, 32} 58 2−48.0 2−24.0 20.0 1 1 2Kb false 4 SKI-{116, 2} 116 2−48.0 2−48.0 2−116.0 2 1 1Kb false 13

Distance Bounding protocols 25

slide-63
SLIDE 63

Poulidor and Cayley graphs

◮ Poulidor is a Cayley graph 1 1 1 1 1

Distance Bounding protocols 26

slide-64
SLIDE 64

Poulidor and Cayley graphs

◮ Poulidor is a Cayley graph ◮ Cayley graphs tend to have large

girth

1 1 1 1 1

Distance Bounding protocols 26

slide-65
SLIDE 65

Poulidor and Cayley graphs

◮ Poulidor is a Cayley graph ◮ Cayley graphs tend to have large

girth

◮ Large-girth graphs with

expander properties have been used to design hash functions

1 1 1 1 1

Distance Bounding protocols 26

slide-66
SLIDE 66

Poulidor and Cayley graphs

◮ Poulidor is a Cayley graph ◮ Cayley graphs tend to have large

girth

◮ Large-girth graphs with

expander properties have been used to design hash functions

◮ So, is there a connection

between distance-bounding and graph-based hash functions?

1 1 1 1 1

Distance Bounding protocols 26

slide-67
SLIDE 67

Conclusions

◮ Better understanding and generic treatment of lookup-based

distance-bounding protocols.

◮ Fundamental results on security and memory usage. ◮ First lookup-based protocol that can be proven optimal ◮ Connection with graph-based hash functions

Distance Bounding protocols 27