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 attack? Distance Bounding protocols 2
Relay attack: is this a relay attack? Distance Bounding protocols 3
Chip & Pin relay attack (Murdoch & Drimer 2007) Distance Bounding protocols 4
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
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
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
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
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : picks a random bit c i Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : picks a random bit c i starts timer Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : picks a random bit c i c i ← − − − − − − − − − − − − − − − − starts timer Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : picks a random bit c i c i ← − − − − − − − − − − − − − − − − starts timer r i = R c i i Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : picks a random bit c i c i ← − − − − − − − − − − − − − − − − starts timer r i r i = R c i − − − − − − − − − − − − − − − − → i Distance Bounding protocols 6
Hancke and Kuhn’s proposal (2005) P (Tag) V (Reader) secret x secret x slow phase generates nonce N P generates nonce N V N P − − − − − − − − − − − − − − − − − → N V ← − − − − − − − − − − − − − − − − − H 2 n = PRF ( x , N V , N P ) H 2 n = PRF ( x , N V , N P ) ( H 2 n is pseudo random bitstring of length 2 n ) R 0 : R 0 : . . . . . . R 1 : R 1 : . . . . . . fast phase for i = 1 , . . . , n : picks a random bit c i c i ← − − − − − − − − − − − − − − − − starts timer r i r i = R c i − − − − − − − − − − − − − − − − → stops timer i Distance Bounding protocols 6
Avoine and Tchamkerten’s protocol (2009) V Fast phase P r 0 r 0 0 0 0 1 0 1 r 0 r 1 r 0 r 1 1 1 1 1 0 1 0 1 0 1 0 1 r 0 r 1 r 2 r 3 r 0 r 1 r 2 r 3 2 2 2 2 2 2 2 2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 r 0 r 1 3 r 2 r 3 3 r 4 r 5 3 r 6 r 7 r 0 r 1 3 r 2 r 3 3 r 4 r 5 3 r 6 r 7 3 3 3 3 3 3 3 3 3 3 Distance Bounding protocols 7
Avoine and Tchamkerten’s protocol (2009) V P Fast phase 0 r 0 r 0 0 0 0 1 0 1 r 0 r 1 r 0 r 1 1 1 1 1 0 1 0 1 0 1 0 1 r 0 r 1 r 2 r 3 r 0 r 1 r 2 r 3 2 2 2 2 2 2 2 2 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 r 0 r 1 3 r 2 r 3 3 r 4 r 5 3 r 6 r 7 r 0 r 1 3 r 2 r 3 3 r 4 r 5 3 r 6 r 7 3 3 3 3 3 3 3 3 3 3 Distance Bounding protocols 7
Recommend
More recommend