removed openstack, i didn't do much!
[lectures/latex.git] / rfid / rfid_talk_g.tex
index de7ea1d..1a5ee4d 100644 (file)
@@ -56,7 +56,7 @@
   \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}nswer {\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
   \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$
+          \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{frame}
   \frametitle{kontaktbehaftete Chipkarten}
   \framesubtitle{Betriebsablauf (ISO 7816-3)}
-  ATR bei asynchroner "Ubertragung: Struktur und Inhalt
+  \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 TS: 'initial character'
-    \item T0: 'format character'
-    \item 
+  \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}
 
-  \subsection{Kontaktlose Chipkarten / RFID}
+\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{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 {\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{Komponenten eines RFID Systems}
+  \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{Komponenten eines RFID Systems}
-  \framesubtitle{}
+  \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{Standards / Anwendungen}
+  \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}