new updates ..
[lectures/latex.git] / rfid / rfid_talk_g.tex
1 \documentclass{beamer}
2
3 \mode<presentation>
4 {
5 %\usetheme{Berkeley}
6 \usetheme{Warsaw}
7 %\usetheme{Singapore}
8 \setbeamercovered{transparent}
9 }
10 \usepackage{verbatim}
11 \usepackage[german]{babel}
12 \usepackage[latin1]{inputenc}
13 \usepackage[T1]{fontenc}
14 \usepackage{amsmath}
15 \usepackage{ae}
16 \usepackage{aecompl}
17 \usepackage{colortbl}
18 \usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
19 %\usepackage{pstricks}
20 \usepackage{graphicx}
21 \graphicspath{{../img}}
22 \usepackage{hyperref}
23
24 \begin{document}
25
26 \title{{\bf R}adio {\bf F}requency {\bf Id}entification (RFID)}
27 \subtitle{Technik, Standards, Anwendungen und Gefahren der kontaktlosen Smartcards}
28 \author[F. Zirkelbach]{Frank Zirkelbach\\ \texttt{hackbard@hackdaworld.org}}
29 \date{Sion, Februar 2006}
30
31 %\beamerdefaultoverlayspecification{<+->}
32
33 \AtBeginSection[]
34 {
35   \begin{frame}<beamer>
36     \frametitle{Agenda}
37     \tableofcontents[currentsection]
38   \end{frame}
39 }
40
41 \begin{frame}
42   \titlepage
43 \end{frame}
44
45 \begin{frame}
46   \frametitle{Agenda}
47   \tableofcontents%[pausesections]
48 \end{frame}
49
50 \section{Einf"uhrung in die Technik der Smartcards}
51
52   \subsection{Was sind Smartcards}
53
54 \begin{frame}
55   \frametitle{Smartcard Einf"uhrung}
56   \begin{block}{Aufbau / Bestandteile}
57     \begin{itemize}
58       \item Plastikkarte mit eingebautem Mikrochip\\
59             - {\bf I}ntegrated {\bf C}ircuit {\bf C}ard -
60             \begin{itemize}
61               \item Hardwarelogik oder Mikroprozessor
62               \item Speicher (ROM, EEPROM, RAM)
63             \end{itemize}
64       \item Ein/Ausgabeschnittstelle
65     \end{itemize}
66   \end{block}
67 \end{frame}
68
69 \begin{frame}
70   \frametitle{Smartcard Einf"uhrung}
71   \begin{block}{Anwendung}
72     \begin{itemize}
73       \item (automatische) Identifikation
74       \item Daten / Informationshalter
75       \item Zahlungssystem / Guthabenkarten
76       \item Zugangskontrolle / PayTV
77     \end{itemize}
78   \end{block}
79 \end{frame}
80
81   \subsection{Arten von Smartcards}
82
83 \begin{frame}
84   \frametitle{Unterscheidung von Chipkarten}
85   \framesubtitle{Familie der Chipkarten}
86   \includegraphics[width=10cm]{ccf.eps}
87 \end{frame}
88
89 \begin{frame}
90   \frametitle{Unterscheidung von Chipkarten}
91   \framesubtitle{Speicherkarten / Prozessorkarten}
92   \begin{columns}
93     \column{6cm}
94     {\small Speicherkarte - synchrone Chipkarte}
95     \begin{center}
96     \includegraphics[width=6cm]{sc-schem-s.eps}
97     \end{center}
98     \column{6cm}
99     {\small Prozessorkarte - asynchrone Chipkarte}
100     \begin{center}
101     \includegraphics[width=6cm]{sc-schem-as.eps}
102     \end{center}
103   \end{columns}
104 \end{frame}
105
106   \subsection{Kontaktbehaftete Chipkarten}
107
108 \begin{frame}
109   \frametitle{kontaktbehaftete Chipkarten}
110   \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten}
111   \begin{block}{ISO 7816-1: Physikalische Eigenschaften}
112     mechanische, elektrische und magnetische Belastbarkeit
113   \end{block}
114   \begin{block}{ISO7816-2: Abmessungen und Lokalisierung der Kontakte}
115     \begin{itemize}
116       \item Gr"osse der Kontakte
117       \item Kontaktpositionen
118       \item Kontaktbelegung
119     \end{itemize}
120   \end{block}
121 \end{frame}
122
123 \begin{frame}
124   \frametitle{kontaktbehaftete Chipkarten}
125   \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten}
126   \begin{block}{ISO 7816-3: Elektrische Eigenschaften und "Ubertragungsprotokolle}
127     \begin{itemize}
128       \item elektr. Signalbeschreibung
129       \item Strom- und Spannungswerte
130       \item Betriebsablauf der ICCs
131       \item {\bf A}nswer {\bf T}o {\bf R}eset (ATR)
132     \end{itemize}
133   \end{block}
134 \end{frame}
135
136 \begin{frame}
137   \frametitle{kontaktbehaftete Chipkarten}
138   \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten}
139   \begin{block}{ISO 7816-4: Definition interindustrieller Kommandos}
140     \begin{itemize}
141       \item stellt Schnittstelle zur Anwendung dar
142       \item Nachrichten, Kommandos, Antworten (insbesondere ATR)
143       \item Struktur der Daten/Dateien
144       \item Zugriff auf Dateien/Daten/Algorithmen
145       \item S/M Methoden (Secure Messaging)
146     \end{itemize}
147   \end{block}
148 \end{frame}
149
150 \begin{frame}
151   \frametitle{kontaktbehaftete Chipkarten}
152   \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)}
153   \begin{columns}
154   \column{7cm}
155   \begin{center}
156   \includegraphics[width=6cm]{sc-io.eps}
157   \end{center}
158   \column{6cm}
159   \begin{itemize}
160     \item VCC: Versorgungsspannung
161     \item RST: Reset
162     \item CLK: Clock / Taktgeber
163     \item GND: Ground
164     \item VPP: Programmierspannung
165     \item I/O: Input / Output
166   \end{itemize}
167   \end{columns}
168 \end{frame}
169
170 \begin{frame}
171   \frametitle{kontaktbehaftete Chipkarten}
172   \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)}
173   \begin{block}{I/O}
174     \begin{itemize}
175       \item fungiert als Eingangs- bzw. Ausgangsleitung zum Datenaustausch
176       \item serielle Datenleitung
177       \item im Empfangsmodus Leitung im 'high (mark) state'
178       \item Sender kann Leitung auf 'low (space) state' heben
179       \item Karte und Terminal nie gleichzeitig im Sendemodus
180     \end{itemize}
181   \end{block}
182 \end{frame}
183
184 \begin{frame}
185   \frametitle{kontaktbehaftete Chipkarten}
186   \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)}
187   \begin{block}{VPP}
188   L"osch- bzw. Programmierspannung f"ur den internen nicht fl"uchtigen Speicher (EEPROM)
189     \begin{itemize}
190       \item Programmiermodus: 'active state'
191       \item Nicht-Programmiermodus: 'passive state'
192     \end{itemize}
193   \end{block}
194   \begin{block}{CLK}
195   \begin{itemize}
196     \item Taktgeber f"ur den Mikrochip
197     \item 2 Frequenzen:
198           \begin{itemize}
199             \item $f_i$, (initial freq.) w"ahrend Antwort auf Reset
200             \item $f_s$, (subsequent freq.) im sp"ateren Betrieb
201           \end{itemize}
202   \end{itemize}
203   \end{block}
204 \end{frame}
205
206 \begin{frame}
207   \frametitle{kontaktbehaftete Chipkarten}
208   \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)}
209   \begin{block}{RST}
210     Zur"ucksetzen des {\bf P}rogram {\bf C}ounters (PC)
211   \end{block}
212   \begin{block}{VCC}
213     Versorgungsspannung des Mikrochips
214   \end{block}
215   \begin{block}{GND}
216     gemeinsame R"uckleitung, definiert das Nullpotential der Schaltung
217   \end{block}
218 \end{frame}
219
220 \begin{frame}
221   \frametitle{kontaktbehaftete Chipkarten}
222   \framesubtitle{Betriebsablauf (ISO 7816-3)}
223   \begin{block}{Ablaufschema}
224     \begin{enumerate}
225       \item Aktivierung der Kontakte durch das Terminal
226       \item Reset der Karte durch das Terminal
227       \item ATR der Karte
228       \item Abfolge von Datentransferen zwischen Karte und Terminal
229       \item Deaktivierung der Kontakte durch das Terminal
230     \end{enumerate}
231   \end{block}
232 \end{frame}
233
234 \begin{frame}
235   \frametitle{kontaktbehaftete Chipkarten}
236   \framesubtitle{Betriebsablauf (ISO 7816-3)}
237   \onslide<1->{Aktivierung der Kontakte}
238   \onslide<7->{/ Reset / ATR}
239   \begin{columns}
240   \column{6cm}
241   \begin{pgfpicture}{0cm}{0cm}{6cm}{6cm}
242     % print contacts
243     \onslide<1->{
244     \pgfputat{\pgfxy(0,5)}{\pgfbox[left,base]{RST}}
245     \pgfputat{\pgfxy(0,4)}{\pgfbox[left,base]{VCC}}
246     \pgfputat{\pgfxy(0,3)}{\pgfbox[left,base]{VPP}}
247     \pgfputat{\pgfxy(0,2)}{\pgfbox[left,base]{CLK}}
248     \pgfputat{\pgfxy(0,1)}{\pgfbox[left,base]{$I/O_{sync}$}}
249     \pgfputat{\pgfxy(0,0)}{\pgfbox[left,base]{$I/O_{async}$}}
250     }
251     % rst low
252     \onslide<2->{
253     \pgfmoveto{\pgfxy(1.6,5)}
254     \pgflineto{\pgfxy(2,5)}
255     \pgfstroke
256     \pgfmoveto{\pgfxy(1.6,4)}
257     \pgflineto{\pgfxy(2,4)}
258     \pgfstroke
259     \pgfmoveto{\pgfxy(1.6,3)}
260     \pgflineto{\pgfxy(2,3)}
261     \pgfstroke
262     \pgfmoveto{\pgfxy(1.6,2)}
263     \pgflineto{\pgfxy(2,2)}
264     \pgfstroke
265     \pgfmoveto{\pgfxy(1.6,1)}
266     \pgflineto{\pgfxy(2,1)}
267     \pgfstroke
268     \pgfmoveto{\pgfxy(1.6,0)}
269     \pgflineto{\pgfxy(2,0)}
270     \pgfstroke
271     }
272     % rst low & vcc high
273     \onslide<3->{
274     \pgfmoveto{\pgfxy(2,5)}
275     \pgflineto{\pgfxy(2.5,5)}
276     \pgfstroke
277
278     \pgfmoveto{\pgfxy(2,4)}
279     \pgflineto{\pgfxy(2,4.5)}
280     \pgflineto{\pgfxy(2.5,4.5)}
281     \pgfstroke
282
283     \pgfmoveto{\pgfxy(2,3)}
284     \pgflineto{\pgfxy(2.5,3)}
285     \pgfstroke
286     \pgfmoveto{\pgfxy(2,2)}
287     \pgflineto{\pgfxy(2.5,2)}
288     \pgfstroke
289     \pgfmoveto{\pgfxy(2,1)}
290     \pgflineto{\pgfxy(2.5,1)}
291     \pgfstroke
292     \pgfmoveto{\pgfxy(2,0)}
293     \pgflineto{\pgfxy(2.5,0)}
294     \pgfstroke
295     }
296     % rst low & vcc high & i/o high
297     \onslide<4->{
298     \pgfmoveto{\pgfxy(2.5,5)}
299     \pgflineto{\pgfxy(3,5)}
300     \pgfstroke
301     \pgfmoveto{\pgfxy(2.5,4.5)}
302     \pgflineto{\pgfxy(3,4.5)}
303     \pgfstroke
304     \pgfmoveto{\pgfxy(2.5,3)}
305     \pgflineto{\pgfxy(3,3)}
306     \pgfstroke
307     \pgfmoveto{\pgfxy(2.5,2)}
308     \pgflineto{\pgfxy(3,2)}
309     \pgfstroke
310
311     \pgfmoveto{\pgfxy(2.5,1)}
312     \pgflineto{\pgfxy(2.5,1.5)}
313     \pgflineto{\pgfxy(3,1.5)}
314     \pgfstroke
315     \pgfmoveto{\pgfxy(2.5,0)}
316     \pgflineto{\pgfxy(2.5,0.5)}
317     \pgflineto{\pgfxy(3,0.5)}
318     \pgfstroke
319     }
320     % rst low & vcc high & i/o high & vpp high
321     \onslide<5->{
322     \pgfmoveto{\pgfxy(3,5)}
323     \pgflineto{\pgfxy(3.5,5)}
324     \pgfstroke
325     \pgfmoveto{\pgfxy(3,4.5)}
326     \pgflineto{\pgfxy(3.5,4.5)}
327     \pgfstroke
328
329     \pgfmoveto{\pgfxy(3,3)}
330     \pgflineto{\pgfxy(3,3.5)}
331     \pgflineto{\pgfxy(3.5,3.5)}
332     \pgfstroke
333
334     \pgfmoveto{\pgfxy(3,2)}
335     \pgflineto{\pgfxy(3.5,2)}
336     \pgfstroke
337     \pgfmoveto{\pgfxy(3,1.5)}
338     \pgflineto{\pgfxy(3.5,1.5)}
339     \pgfstroke
340     \pgfmoveto{\pgfxy(3,0.5)}
341     \pgflineto{\pgfxy(3.5,0.5)}
342     \pgfstroke
343     }
344     % rst low & vcc high & i/o high & vpp high & activate clock
345     \onslide<6->{
346     \pgfmoveto{\pgfxy(3.5,5)}
347     \pgflineto{\pgfxy(4,5)}
348     \pgfstroke
349     \pgfmoveto{\pgfxy(3.5,4.5)}
350     \pgflineto{\pgfxy(4,4.5)}
351     \pgfstroke
352     \pgfmoveto{\pgfxy(3.5,3.5)}
353     \pgflineto{\pgfxy(4,3.5)}
354     \pgfstroke
355
356     \pgfrect[fill]{\pgfxy(3.5,2)}{\pgfxy(0.5,0.5)}
357
358     \pgfmoveto{\pgfxy(3.5,1.5)}
359     \pgflineto{\pgfxy(4,1.5)}
360     \pgfstroke
361     \pgfmoveto{\pgfxy(3.5,0.5)}
362     \pgflineto{\pgfxy(4,0.5)}
363     \pgfstroke
364     }
365     % rst low & vcc high & i/o high & vpp high & activate clock
366     % reset & io_sync atr
367     \onslide<7->{
368     \pgfmoveto{\pgfxy(4,5)}
369     \pgflineto{\pgfxy(4,5.5)}
370     \pgflineto{\pgfxy(4.5,5.5)}
371     \pgfstroke
372
373     \pgfmoveto{\pgfxy(4,4.5)}
374     \pgflineto{\pgfxy(4.5,4.5)}
375     \pgfstroke
376     \pgfmoveto{\pgfxy(4,3.5)}
377     \pgflineto{\pgfxy(4.5,3.5)}
378     \pgfstroke
379     \pgfrect[fill]{\pgfxy(4,2)}{\pgfxy(0.5,0.5)}
380     \pgfmoveto{\pgfxy(4,1.5)}
381     \pgflineto{\pgfxy(4.5,1.5)}
382     \pgfstroke
383
384     \color{blue}
385     \pgfrect[fill]{\pgfxy(4,1)}{\pgfxy(0.5,0.5)}
386     \color{black}
387     
388     \pgfmoveto{\pgfxy(4,0.5)}
389     \pgflineto{\pgfxy(4.5,0.5)}
390     \pgfstroke
391     }
392     % rst low & vcc high & i/o high & vpp high & activate clock
393     % reset & io_sync atr & io_async atr
394     \onslide<8->{
395     \pgfmoveto{\pgfxy(4.5,5.5)}
396     \pgflineto{\pgfxy(6,5.5)}
397     \pgfstroke
398
399     \pgfmoveto{\pgfxy(4.5,4.5)}
400     \pgflineto{\pgfxy(6,4.5)}
401     \pgfstroke
402     \pgfmoveto{\pgfxy(4.5,3.5)}
403     \pgflineto{\pgfxy(6,3.5)}
404     \pgfstroke
405     \pgfrect[fill]{\pgfxy(4.5,2)}{\pgfxy(1.5,0.5)}
406     \pgfmoveto{\pgfxy(4.5,1.5)}
407     \pgflineto{\pgfxy(6,1.5)}
408     \pgfstroke
409
410     \color{blue}
411     \pgfrect[fill]{\pgfxy(4.5,1)}{\pgfxy(1.5,0.5)}
412     \color{red}
413     \pgfrect[fill]{\pgfxy(4.5,0)}{\pgfxy(1.5,0.5)}
414     \color{black}
415     }
416   \end{pgfpicture}
417   \column{6cm}
418   \begin{enumerate}
419     \pause
420     \item RST auf 'low state'
421     \pause
422     \item VCC anlegen
423     \pause
424     \item I/O auf 'high state'
425     \pause
426     \item VPP 'idle state' anlegen
427     \pause
428     \item CLK anlegen
429     \pause
430     \item RST auf 'high state'\\
431           ATR auf $I/O_{sync}$
432     \pause
433     \item ATR auf $I/O_{async}$
434   \end{enumerate}
435   \end{columns}
436 \end{frame}
437
438 \begin{frame}
439   \frametitle{kontaktbehaftete Chipkarten}
440   \framesubtitle{Betriebsablauf (ISO 7816-3)}
441   {\bf A}nswer {\bf T}o {\bf R}equest
442   \begin{block}{Asynchrone "Ubertragung}
443   \begin{itemize}
444     \item Zeichen"ubertragung "uber den I/O-Kontakt
445     \item Zeichen $\equiv$ 1 Byte (8 Bit)
446   \end{itemize}
447   \end{block}
448   \begin{block}{Synchrone "Ubertragung}
449   \begin{itemize}
450     \item "Ubertragung einer Serie von Bits via I/O
451     \item Synchron mit CLK-Signal
452   \end{itemize}
453   \end{block}
454 \end{frame}
455   
456 \begin{frame}
457   \frametitle{kontaktbehaftete Chipkarten}
458   \framesubtitle{Betriebsablauf (ISO 7816-3)}
459   ATR bei asynchroner "Ubertragung: Bit-Dauer
460   \begin{definition}
461   Die Zeitdauer f"ur die Darstellung eines Bits am I/O-Kontakt ist definiert als $1 \, etu$
462   ({\bf e}lementary {\bf t}ime {\bf u}nit).
463   \end{definition}
464   \begin{itemize}
465     \item Karten mit interner CLK:\\
466           $1 \, etu = 1/9600 \, s$
467     \item Karten mit externer CLK:\\
468           $1 etu = \frac{372}{f_i}$ ($1 \, MHz < f_i < 5 \, MHz$)\\
469           Bsp.: $f_i = 3.5712 \, MHz \Rightarrow$ 9600 baud
470   \end{itemize}
471 \end{frame}
472
473 \begin{frame}
474   \frametitle{kontaktbehaftete Chipkarten}
475   \framesubtitle{Betriebsablauf (ISO 7816-3)}
476   \begin{block}{Aufbau eines Zeichens}
477   \begin{itemize}
478     \item Startbit im 'low state'
479     \item 8 Datenbits ($b_0$ bis $b_7$)\\
480           $b_0$ LSB, $b_7$ MSB\\
481           'low state' $\equiv$ 1, 'high state' $\equiv 0$
482     \item Parit"atsbit $b_p$ (gerade Anzahl von Einsen in $b_0, \ldots,b_7,b_p$)
483   \end{itemize}
484   \end{block}
485   \begin{center}
486   \includegraphics[width=11cm]{char-frame.eps}
487   \end{center}
488 \end{frame}
489
490 \begin{frame}
491   \frametitle{kontaktbehaftete Chipkarten}
492   \framesubtitle{Betriebsablauf (ISO 7816-3)}
493   ATR bei asynchroner "Ubertragung: Struktur und Inhalt
494   \begin{itemize}
495     \item TS: 'initial character'
496     \item T0: 'format character'
497     \item 
498   \end{itemize}
499 \end{frame}
500
501
502   \subsection{Kontaktlose Chipkarten / RFID}
503
504 \begin{frame}
505   \frametitle{kontaktlose Chipkarten}
506   \framesubtitle{Die verschiedenen Standards}
507     \begin{itemize}
508       \item 10536: {\bf C}lose coupling {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (1 cm)
509       \item 14443: {\bf P}roximity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (10 cm)
510       \item 15693: {\bf V}icinity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (1 m)
511       \item 18000: Standard zur Auto-Identifikation von Objekten\\
512                    (Standard umfasst alle global akzeptierten Frequenzen)
513     \end{itemize}
514 \end{frame}
515
516 \begin{frame}
517   \frametitle{Komponenten eines RFID Systems}
518 \end{frame}
519
520 \begin{frame}
521   \frametitle{Komponenten eines RFID Systems}
522   \framesubtitle{}
523 \end{frame}
524
525 \begin{frame}
526   \frametitle{Standards / Anwendungen}
527 \end{frame}
528
529 \section{RFID Technik}
530
531   \subsection{Physik der RFID}
532
533   \subsection{RFID Elektronik}
534
535 \begin{frame}
536   \frametitle{RFID Elektronik}
537   \framesubtitle{RFID Tags/Transponder}
538 \end{frame}
539
540 \begin{frame}
541   \frametitle{RFID Elektronik}
542   \framesubtitle{RFID Reader}
543 \end{frame}
544
545 \begin{frame}
546   \frametitle{RFID Elektronik}
547   \framesubtitle{RFID Detektoren}
548 \end{frame}
549
550 \begin{frame}
551   \frametitle{RFID Elektronik}
552   \framesubtitle{(Passive) RFID Sniffer}
553 \end{frame}
554
555 \begin{frame}
556   \frametitle{RFID Elektronik}
557   \framesubtitle{RFID Tag Emulator}
558   Ersetzen \dq verloren gegangener\dq{} RFID Tags ;)
559 \end{frame}
560
561   \subsection{Standards / Protokolle}
562
563 \section{Sicherheit und Datenschutz}
564
565   \subsection{Sicherheitsaspekte der RFID}
566
567 \begin{frame}
568   \frametitle{Sicherheit}
569   \framesubtitle{Abh"orgefahr}
570 \end{frame}
571
572 \begin{frame}
573   \frametitle{Sicherheit}
574   \framesubtitle{Clonen der RFID}
575 \end{frame}
576
577 \begin{frame}
578   \frametitle{Datenschutz}
579   \framesubtitle{Verlust der informationellen Selbstbestimmung}
580 \end{frame}
581
582 \begin{frame}
583   \frametitle{Sicherheit}
584   \framesubtitle{Kontrolle durch RFID}
585 \end{frame}
586
587   \subsection{Gegenma"snahmen}
588
589 \begin{frame}
590   \frametitle{Gegenma"snahmen}
591   \framesubtitle{Energiezufuhr verhindern}
592   \begin{itemize}
593     \item Faradayscher K"afig
594     \item Besch"adigung der Antenne
595   \end{itemize}
596 \end{frame}
597
598 \begin{frame}
599   \frametitle{Gegenma"snahmen}
600   \framesubtitle{Deaktivierung}
601 \end{frame}
602
603 \begin{frame}
604   \frametitle{Gegenma"snahmen}
605   \framesubtitle{Zerst"orung}
606 \end{frame}
607
608 \section{Beispiele f"ur Anwendungen der RFID}
609
610   \subsection{MRTD - der ePass}
611
612 \begin{frame}
613   \frametitle{Einsatzgebiete}
614   \framesubtitle{MRTD / ePass}
615 \end{frame}
616
617   \subsection{MensaCard - bargeldlos Kaffee trinken}
618
619 \begin{frame}
620   \frametitle{Einsatzgebiete}
621   \framesubtitle{Bargeldloses Zahlen mit der MensaCard}
622   in progress
623 \end{frame}
624
625 \end{document}