RFID (Radio-Frequency IDentication) takes many forms…
“RFID” really denotes a spectrum of devices Automobile ignition key Mobile phone Toll payment plaque Basic “smart label” passive semi-passive no crypto some crypto few cm to many meters range several meters range several cm range RFID: Any wireless device whose main function is identification of an object or person…
“Smart label” RFID tag Passive tag Ordinary range of several meters Simply calls out (unique) name and static data “74AB8” “5F8KJ3” “Evian bottle # ”
Cheap! (target of $0.05 apiece) Little memory –Static 96-bit+ identifier in current ultra- cheap tags –Up to hundreds of writeable bits Little computational power –At most a few thousand gates (mostly for basic functionality) –No real cryptographic functions possible Capabilities of “smart label” RFID tag
“Smart labels”: EPC (Electronic Product Code) tags Barcode EPC tag Line-of-sight Radio contact Specifies object type Uniquely specifies object Fast, automated scanning Provides pointer to database entry for every object, i.e., unique, detailed history
30 April: RFID-tagged cow “Bessie” produces milk 30 April: Milk transferred to RFID-tagged tank –Cow identity and milking time recorded in tank-tag database 1 May: RFID portal on truck records loading of refrigeration tanks –(Truck also has active RFID (+GPS) to track geographical location and RFID transponder to pay tolls) 2 May: Chemical-treatment record written to database record for milk barrel –Bessie’s herd recorded to have consumed bitter grass; compensatory sugars added 3 May: Milk packaged in RFID-tagged carton; milk pedigree recorded in database associated with carton tag 4 May: RFID portal at supermarket loading dock records arrival of carton 5 May: “Smart” shelf records arrival of carton in customer area 5 May 0930h: “Smart” shelf records removal of milk 5 May 0953h: Point-of-sale terminal records sale of milk (to Alice) 2030: Week in the life of a milk carton
6 May 0953h: Supermarket transfers tag ownership to Alice’s smart home 6 May 1103h: Alice’s refrigerator records arrival of milk 6 May 1405h: Alice’s refrigerator records removal of milk; refrigerator looks up database-recorded pedigree and displays: “Woodstock, Vermont, 1% fat, light pasturization, artisanal, USDA organic, breed: Jersey, genetic design #81726” 6 May 1807h: Alice’s “smart” home warns domestic robot that milk has been left out of refrigerator for more than four hours 6 May 1809h: Alice’s refrigerator records replacement of milk 7 May 0530h: Domestic robot uses RFID tag to locate milk in refrigerator; refills baby bottle 2030: Week in the life of a milk carton
6 May 0953h: Supermarket transfers tag ownership to Alice’s smart home 6 May 1103h: Alice’s refrigerator records arrival of milk 6 May 1405h: Alice’s refrigerator records removal of milk; refrigerator looks up database-recorded pedigree and displays: “Woodstock, Vermont, Grade A, light pasturization, artisanal, USDA organic, breed: Jersey, genetic design #81726” 6 May 1807h: Alice’s “smart” home warns domestic robot that milk has been left out of refrigerator for more than four hours 6 May 1809h: Alice’s refrigerator records replacement of milk 7 May 0530h: Domestic robot uses RFID tag to locate milk in refrigerator; refills baby bottle 7 May 2357h: Recycling center scans RFID tag on carton; directs carton to paper-brick recycling substation 7 May 0531h: Robot discards carton; “Smart” refrigerator notes absence of milk; transfers order to Alice’s PDA/phone/portable server grocery list 2030: Week in the life of a milk carton
PROXIMITY CARDS Note: Often just emit static identifiers, i.e., they are just smart labels!
f RFID helps secure hundreds of millions of automobiles Cryptographic challenge-response More than 90% reduction in car theft thanks to RFID! Some devices, e.g., Texas Instruments DST, are weak [Bono et al. ’05])… AUTOMOBILE IGNITION KEYS
RFID now offered in all major credit cards in U.S. (“tap-and-go”)… Some problems with first generation [Heydt-Benjamin et al. ’07] Credit CARDS
Transit CARDS K. Nohl and H. Plötz on Mifare, 2008
Dozens of countries issuing RFID-enabled passports PASS card and “enhanced” drivers’ licenses (EPC tags) PAssports
Little EPC at item-level, mostly cases and pallets Crate #123 (jet engines)
Supply-chain visibility 22 August UTC Kansas, USA Crate #123 packed Factory # August UTC Okinawa, Japan Crate #123 arrived Dock JHS1872H 25 August UTC NYC, USA Crate #123 loaded Cargo ship UAYHQUE
Anti-counterfeiting: Better supply-chain visibility means less fraud –U.S. FDA urging RFID use to combat counterfeiting of drugs –Pharmaceutical companies doing item-level trials with EPC today pharmaceuticals
Privacy approach 1: Cover RFID tags with protective mesh or foil Problems: (1) Makes locomotion difficult (2) Shops don’t like distributing tools for theft
Long-term problem: RFID tags are very useful in “live” state… Approach 2: EPC “kill” command for RFID tags Short-term problem: How do I get kill PINs to point of sale?
1500 Euros in wallet Serial numbers: , … Replacement hip medical part # Mad-cow hamburger lunch Counterfeit! Good readers, bad tags Mr. Jones’s car! Mr. Jones in 2020 The authentication problem
Approach 3: Use cryptography AES Side-channel countermeasures But: 1.Not in cheap EPC for a while 2.The theme of today’s talk: The really hard part is key management…
RFID on the Loading Dock
Keeping the customer satisfied… “I want a rock-solid encryption algorithm… with 20-bit keys.” “I want a strong password-reset system… with user-friendly challenge questions like, `What is your favorite color?’” “I want my retail stores to be able to read RFID-tagged items… but I want tag data to be unreadable after sale… and I don’t want to have to kill or rewrite them…”
EPC tags and privacy Again, EPC tags have no true cryptographic functionality Only explicit EPC privacy feature: Kill –On receiving tag-specific PIN, tag self-destructs But commercial RFID users say they: –Don’t want to manage kill PINs –Have no channel to communicate secret keys downstream in supply chain Key transport is a big problem!!!
A new approach: Put secret keys on the tags Encrypt tag data under secret key Apply secret sharing to spread key across tags in case –E.g., ( s 1, s 2,, s 3 ) E (m 1 ) s 1 E (m2)s2E (m2)s2 E (m3)s3E (m3)s3
Encrypt tag data under secret key Apply secret sharing to spread key across tags in case –E.g., ( s 1, s 2,, s 3 ) E (m 1 ) s 1 E (m2)s2E (m2)s2 E (m3)s3E (m3)s3 A new approach: Put secret keys on the tags Supersteroids 500mg; 100 count Serial #87263YHG Mfg: ABC Inc. Exp: 6 Mar 2010
Privacy through dispersion
E (m 1 ) s 1 E (m2)s2E (m2)s2 E (m3)s3E (m3)s3 Individual shares / small sets reveal no information about medication! ( Super- Steroids) (Super- Steroids) (Super- Steroids)
Example application: Privacy protection on medications Step 1: Receive case at pharmacy Step 2: Pharmacy reads tags, gets keys, decrypts data for its database Step 3: Tags and data are dispersed Data
Some challenges 1.Storage is at a premium in EPC, but no secret-sharing literature on “tiny” shares “Short” shares are 128 bits, but we may want 16 bits or less! We needed to create new definitions and constructions 2.Scanning errors We need robustness in our secret-sharing scheme
Some challenges 3.In-store key harvesting Preventive idea: Add “chaff,” i.e., bogus or “noise” shares If secret-sharing scheme for case can tolerate d errors, then add 2d/3 bogus shares per case Can recover from d errors “Overinformed” adversary
Wig serial #A817TS8 4. We don’t solve tracking problem Some challenges You’ve already got credit cards, car keys, proximity cards, mobile phones, and so forth
Another twist: Secret-sharing for authentication A key is useful not just for consumer privacy, but for authentication: –Read / write “unlock” codes for EPC tags –Anti-cloning for EPC tags [Juels ’05] –Symmetric key for challenge-response tag authentication (again, anti-cloning) But putting on case is bad if case is diverted –Attacker can read / rewrite tags and re-inject goods –Attacker can clone tags
Secret-sharing across cases s1s1 s2s2 s3s3 ’’ s’ 1 s’ 2 s’ 3
Secret-sharing across cases s1s1 s2s2 s3s3 ’’ s’ 1 s’ 2 s’ 3
But “windows” are not always neat… s1s1 s2s2 s3s3 s’ 1 s’ 2 s’ 3 Warehouse AWarehouse B receivers cannot reconstruct and ’ !
SWISS (Sliding Window Information Secret-Sharing) Given 2 out of 4 s i, get corresponding i s1s1 s2s2 s3s3 s4s4 s5s5 s6s6 11 22 33 44 55 66
SWISS (Sliding Window Information Secret-Sharing) ???? Adversary with more sporadic case access s1s1 s2s2 s3s3 s4s4 s5s5 s6s6 11 22 33 44 55 66
SWISS (Sliding Window Information Secret-Sharing) A k-out-of-n-SWISS scheme is straightforward with share size s i linear in n It’s not obvious how to get more compact s i That’s what our paper [JPP ’08] addresses… –Tricks using bilinear maps, i.e., pairings –Size of s i is constant(!) in k,n –Access structure not perfect s1s1 s2s2 s3s3 s4s4 s5s5 s6s6
RFID in the Shoulder
Other RFID applications today: “Not Really Mad” Livestock Housepets The cat came back, the very next day… 50 million+ Animal tagging…
Human location tracking Schools Amusement parks Hospitals
??? A riddle… +=
??? Human-implantable RFID += VeriChip TM
Human-implantable RFID += VeriChip TM Excellent test bed for privacy and security concepts! Proposed for medical-patient identification Also proposed and used as an authenticator for physical access control, a “prosthetic biometric” –E.g., Mexican attorney general purportedly used for access to secure facility What kind of cryptography does it have? –None: It can be easily cloned [Halamka et al. ’06] So shouldn’t we add a challenge-response protocol? Cloning may actually be a good thing
Human-implantable RFID Physical coercion and attack –In 2005, a man in Malaysia had his fingertip cut off by thieves stealing his biometric- enabled Mercedes –What would happen if the VeriChip were used to access ATM machines and secure facilities? Perhaps better if tags can be cloned! Tags should not be used for authentication—only for identification
Cloneability + privacy Privacy means no linkability or information about identities If a tag can be cloned, does that mean it can’t provide privacy? –Surprisingly, no! A very simple scheme allows for simultaneous cloneability and privacy
Cloneability + privacy Homomorphic public-key cryptosystem (e.g., El Gamal) Private / public key pair (SK, PK) Randomized scheme: C = E PK,r [m] Semantic security: Adversary cannot distinguish C = E PK,r [“Alice”] from C’*= E PK,s [“Bob”] Re-encryption property: Given C only, can produce randomized C* = E PK,s [m], without knowing m
Cloneability + privacy The scheme: When read, tag chooses fresh r and outputs C = E PK,r [“name”] Then: Reader with SK can decrypt name Semantic Security: Adversary cannot distinguish among tags, i.e., infringe privacy Re-encryption property: Adversary can clone a tag: records C and outputs randomized C*
The covert-channel problem Suppose there is an identification / authentication system… Authorized Employees Only Who’s there? E[“Alice”] It’s Alice!
The covert-channel problem Suppose there is an identification / authentication system… Authorized Employees Only Who’s there? E[“Alice” + ?] Alice has low blood pressure and high blood-alcohol Alice recently passed a casino’s RFID reader. Mercury switch indicates that Alice napped on job
How can we assure Alice of no covert channels? Outputs must be deterministic –Randomness always leaves room for covert emissions Could give Alice a secret key to check that outputs are formatted correctly –E.g., pseudorandom-generator seed for device But we don’t want Alice (or a third party) to have to manage sensitive keying material. Again, key management is the problem! Can we enable Alice (or anyone else) to verify covert- freeness publicly, i.e., without exposing secret keys? Simultaneous publicly verifiable covert-freeness and privacy are impossible!
Here’s why… Suppose there were a public CC detector… X18 Ultra CC-Detector TM A1A1 A2A2 No CC Yes, CC!
Here’s a covert channel! 1.Create identity for user “Bob” Bob could be fictitious Just need output sequence B 1, B 2, … 2.Alice’s chip does following: If no nap, output A 1, A 2, A 3, etc. with Alice’s identity If Alice has taken a nap, then flip to Bob’s identity, i.e., output A 1, A 2 … B 1, B 2
Suppose we detect this covert channel X18 Ultra CC-Detector TM A1A1 A2A2 No CC B1B1 Yes, CC
Now if there really is a user Bob, we have a problem... X18 Ultra CC-Detector TM A1A1 A2A2 No CC
Alice followed by Bob yields “Yes” X18 Ultra CC-Detector TM A1A1 B1B1 Yes, CC
BobAlice Privacy is broken: We can distinguish between identities! X18 Ultra CC-Detector TM Yes X18 Ultra CC-Detector TM No
So public CC-verifiability + privacy is impossible But we can achieve it anyway… Idea: change the definition of privacy –Weaken localized privacy, e.g., eliminate privacy across pairwise values –Allow localized CC-checking, e.g., pairwise –Localized privacy is least important type of privacy Now we can do spot CC-checking… A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 A7A7 A8A8 A9A9 X18 Ultra CC-Detector TM yes / no
So public CC-verifiability + privacy is impossible But we can achieve it anyway… Idea: change the definition of privacy –Weaken localized privacy, e.g., eliminate privacy across pairwise values –Allow localized CC-checking, e.g., pairwise –Localized privacy is least important type of privacy Now we can do spot CC-checking… A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 A7A7 B1B1 B2B2 X18 Ultra CC-Detector TM yes / no
So public CC-verifiability + privacy is impossible Now let’s show how to achieve it anyway… Idea: –Weaken privacy definition to exclude localized privacy, e.g., privacy across pairwise values –Allow localized CC-checking, e.g., pairwise –Localized privacy is least important type of privacy Now we can do spot CC-checking… A1A1 A2A2 A3A3 A4A4 A5A5 A6A6 A7A7 A8A8 A9A9 ???
Still a difficult problem Constructing a deterministic sequence whose values are: –Publicly, pairwise verifiable –Otherwise unlinkable Again, use bilinear maps (with non- standard hardness assumption…) We have only solved the problem of covert channels in explicit logical-layer problem –Timing or power side-channel?
The message of this talk: Crypto is not always the hard part! With crypto, we can do: Challenge-response for authentication Mutual authentication and/or encryption for privacy AES Side-channel countermeasures Again, crypto is hard, but really hard part is key management…
The key-management problem Okinawa, Japan Kansas, USA “Top secret: X-32 cone” crypto key “Top secret: X-32 cone” The key poses its own “transport” problems: It must be tag-specific (usually) It must be highly available It must be secured at all times Like managing 10,000,000,000 passwords!
The RFID key-management problem Body passwords?
To learn more Papers available at RFID CUSP Web site: –J. Halamka, A. Juels, A. Stubblefield, and J. Westhues. “The Security Implications of VeriChip Cloning.” Journal of the American Medical Informatics Association (JAMIA), –D. Bailey, D. Boneh, E.-J. Goh, and A. Juels. “Covert Channels in Privacy-Preserving Identification Systems.” In ACM CCS, –A. Juels, R. Pappu, and B. Parno. “Key Transport in Unidirectional Channels with Applications to RFID Security.” In submission. –J. Westhues’s RFID cloning page: