+ All Categories
Home > Documents > RFID Hacking Introduction Find the carrier RFID...

RFID Hacking Introduction Find the carrier RFID...

Date post: 29-Aug-2019
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
25
RFID Hacking Introduction Find the carrier Capture the ID Demodulate the signal Find the period length Find the bit length Decode? Replay! The end RFID Hacking 23 rd Chaos Communication Congress “Who can you trust?” Henryk Pl¨ otz <[email protected]> 2006-12-28 (1/17) 23C3: RFID Hacking – 2006-12-28
Transcript
Page 1: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

RFID Hacking23rd Chaos Communication Congress

“Who can you trust?”

Henryk Plotz <[email protected]>

2006-12-28

(1/17) 23C3: RFID Hacking – 2006-12-28

Page 2: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Analyzing an unknown access control system

Card

(2/17) 23C3: RFID Hacking – 2006-12-28

Page 3: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Analyzing an unknown access control system

Door

(2/17) 23C3: RFID Hacking – 2006-12-28

Page 4: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Analyzing an unknown access control system

Card opens door

(2/17) 23C3: RFID Hacking – 2006-12-28

Page 5: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 0: Preliminaries

For comparison: 13.56MHz card

(3/17) 23C3: RFID Hacking – 2006-12-28

Page 6: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 0: Preliminaries

Unknown card: lots of windings → probably low frequency

(3/17) 23C3: RFID Hacking – 2006-12-28

Page 7: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 1: Find the carrier

gnuradio/USRP to the rescue!

1. Position an antenna next to the door transceiver

2. Look at the lower end of the radio frequency spectrum→ powerful carrier at 120kHz

(4/17) 23C3: RFID Hacking – 2006-12-28

Page 8: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 1: Find the carrier

gnuradio/USRP to the rescue!

1. Position an antenna next to the door transceiver

2. Look at the lower end of the radio frequency spectrum→ powerful carrier at 120kHz

(4/17) 23C3: RFID Hacking – 2006-12-28

Page 9: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 2: Capture the identification

1. Hold a card next to the door transceiver

2. Look at the signal→ load modulation from the card (as expected), nosignal other than the carrier from the door

(5/17) 23C3: RFID Hacking – 2006-12-28

Page 10: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 2: Capture the identification

1. Hold a card next to the door transceiver

2. Look at the signal→ load modulation from the card (as expected), nosignal other than the carrier from the door

(5/17) 23C3: RFID Hacking – 2006-12-28

Page 11: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 3: Demodulate the signal

1. Amplitude demodulation with gnuradio(gr.pll carriertracking cc and gr.complex to mag)

2. Look at the recovered data signal:→

I Seems to be manchester encodedI Probably periodic (period length ca. 68ms)

(6/17) 23C3: RFID Hacking – 2006-12-28

Page 12: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 3: Demodulate the signal

1. Amplitude demodulation with gnuradio(gr.pll carriertracking cc and gr.complex to mag)

2. Look at the recovered data signal:→

I Seems to be manchester encodedI Probably periodic (period length ca. 68ms)

(6/17) 23C3: RFID Hacking – 2006-12-28

Page 13: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Preliminary summary

What we have up to here:

I Door transceiver transmits carrier at 120kHz

I Card transmits its ID with load modulation as soon as itis in the field

I ID is looped as long as the transponder is in the field

I Especially: no challenge/response!

I Should be easy to replicate

(7/17) 23C3: RFID Hacking – 2006-12-28

Page 14: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 4: Find the exact period length

1. Autocorrelation over the data using program in C

autocorr(i) =n−i∑t=0

(x (t)− x) · (x (t + i)− x)

2. Graph the result in Octave

3. Maxima at 17067, 34133, 51200, ... samples→ periodic signal, period length 68.266. . .ms ≡ 8192periods of the 120kHz carrier → looks about right

4. Might perform periodic averaging to enhance the signal

(8/17) 23C3: RFID Hacking – 2006-12-28

Page 15: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 4: Find the exact period length

