Building RFID Applications with Security and Privacy Kevin Fu kevinfu@cs.umass.edu http://prisms.cs.umass.edu/ Assistant Professor Department of Computer Science University of Massachusetts at Amherst, USA Computer Science 1
What s special about security? Computer Science 2
Correctness is easy. Computer Science Building Secure RFID Systems 3
Correctness is easy. Security is hard. Computer Science Building Secure RFID Systems 3
Building RFID with Security & Privacy Privacy in public transportation An RFID toolkit for academics Principles of secure computer systems Computer Science Building Secure RFID Systems 4
RFID Security and Public Transportation 5
RFID Security and Public Transportation 5
What data are vulnerable? Computer Science Building Secure RFID Systems 6
Who knows your travel information? Computer Science Building Secure RFID Systems 7
Who knows your travel information? Transit Authority Computer Science Building Secure RFID Systems 7
Who knows your travel information? Law Enforcement Computer Science Building Secure RFID Systems 7
Who knows your travel information? That weird guy sitting across from you!? Computer Science Building Secure RFID Systems 7
8
9
Sony VAIO w/ RFID reader FeliCa Port 10
11
What data are vulnerable? Computer Science Building Secure RFID Systems 12
Unique card ID (not shown) What data are vulnerable? Computer Science Building Secure RFID Systems 12
Unique card ID (not shown) Current Balance What data are vulnerable? Computer Science Building Secure RFID Systems 12
Unique card ID (not shown) Current Balance What data are vulnerable? Beginning Balance Computer Science Building Secure RFID Systems 12
Unique card ID (not shown) Current Balance Entrance and exit date and station What data are vulnerable? Beginning Balance Computer Science Building Secure RFID Systems 12
Unique card ID (not shown) Current Balance Entrance and exit date and station Merchandise purchase What data are vulnerable? Beginning Balance Computer Science Building Secure RFID Systems 12
An architecture for public transit Computer Science Building Secure RFID Systems 13
An architecture for public transit Computer Science Building Secure RFID Systems 13
An architecture for public transit Computer Science Building Secure RFID Systems 13
An architecture for public transit Computer Science Building Secure RFID Systems 13
An architecture for public transit Computer Science Building Secure RFID Systems 13
How often does this happen? Computer Science Building Secure RFID Systems 14
How often does this happen? I propose a new RFID security protocol! Computer Science Building Secure RFID Systems 14
How often does this happen? Here is a Big-O analysis of the running time. Look, it s wonderful. It makes everything taste better. I propose a new RFID security protocol! Computer Science Building Secure RFID Systems 14
How often does this happen? Here is a Big-O analysis of the running time. Look, it s wonderful. It makes everything taste better. I propose a new RFID security protocol! Build! Then we can measure. Computer Science Building Secure RFID Systems 14
An RFID Software Toolkit 14443B toolkit (13.56Mhz) Trace analysis enables rapid prototyping Interface with oscilloscope allows emulation and debugging Computer Science Building Secure RFID Systems 15
The Gumstix Computer Science Building Secure RFID Systems 16
Breakout Board for GPIOs Etherstix Board Computer Science Building Secure RFID Systems 17
Computer Science Building Secure RFID Systems 18
Computer Science Building Secure RFID Systems 19
20
Principles for Secure Computer Systems Based on: Fredrick Brooks, Jerome Saltzer, Mike Schroeder, Butler Lampson, Frans Kaashoek, and the cumulative wisdom of many others 21
Incommensurate Scaling 22
Credit: Dawnrazor 23
Credit: Colin/Hotbox Designs 24
Credit: Colin/Hotbox Designs 24
Second System Effect 25
Credit: NYTimes 26
First system: 1. Put an ID number on a product Credit: RFID Journal 27
First system: Second system: 1. Put an ID number on a product Credit: RFID Journal 27
First system: 1. Put an ID Second system: 1. Kill function number on a product Credit: RFID Journal 27
First system: 1. Put an ID number on a Second system: 1. Kill function 2. Crypto product Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System 6. Mobile Phone Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System 6. Mobile Phone 7. Shared Tags Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System 6. Mobile Phone 7. Shared Tags 8. Key Management Credit: RFID Journal 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System 6. Mobile Phone 7. Shared Tags 8. Key Management Credit: RFID Journal 9. Untrusted Infrastructure 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System 6. Mobile Phone 7. Shared Tags 8. Key Management Credit: RFID Journal 9. Untrusted Infrastructure 10. Online Databases 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage 4. Computation 5. Operating System 6. Mobile Phone 7. Shared Tags 8. Key Management Credit: RFID Journal 9. Untrusted Infrastructure 10. Online Databases... 27
First system: 1. Put an ID number on a product Second system: 1. Kill function 2. Crypto 3. RW Storage Danger! 4. Computation 5. Operating System Second System 6. Mobile Phone Effect! 7. Shared Tags 8. Key Management Credit: RFID Journal 9. Untrusted Infrastructure 10. Online Databases... 27
Open Design Principle 28
Credit: softwar.net 29
30
Design for the User: Usable Security 31
Credit: MGH 32
Hospital Bracelet? 33
Be Explicit 34
How Big is Your Trusted Computing Base? Big Things I Trust: Readers, Tag Bearers, Things within 10cm, the network, operating systems, data on tags, user input, a cryptographic key, an online database, public key infrastructure, revocation lists, data brokers,... 35
How Big is Your Trusted Computing Base? Big Things I Trust: Readers, Tag Bearers, Things within 10cm, the network, operating systems, data on tags, user input, a cryptographic key, an online database, public key infrastructure, revocation lists, data brokers,... Manageable Things I Trust: A key 35
36
End-to-End Argument Saltzer, Reed, Clark (1981) Whenever possible, communications protocol operations should be defined at the end-points of a communication system, or as close as possible to the resource being controlled. Computer Science Building Secure RFID Systems 37
End-to-End Argument Saltzer, Reed, Clark (1981) Whenever possible, communications protocol operations should be defined at the end-points of a communication system, or as close as possible to the resource being controlled. Secure tag to reader? Secure tag to database? Secure reader to reader? Find your end points. Or you might implement an expensive approach. Computer Science Building Secure RFID Systems 37
Principle of Least Privilege Immediate Feedback End-to-End Incommensurate Scaling Minimize Secrets Simplify Principles for Secure Systems Second System Effect Be Explicit Open Design Principle Design for the User 38
Humility If you think you have a completely secure system, you are doomed. 39
Expect the Unexpected 40
The perfect system is not. 41
Computer Science at UMass/Amherst http://www.cs.umass.edu 43 faculty, ~230 graduate students, ~300 undergraduate students Computer Science 42
RFID Security at UMass Amherst http://prisms.cs.umass.edu/ Graduate Students Faculty and affiliates Computer Science Building Secure RFID Systems 43