more shortcuts
[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 (ICC)
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}eset
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           \begin{itemize}
481             \item 'direct convention': $b_0$ (LSB) ... $b_7$ (MSB)\\
482                   'low state' $\equiv$ 0, 'high state' $\equiv 1$
483             \item 'inverse convention': $b_0$ (MSB) ... $b_7$ (LSB)\\
484                   'low state' $\equiv$ 1, 'high state' $\equiv 0$
485           \end{itemize}
486     \item Parit"atsbit $b_p$ (gerade Anzahl von Einsen in $b_0, \ldots,b_7,b_p$)
487   \end{itemize}
488   \end{block}
489   \begin{center}
490   \includegraphics[width=11cm]{char-frame.eps}
491   \end{center}
492 \end{frame}
493
494 \begin{frame}
495   \frametitle{kontaktbehaftete Chipkarten}
496   \framesubtitle{Betriebsablauf (ISO 7816-3)}
497   \begin{block}{ATR bei asynchroner "Ubertragung: Struktur und Inhalt}
498   \begin{tabular}{|l|l|l|}
499     \hline
500     1 & 'initial character' & $T_s$ \\
501     \hline
502     2 & 'format character' & $T_0$ \\
503     \hline
504     3 & 'interface characters' & $TA_i,TB_i,TC_i,TD_i$ \\
505     \hline
506     4 & 'historical characters' & $T_1,\ldots,T_k$ \\
507     \hline
508     5 & 'check character' & $T_{ck}$ \\
509     \hline
510   \end{tabular}
511   \end{block}
512 \end{frame}
513
514 \begin{frame}
515   \frametitle{kontaktbehaftete Chipkarten}
516   \framesubtitle{Betriebsablauf (ISO 7816-3)}
517   ATR bei asynchroner "Ubertragung: 'initial character' $T_s$
518   \begin{block}{'direct convention'}
519   \includegraphics[width=11cm]{direct-conv.eps} 
520   \end{block}
521 \end{frame}
522
523 \begin{frame}
524   \frametitle{kontaktbehaftete Chipkarten}
525   \framesubtitle{Betriebsablauf (ISO 7816-3)}
526   ATR bei asynchroner "Ubertragung: 'initial character' $T_s$
527   \begin{block}{'inverse convention'}
528   \includegraphics[width=11cm]{inverse-conv.eps} 
529   \end{block}
530 \end{frame}
531
532 \begin{frame}
533   \frametitle{kontaktbehaftete Chipkarten}
534   \framesubtitle{Betriebsablauf (ISO 7816-3)}
535   ATR bei asynchroner "Ubertragung: 'format character' $T_0$
536   \begin{block}{MS Halfbyte - Vorhandensein von 'interface characters'}
537   \begin{tabular}{|l|l|}
538   \hline
539   $T_0[4]$ & $TA_1$ wird gesendet \\
540   \hline
541   $T_0[5]$ & $TB_1$ wird gesendet \\
542   \hline
543   $T_0[6]$ & $TC_1$ wird gesendet \\
544   \hline
545   $T_0[7]$ & $TD_1$ wird gesendet \\
546   \hline
547   \end{tabular}
548   \end{block}
549   \begin{block}{LS Halfbyte - 'historical characters'}
550   Anzahl der 'historical characters': $0000_2 - 1111_2 \, (0-15)$
551   \end{block}
552 \end{frame}
553
554 \begin{frame}
555   \frametitle{kontaktbehaftete Chipkarten}
556   \framesubtitle{Betriebsablauf (ISO 7816-3)}
557   ATR bei asynchroner "Ubertragung: 'interface characters'
558   \begin{block}{MS Halfbyte von $TD_i$}
559   \begin{tabular}{|l|l|}
560   \hline
561   $TD_i[4]$ & $TA_{i+1}$ wird gesendet \\
562   \hline
563   $TD_i[5]$ & $TB_{i+1}$ wird gesendet \\
564   \hline
565   $TD_i[6]$ & $TC_{i+1}$ wird gesendet \\
566   \hline
567   $TD_i[7]$ & $TD_{i+1}$ wird gesendet \\
568   \hline
569   \end{tabular}
570   wobei $TD_0 \equiv T_0$
571   \end{block}
572   \begin{block}{LS Halfbyte von $TD_i$}
573   Protokolltyp: $0000_2 - 1111_2 \, (0-15)$
574   \end{block}
575   $TA_i,TB_i,TC_i$: Protokollparameter
576 \end{frame}
577
578 \begin{frame}
579   \frametitle{kontaktbehaftete Chipkarten}
580   \framesubtitle{Betriebsablauf (ISO 7816-3)}
581   %ATR bei asynchroner "Ubertragung: 'interface characters'
582   \begin{block}{Protokolltypen ($TD_1$)}
583   \begin{itemize}
584   \item $T=0$ asynchrones, halbduplex Zeichen-"Ubertragungsprotokoll
585   \item $T=1$ asynchrones, halbduplex Block-"Ubertragungsprotokoll
586   \item $T=2-15$ reserviert f"ur zuk"unftige Standardisierungen
587   \end{itemize}
588   \end{block}
589   \begin{block}{Protokollparameter ($TA_i,TB_i,TC_i$)}
590   \begin{columns}
591   \column{5cm}
592   \begin{itemize}
593     \item Frequenz und Bit-Dauer
594     \item extra Guardtime 
595     \item Zeichen/Block Wartezeit
596     \item T=1 Fehlererkennung durch LRC bzw. CRC
597   \end{itemize}
598   \column{5cm}
599   \begin{itemize}
600     \item L"ange eines T=1 Block Informationsfeldes
601     \item Programmierspannung und Strom
602   \end{itemize}
603   \end{columns}
604   \end{block}
605 \end{frame}
606
607 \begin{frame}
608   \frametitle{kontaktbehaftete Chipkarten}
609   \framesubtitle{Betriebsablauf (ISO 7816-3)}
610   ATR bei asynchroner "Ubertragung: 'historical \& check characters'
611   \begin{block}{'historical characters' - Information "uber}
612   \begin{itemize}
613     \item Hersteller der Karte
614     \item verwendeter Chip
615     \item ROM im Chip
616     \item Hinweise zur Benutzung
617   \end{itemize}
618   \end{block}
619   \begin{block}{'check character' $T_{ck}$}
620   \begin{itemize}
621     \item $T_1$ xor $T_2$ xor $\ldots$ xor $T_{ck}$ $=$ $0$ 
622     \item kein $T_{ck}$ f"ur Protokoll $T=0$
623   \end{itemize}
624   \end{block}
625 \end{frame}
626
627 \begin{frame}
628   \frametitle{kontaktbehaftete Chipkarten}
629   \framesubtitle{Betriebsablauf (ISO 7816-3)}
630   ATR bei {\bf synchroner} "Ubertragung
631   \begin{block}{Taktfrequenz und Bit-"Ubertragung}
632   \begin{itemize}
633     \item Frequenzen zwischen $7$ und $50 \, kHz$
634     \item 'direct convention':
635           \begin{itemize}
636             \item 'high state' $\equiv 1$ 
637             \item LSB zuerst
638           \end{itemize}
639     \item Bit-"Ubertragung:
640           \begin{itemize}
641             \item Bit anlegen
642             \item CLK auf 'high state'
643             \item CLK auf 'low state'
644           \end{itemize}
645   \end{itemize}
646   \end{block}
647
648 \end{frame}
649
650 \begin{frame}
651   \frametitle{kontaktbehaftete Chipkarten}
652   \framesubtitle{Betriebsablauf (ISO 7816-3)}
653   ATR bei {\bf synchroner} "Ubertragung
654   \begin{block}{Struktur und "Ubertragung des ATR}
655   \begin{itemize}
656     \item maximal 32 Bit gro"s (mindestens 8)
657           \begin{itemize}
658             \item Byte H1: Protokolltyp
659             \item Byte H2: Protokollparameter
660             \item Byte H3,H4: 'historical bytes'
661           \end{itemize}
662     \item "Ubertragung in 32 Takten
663     \item Weiterer Takt f"ur Zustands"anderung von I/O auf 'high state'
664   \end{itemize}
665   \end{block}
666 \end{frame}
667
668 \begin{frame}
669   \frametitle{kontaktbehaftete Chipkarten}
670   \framesubtitle{Betriebsablauf (ISO 7816-10)}
671   ATR bei {\bf synchroner} "Ubertragung
672   \begin{block}{Protokolltypen: Byte H1}
673   \begin{tabular}{|l|l|l|l|}
674   \hline
675   MS HB   & LS HB   & hex  & Protokoll\\
676   \hline
677   0 0 0 0 & 0 0 0 0 & 0x00 & unbenutzt \\
678   \hline
679   1 1 1 1 & 1 1 1 1 & 0xff & unbenutzt \\
680   \hline
681   1 x x x &         &      & Industriespezifische Protokolle \\
682   1 0 0 0 &         & 0x82 & Serial Data Access ($I^2C$) \\
683   1 0 0 1 & 0 0 1 0 & 0x92 & 3 Wire Bus \\
684   1 0 1 0 &         & 0xa2 & 2 Wire Bus \\
685   1 0 1 1 &         & 0xb2 & Function Code Bus\\
686   1 1 x x &         &      & reserviert \\
687   \hline
688   andere  &         &      & propriet"ar bzw. reserviert\\
689   \hline
690   \end{tabular}
691   \end{block}
692 \end{frame}
693
694 \begin{frame}
695   \frametitle{kontaktbehaftete Chipkarten}
696   \framesubtitle{Betriebsablauf (ISO 7816-10)}
697   ATR bei {\bf synchroner} "Ubertragung
698   \begin{block}{Protokollparameter: Byte H2}
699   \begin{itemize}
700     \item L"ange der Dateneinheiten: $2^{\textrm{(H2[2] H2[1] H2[0])}}$ in Bits
701     \item Gr"o"se des Datenspeichers:
702           \begin{tabular}{|l|l|l|l|l|}
703           \hline
704           H2[6] & H2[5] & H2[4] & H2[3] & Gr"o"se \\
705           \hline
706           0 & 0 & 0 & 0 & keine Angabe \\
707           0 & 0 & 0 & 1 & 128 \\
708           0 & 0 & 1 & 0 & 256 \\
709           0 & 0 & 1 & 1 & 512 \\
710           0 & 1 & 0 & 0 & 1024 \\
711           0 & 1 & 0 & 1 & 2048 \\
712           0 & 1 & 1 & 0 & 4096 \\
713           \hline
714           \end{tabular}
715   \end{itemize}
716   \end{block}
717 \end{frame}
718
719 \begin{frame}
720   \frametitle{kontaktbehaftete Chipkarten}
721   \framesubtitle{Betriebsablauf (ISO 7816-3/4)}
722   ATR bei {\bf synchroner} "Ubertragung
723   \begin{block}{'historical bytes' H3, H4}
724   \begin{itemize}
725     \item "Ahnlich den 'historical bytes' bei asynchronen Karten
726     \item Als 'Daten' auf der Chipkarte abgelegt
727   \end{itemize}
728   \end{block}
729   Um diese zu interpretieren muss Struktur und Inhalt der Daten auf einer Chipkarte verstanden werden (ISO 7816-4, siehe sp"ater)
730 \end{frame}
731
732 \begin{frame}
733   \frametitle{kontaktbehaftete Chipkarten}
734   \framesubtitle{Betriebsablauf (ISO 7816-3)}
735   Auswahl des "Ubertragungsprotokolls bzw der Parameter
736   \begin{itemize} 
737     \item Terminal: PTS Request (Protocol Type Selection)
738     \item Karte: PTS Confirm
739     \item Terminal: Datenaustausch / Ablehnung oder Reset
740   \end{itemize}
741 \end{frame}
742
743 \begin{frame}
744   \frametitle{kontaktbehaftete Chipkarten}
745   \framesubtitle{Struktur der Daten (ISO 7816-4)}
746   Codierungstechnik f"ur Datenobjekte:\\
747   ({\bf B}asic {\bf E}ncoding {\bf R}ules (BER), ASN.1)
748   \begin{block}{BER-TLV codiertes Datenobjekt}
749   \begin{itemize}
750     \item Datenobjekt-Kennzeichen (Tag)\\
751           Tag[7], Tag[6]: Klasse\\
752           Tag[5]: Typ (primitiv/zusammengesetzt)\\
753           Tag[4]-Tag[0]: Tagnummer
754     \item L"angenangabe (Length)
755     \item Datenobjekt-Wert (Value)
756   \end{itemize}
757   \end{block}
758 \end{frame}
759
760 \begin{frame}
761   \frametitle{kontaktbehaftete Chipkarten}
762   \framesubtitle{Sicherheitsarchitektur (ISO 7816-4)}
763   \begin{block}{Sicherheitsstatus}
764   Status nach ATR/PTS bzw. Kommandos zur Authentifizierung
765   \begin{itemize}
766     \item globaler Sicherheitsstatus 
767     \item auf eine Datei bezogener Status
768     \item Kommandospezifischer Status
769   \end{itemize}
770   \end{block}
771   \begin{block}{Sicherheitsattribute}
772    Angabe des notwendigen Sicherheitsstatuses zur Ausf"uhrung eines Kommandos bzw. f"ur den Zugriff auf eine Datei
773   \end{block}
774 \end{frame}
775
776 \begin{frame}
777   \frametitle{kontaktbehaftete Chipkarten}
778   \framesubtitle{Sicherheitsarchitektur (ISO 7816-4)}
779   \begin{block}{Sicherheitsmechanismen}
780   \begin{itemize}
781     \item Authentifizierung mit Passwort
782     \item Authentifizierung mit einem Schl"ussel (Challenge, Authenticate)
783     \item Authentifizierung mit Daten (digitale Signatur, Checksumme)   
784     \item Datenverschl"usselung (Schl"usselaustausch)
785   \end{itemize}
786   \end{block}
787 \end{frame}
788
789 \begin{frame}
790   \frametitle{kontaktbehaftete Chipkarten}
791   \framesubtitle{APDU Nachrichten (ISO 7816-4)}
792   \begin{block}{{\bf A}pplication {\bf P}rotocol {\bf D}ata {\bf U}nit}
793   Dateneinheiten f"ur Kommando-Antwort-Paare
794   \begin{itemize}
795     \item enth"alt ein Kommando bzw. eine Antwort
796     \item Kommando bzw. Antwort kann Daten enthalten
797   \end{itemize}
798   \end{block}
799 \end{frame}
800
801 \begin{frame}
802   \frametitle{kontaktbehaftete Chipkarten}
803   \framesubtitle{APDU Nachrichten (ISO 7816-4)}
804   \begin{block}{Kommando}
805   \begin{itemize}
806     \item Header
807           \begin{itemize}
808             \item Class (1 Byte)
809             \item Instruction (1 Byte)
810             \item Parameter 1 (1 Byte)
811             \item Parameter 2 (1 Byte)
812           \end{itemize}
813     \item Body
814           \begin{itemize}
815             \item Lc field (1-3 Byte)\\
816                   Anzahl der Bytes im Datenfeld
817             \item Datenfeld (Lc Byte)
818             \item Le field (1-3 Byte)\\
819                   maximal erwartete Datengr"osse in der Antwort
820           \end{itemize}
821   \end{itemize}
822   \end{block}
823 \end{frame}
824
825 \begin{frame}
826   \frametitle{kontaktbehaftete Chipkarten}
827   \framesubtitle{APDU Nachrichten (ISO 7816-4)}
828   \begin{block}{Antwort}
829   \begin{itemize}
830     \item Body\\
831           Datenfeld
832     \item Trailer
833           \begin{itemize}
834             \item SW1 (1 Byte), 'processing status'
835             \item SW2 (1 Byte), 'processing qualifier'
836           \end{itemize}
837   \end{itemize}
838   \end{block}
839 \end{frame}
840
841 \begin{frame}
842   \frametitle{kontaktbehaftete Chipkarten}
843   \framesubtitle{S/M Secure Messaging (ISO 7816-4)}
844   \begin{block}{Schutz der Nachrichten von und zur Karte}
845   \begin{itemize}
846     \item Datenauthentifizierung
847     \item vertrauliche Daten
848   \end{itemize}
849   \end{block}
850 \end{frame}
851
852 \begin{frame}
853   \frametitle{kontaktbehaftete Chipkarten}
854   \framesubtitle{Beispiel: Die Versichertenkarte (synchrones 2-WB)}
855   
856
857 \end{frame}
858
859 \begin{frame}
860   \frametitle{kontaktbehaftete Chipkarten}
861   \framesubtitle{Beispiel: PayTV Chipkarte (asynchrones, zeichenbasiertes T=0)}
862   ATR: {\color{red} 3b} {\color{blue} 9f} {\color{green} 21} 0e 49 52 44 45 54 4f 20 41 43 53 03 83 55 00 80 95\\
863   \begin{itemize}
864     \item {\color{red} 3b}: 'direct convention'
865     \item {\color{blue} 9f}: sende $TA_1$, $TD_1$; Anzahl 'historical characters': 15
866     \item {color{green} 21}: $TA_1$: 
867     \item {\color{} 0e}: sende $TA_2$, $TB_2$, $TC_3$; Protokolltyp T=0
868   \end{itemize}
869 \end{frame}
870
871   \subsection{Kontaktlose Chipkarten / RFID}
872
873 \begin{frame}
874   \frametitle{kontaktlose Chipkarten}
875   \framesubtitle{Begriffserkl"arung}
876   \begin{block}{{\bf R}adio {\bf F}requency {\bf ID}entification}
877   \begin{itemize}
878     \item Funkerkennung
879     \item ber"uhrungloses Lesen und Speichern von Daten auf Chipkarten
880     \item viele verschiedene Systeme
881     \item einige standardisiert, die meisten propriet"ar
882     \item Unterschiede in
883           \begin{itemize}
884             \item Frequenz
885             \item Modulation
886             \item Kodierung
887             \item Protokoll
888           \end{itemize}
889   \end{itemize}
890   \end{block}
891 \end{frame}
892
893 \begin{frame}
894   \frametitle{kontaktlose Chipkarten}
895   \framesubtitle{Komponenten eines RFID Systems}
896   \begin{itemize}
897     \item Transponder (Tag)
898     \item Sende-Empfangs-Einheit (Reader)
899     \item Integration mit anderen Systemen
900   \end{itemize}
901 \end{frame}
902
903 \begin{frame}
904   \frametitle{kontaktlose Chipkarten}
905   \framesubtitle{Die verschiedenen Standards}
906     \begin{itemize}
907       \item 11784/11785: Tieridentifikation (134.2 kHz, 4191 bps)
908       \item 14223: Erweiterung von 11784/11785, mehr Datenspeicher
909       \item 10536: {\bf C}lose coupling {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (4.9152 MHz, hat sich nie am Markt durchgesetzt, 1 cm)
910       \item 14443: {\bf P}roximity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (13.56 MHz, sehr verbreitet, 10 cm)
911       \item 15693: {\bf V}icinity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (1 m)
912       \item 18000: Standard zur Auto-Identifikation von Objekten\\
913                    (Standard umfasst alle global akzeptierten Frequenzen)
914     \end{itemize}
915 \end{frame}
916
917 \section{RFID Technik}
918
919   \subsection{Physik der RFID}
920
921   \subsection{RFID Elektronik}
922
923 \begin{frame}
924   \frametitle{RFID Elektronik}
925   \framesubtitle{RFID Tags/Transponder}
926 \end{frame}
927
928 \begin{frame}
929   \frametitle{RFID Elektronik}
930   \framesubtitle{RFID Reader}
931 \end{frame}
932
933 \begin{frame}
934   \frametitle{RFID Elektronik}
935   \framesubtitle{RFID Detektoren}
936 \end{frame}
937
938 \begin{frame}
939   \frametitle{RFID Elektronik}
940   \framesubtitle{(Passive) RFID Sniffer}
941 \end{frame}
942
943 \begin{frame}
944   \frametitle{RFID Elektronik}
945   \framesubtitle{RFID Tag Emulator}
946   Ersetzen \dq verloren gegangener\dq{} RFID Tags ;)
947 \end{frame}
948
949   \subsection{Standards / Protokolle}
950
951 \section{Sicherheit und Datenschutz}
952
953   \subsection{Sicherheitsaspekte der RFID}
954
955 \begin{frame}
956   \frametitle{Sicherheit}
957   \framesubtitle{Abh"orgefahr}
958 \end{frame}
959
960 \begin{frame}
961   \frametitle{Sicherheit}
962   \framesubtitle{Clonen der RFID}
963 \end{frame}
964
965 \begin{frame}
966   \frametitle{Datenschutz}
967   \framesubtitle{Verlust der informationellen Selbstbestimmung}
968 \end{frame}
969
970 \begin{frame}
971   \frametitle{Sicherheit}
972   \framesubtitle{Kontrolle durch RFID}
973 \end{frame}
974
975   \subsection{Gegenma"snahmen}
976
977 \begin{frame}
978   \frametitle{Gegenma"snahmen}
979   \framesubtitle{Energiezufuhr verhindern}
980   \begin{itemize}
981     \item Faradayscher K"afig
982     \item Besch"adigung der Antenne
983   \end{itemize}
984 \end{frame}
985
986 \begin{frame}
987   \frametitle{Gegenma"snahmen}
988   \framesubtitle{Deaktivierung}
989 \end{frame}
990
991 \begin{frame}
992   \frametitle{Gegenma"snahmen}
993   \framesubtitle{Zerst"orung}
994 \end{frame}
995
996 \section{Beispiele f"ur Anwendungen der RFID}
997
998   \subsection{MRTD - der ePass}
999
1000 \begin{frame}
1001   \frametitle{Einsatzgebiete}
1002   \framesubtitle{MRTD / ePass}
1003 \end{frame}
1004
1005   \subsection{MensaCard - bargeldlos Kaffee trinken}
1006
1007 \begin{frame}
1008   \frametitle{Einsatzgebiete}
1009   \framesubtitle{Bargeldloses Zahlen mit der MensaCard}
1010   in progress
1011 \end{frame}
1012
1013 \end{document}