X-Git-Url: https://hackdaworld.org/gitweb/?p=lectures%2Flatex.git;a=blobdiff_plain;f=rfid%2Frfid_talk_g.tex;h=de7ea1da6ff6faf015a42fcbed754a96f1340c90;hp=f28cc58eb690a3908b13a61b39e041a9d56b6790;hb=fa82372764e4b1be5862dbfbc3cd7344f1b151fb;hpb=8f27b7eb5f76a48ce20677ef73833e7fd2566764 diff --git a/rfid/rfid_talk_g.tex b/rfid/rfid_talk_g.tex index f28cc58..de7ea1d 100644 --- a/rfid/rfid_talk_g.tex +++ b/rfid/rfid_talk_g.tex @@ -52,19 +52,22 @@ \subsection{Was sind Smartcards} \begin{frame} - \frametitle{Einf"uhrung: Smartcard} - + \frametitle{Smartcard Einf"uhrung} \begin{block}{Aufbau / Bestandteile} \begin{itemize} \item Plastikkarte mit eingebautem Mikrochip\\ - (Integrated Circuit Card) + - {\bf I}ntegrated {\bf C}ircuit {\bf C}ard - \begin{itemize} - \item Speicher (ROM, EEPROM, RAM) \item Hardwarelogik oder Mikroprozessor + \item Speicher (ROM, EEPROM, RAM) \end{itemize} \item Ein/Ausgabeschnittstelle \end{itemize} \end{block} +\end{frame} + +\begin{frame} + \frametitle{Smartcard Einf"uhrung} \begin{block}{Anwendung} \begin{itemize} \item (automatische) Identifikation @@ -105,28 +108,43 @@ \begin{frame} \frametitle{kontaktbehaftete Chipkarten} \framesubtitle{ISO/IEC 7816 - Standard der kontaktbehafteten Chipkarten} - \begin{enumerate} - \item Physikalische Eigenschaften - \pause - \item Abmessungen und Lokalisierung der Kontakte - \pause - \item Elektrische Eigenschaften und "Ubertragungsprotokolle:\\ - \begin{itemize} - \item elektr. Signalbeschreibung - \item Strom- und Spannungswerte - \item Betriebsablauf der ICCs - \item {\bf A}nswer {\bf T}o {\bf R}equest (ATR) - \end{itemize} - \pause - \item Definition interindustrieller Kommandos:\\ - (Schnittstelle zur Anwendung) - \begin{itemize} - \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{enumerate} + \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 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} + +\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} @@ -139,17 +157,11 @@ \end{center} \column{6cm} \begin{itemize} - \pause \item VCC: Versorgungsspannung - \pause \item RST: Reset - \pause \item CLK: Clock / Taktgeber - \pause \item GND: Ground - \pause \item VPP: Programmierspannung - \pause \item I/O: Input / Output \end{itemize} \end{columns} @@ -173,13 +185,15 @@ \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 Speichers (EEPROM) + 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} - \pause \begin{block}{CLK} \begin{itemize} \item Taktgeber f"ur den Mikrochip - \pause \item 2 Frequenzen: \begin{itemize} \item $f_i$, (initial freq.) w"ahrend Antwort auf Reset @@ -189,6 +203,302 @@ \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}equest + \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$)\\ + $b_0$ LSB, $b_7$ MSB\\ + 'low state' $\equiv$ 1, 'high state' $\equiv 0$ + \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)} + ATR bei asynchroner "Ubertragung: Struktur und Inhalt + \begin{itemize} + \item TS: 'initial character' + \item T0: 'format character' + \item + \end{itemize} +\end{frame} + + \subsection{Kontaktlose Chipkarten / RFID} \begin{frame} @@ -265,8 +575,8 @@ \end{frame} \begin{frame} - \frametitle{Sicherheit} - \framesubtitle{Der gl"aserne Mensch} + \frametitle{Datenschutz} + \framesubtitle{Verlust der informationellen Selbstbestimmung} \end{frame} \begin{frame} @@ -278,12 +588,16 @@ \begin{frame} \frametitle{Gegenma"snahmen} - \framesubtitle{Deaktivierung} + \framesubtitle{Energiezufuhr verhindern} + \begin{itemize} + \item Faradayscher K"afig + \item Besch"adigung der Antenne + \end{itemize} \end{frame} \begin{frame} \frametitle{Gegenma"snahmen} - \framesubtitle{Abh"orschutz} + \framesubtitle{Deaktivierung} \end{frame} \begin{frame}