\begin{block}{Aufbau / Bestandteile}
\begin{itemize}
\item Plastikkarte mit eingebautem Mikrochip\\
- - {\bf I}ntegrated {\bf C}ircuit {\bf C}ard -
+ {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (ICC)
\begin{itemize}
\item Hardwarelogik oder Mikroprozessor
\item Speicher (ROM, EEPROM, RAM)
\begin{frame}
\frametitle{kontaktbehaftete Chipkarten}
\framesubtitle{Betriebsablauf (ISO 7816-3)}
- {\bf A}answer {\bf T}o {\bf R}equest
+ {\bf A}nswer {\bf T}o {\bf R}eset
\begin{block}{Asynchrone "Ubertragung}
\begin{itemize}
\item Zeichen"ubertragung "uber den I/O-Kontakt
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}
- \subsection{Kontaktlose Chipkarten / RFID}
+\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{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}
+ \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{Komponenten eines RFID Systems}
+ \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{Komponenten eines RFID Systems}
- \framesubtitle{}
+ \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{Standards / Anwendungen}
+ \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}
+
+\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}