(c) Carlos Bento et al., RFID Technologies
1
CMS - CISUC - Universidade de Coimbra
Carlos Lisboa Bento
Francisco Câmara Pereira
Pedro Fonseca
RFID Technologies Avances Tecnológicos para la Sociedad Digital UEM April 14-18
Contents
o
RFID: An Introduction
o
Security Issues
o
Privacy Issues
o
Steps for Development of a Medium Project
o
Applications
o
A Practical Example
o
Our tags
(c) Carlos Bento et al., RFID Technologies
RFID: An Introduction
3
Radio Frequency IDentification
Dedicated Short Range Communication (DSRC)
Designates a range of technologies that use radio waves to automatically
identify goods or people
An RFID system consists of two sides:
Reader
Antenna
Transceiver
Processing device
Tag
Radio Frequency circuitry
Information to be transmitted
Reader
Antenna
Transceiver
Processing device
Tag
Radio Frequency circuitry
(c) Carlos Bento et al., RFID Technologies
RFID: An Introduction
5
Passive Tag
Antenna signal
feeds power to
the tag
It then transmits its information to the reader
Active Tag
The tag has its own on-board power supply
It becomes a relatively self-sufficient unit
(own memory, sensors,...)
(c) Carlos Bento et al., RFID Technologies
RFID: An Introduction
7
RFID: An Introduction
Frequency
LF
125-134KHz
13.56MHz
HF
88-108MHz
VHF
860-960MHz
UHF
1.6-30GHz
MW
Reflection
Absorption
No
Low
High
Very High
Very Very
High
Atmospheric
Interference
No
High
Low
Very Low
No
Electrical
Interference
Very High
High
Medium
Low
Very Low
Reading
Distances
< 2m
< 1m
1-100m
1-100m
1-300m
Band Wide
1-10KB/s
1-3KB/s
1-20KB/s
0.1-10MB/s
0.1-10MB/s
Pos
Low Price/
Lower obfusc
and Rd Speed
Medium Dist
Long Dist and High Rd Speed
Cons
Reading
Speed
Price Higher
than LF
Expensive Hardware
Typical
(c) Carlos Bento et al., RFID Technologies
RFID: An Introduction
9
Antennas
A - Wall/Desktop antenna
B - HF antenna
C - Portal antenna
Range shape is also an issue.
Contents
o
RFID: An Introduction
o
Security Issues
o
Privacy Issues
o
Steps for Development of a Medium Project
o
Applications
o
A Practical Example
o
Our tags
(c) Carlos Bento et al., RFID Technologies
Security Issues
11
Radio Frequency Absorber
Disable the tag from being read (e.g. involve it in an aluminum sheet)
Spoofing
Produce faking information for the reader
Inserting
Insert commands in memory areas that result into bad behaviour of the tag
Replay
Save a valid signal from the tag and produce a ghost signal
DoS
Denial of Service
Back-end
Produce attacks in the back-end of the system
Memory overflow
Change the memory size parameters in the tags to produce a memory
overflow error
Contents
o
RFID: An Introduction
o
Security Issues
o
Privacy Issues
o
Steps for Development of a Medium Project
o
Applications
o
A Practical Example
o
Our tags
(c) Carlos Bento et al., RFID Technologies
Privacy Issues
13
Destroy the tag (e.g. destroy the antenna)
Reduce tag performance (e.g. cut part of the antenna)
Create a Faraday Cage
Privacy Issues
Signal Interference
Information Encryption
Re-encryption
(c) Carlos Bento et al., RFID Technologies
Contents
o
RFID: An Introduction
o
Security Issues
o
Privacy Issues
o
Steps for Development of a Medium Project
o
Applications
o
A Practical Example
o
Our tags
o
Programming in C#
15
Development Steps
(c) Carlos Bento et al., RFID Technologies
Contents
o
RFID: An Introduction
o
Security Issues
o
Privacy Issues
o
Steps for Development of a Medium Project
o
Applications
o
A Practical Example
o
Our tags
o
Programming in C#
17
Applications
(c) Carlos Bento et al., RFID Technologies
Applications
19
(c) Carlos Bento et al., RFID Technologies
Applications
21
(c) Carlos Bento et al., RFID Technologies
Applications
23
TOUAKI (SU 2006/7)
Contents
o
RFID: An Introduction
o
Security Issues
o
Privacy Issues
o
Steps for Development of a Medium Project
o
Applications
o
A Practical Example
o
Our tags
(c) Carlos Bento et al., RFID Technologies
A Practical Example
25
SRF55V10P RFID tags
128 pages of 8 bytes each
Three first pages (0 to 2) are protected
A Practical Example
SRF55V10P RFID tags
Aproximately 1Kb available
Syscan CF-Reader E04-40D
Interface with Compact Flash interface
13.56 frequency (HF)
Range of a few centimeter
Reads one tag at a time
Simple commands
Read, write, getID, getReaderVersion
(c) Carlos Bento et al., RFID Technologies
A Practical Example
27
PDA RFID reader
C#, Visual Studio CF environment
As with other interfaces (GPS, GSM, WiFi...), communication is made via
the "COM" ports
In this case, it is always Port #7
A Practical Example
Library available (in a DLL)
NetSerial.dll
using Intensecomp.RFIDCE
Class to access the reader, RFID: Comm
(c) Carlos Bento et al., RFID Technologies
A Practical Example
29
Reading an ID
Reading
reader version
String id = comm.GetTagID();
if (id != null && id.Length > 0)
MessageBox.Show(“ID:”+id);
else
{
MessageBox.Show("Etiqueta não encontrada!");
return;
}
if (comm.OpenPort())
{
string rv = comm.GetReaderVersion();
}
A Practical Example
Writing data
Hexadecimal representation
"KLMN“(ASCII) = "4B4C4D4E" (Hexa)
Each
char
(of a
string
), 8 bits, is represented by Hexadecimal symbols.
“K”=“4B”
private string StringToHexString(string source)
{
string result = string.Empty;
for (int i = 0; i < source.Length; i++)
{
int ch = source[i];
result += Convert.ToString(ch, 16);
}
(c) Carlos Bento et al., RFID Technologies
A Practical Example
31
Writing data
Example: Write the “email” on pages 4 to 6
String strpage = string.Empty;
String s1 = textBox1.Text;
String s1HEX = StringToHexString(s1) + new string('0',2000-
s1.Length);
for (int i = 0; i < 124; i++)
strpage = comm.WritePage(i + 3, s1HEX.Substring(i * 16,
16), 100);
//Três páginas (4 a 6) de 8 bytes dedicadas ao email (24
bytes)
for (int i = 4; i < 7; i++)
email = email + comm.ReadPage(i , 20);
A Practical Example
Reading data
Hexadecimal representation
The converse operation
private string HexStringToString(string source)
{
string result = string.Empty;
try
{
while (source.Length > 1)
{
string sub = source.Substring(0, 2);
char ch = (char)Convert.ToInt32(sub, 16);
if ((ch != (char)30) && (ch != (char)0))
result += ch;
source = source.Substring(2, source.Length - 2);
}
}
catch
{
}
(c) Carlos Bento et al., RFID Technologies
A Practical Example
33
Reading data
Reading email (pages 4 to 6)
String email = string.Empty;
//Três páginas (4 a 6) de 8 bytes dedicadas ao email
(24 bytes)
for (int i = 4; i < 7; i++)
email = email + comm.ReadPage(i , 20);
(c) Carlos Bento et al., RFID Technologies