39
SAR-SSI, 16/05/2014 Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Embed Size (px)

Citation preview

Page 1: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

SAR-SSI, 16/05/2014 Cristina OneteCIDRE

Keep your friends close with distance-bounding protocols

Page 2: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 2

Meet the girl

Marie-Claire

Need authentication

Page 3: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 3

Authentication

1 = Accept

0 = Reject

Prover Verifier

Adversary

Page 4: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 4

PKES: Authentication

Page 5: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 5

Authentication

Page 6: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 6

Contents

Authentication & Distance Bounding• Authentication protocols• Relay attacks – mafia fraud

Constructing distance-bounding protocols

• Basic structure

• Privacy

Lessons learned

• Distance bounding protocols

• Distance & Mafia fraud• Terrorist fraud resistance

Next steps

Page 7: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Authentication & Distance Bounding

Part I:

Page 8: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 8

Authentication

1 = Accept

0 = Reject

Prover Verifier

Adversary

Page 9: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 9

Authentication (symmetric)

K

NP , MACK(NP| NV)

NVPick random NV

Pick random NP

ComputeMACK(NP| NV) Verify

MACK(NP| NV)

Recall: MAC ensures EUF-CMA (unforgeability)

Security: right partner sent MAC

Page 10: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 10

Authentication (symmetric)

NP , MACK(NP| NV)

NV

Observe N1 honest sessions

learn NP , NV , MACK(NP| NV) N2 times: Query P with NV

learn pairs NP , MACK(NP| NV) for each NV

N3 challenge sessions with V

Verifier sends NV

Adv has seen NV before: replayprobability is

Adv has sent NV beforeprobability is

Page 11: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 11

Relay Attacks (Mafia Fraud) [Des88]

Leech Ghost

N V

NV

NV

NP

MACK(NP|NV)

NP ,

MAC

K (NP |N

V )

N P ,

MAC

K(N

P|N

V)

Far-away Prover helps Adversary

Works for Bluetooth, smartcards, Keeloq, PKES (cars)

Page 12: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 12

Distance-Bounding Protocols

if comm. speed & complexity are constant

distance time

tmax

c

r

check r

t

check t tmax

tmax

Distance-bounding idea: proximity = trust

Use timer!c, r must be bits

minimal processing

Page 13: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 13

Distance-Bounding Protocols

Distance-bounding idea: use timer!

if comm. speed & complexity are constant

tmax

c

r

check r

t

check t tmax

tmax

Do proximity test N times for reliability

c

r

Page 14: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 14

Distance-Bounding Properties

Mafia Fraud Resistance

Terrorist Fraud Resistance

Distance Fraud Resistance

No relays!

Help is one-time

tmax

Page 15: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 15

Distance-Bounding Attacks

Mafia Fraud Resistance

• Marie-Claire has unique e-key to gym locker• Marie-Claire is at party with Leech• Ghost is at gym, wants to get into the locker

Terrorist Fraud Resistance• Marie-Claire and Adv. are friends

• Marie-Claire wants to let Adv. to use her locker

• But Adv. shouldn’t enter again without permission Distance Fraud Resistance

• Marie-Claire runs a red light, wants to prove she was at the gym, but she is far away

Page 16: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Distance-Bounding Protocols

Part II:

Page 17: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 17

Distance-Bounding Protocol

Basic structure

round

………………

slow

fast

Page 18: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 18

Distance-Bounding Protocol

Authentication + distance upper-bounding

NP MACK(NP| NV)

NV

Authentication

K

c

rN times

Distance check

If r random, then no authentication

random c

Page 19: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 19

Distance-Bounding Protocol

Authentication + distance upper-bounding

NP MACK(NP| NV)

NV

Authentication

K

c

r = c

N times Distance check

Distance-fraud resistance: can’t guess c

No authentication: no mafia-fraud resistance

Link r to auth. string

Page 20: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 20

Distance-Bounding Protocol

NP Compute

r = MACK(NP| NV)

NV

K

ci

ri

N timesCheck ri

and time

Mafia-fraud resistance: from unforgeability

Distance-fraud resistance: no, r predictable for Prover

Page 21: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 21

Distance-Bounding Protocol

NP r0|r1 = MACK(NP| NV)

NV

K

ci

rici

N timesCheck rand time

Mafia-fraud resistance: from unforgeability

Distance-fraud: no guarantee on MAC output distribution

Page 22: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 22

Distance-Bounding Protocol

NP r0|r1 = MACK(NP| NV)

NV

K

ci

rici

N timesCheck rand time

Mafia-fraud resistance: from unforgeability

Distance-fraud: no guarantee on MAC output distribution

Distance-fraud:cannot choose clevernonce to get r0 ≈ r1

Page 23: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 23

Distance-Bounding Protocol

NP r0|r1 = PRFK(NP| NV)

NV

K

ci

rici

N timesCheck rand time

Mafia-fraud resistance: from unforgeability

Distance-fraud: from unpredictability of response

Distance-fraud:cannot choose clevernonce to get r0 ≈ r1

[HK05]:

[BMV12]: PR-ness alone not enough![BMV13]: Stronger assumption on PRF

Page 24: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 24

Distance-Bounding Protocols

NP r0 = PRFK(NP| NV)

NV

K,K’

ci

rici

N times

r1 = r0 XOR K’

Defeat terrorist-fraud attacks

Intuition:Sending r0, r1 reveals

the key K’

Reality:Dependency enableskey-learning attack

Page 25: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 25

Distance-Bounding Protocols

NP r0 = PRFK(NP| NV)

NV

K,K’

ci

rici

r1 = r0 XOR K’

Key learning [AT09,DFK+11]

tmax

