%\beamerdefaultoverlayspecification{<+->}
-\AtBeginSubsection[]
+\AtBeginSection[]
{
\begin{frame}<beamer>
\frametitle{Agenda}
- \tableofcontents[currentsubsection]
+ \tableofcontents[currentsection]
\end{frame}
}
\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 (ICC)
\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
\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{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{I/O - Ein/Ausgabeschnittstelle}
+ \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{Komponenten eines RFID Systems}
+ \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{Komponenten eines RFID Systems}
- \framesubtitle{}
+ \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}
\begin{frame}
- \frametitle{Standards / Anwendungen}
+ \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}
\end{frame}
\begin{frame}
- \frametitle{Sicherheit}
- \framesubtitle{Der gl"aserne Mensch}
+ \frametitle{Datenschutz}
+ \framesubtitle{Verlust der informationellen Selbstbestimmung}
\end{frame}
\begin{frame}
\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}