X-Git-Url: https://hackdaworld.org/gitweb/?p=lectures%2Flatex.git;a=blobdiff_plain;f=rfid%2Frfid_talk_g.tex;h=de7ea1da6ff6faf015a42fcbed754a96f1340c90;hp=04ad5e7ed9fd486d360fe09d9d265b1db737a2ae;hb=fa82372764e4b1be5862dbfbc3cd7344f1b151fb;hpb=47324b82172ec14ce20241a389e532dfc70879c9 diff --git a/rfid/rfid_talk_g.tex b/rfid/rfid_talk_g.tex index 04ad5e7..de7ea1d 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} } @@ -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 @@ -88,48 +91,428 @@ \framesubtitle{Speicherkarten / Prozessorkarten} \begin{columns} \column{6cm} - Speicherkarte - synchrone Chipkarte + {\small Speicherkarte - synchrone Chipkarte} \begin{center} \includegraphics[width=6cm]{sc-schem-s.eps} \end{center} \column{6cm} - Prozessorkarte - asynchrone Chipkarte + {\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{Unterscheidung von Chipkarten} - \framesubtitle{kontaktbehaftete / kontaktlose Chipkarten} - \begin{block}{ISO 7816 - kontaktbehaftete Chipkarten} + \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 7816-1: Physikalische Eigenschaften - \item 7816-2: Abmessungen und Lokalisierung der Kontakte - \item 7816-3: Elektrische Eigenschaften und "Ubertragungsprotokolle - \item 7816-4: Definition industrieller Kommandos + \item Gr"osse der Kontakte + \item Kontaktpositionen + \item Kontaktbelegung \end{itemize} \end{block} - \begin{block}{ISO 14443/15693 - kontaktlose Chipkarten (RFID)} +\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 10536: {\bf C}lose coupling {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (1 cm) - \item 14443: {\bf P}roximity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (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) + \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{Kontaktbehaftete Chipkarten} +\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{I/O - Ein/Ausgabeschnittstelle} + \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} + \frametitle{kontaktlose Chipkarten} + \framesubtitle{Die verschiedenen Standards} + \begin{itemize} + \item 10536: {\bf C}lose coupling {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (1 cm) + \item 14443: {\bf P}roximity {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (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} + \begin{frame} \frametitle{Komponenten eines RFID Systems} \end{frame} @@ -192,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} @@ -205,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}