X-Git-Url: https://hackdaworld.org/gitweb/?p=lectures%2Flatex.git;a=blobdiff_plain;f=rfid%2Frfid_talk_g.tex;h=1a5ee4d2335f01cff8f6531ba8ee1a37b4d28964;hp=80ecae80ed71163a74097f5f0a86dcfca232d0f1;hb=5745ca18965d9a85ce68e8d4223f64e380ba527b;hpb=06b8b121617c6d2edb0961a9495fc440a4e8646c diff --git a/rfid/rfid_talk_g.tex b/rfid/rfid_talk_g.tex index 80ecae8..1a5ee4d 100644 --- a/rfid/rfid_talk_g.tex +++ b/rfid/rfid_talk_g.tex @@ -30,11 +30,11 @@ %\beamerdefaultoverlayspecification{<+->} -\AtBeginSubsection[] +\AtBeginSection[] { \begin{frame} \frametitle{Agenda} - \tableofcontents[currentsubsection] + \tableofcontents[currentsection] \end{frame} } @@ -47,32 +47,872 @@ \tableofcontents%[pausesections] \end{frame} -\section{Einf"uhrung in RFID} +\section{Einf"uhrung in die Technik der Smartcards} - \subsection{Smartcards / RFID} + \subsection{Was sind Smartcards} \begin{frame} - \frametitle{Smartcards / Chipkarten} - \begin{block}{Smartcards} + \frametitle{Smartcard Einf"uhrung} + \begin{block}{Aufbau / Bestandteile} \begin{itemize} - \item Plastikkarte mit eingebautem Chip\\ - \item ICC, Integrated Circuit Card - \item Chip enth"alt: Hardware-Logik, Speicher oder Mikroprozessor + \item Plastikkarte mit eingebautem Mikrochip\\ + {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (ICC) + \begin{itemize} + \item Hardwarelogik oder Mikroprozessor + \item Speicher (ROM, EEPROM, RAM) + \end{itemize} + \item Ein/Ausgabeschnittstelle \end{itemize} \end{block} - \begin{block}{ISO 7816: Chipkarten Standard} +\end{frame} + +\begin{frame} + \frametitle{Smartcard Einf"uhrung} + \begin{block}{Anwendung} + \begin{itemize} + \item (automatische) Identifikation + \item Daten / Informationshalter + \item Zahlungssystem / Guthabenkarten + \item Zugangskontrolle / PayTV + \end{itemize} + \end{block} +\end{frame} + + \subsection{Arten von Smartcards} + +\begin{frame} + \frametitle{Unterscheidung von Chipkarten} + \framesubtitle{Familie der Chipkarten} + \includegraphics[width=10cm]{ccf.eps} +\end{frame} + +\begin{frame} + \frametitle{Unterscheidung von Chipkarten} + \framesubtitle{Speicherkarten / Prozessorkarten} + \begin{columns} + \column{6cm} + {\small Speicherkarte - synchrone Chipkarte} + \begin{center} + \includegraphics[width=6cm]{sc-schem-s.eps} + \end{center} + \column{6cm} + {\small Prozessorkarte - asynchrone Chipkarte} + \begin{center} + \includegraphics[width=6cm]{sc-schem-as.eps} + \end{center} + \end{columns} +\end{frame} + + \subsection{Kontaktbehaftete Chipkarten} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten} + \begin{block}{ISO 7816-1: Physikalische Eigenschaften} + mechanische, elektrische und magnetische Belastbarkeit + \end{block} + \begin{block}{ISO7816-2: Abmessungen und Lokalisierung der Kontakte} + \begin{itemize} + \item Gr"osse der Kontakte + \item Kontaktpositionen + \item Kontaktbelegung + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten} + \begin{block}{ISO 7816-3: Elektrische Eigenschaften und "Ubertragungsprotokolle} \begin{itemize} - \item 7816-1: Physikalische Eigenschaften - \item 7816-2: Dimensionen und Kontaktpositionen - \item 7816-3: Elektrische Signale und "Ubertragungsprotokolle - \item 7816-4: Kommandos f"ur den Datenaustausch + \item elektr. Signalbeschreibung + \item Strom- und Spannungswerte + \item Betriebsablauf der ICCs + \item {\bf A}nswer {\bf T}o {\bf R}eset (ATR) \end{itemize} \end{block} \end{frame} - \subsection{Komponenten eines RFID Systems} +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten} + \begin{block}{ISO 7816-4: Definition interindustrieller Kommandos} + \begin{itemize} + \item stellt Schnittstelle zur Anwendung dar + \item Nachrichten, Kommandos, Antworten (insbesondere ATR) + \item Struktur der Daten/Dateien + \item Zugriff auf Dateien/Daten/Algorithmen + \item S/M Methoden (Secure Messaging) + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)} + \begin{columns} + \column{7cm} + \begin{center} + \includegraphics[width=6cm]{sc-io.eps} + \end{center} + \column{6cm} + \begin{itemize} + \item VCC: Versorgungsspannung + \item RST: Reset + \item CLK: Clock / Taktgeber + \item GND: Ground + \item VPP: Programmierspannung + \item I/O: Input / Output + \end{itemize} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)} + \begin{block}{I/O} + \begin{itemize} + \item fungiert als Eingangs- bzw. Ausgangsleitung zum Datenaustausch + \item serielle Datenleitung + \item im Empfangsmodus Leitung im 'high (mark) state' + \item Sender kann Leitung auf 'low (space) state' heben + \item Karte und Terminal nie gleichzeitig im Sendemodus + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)} + \begin{block}{VPP} + L"osch- bzw. Programmierspannung f"ur den internen nicht fl"uchtigen Speicher (EEPROM) + \begin{itemize} + \item Programmiermodus: 'active state' + \item Nicht-Programmiermodus: 'passive state' + \end{itemize} + \end{block} + \begin{block}{CLK} + \begin{itemize} + \item Taktgeber f"ur den Mikrochip + \item 2 Frequenzen: + \begin{itemize} + \item $f_i$, (initial freq.) w"ahrend Antwort auf Reset + \item $f_s$, (subsequent freq.) im sp"ateren Betrieb + \end{itemize} + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Kontakte der Chipkarte (ISO 7816-2/3)} + \begin{block}{RST} + Zur"ucksetzen des {\bf P}rogram {\bf C}ounters (PC) + \end{block} + \begin{block}{VCC} + Versorgungsspannung des Mikrochips + \end{block} + \begin{block}{GND} + gemeinsame R"uckleitung, definiert das Nullpotential der Schaltung + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + \begin{block}{Ablaufschema} + \begin{enumerate} + \item Aktivierung der Kontakte durch das Terminal + \item Reset der Karte durch das Terminal + \item ATR der Karte + \item Abfolge von Datentransferen zwischen Karte und Terminal + \item Deaktivierung der Kontakte durch das Terminal + \end{enumerate} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + \onslide<1->{Aktivierung der Kontakte} + \onslide<7->{/ Reset / ATR} + \begin{columns} + \column{6cm} + \begin{pgfpicture}{0cm}{0cm}{6cm}{6cm} + % print contacts + \onslide<1->{ + \pgfputat{\pgfxy(0,5)}{\pgfbox[left,base]{RST}} + \pgfputat{\pgfxy(0,4)}{\pgfbox[left,base]{VCC}} + \pgfputat{\pgfxy(0,3)}{\pgfbox[left,base]{VPP}} + \pgfputat{\pgfxy(0,2)}{\pgfbox[left,base]{CLK}} + \pgfputat{\pgfxy(0,1)}{\pgfbox[left,base]{$I/O_{sync}$}} + \pgfputat{\pgfxy(0,0)}{\pgfbox[left,base]{$I/O_{async}$}} + } + % rst low + \onslide<2->{ + \pgfmoveto{\pgfxy(1.6,5)} + \pgflineto{\pgfxy(2,5)} + \pgfstroke + \pgfmoveto{\pgfxy(1.6,4)} + \pgflineto{\pgfxy(2,4)} + \pgfstroke + \pgfmoveto{\pgfxy(1.6,3)} + \pgflineto{\pgfxy(2,3)} + \pgfstroke + \pgfmoveto{\pgfxy(1.6,2)} + \pgflineto{\pgfxy(2,2)} + \pgfstroke + \pgfmoveto{\pgfxy(1.6,1)} + \pgflineto{\pgfxy(2,1)} + \pgfstroke + \pgfmoveto{\pgfxy(1.6,0)} + \pgflineto{\pgfxy(2,0)} + \pgfstroke + } + % rst low & vcc high + \onslide<3->{ + \pgfmoveto{\pgfxy(2,5)} + \pgflineto{\pgfxy(2.5,5)} + \pgfstroke + + \pgfmoveto{\pgfxy(2,4)} + \pgflineto{\pgfxy(2,4.5)} + \pgflineto{\pgfxy(2.5,4.5)} + \pgfstroke + + \pgfmoveto{\pgfxy(2,3)} + \pgflineto{\pgfxy(2.5,3)} + \pgfstroke + \pgfmoveto{\pgfxy(2,2)} + \pgflineto{\pgfxy(2.5,2)} + \pgfstroke + \pgfmoveto{\pgfxy(2,1)} + \pgflineto{\pgfxy(2.5,1)} + \pgfstroke + \pgfmoveto{\pgfxy(2,0)} + \pgflineto{\pgfxy(2.5,0)} + \pgfstroke + } + % rst low & vcc high & i/o high + \onslide<4->{ + \pgfmoveto{\pgfxy(2.5,5)} + \pgflineto{\pgfxy(3,5)} + \pgfstroke + \pgfmoveto{\pgfxy(2.5,4.5)} + \pgflineto{\pgfxy(3,4.5)} + \pgfstroke + \pgfmoveto{\pgfxy(2.5,3)} + \pgflineto{\pgfxy(3,3)} + \pgfstroke + \pgfmoveto{\pgfxy(2.5,2)} + \pgflineto{\pgfxy(3,2)} + \pgfstroke + + \pgfmoveto{\pgfxy(2.5,1)} + \pgflineto{\pgfxy(2.5,1.5)} + \pgflineto{\pgfxy(3,1.5)} + \pgfstroke + \pgfmoveto{\pgfxy(2.5,0)} + \pgflineto{\pgfxy(2.5,0.5)} + \pgflineto{\pgfxy(3,0.5)} + \pgfstroke + } + % rst low & vcc high & i/o high & vpp high + \onslide<5->{ + \pgfmoveto{\pgfxy(3,5)} + \pgflineto{\pgfxy(3.5,5)} + \pgfstroke + \pgfmoveto{\pgfxy(3,4.5)} + \pgflineto{\pgfxy(3.5,4.5)} + \pgfstroke + + \pgfmoveto{\pgfxy(3,3)} + \pgflineto{\pgfxy(3,3.5)} + \pgflineto{\pgfxy(3.5,3.5)} + \pgfstroke + + \pgfmoveto{\pgfxy(3,2)} + \pgflineto{\pgfxy(3.5,2)} + \pgfstroke + \pgfmoveto{\pgfxy(3,1.5)} + \pgflineto{\pgfxy(3.5,1.5)} + \pgfstroke + \pgfmoveto{\pgfxy(3,0.5)} + \pgflineto{\pgfxy(3.5,0.5)} + \pgfstroke + } + % rst low & vcc high & i/o high & vpp high & activate clock + \onslide<6->{ + \pgfmoveto{\pgfxy(3.5,5)} + \pgflineto{\pgfxy(4,5)} + \pgfstroke + \pgfmoveto{\pgfxy(3.5,4.5)} + \pgflineto{\pgfxy(4,4.5)} + \pgfstroke + \pgfmoveto{\pgfxy(3.5,3.5)} + \pgflineto{\pgfxy(4,3.5)} + \pgfstroke + + \pgfrect[fill]{\pgfxy(3.5,2)}{\pgfxy(0.5,0.5)} + + \pgfmoveto{\pgfxy(3.5,1.5)} + \pgflineto{\pgfxy(4,1.5)} + \pgfstroke + \pgfmoveto{\pgfxy(3.5,0.5)} + \pgflineto{\pgfxy(4,0.5)} + \pgfstroke + } + % rst low & vcc high & i/o high & vpp high & activate clock + % reset & io_sync atr + \onslide<7->{ + \pgfmoveto{\pgfxy(4,5)} + \pgflineto{\pgfxy(4,5.5)} + \pgflineto{\pgfxy(4.5,5.5)} + \pgfstroke + + \pgfmoveto{\pgfxy(4,4.5)} + \pgflineto{\pgfxy(4.5,4.5)} + \pgfstroke + \pgfmoveto{\pgfxy(4,3.5)} + \pgflineto{\pgfxy(4.5,3.5)} + \pgfstroke + \pgfrect[fill]{\pgfxy(4,2)}{\pgfxy(0.5,0.5)} + \pgfmoveto{\pgfxy(4,1.5)} + \pgflineto{\pgfxy(4.5,1.5)} + \pgfstroke + + \color{blue} + \pgfrect[fill]{\pgfxy(4,1)}{\pgfxy(0.5,0.5)} + \color{black} + + \pgfmoveto{\pgfxy(4,0.5)} + \pgflineto{\pgfxy(4.5,0.5)} + \pgfstroke + } + % rst low & vcc high & i/o high & vpp high & activate clock + % reset & io_sync atr & io_async atr + \onslide<8->{ + \pgfmoveto{\pgfxy(4.5,5.5)} + \pgflineto{\pgfxy(6,5.5)} + \pgfstroke + + \pgfmoveto{\pgfxy(4.5,4.5)} + \pgflineto{\pgfxy(6,4.5)} + \pgfstroke + \pgfmoveto{\pgfxy(4.5,3.5)} + \pgflineto{\pgfxy(6,3.5)} + \pgfstroke + \pgfrect[fill]{\pgfxy(4.5,2)}{\pgfxy(1.5,0.5)} + \pgfmoveto{\pgfxy(4.5,1.5)} + \pgflineto{\pgfxy(6,1.5)} + \pgfstroke + + \color{blue} + \pgfrect[fill]{\pgfxy(4.5,1)}{\pgfxy(1.5,0.5)} + \color{red} + \pgfrect[fill]{\pgfxy(4.5,0)}{\pgfxy(1.5,0.5)} + \color{black} + } + \end{pgfpicture} + \column{6cm} + \begin{enumerate} + \pause + \item RST auf 'low state' + \pause + \item VCC anlegen + \pause + \item I/O auf 'high state' + \pause + \item VPP 'idle state' anlegen + \pause + \item CLK anlegen + \pause + \item RST auf 'high state'\\ + ATR auf $I/O_{sync}$ + \pause + \item ATR auf $I/O_{async}$ + \end{enumerate} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + {\bf A}nswer {\bf T}o {\bf R}eset + \begin{block}{Asynchrone "Ubertragung} + \begin{itemize} + \item Zeichen"ubertragung "uber den I/O-Kontakt + \item Zeichen $\equiv$ 1 Byte (8 Bit) + \end{itemize} + \end{block} + \begin{block}{Synchrone "Ubertragung} + \begin{itemize} + \item "Ubertragung einer Serie von Bits via I/O + \item Synchron mit CLK-Signal + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei asynchroner "Ubertragung: Bit-Dauer + \begin{definition} + Die Zeitdauer f"ur die Darstellung eines Bits am I/O-Kontakt ist definiert als $1 \, etu$ + ({\bf e}lementary {\bf t}ime {\bf u}nit). + \end{definition} + \begin{itemize} + \item Karten mit interner CLK:\\ + $1 \, etu = 1/9600 \, s$ + \item Karten mit externer CLK:\\ + $1 etu = \frac{372}{f_i}$ ($1 \, MHz < f_i < 5 \, MHz$)\\ + Bsp.: $f_i = 3.5712 \, MHz \Rightarrow$ 9600 baud + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + \begin{block}{Aufbau eines Zeichens} + \begin{itemize} + \item Startbit im 'low state' + \item 8 Datenbits ($b_0$ bis $b_7$)\\ + \begin{itemize} + \item 'direct convention': $b_0$ (LSB) ... $b_7$ (MSB)\\ + 'low state' $\equiv$ 0, 'high state' $\equiv 1$ + \item 'inverse convention': $b_0$ (MSB) ... $b_7$ (LSB)\\ + 'low state' $\equiv$ 1, 'high state' $\equiv 0$ + \end{itemize} + \item Parit"atsbit $b_p$ (gerade Anzahl von Einsen in $b_0, \ldots,b_7,b_p$) + \end{itemize} + \end{block} + \begin{center} + \includegraphics[width=11cm]{char-frame.eps} + \end{center} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + \begin{block}{ATR bei asynchroner "Ubertragung: Struktur und Inhalt} + \begin{tabular}{|l|l|l|} + \hline + 1 & 'initial character' & $T_s$ \\ + \hline + 2 & 'format character' & $T_0$ \\ + \hline + 3 & 'interface characters' & $TA_i,TB_i,TC_i,TD_i$ \\ + \hline + 4 & 'historical characters' & $T_1,\ldots,T_k$ \\ + \hline + 5 & 'check character' & $T_{ck}$ \\ + \hline + \end{tabular} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei asynchroner "Ubertragung: 'initial character' $T_s$ + \begin{block}{'direct convention'} + \includegraphics[width=11cm]{direct-conv.eps} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei asynchroner "Ubertragung: 'initial character' $T_s$ + \begin{block}{'inverse convention'} + \includegraphics[width=11cm]{inverse-conv.eps} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei asynchroner "Ubertragung: 'format character' $T_0$ + \begin{block}{MS Halfbyte - Vorhandensein von 'interface characters'} + \begin{tabular}{|l|l|} + \hline + $T_0[4]$ & $TA_1$ wird gesendet \\ + \hline + $T_0[5]$ & $TB_1$ wird gesendet \\ + \hline + $T_0[6]$ & $TC_1$ wird gesendet \\ + \hline + $T_0[7]$ & $TD_1$ wird gesendet \\ + \hline + \end{tabular} + \end{block} + \begin{block}{LS Halfbyte - 'historical characters'} + Anzahl der 'historical characters': $0000_2 - 1111_2 \, (0-15)$ + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei asynchroner "Ubertragung: 'interface characters' + \begin{block}{MS Halfbyte von $TD_i$} + \begin{tabular}{|l|l|} + \hline + $TD_i[4]$ & $TA_{i+1}$ wird gesendet \\ + \hline + $TD_i[5]$ & $TB_{i+1}$ wird gesendet \\ + \hline + $TD_i[6]$ & $TC_{i+1}$ wird gesendet \\ + \hline + $TD_i[7]$ & $TD_{i+1}$ wird gesendet \\ + \hline + \end{tabular} + wobei $TD_0 \equiv T_0$ + \end{block} + \begin{block}{LS Halfbyte von $TD_i$} + Protokolltyp: $0000_2 - 1111_2 \, (0-15)$ + \end{block} + $TA_i,TB_i,TC_i$: Protokollparameter +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + %ATR bei asynchroner "Ubertragung: 'interface characters' + \begin{block}{Protokolltypen ($TD_1$)} + \begin{itemize} + \item $T=0$ asynchrones, halbduplex Zeichen-"Ubertragungsprotokoll + \item $T=1$ asynchrones, halbduplex Block-"Ubertragungsprotokoll + \item $T=2-15$ reserviert f"ur zuk"unftige Standardisierungen + \end{itemize} + \end{block} + \begin{block}{Protokollparameter ($TA_i,TB_i,TC_i$)} + \begin{columns} + \column{5cm} + \begin{itemize} + \item Frequenz und Bit-Dauer + \item extra Guardtime + \item Zeichen/Block Wartezeit + \item T=1 Fehlererkennung durch LRC bzw. CRC + \end{itemize} + \column{5cm} + \begin{itemize} + \item L"ange eines T=1 Block Informationsfeldes + \item Programmierspannung und Strom + \end{itemize} + \end{columns} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei asynchroner "Ubertragung: 'historical \& check characters' + \begin{block}{'historical characters' - Information "uber} + \begin{itemize} + \item Hersteller der Karte + \item verwendeter Chip + \item ROM im Chip + \item Hinweise zur Benutzung + \end{itemize} + \end{block} + \begin{block}{'check character' $T_{ck}$} + \begin{itemize} + \item $T_1$ xor $T_2$ xor $\ldots$ xor $T_{ck}$ $=$ $0$ + \item kein $T_{ck}$ f"ur Protokoll $T=0$ + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei {\bf synchroner} "Ubertragung + \begin{block}{Taktfrequenz und Bit-"Ubertragung} + \begin{itemize} + \item Frequenzen zwischen $7$ und $50 \, kHz$ + \item 'direct convention': + \begin{itemize} + \item 'high state' $\equiv 1$ + \item LSB zuerst + \end{itemize} + \item Bit-"Ubertragung: + \begin{itemize} + \item Bit anlegen + \item CLK auf 'high state' + \item CLK auf 'low state' + \end{itemize} + \end{itemize} + \end{block} + +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + ATR bei {\bf synchroner} "Ubertragung + \begin{block}{Struktur und "Ubertragung des ATR} + \begin{itemize} + \item maximal 32 Bit gro"s (mindestens 8) + \begin{itemize} + \item Byte H1: Protokolltyp + \item Byte H2: Protokollparameter + \item Byte H3,H4: 'historical bytes' + \end{itemize} + \item "Ubertragung in 32 Takten + \item Weiterer Takt f"ur Zustands"anderung von I/O auf 'high state' + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-10)} + ATR bei {\bf synchroner} "Ubertragung + \begin{block}{Protokolltypen: Byte H1} + \begin{tabular}{|l|l|l|l|} + \hline + MS HB & LS HB & hex & Protokoll\\ + \hline + 0 0 0 0 & 0 0 0 0 & 0x00 & unbenutzt \\ + \hline + 1 1 1 1 & 1 1 1 1 & 0xff & unbenutzt \\ + \hline + 1 x x x & & & Industriespezifische Protokolle \\ + 1 0 0 0 & & 0x82 & Serial Data Access ($I^2C$) \\ + 1 0 0 1 & 0 0 1 0 & 0x92 & 3 Wire Bus \\ + 1 0 1 0 & & 0xa2 & 2 Wire Bus \\ + 1 0 1 1 & & 0xb2 & Function Code Bus\\ + 1 1 x x & & & reserviert \\ + \hline + andere & & & propriet"ar bzw. reserviert\\ + \hline + \end{tabular} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-10)} + ATR bei {\bf synchroner} "Ubertragung + \begin{block}{Protokollparameter: Byte H2} + \begin{itemize} + \item L"ange der Dateneinheiten: $2^{\textrm{(H2[2] H2[1] H2[0])}}$ in Bits + \item Gr"o"se des Datenspeichers: + \begin{tabular}{|l|l|l|l|l|} + \hline + H2[6] & H2[5] & H2[4] & H2[3] & Gr"o"se \\ + \hline + 0 & 0 & 0 & 0 & keine Angabe \\ + 0 & 0 & 0 & 1 & 128 \\ + 0 & 0 & 1 & 0 & 256 \\ + 0 & 0 & 1 & 1 & 512 \\ + 0 & 1 & 0 & 0 & 1024 \\ + 0 & 1 & 0 & 1 & 2048 \\ + 0 & 1 & 1 & 0 & 4096 \\ + \hline + \end{tabular} + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3/4)} + ATR bei {\bf synchroner} "Ubertragung + \begin{block}{'historical bytes' H3, H4} + \begin{itemize} + \item "Ahnlich den 'historical bytes' bei asynchronen Karten + \item Als 'Daten' auf der Chipkarte abgelegt + \end{itemize} + \end{block} + Um diese zu interpretieren muss Struktur und Inhalt der Daten auf einer Chipkarte verstanden werden (ISO 7816-4, siehe sp"ater) +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Betriebsablauf (ISO 7816-3)} + Auswahl des "Ubertragungsprotokolls bzw der Parameter + \begin{itemize} + \item Terminal: PTS Request (Protocol Type Selection) + \item Karte: PTS Confirm + \item Terminal: Datenaustausch / Ablehnung oder Reset + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Struktur der Daten (ISO 7816-4)} + Codierungstechnik f"ur Datenobjekte:\\ + ({\bf B}asic {\bf E}ncoding {\bf R}ules (BER), ASN.1) + \begin{block}{BER-TLV codiertes Datenobjekt} + \begin{itemize} + \item Datenobjekt-Kennzeichen (Tag)\\ + Tag[7], Tag[6]: Klasse\\ + Tag[5]: Typ (primitiv/zusammengesetzt)\\ + Tag[4]-Tag[0]: Tagnummer + \item L"angenangabe (Length) + \item Datenobjekt-Wert (Value) + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Sicherheitsarchitektur (ISO 7816-4)} + \begin{block}{Sicherheitsstatus} + Status nach ATR/PTS bzw. Kommandos zur Authentifizierung + \begin{itemize} + \item globaler Sicherheitsstatus + \item auf eine Datei bezogener Status + \item Kommandospezifischer Status + \end{itemize} + \end{block} + \begin{block}{Sicherheitsattribute} + Angabe des notwendigen Sicherheitsstatuses zur Ausf"uhrung eines Kommandos bzw. f"ur den Zugriff auf eine Datei + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Sicherheitsarchitektur (ISO 7816-4)} + \begin{block}{Sicherheitsmechanismen} + \begin{itemize} + \item Authentifizierung mit Passwort + \item Authentifizierung mit einem Schl"ussel (Challenge, Authenticate) + \item Authentifizierung mit Daten (digitale Signatur, Checksumme) + \item Datenverschl"usselung (Schl"usselaustausch) + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{APDU Nachrichten (ISO 7816-4)} + \begin{block}{{\bf A}pplication {\bf P}rotocol {\bf D}ata {\bf U}nit} + Dateneinheiten f"ur Kommando-Antwort-Paare + \begin{itemize} + \item enth"alt ein Kommando bzw. eine Antwort + \item Kommando bzw. Antwort kann Daten enthalten + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{APDU Nachrichten (ISO 7816-4)} + \begin{block}{Kommando} + \begin{itemize} + \item Header + \begin{itemize} + \item Class (1 Byte) + \item Instruction (1 Byte) + \item Parameter 1 (1 Byte) + \item Parameter 2 (1 Byte) + \end{itemize} + \item Body + \begin{itemize} + \item Lc field (1-3 Byte)\\ + Anzahl der Bytes im Datenfeld + \item Datenfeld (Lc Byte) + \item Le field (1-3 Byte)\\ + maximal erwartete Datengr"osse in der Antwort + \end{itemize} + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{APDU Nachrichten (ISO 7816-4)} + \begin{block}{Antwort} + \begin{itemize} + \item Body\\ + Datenfeld + \item Trailer + \begin{itemize} + \item SW1 (1 Byte), 'processing status' + \item SW2 (1 Byte), 'processing qualifier' + \end{itemize} + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{S/M Secure Messaging (ISO 7816-4)} + \begin{block}{Schutz der Nachrichten von und zur Karte} + \begin{itemize} + \item Datenauthentifizierung + \item vertrauliche Daten + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Beispiel: Die Versichertenkarte (synchrones 2-WB)} + + +\end{frame} + +\begin{frame} + \frametitle{kontaktbehaftete Chipkarten} + \framesubtitle{Beispiel: PayTV Chipkarte (asynchrones, zeichenbasiertes T=0)} + 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\\ + \begin{itemize} + \item {\color{red} 3b}: 'direct convention' + \item {\color{blue} 9f}: sende $TA_1$, $TD_1$; Anzahl 'historical characters': 15 + \item {color{green} 21}: $TA_1$: + \item {\color{} 0e}: sende $TA_2$, $TB_2$, $TC_3$; Protokolltyp T=0 + \end{itemize} +\end{frame} + + \subsection{Kontaktlose Chipkarten / RFID} + +\begin{frame} + \frametitle{kontaktlose Chipkarten} + \framesubtitle{Begriffserkl"arung} + \begin{block}{{\bf R}adio {\bf F}requency {\bf ID}entification} + \begin{itemize} + \item Funkerkennung + \item ber"uhrungloses Lesen und Speichern von Daten auf Chipkarten + \item viele verschiedene Systeme + \item einige standardisiert, die meisten propriet"ar + \item Unterschiede in + \begin{itemize} + \item Frequenz + \item Modulation + \item Kodierung + \item Protokoll + \end{itemize} + \end{itemize} + \end{block} +\end{frame} + +\begin{frame} + \frametitle{kontaktlose Chipkarten} + \framesubtitle{Komponenten eines RFID Systems} + \begin{itemize} + \item Transponder (Tag) + \item Sende-Empfangs-Einheit (Reader) + \item Integration mit anderen Systemen + \end{itemize} +\end{frame} - \subsection{Protokolle und Standardisierungen} +\begin{frame} + \frametitle{kontaktlose Chipkarten} + \framesubtitle{Die verschiedenen Standards} + \begin{itemize} + \item 11784/11785: Tieridentifikation (134.2 kHz, 4191 bps) + \item 14223: Erweiterung von 11784/11785, mehr Datenspeicher + \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) + \item 14443: {\bf P}roximity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (13.56 MHz, sehr verbreitet, 10 cm) + \item 15693: {\bf V}icinity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (1 m) + \item 18000: Standard zur Auto-Identifikation von Objekten\\ + (Standard umfasst alle global akzeptierten Frequenzen) + \end{itemize} +\end{frame} \section{RFID Technik} @@ -106,40 +946,54 @@ Ersetzen \dq verloren gegangener\dq{} RFID Tags ;) \end{frame} - \subsection{Standards/Protokolle} + \subsection{Standards / Protokolle} + +\section{Sicherheit und Datenschutz} -\section{Sicherheit / Gegenma"snahmen} + \subsection{Sicherheitsaspekte der RFID} - \subsection{Wie sicher ist RFID} +\begin{frame} + \frametitle{Sicherheit} + \framesubtitle{Abh"orgefahr} +\end{frame} \begin{frame} \frametitle{Sicherheit} \framesubtitle{Clonen der RFID} \end{frame} +\begin{frame} + \frametitle{Datenschutz} + \framesubtitle{Verlust der informationellen Selbstbestimmung} +\end{frame} + \begin{frame} \frametitle{Sicherheit} \framesubtitle{Kontrolle durch RFID} \end{frame} - \subsection{Datenschutz} + \subsection{Gegenma"snahmen} \begin{frame} - \frametitle{Datenschutz} - \framesubtitle{Deaktivierung} + \frametitle{Gegenma"snahmen} + \framesubtitle{Energiezufuhr verhindern} + \begin{itemize} + \item Faradayscher K"afig + \item Besch"adigung der Antenne + \end{itemize} \end{frame} \begin{frame} - \frametitle{Datenschutz} - \framesubtitle{Abh"orschutz} + \frametitle{Gegenma"snahmen} + \framesubtitle{Deaktivierung} \end{frame} \begin{frame} - \frametitle{Datenschutz} + \frametitle{Gegenma"snahmen} \framesubtitle{Zerst"orung} \end{frame} -\section{Anwendungen der RFID} +\section{Beispiele f"ur Anwendungen der RFID} \subsection{MRTD - der ePass} @@ -148,7 +1002,7 @@ \framesubtitle{MRTD / ePass} \end{frame} - \subsection{Private Forschungsergebnisse ;)} + \subsection{MensaCard - bargeldlos Kaffee trinken} \begin{frame} \frametitle{Einsatzgebiete} @@ -156,11 +1010,4 @@ in progress \end{frame} -\begin{frame} - \frametitle{Einsatzgebiete} - \framesubtitle{Zutrittskontrolle Physik Nord} - in progress -\end{frame} - - \end{document}