![Page 1: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/1.jpg)
Feasible Privacy for Lightweight RFID Systems
David Evanswork with Karsten Nohl
University of Virginia
SPAR SeminarJohns Hopkins University
17 October 2007
![Page 2: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/2.jpg)
2www.cs.virginia.edu/evans/talks/spar07
UPC Bar Code EPC Gen 2 RFID
Identities 8-12 digits (product identity)
64-128 bits (item identity)
Reading Optical Scanner Wireless Reader
Tag Cost Ink, Paper ($0.00001?)
Circuit, Antenna ($0.05)
![Page 3: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/3.jpg)
3www.cs.virginia.edu/evans/talks/spar07
Photo by Bill Bryant
Protest at Texas Wal-Mart
![Page 4: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/4.jpg)
4www.cs.virginia.edu/evans/talks/spar07
“More-Efficient Mugging”
From Ari Juels USENIX Security 2004 talkhttp://www.usenix.org/events/sec04/tech/slides/juels.htm
“Just in case you want to know, she’sgot 700 Euro and 8 World Cup tickets…”
![Page 5: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/5.jpg)
5www.cs.virginia.edu/evans/talks/spar07
Realistic Threats
Corporate EspionageProfiling/Tracking
![Page 6: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/6.jpg)
6www.cs.virginia.edu/evans/talks/spar07
RFID Shield ($9.99)
Tin Foil
Solutions for Paranoids
![Page 7: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/7.jpg)
7www.cs.virginia.edu/evans/talks/spar07
Basic Hash Protocol
key: Knonce: R
R, HK(R)
N tagsN hashes
Stephen Weis, Sanjay Sarma, Ronald Rivest, and Daniel Engels. Security in Pervasive Computing, March 2003
![Page 8: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/8.jpg)
8www.cs.virginia.edu/evans/talks/spar07
Scalability
Privacy
Robustness
Basic Hash Protocol
YA-TRAP [Tsudik 06]
Tree-Hash Protocol
Insubvertible Encryption [Ateniese, Camenisch, de Medeiros CCS 2005]
![Page 9: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/9.jpg)
9www.cs.virginia.edu/evans/talks/spar07
Tree-Hash Protocol
k1,1
k2,0 k2,1k2,2 k2,3
T1 T2 T3 T4
k1,0
Basic HashProtocol at each level
Reader computes up to b logbN hashes
David Molnar and David Wagner. CCS 2004.
![Page 10: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/10.jpg)
10www.cs.virginia.edu/evans/talks/spar07
Analysis of Tree Protocol• Attacker wants traces of individuals• Attacker can easily acquire tags and
break their secrets• Assume no side channels: only
protocol layer leaks• Assume a good cryptographic hash
function– Second part of the talk is about whether
this is reasonable
![Page 11: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/11.jpg)
11www.cs.virginia.edu/evans/talks/spar07
Shared Secrets
3
n Group of n tags
Stolen secret
Broken tag1248
192
Each broken tag enables attacker to group intercepted tags using shared secrets
Information theoretic measure of privacy based on the group size
![Page 12: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/12.jpg)
12www.cs.virginia.edu/evans/talks/spar07
Groups and Leakage
![Page 13: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/13.jpg)
13www.cs.virginia.edu/evans/talks/spar07
Cost Trade-Off
![Page 14: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/14.jpg)
14www.cs.virginia.edu/evans/talks/spar07
Low-Leakage Tree Protocol
• Avoid small groups• Leads to two-level
tree for systems with billions of tags
• Opposite of originally proposed binary tree
…
… … …
Reader computes up to
N hashes
1B tags ~ 31K hashes
![Page 15: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/15.jpg)
15www.cs.virginia.edu/evans/talks/spar07
Tree-Hash Protocol Feasible?• Random Number
• Hash function (rest of this talk...)
An RN16 drawn from a Tag’s RNG... shall not be predictable with a probability greater than 0.025% if the outcomes of prior draws from the RNG, performed under identical conditions, are known.
EPC Class 1 Gen 2 Standard
~12 good bits out of 16
![Page 16: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/16.jpg)
16www.cs.virginia.edu/evans/talks/spar07
Implementing Hash Functions
10kgates
SHA-256
4kgates
AES
2kgates
RFID tag
Power consumption scales with gates, not “Moore’s Law”. Reading distance is inverse square-cube of power needed.
![Page 17: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/17.jpg)
17www.cs.virginia.edu/evans/talks/spar07
Cryptographic Hash Functions
• Pre-image resistance– Given H(x) it is hard to find x
• Second pre-image resistance– Given y hard to find x such that H(x) = y
• Collision resistance– Hard to find x and y such that H(x) = H(y)
Not necessary for privacy!
Hardest
Not sufficient for privacy!
![Page 18: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/18.jpg)
18www.cs.virginia.edu/evans/talks/spar07
Non-Private Strong Hash
H(x) = G(x) || x
where G is a strong,cryptographic hash function
![Page 19: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/19.jpg)
19www.cs.virginia.edu/evans/talks/spar07
Private Hash FunctionH(R,K)
R: (non-secret) nonceK: key shared with reader
• Correctness: given H(R,K), R, and key set easy to find K
• Privacy: given a set of <H(R,K), R> tuples it is hard to identify two tuples generated by the same key (without knowing key set)
![Page 20: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/20.jpg)
20www.cs.virginia.edu/evans/talks/spar07
Abstract Design
D(r, k) is a “Distortion Function” with:• Even output distribution• Black-box function with poly-time reversing
oracle that outputs set of k’s producing a given output
H(R, K) = D(R1, K1) … D(Rn, Kn)where
R = R1 || … || Rn
K = K1 || … || Kn
independent nonce/key shares
![Page 21: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/21.jpg)
21www.cs.virginia.edu/evans/talks/spar07
Security Argument: 2-splitX = D(R1, K1) D(R2, K2)
,D 1R … ,D 2R…
K 1=0
K 1=1
K1 = 2 n/2 -1
Precompute one side Try values to find match
Brute force attack: (2n)Meet-in-middle attack: (2n/2) space, time
n = total key bits, divided between K1 and K2
![Page 22: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/22.jpg)
22www.cs.virginia.edu/evans/talks/spar07
Concrete Abstract Design
• 3-split: D(R1, K1) D(R2, K2) D(R3, K3)
• Implementable Distortion Function– Even output distributiono Black-box function with reverse oracleImplementable function such that
attacker cannot find correlations: no easier way to break than by finding the intermediate values
![Page 23: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/23.jpg)
23www.cs.virginia.edu/evans/talks/spar07
CRC
• Cyclic Redundancy Check• Already required on EPC tags• Designed [Peterson, 1961] to be easy
to implement in hardware, error-checking code (no crypto goals)
CRCg(X) = remainder of polynomial division X by g in GF(2)
![Page 24: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/24.jpg)
24www.cs.virginia.edu/evans/talks/spar07
Implementing CRC
…datainput
generator input
![Page 25: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/25.jpg)
25www.cs.virginia.edu/evans/talks/spar07
Attempted CRC Privacy Protocol
Fixed (standard) generator polynomialK changes when updated by legitimate reader
Nguyen Duc, Park, Lee, and Kim. Enhancing Security of EPCglobal Gen-2 RFID Tag against Traceability and Cloning. Symposium on Cryptography and Information Security, 2006.
KRR ||IDCRC,:ReaderTag
![Page 26: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/26.jpg)
26www.cs.virginia.edu/evans/talks/spar07
CRC Properties
222222 xRKRKA g ||||CRC
111111 xRKRKA g ||||CRC
xXX
gXx
g
g
CRC
:by dividedevenly valuesofset
gXxx 21 ,
![Page 27: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/27.jpg)
27www.cs.virginia.edu/evans/talks/spar07
CRC Does Not Provide Privacy
21212121 xxRRKKAA ||
111111 xRKRKA g ||||CRC
If two readings were from same tag:
212121 ||...00||...00 xxRRAA
)(CRC||...00||...00CRC 212121 xxRRAA gg
0Otherwise, non-zero (with high probability)
gXxx 21 ,
![Page 28: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/28.jpg)
28www.cs.virginia.edu/evans/talks/spar07
Private Hash Function
Distortion Function Required Properties• Confusion: changing one input bit flips each output
bit with probability ½• Diffusion: changing one generator bit flips each
output bit with probability ½• Even distribution: all outputs are equally likely• Complexity: hard to correlate better than black box
brk kkra CRC),D(
D(R1, K1) D(R2, K2) D(R3, K3)
![Page 29: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/29.jpg)
29www.cs.virginia.edu/evans/talks/spar07
Proof Sketches• Confusion and Diffusion
– Requires: Hamming weight of generator is ½ length
– Proof: Follow bit probabilities through CRC
• Even Distribution– CRC provides even outputs over [0,g-1]
• But not over all output bits
– To get approximately even distribution: use only i low-order output bits, and combine outputs (second is reversed)
![Page 30: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/30.jpg)
30www.cs.virginia.edu/evans/talks/spar07
Attacks on Complexity• Most known crypto attacks don’t apply• No chosen plaintext makes
differential/linear cryptanalysis infeasible– Recall assumption: if attacker has physical
access they can just extract key
• Statistical Attacks (e.g., distinguishing attacks) fail because output is evenly distributed and no state is kept
![Page 31: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/31.jpg)
31www.cs.virginia.edu/evans/talks/spar07
Algebraic Attacks
• Create and solve system of equations for bits
• Successfully break many stream ciphers (and some block ciphers)
• Even partial knowledge of single key bit can weaken privacy
• No general defense exists
![Page 32: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/32.jpg)
32www.cs.virginia.edu/evans/talks/spar07
3-bit CRC Complexity
+k1++k2k3k4k5k6
g3 g2 g1
k1k1
g1g2g3
k2(g1k1)
k3(g2k1)
k4(g3k1)
k1g1g2 k1g3 k2g2 k4
k1g1g2 k1g1g3 k2g1g2 k1g2 k2g3 k3g2 k5
After 5 shifts:
5323115,3
42232115,2
3122115,1
H
H
H
kgkggk
kgkgggk
kgkggk
![Page 33: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/33.jpg)
33www.cs.virginia.edu/evans/talks/spar07
Algebraic Attacks
• Difficulty depends on complexity:– Degree determines feasibility of linear
system solving– Density determines possibility for
simplifications
• Degree > 6 considered practically unsolvable [Courtois and Meier, EuroCrypt 2003]
![Page 34: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/34.jpg)
34www.cs.virginia.edu/evans/talks/spar07
Shifting 250 times provides sufficient degree
(key + 0s)
Distortion Complexity
![Page 35: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/35.jpg)
35www.cs.virginia.edu/evans/talks/spar07
Implementation
• CRC with fixed generator already included on tags (required by EPC Class 1 standard)
• Extend to support variable generator: 130 gates (355 total GE)– Smallest known AES: 3400 gates
• Reader: simple implementation can do 10x (AES) - 40x (SHA-256) as many hashes as alternatives
![Page 36: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/36.jpg)
36www.cs.virginia.edu/evans/talks/spar07
Summary
• Cheap RFIDs are expensive bar codes, not little computers– Can’t do division, encryption,
cryptographic hashing, etc.
• Privacy does not require strong crypto hashing– Very simple, inexpensive functions may
be sufficient for privacy
![Page 37: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/37.jpg)
37www.cs.virginia.edu/evans/talks/spar07
“We cannot even answer the most basic questions because we don’t know enough about you. That is the most important aspect of Google’s expansion.”
Eric Schmidt (Google’s CEO)
May 2007
![Page 38: Feasible Privacy for Lightweight RFID Systems](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814881550346895db591b1/html5/thumbnails/38.jpg)
38www.cs.virginia.edu/evans/talks/spar07
For more information:[email protected]
http://www.cs.virginia.edu/evans
Karsten Nohl and David Evans. Private Hash Functions: Lightweight Protection for RFID Systems. (In submission, request by email)
Karsten Nohl and David Evans. Optimizing Secret Trees for Privacy. (In submission, request by email)
Karsten Nohl and David Evans. Quantifying Information Leakage in Tree-Based Hash Protocols. ICICS 2006.