PPT - rfid infosec
Download
Report
Transcript PPT - rfid infosec
Tag Layer
CSCE 4013 RFID INFOSEC
Instructor: Dr. Jia Di
JBHT 523
5-5728, [email protected]
1
Outline
RFID Tag Overview
Tag Architecture
Memory
Tag Protocol
Managing Tag Populations
Threats and Mitigation
2
RFID Tag Overview
3
Classification of RFID Tags
Class-1: Identity Tags (Normative)
Higher-Class Tags (Informative)
Class-2: Higher-Functionality Tags
Class-3: Semi-Passive Tags
Class-4: Active Tags
Higher-class tags shall not conflict with the operation
of, nor degrade the performance of, Class-1 tags
located in the same RF environment.
4
Classification of RFID Tags
(Cont’)
Class-1: Identity Tags
Class-2: Higher-Functionality
Tags
An electronic product code (EPC)
identifier
A tag identifier
A ‘kill’ function that permanently
disable the tag
Optional password-protected
access control
Optional user memory
An extended Tag ID
Extended user memory
Authenticated access control
Optional other features
Class-3: Semi-Passive Tags
Class-4: Active Tags
An integral power source
Integrated sensing circuitry
Tag-to-tag communications
Active communications
Ad-hoc networking capabilities
*Note that each higher-class tag has its extended features above and beyond its immediate predecessor
*We focus on Class-1, UHF RFID Tags
5
Review of Reader-Tag
Communication
A reader transmits information to a tag by modulating
an RF signal in the 860 MHz – 960 MHz frequency
range.
The tag receives both information and operating
energy from this RF signal.
A reader receives information from a tag by
transmitting a continuous-wave RF signal to the tag.
The tag responds by modulating the reflection
coefficient of its antenna, thereby backscattering an
information signal to the reader.
Communication is half-duplex, meaning that readers
talk and tags listen, or vice versa.
6
Tag Architecture
7
Reader-Tag Communication Protocol
Overview
Physical Layer
Tag-identification layer
Select
Inventory
Access
8
Circuit Block Diagram
Power Generation/
Management Unit
Antenna
Rectifier
Voltage
Regulator
Reset
Circuit
ChargePump
Demodulator
Envelope
Detector
Ring
Oscillator
Digital Logic
Memory
Comparator
Modulator
Bias
Generator
Data
FSM
Buffer
Memory
Interface
Phase
Modulator
9
Antenna
K. V. S. Rao, P. V. Niktin, S. F. Lam,
“Antenna design for UHF RFID tags: a review
and a practical application,” IEEE
Transactions on Antenna and Propagation,
Vol. 53, Issue 12, Dec. 2005
10
Power Generation and Management
Circuit
Rectifier
Charge Pump
Voltage Regulator
Reset Circuit
11
Rectifier
Convert alternating current to rectified direct
current
Half-wave rectification
Full-wave rectification
12
Charge Pump
Use capacitors as energy storage elements
to create either a higher or lower voltage
power source
Multi-stage operation
It can double, triple, halve, invert, fractionally
multiply or scale voltages
13
Voltage Regulator
Maintain a constant voltage level
Low Dropout (LDO) regulator – a DC linear
voltage regulator which has a very small
input-output differential voltage
14
Reset Circuit
Generate reset signal for the whole chip
Power-on reset
15
Demodulator
Envelope detector
Comparator
Ring oscillator
Bias generator
Date Rate
Register
ASK
Input
Envelope
Detector
Waveform
Shaper
(A/D)
Counter
Digital
Comparator
Osc
16
Envelope Detector
Take a high-frequency signal as input, and
provide an output which is the “envelope” of
the original signal
17
Comparator
18
Ring Oscillator
A chain containing odd number of inverters,
with the output of the last inverter feeds back
to the input of the first inverter
Odd Number
19
Modulator
Phase modulator –
represent information
as variations in the
instantaneous phase of
a carrier wave
20
Memory
21
Memory Banks
Four distinct banks, each has its own address space
Reserved Memory – contain kill and/or access
passwords
EPC Memory – contain a CRC, Protocol-Control (PC)
bits, and an identification code
TID Memory – contain an ISO/IEC allocation class
identifier, and sufficient identifying information
User Memory – contain user-specific data storage
22
Logical Memory Map
23
Memory Access
Commands have a MemBank parameter to
select which bank to access (00-Reserved,
01-EPC, 10-TID, 11-User), and an address
parameter to select a particular memory
location within the bank
Operations in one logical memory bank shall
not access memory locations in another bank
Readers may lock, permanently lock, unlock,
or permanently unlock memory
16-bit word
24
Tag Protocol
25
Basic Operations
Select – choose a tag population for inventory
and access
Inventory – identify tags
Access – communicate with (reading from
and/or writing to) a tag
26
Sessions and Inventory Flags
Four sessions (S0, S1, S2, S3)
Tag participates in one and only one session during an
inventory round
Two or more readers can use sessions to independently
inventory a common tag population
Tags maintain an independent Inventoried flag for each session
– two value (A/B)
At the beginning of each and every inventory round a reader
chooses to inventory either A or B tags in one of the four
sessions
Tags participating in an inventory round in one session shall
neither use nor modify the Inventoried flag for a different session
All other tag resources are shared among sessions except the
Inventoried flags
After singulating a tag a reader may issue a command that
causes the tag to invert its Inventoried flag for that session
27
Session Diagram
28
Tag Inventoried Flags Power-On
Status
Persistence time
S0 Inventoried flag – set to A
S1 Inventoried flag – set to A or B
S2 Inventoried flag – set to A or B
S3 Inventoried flag – set to A or B
Question – since the power-on status of some flags
are unknown by the reader, how can a reader
inventory all tags in the field?
Selected flag – SL
29
FSM
At a glance
30
Ready State
A “holding state” for energized tags that are neither killed
nor currently participating in an inventory round
After power-on, tag maintains in Ready state until it
receives a Query command whose inventoried
parameter and sel parameter match its current flag values
It will then draw a Q-bit number from RNG, load it into the
slot counter, and transition to the Arbitrate state if the
number is nonzero, or to the Reply state if the number is
zero
31
Arbitrate State
A “holding state” for tags that are participating in the current
inventory round but whose slot counters hold nonzero values
Decrement its slot counter every time it receives a QueryRep
command whose session parameter matches the session for
the inventory round currently in progress
Transition to the Reply state when its slot counter reaches 0000h
If tag returns to Arbitrate state with slot counter as 0000, upon
next QueryRep the tag decrements it to 7FFFh, and remains in
Arbitrate state
32
Reply State
Tag backscatters an RN16
If tag receives a valid ACK it transitions to the
Acknowledged state; otherwise returns to the
Arbitrate state
33
Acknowledged State
May transition to any state except Killed state
depending on the command
Upon receiving a valid ACK containing the correct
RN16, the tag re-backscatters its PC, EPC, and
CRC-16; otherwise returns to Arbitrate state
34
Open State
A tag in the Acknowledged state whose access password is nonzero shall
transition to Open state upon receiving a Req_RN command, backscattering a
new RN16 (handle)
Execute all access commands except Lock
May transition to any state except Acknowledged state
Upon receiving a valid ACK containing the correct handle, the tag rebackscatters it PC, EPC, and CRC-16
35
Secured State
A tag in the Acknowledged state whose access password is zero shall transition to the
Secured state upon receiving a Req_RN command, backscattering a new RN16 (handle)
A tag in the Open state whose access password is nonzero shall transition to Secured state
upon receiving a valid Access command sequence
Execute all access commands
May transition to any state except Open or Acknowledged
Upon receiving a valid ACK containing the correct handle, the tag re-backscatters it PC,
EPC, and CRC-16
36
Killed State
A tag in either the Open or Secured states shall enter the Kill state
upon receiving a Kill command sequence with a valid nonzero kill
password and valid handle
Kill permanently disables a tag
Upon entering the Killed state a tag shall notify the reader that the kill
operation was successful, and shall not respond to a reader thereafter
Killed tags shall remain in the Killed state under all circumstances and
shall immediately enter Killed state upon subsequent power-ups
A kill operation is not reversible
37
Random Number Generator and Slot
Counter
RNG – random or pseudo-random number
generator generates 16-bit random number
RN16
Slot Counter – a 15-bit counter, preload a
value between 0 and 2Q-1 upon receiving a
Query or QueryAdjust command
38
Managing Tag
Populations
39
Reader/Tag Operation
40
Selecting Tag Populations
Single command – Select
Assert/deassert a tag’s SL flag, or set a tag’s
Inventoried flag to either A or B in any one of the four
sessions
Parameters – Target, Action, MemBank, Pointer,
Length, Mask, and Truncate
By issuing multiple identical Select commands a
reader can asymptotically single out all tags matching
the selection criteria even though tags may undergo
short-term RF fades
41
Inventorying Tag Populations
Several commands – Query, QueryAdjust,
QueryRep, ACK, and NAK
Query sets a slot-count parameter Q. Tags
pick a random value in the range of [0, 2Q-1],
and load the value into their slot counter.
Tags that pick a zero transition to the reply
state and reply immediately; others transition
to the arbitrate state and await a
QueryAdjust or QueryRep command.
42
Inventorying Tag Populations (Cont’)
Assuming that a single tag replies
The tag backscatters an RN16 as it enters reply
The reader acknowledges the tag with an ACK containing this
same RN16
The acknowledged tag transitions to the acknowledged state,
backscattering its PC, EPC, and CRC-16
The reader issues a QueryAdjust or QueryRep, causing the
identified tag to invert its inventoried flag and transition to ready,
and potentially causing another tag to initiate a query-response
dialog with the reader
If the tag fails to receive a correct ACK, it returns to
arbitrate
43
Inventorying Tag Populations (Cont’)
If multiple tags reply, the reader, by detecting
the resolving collisions at the waveform level,
can resolve an RN16 from one of the tags,
the reader can ACK the resolved tag.
Unresolved tags receive erroneous RN16s
and return to arbitrate without backscattering
their PC, EPC, and CRC-16
44
Accessing Individual Tags
Several commands – Req_RN, Read, Write,
Kill, Lock, Access, BlockWrite, BlockErase
A reader accesses a tag in acknowledged
state
The reader issues a Req_RN to the tag
The tag generates and stores a new RN16 (handle),
backscatters the handle, and transitions the open if
its access password is nonzero, or to secured if zero
The reader may now issue further access commands
45
Accessing Individual Tags (Cont’)
Handle is an important parameter to access a tag
Write, Kill, and Access commands send a 16-bit word
to the tag using one-time-pad based link covercoding to obscure the word being transmitted
The reader issues Req_RN. Tag responds by backscattering a
new RN16. The reader then generate a 16-bit ciphertext string
comprising a bit-wise XOR of the 16-bit word to be transmitted
with the new RN16, and issues the command with this
ciphertext string as parameter
The tag decrypts the received ciphertext string by performing a
bit-wise XOR of the received 16-bit ciphertext string with the
original RN16
Multi-step procedure – Kill, issuing an access
password
Memory lock
46
Tag Layer Threats and
Mitigation Methods
Some Slides Borrowed from Kris Tiri, Hwasun Chang, Yossef Oren, and
Pankaj Rohatgi
47
Limitations of Class I Gen 2 RFID
Tags
Cost
Power
Wireless communication nature
48
Attacks for Impersonation
Tag Cloning / Counterfeiting
Tag Spoofing
Relay Attack
Replay Attack
49
Tag Cloning / Counterfeiting
An adversary can easily copy the memory
content of an authentic tag to create an
identical yet cloned tag
EPC Class I tags have no mechanism for
preventing cloning
In many cases, cloned tags are
indistinguishable from authentic ones
50
Tag Spoofing
Emulation
A variation of tag cloning
An adversary uses a custom designed
electronic device to imitate, or emulate, the
authentic tag
The adversary needs to have full access to
legitimate communication channel as well as
knowledge of the protocols and secrets used
in the authentication process
51
Mitigating Tag Cloning /
Counterfeiting / Spoofing Attacks
Challenge-response authentication protocol
Physical Unclonable Function (PUF)
Fragile watermarking
Tag Fingerprinting
52
Relay Attack
Man-in-the-middle
Close proximity assumption (<~25 feet)
This assumption can be utilized by an
adversary to “fool” the authentic tag and
reader by letting them believe they are
communicating with each other directly, while
they are actually talking to “the middle man”
Victim
Reader
Ghost
Leech
Victim
Tag
53
Replay Attack
Similar to relay attack
An adversary may use the captured valid
reader-tag communication data at a later time
to other readers or tags for impersonation
54
Mitigating Relay Attacks
Detect the distance between reader and tag
Limit the direction of radio signals
55
Mitigating Replay Attacks
Add timestamps
One-time password
Incremental sequence numbers
Clock synchronization
56
Attacks for Information Leakage
Unauthorized Tag Reading
Covert Channel
Eavesdropping
Tag Modification
Side-Channel Attacks (to be covered later)
57
Unauthorized Tag Reading
An adversary places an illegitimate reader
within the proximity of the target tag to access
the tag data
Tags do not have on/off switches
Simple yet effective
58
Covert Channel
Covert channels are unintended or
unauthorized communication paths that can
be used to transfer information in a manner
that violates system security policies
It is possible to create covert communication
channels through the use of user-defined
memory banks on tag
59
Eavesdropping / Sniffing
An adversary uses an electronic device with
antenna to listen to the legitimate reader-tag
communication and record the messages
Reader-to-tag (forward channel)
Tag-to-reader (backward channel)
Reader
Tag
Operating
Range
Backward Channel
Eavesdropping Range
Forward Channel Eavesdropping Range
60
Mitigating Unauthorized Tag Reading /
Covert Channel / Eavesdropping Attacks
Break the reader-tag communication link
when the tag is not being accessed
Tag shielding
Blocker tag
RFID Guardian
Apply access control mechanisms to the tag
Communication Encryption
Kill the tag after use
Reduce the availability of the memory resource on
tag
61
Tag Modification
An adversary tries to modify the data stored
on tag
User-writeable memory
62
Mitigating Tag Modification and
Reprogramming Attacks
Use read-only tags
Adopt efficient coding / cryptographic
algorithms to secure the on-tag data
Reader authentication
63
Attacks for Denial-of-Service (DoS)
KILL Command Abuse
Passive Interference
Active Jamming
64
Kill Command Abuse
If an adversary obtains the password for the
Kill command, he/she can use it to issue
unauthorized Kill commands
Lock
Permanent Lock
65
Passive Interference
The RF communication link between reader
and tag is susceptible to interferences
Absorption
Bound back
Collision
An adversary may use foil-lined bags to
shield tags from EM waves sent from a
legitimate reader to block the access
66
Active Jamming
Powered interference
An adversary uses an electronic device to
send out radio signals to disrupt the readertag communication
67
Mitigating Kill Command Abuse / Passive
Interference / Active Jamming Attacks
Improve the physical security of the
authorized reader-tag communication
channel
Secure password management
68
Attacks through Physical Manipulation
Physical Tampering
Tag Swapping
Tag Removal
Tag Destruction
Tag Reprogramming
69
Side-Channels
Information leakage from implementation
Example:
safecracker
feels tumblers impacting
and opens lock without
trying each combination
Similarly:
hacker observes time/power
and cracks cipher without trying each key
Device in normal operation, no physical harm
Covert channel without conspiracy/consent
70
Side-Channel Attacks in a Nutshell
unknown secret key
device
e.g. estimated power =
AES: 128-bit secret key
number of changing bits
brute force impossible
can be lousy model
measurement
input
analysis
P ==SS-1-1
(K(K
P
GC)
GC)
model
E
E ==HmW(P)
HmW(P)
7
3
3
key fragment guess
20840272
estimation
3
6712875
18265523
compare both and
e.g. guess 8 bits
choose key guess
71
brute force easy
with best match
Power Analysis Example
Unprotected ASIC AES
with 128-bit datapath,
key scheduling
Measurement: Ipeak
in round 11
Estimation:
HamDistance
of 8 internal bits
Comparison: correlation
Key bits easily found
despite algorithmic noise
128-bit key under 3 min.
‘start encryption’-signal
supply current
clock cycle of interest
72
DPA Result Example
Average Power
Consumption
Power Consumption
Differential Curve
With Correct Key Guess
Power Consumption
Differential Curve
With Incorrect Key Guess
Power Consumption
Differential Curve
With Incorrect Key Guess
73
EM-attack example: TESTED BIT = 0 IN BOTH TRACES
74
EM-attack example: TESTED BIT DIFFERENT
75
Side-Channel Attacks
Power-based attacks (SPA, DPA, HO-DPA)
Timing-based attacks
Electromagnetic-based attacks
Fault-injection attacks
76
Remote Power Analysis to RFID Tags
Most of the payload of today’s RFID tags is
public – that’s what they’re for
However, tags still have secrets!
Today – EPC tags have secret access and
kill passwords
Tomorrow – cryptographic keys?
77
A Closer Look at Backscatter
Modulation
The current flowing through the tag antenna
results in an electromagnetic field
Busy tag = More current = stronger field
We call this effect parasitic backscatter
Tag
Reader
78
Existence of parasitic backscatter (1)
Trace shows the signal reflected from a Generation 1 tag
during a kill command
Tag is supposed to be completely silent
Is it? Let’s zoom in…
Power
Time
79
Existence of parasitic backscatter (2)
The distinctive saw-tooth pattern is added by the tag to the
clean reader signal
Reflection from tag
Original signal from reader
Power
Time
80
Full power analysis attack from
parasitic backscatter
Experiment was done with one tag at a fixed
location
Tag was programmed with kill password
“1111 1111”, then “0000 0001”
In both cases we tried to kill it with the wrong
password “0000 0000”
81
81
Extracting one password bit
In both cases, tag gets “0000 0000”
Here, the tag is expecting “1111 1111”
Here, it is expecting “0000 0001”
82
CMOS Circuit Power Consumption
CMOS circuits are built out of transistors,
which act as voltage-controlled switches
Switching activities at internal circuit nodes
cause power and delay
83
CMOS Circuit Power and Delay
P CL V
2
DD
t Ron CL
Power consumption and timing delay are highly correlated to switching activities
84
Imbalance of Switching Activities
among Processing Different Data
Y2
Y1
Y0
X2
REG REG REG
22
12
02
X1
X0
Y2
HA
11
01
FA
20
Y0
X2
REG REG REG
REG REG REG
21
Y1
10
00
22
12
02
21
11
01
FA
20
10
00
HA
HA
HA
FA
FA
FA
FA
REG
REG
S5
S4
0
X0
REG REG REG
HA
HA
X1
REG REG REG REG
S3
S2
S1
S0
REG
REG
S5
S4
REG REG REG REG
S3
S2
X
0
0
0
X
1
1
1
Y
0
0
0
Y
1
1
1
0
0
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
S1
S0
85
Synchronous Circuit Power
Fluctuation Simulation
120000.00%
350000.00%
300000.00%
100000.00%
250000.00%
80000.00%
200000.00%
60000.00%
Syn AND
Syn XOR
Syn Mult
150000.00%
40000.00%
100000.00%
20000.00%
50000.00%
0.00%
0.00%
0x0
1x1
2x2
(a)
3x3
4x4
00
01
10
11
(b)
Boolean circuits are vulnerable to side-channel attacks
86
What can we do about it?
Randomize power consumption – add noise
to reader/tag
Use random initial point
Random power management
Random code injection
De-correlate power consumption from internal
data pattern being processed
New transistor-level gate designs (SABL, DyCML, SDDL,
WDDL, etc.)
Current compensation
Execute both nominal and complementary data
Dual-rail asynchronous logic
87
Asynchronous Logic
No clock
High power efficiency
Potential speed up
Low noise / emission
Flexible timing requirement
Robust operation
88
Attempting to Balance Power Fluctuation –
Traditional Asynchronous Method
NULL Convention Logic (NCL)
Multi-rail encoding
DATA-NULL cycle
Data #3
NULL
Data #2
NULL
State
Rail 1
Rail 0
NULL
0
0
DATA 0
0
1
DATA 1
1
0
Invalid
1
1
Data #1
NULL
Rail 1
Rail 0
1
N
0
N
1
N
Number of switching is independent of data pattern
89
However, Power Fluctuation Still
Exists
Rail 1
Rail 0
1
N
1
N
1
N
Rail 1
Rail 0
0
N
0
N
0
N
Rail 1
CL1
Rail 1
Rail 0
Rail 0
CL0
2
P CL VDD
Imbalance of switching activities
between the two rails still cause
power fluctuation
90
Balancing the Switching Activities
between Two Rails
Dual-spacer Dual-rail
Delay-insensitive Logic
(D3L)
Data #3
All-zero
Spacer
Data #2
State
Rail 1
Rail 0
All-zero spacer
0
0
DATA 0
0
1
DATA 1
1
0
All-one spacer
1
1
All-one
Spacer
Data #1
All-zero
Spacer
Rail 1
Rail 0
DATA1
AZS
DATA0
AOS
DATA1
AZS
91
Data Sequence Examples
Rail 1
Rail 0
AZS
DATA1
AOS
DATA1
AZS
DATA1
AOS
DATA1
AZS
Rail 1
Rail 0
AZS
DATA0
AOS
DATA0
AZS
DATA0
AOS
DATA0
AZS
Rail 1
Rail 0
AZS
DATA0
AOS
DATA1
AZS
DATA1
AOS
DATA0
AZS
Switching activities between two rails are perfectly balanced92
The Flip Side
Both NCL and D3L exhibit average case
performance, i.e., the same input pattern
always takes the same amount of time to
process
Significantly facilitate timing-based sidechannel attacks
Solution – timing randomization using delay
elements
93
Delay Element Used in D3L Circuits
94
Controlling the Delay Element
95
Test Vehicle – AES Core
96
Simulation Setup
Three AES Cores – Synchronous, NCL, D3L
(two versions)
IBM 5AM 0.5μm Process
Differential Power Analysis on all three
designs
Timing Analysis on D3L designs (with and
without delay elements)
Synopsys Nanosim
97
DPA Results
98
Timing Analysis Results
99