1. Autocorrelation over the data using program in C

autocorr(i) =n−i∑t=0

(x (t)− x) · (x (t + i)− x)

2. Graph the result in Octave:

-5e+09

0

5e+09

1e+10

1.5e+10

2e+10

0 10000 20000 30000 40000 50000 60000 70000 80000

autocorr

3. Maxima at 17067, 34133, 51200, ... samples→ periodic signal, period length 68.266. . .ms ≡ 8192periods of the 120kHz carrier → looks about right

4. Might perform periodic averaging to enhance the signal

(8/17) 23C3: RFID Hacking – 2006-12-28

Page 16: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 4: Find the exact period length

1. Autocorrelation over the data using program in C

autocorr(i) =n−i∑t=0

(x (t)− x) · (x (t + i)− x)

2. Graph the result in Octave

3. Maxima at 17067, 34133, 51200, ... samples→ periodic signal, period length 68.266. . .ms ≡ 8192periods of the 120kHz carrier → looks about right

4. Might perform periodic averaging to enhance the signal

(8/17) 23C3: RFID Hacking – 2006-12-28

Page 17: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 5: Find the bit length

1. Assume manchester encoding. Bit length is two timesthe shorter time between two edges or equal the longertime between two edges.

2. Measure in the data signal: ≈533.3µs ≡ 64 periods ofthe 120kHz carrier → looks about right

3. Result: 128 bits @ 1875 bits/s

(9/17) 23C3: RFID Hacking – 2006-12-28

Page 18: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Step 6: Decode the ID

1. Get some additional samples and use a manchesterdecoder on the data.

2. Use the long low-frequency sequence as synchronizationsignal (in manchester code: 1010101010)→Doesn’t look right: 4 samples: A and B identicalexcept for about 40 bits, C and D identical except forabout 40 bits, A and C nearly complementary

(10/17) 23C3: RFID Hacking – 2006-12-28

Page 19: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

New Theory: Differential Manchester Encoding

1. Transform manchester decoded signal to differentialmanchester decoded signal (easy: just xor allconsecutive bits)→ Looks better: All samples identical except for about50 bits

2. Try to find the printed number somewhere in the ID.

523: 1111 1111 1000 1011 0110 0100 0010 00010011 0011 0100 1010 1010 0011 0000 0101 00010 0011 0 0000 0101 0 0000 0000 00111000 1001 0000 0000 1101 0100 0000 11000

(11/17) 23C3: RFID Hacking – 2006-12-28

Page 20: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Replaying

Remember:

I ID transmitted with load modulation

I . . . in a loop . . .

I . . . without challenge/response

I “Should be easy to replicate”

(12/17) 23C3: RFID Hacking – 2006-12-28

Page 21: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Load modulation

For example:radius of coil 3.25 cm

diameter of wire 0.2 mmC 22 nF

number of windings ≈ 15.7

For the full formula see: RFIDHandbook, Klaus Finkenzeller

(13/17) 23C3: RFID Hacking – 2006-12-28

Page 22: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Replayer

(14/17) 23C3: RFID Hacking – 2006-12-28

Page 23: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

video

(15/17) 23C3: RFID Hacking – 2006-12-28

Page 24: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Outlook

I Maybe find out more about the data encoded in the ID

I Have a look at Mifare (they use a stream cipher andCRC → confidentiality without integrity) when theOpenPICC+OpenPCD hardware is available.

(16/17) 23C3: RFID Hacking – 2006-12-28

Page 25: RFID Hacking Introduction Find the carrier RFID Hackingevents.ccc.de/.../2006/Fahrplan/attachments/1232-23C3-RFID_Hacking-3.pdfRFID Hacking Introduction Find the carrier Capture the

RFID Hacking

Introduction

Find the carrier

Capture the ID

Demodulate thesignal

Find the periodlength

Find the bit length

Decode?

Replay!

The end

Thanks for listening.

(17/17) 23C3: RFID Hacking – 2006-12-28


Recommended