………………rounds 1 to N-1

cNcN+1

rNcN+1 rN

cN+1

Accept: rNcN+1 = rN

cN

K’N = 0

Repeat: learn K’Next: query r0, have r1

Page 26: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 26

Distance-Bounding Protocols

NP r0 = PRFK(NP| NV)

NV

K,K’

ci

rici

N times

r1 = r0 XOR K’

Prevent adversary from flipping bits [KAK+08]

PRFK(transcript)

Mafia-fraud: near-optimal, final PRF prevents any flips

Distance-fraud: while K’ pseudoran-dom, distance of r0, r1 optimal

Terrorist-fraud: Yes, but the advantage the adversary has is only marginal

Page 27: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 27

Distance-Bounding Protocols

NP r0 = PRFK(NP| NV)

NV

K,K’

ci

rici

N times

r1 = r0 XOR K’

Prevent adversary from flipping bits [KAK+08]

PRFK(transcript)

Mafia-fraud: lower, final PRF allows some attacks.

Distance-fraud: while K’ pseudoran-dom, distance of r0, r1 optimal

Terrorist-fraud: It works: learning bits of K’ helps and can re-use transcript with 0

PRFK(T* (ci = 0))

Page 28: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 28

Distance-Bounding Protocols

Lessons learned so far

• Distance-fraud: unpredictable responses

Just echoing challenges works optimally Reponses output by PRF, if no special nonces Link responses by pseudorandom key

• Mafia-fraud: authenticating responses + no key-learning

Two strings output by PRF Final transcript authentication works optimally If linked responses, final authentication necessary

• Terrorist-fraud: relate responses by using extra key Also give back-door for future authentication

Page 29: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 29

Distance-Bounding Protocols

Game-based privacy (untraceability) [V07]

… …

DrawProver

Always draw right or always

draw left

Prover 1

Prover 2

Prover n

VerifierHandle

Page 30: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 30

Privacy in Authentication

Prover 1

VerifierProver 2

Prover n

… …

Handle

DrawProver

Corrupt

Key

Left/right

Game-based privacy (untraceability) [V07]

Page 31: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 31

Distance-Bounding Protocols

Forward privacy: Once a key is corrupted, can you distinguish past sessions?

Strong privacy: no rules for corruption

Requires key updates No privacy guaranteed for future sessions The most we can get with symmetric authentication

Needs public key crypto: key agreement Idea of [HPO13]: combine strongly private authen-

tication with distance bounding Responses: pseudo-random truncation of DH key Authenticate transcript in final authentication string

Page 32: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 32

Symmetric key Public key

Nonce exchange

K

ci

rici

N rnds

Compute r0,r1

using K

SignK(transcript)

Nonce exchange

k, X= kP

ci

rici

N rnds

r0,r1 : eph. DH

Authentication of ID & challenges

y, Y= yP

Page 33: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 33

MIM-Private DB ([HPO13])

Auth. + relay: adapt/compose auth. and prox. check

r1P,

r3PRandom r1, r2Random c, r, r3

Compute

r0|r1 = xcoord {r1r3P}2n

r2P

ci

rici

e = c|r

ss = k+er1+r2+d

d = xcoord [r1yP];

Check: (s-d)P – e R1-R2 == kP?

n times

DH tuple

Page 34: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 34

MIM-Private DB ([HPO13])

Auth. + relay: adapt/compose auth. and prox. check

r1P,

r3PRandom r1, r2Random c, r, r3

Compute

r0|r1 = xcoord {r1r3P}2n

r2P

ci

rici

e = c|r

ss = k+er1+r2+d

d = xcoord [r1yP];

Check: (s-d)P – e R1-R2 == kP?

Mafia fraudn times

Page 35: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 35

MIM-Private DB ([HPO13])

Auth. + relay: adapt/compose auth. and prox. check

r1P,

r3PRandom r1, r2Random c, r, r3

Compute

r0|r1 = xcoord {r1r3P}2n

r2P

ci

rici

e = c|r

ss = k+er1+r2+d

d = xcoord [r1yP];

Check: (s-d)P – e R1-R2 == kP?

Dist. fraudn times

Page 36: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 36

MIM-Private DB ([HPO13])

Auth. + relay: adapt/compose auth. and prox. check

r1P,

r3PRandom r1, r2Random c, r, r3

Compute

r0|r1 = xcoord {r1r3P}2n

r2P

ci

rici

e = c|r

ss = k+er1+r2+d

d = xcoord [r1yP];

Check: (s-d)P – e R1-R2 == kP?

PrivacyImpersonation

n times

Page 37: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 37

Privacy in Distance Bounding

Intuitively: not just MIM adversary, but also honest-but curious/malicious verifier

Change model to allow this Construction:

Group signatures: overkill, no need for opening or group structure

Accumulators: would have worked, but use pairings. Our scheme uses DDH assumption

Core idea: a kind of ring signatures with infrastruc-ture provided by external entity (Server)

BB use of NIZK scheme

AsiaCCS 2014 [GOR14]: how about insider privacy?

Secure, fully anonymous, deniable w.r.t. Server

Page 38: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

Cristina Onete || 16/05/2014 || 38

Lessons Learned

• Distance-bounding

Responses must be unpredictable to Prover: large Hamming distance, no cheating input

Responses must authenticate Prover, add final authentication at the end

Privacy: private authentication, randomized proximity check response

• Questions for future

Are privacy and terrorist-fraud resistance compatible? Can generic privacy be achieved by composition of

private authentication and proximity check?

Page 39: SAR-SSI, 16/05/2014Cristina Onete CIDRE Keep your friends close with distance-bounding protocols

CIDRE

Thanks!