\documentclass{beamer}

\mode<presentation>
{
%\usetheme{Berkeley}
\usetheme{Warsaw}
%\usetheme{Singapore}
\setbeamercovered{transparent}
}
\usepackage{verbatim}
\usepackage[german]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath}
\usepackage{ae}
\usepackage{aecompl}
\usepackage{colortbl}
\usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
%\usepackage{pstricks}
\usepackage{graphicx}
\graphicspath{{../img}}
\usepackage{hyperref}

\begin{document}

\title{{\bf R}adio {\bf F}requency {\bf Id}entification (RFID)}
\subtitle{Technik, Standards, Anwendungen und Gefahren der kontaktlosen Smartcards}
\author[F. Zirkelbach]{Frank Zirkelbach\\ \texttt{hackbard@hackdaworld.org}}
\date{Sion, Februar 2006}

%\beamerdefaultoverlayspecification{<+->}

\AtBeginSection[]
{
  \begin{frame}<beamer>
    \frametitle{Agenda}
    \tableofcontents[currentsection]
  \end{frame}
}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}
  \frametitle{Agenda}
  \tableofcontents%[pausesections]
\end{frame}

\section{Einf"uhrung in die Technik der Smartcards}

  \subsection{Was sind Smartcards}

\begin{frame}
  \frametitle{Smartcard Einf"uhrung}
  \begin{block}{Aufbau / Bestandteile}
    \begin{itemize}
      \item Plastikkarte mit eingebautem Mikrochip\\
            {\bf I}ntegrated {\bf C}ircuit {\bf C}ard (ICC)
            \begin{itemize}
	      \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
      \item Daten / Informationshalter
      \item Zahlungssystem / Guthabenkarten
      \item Zugangskontrolle / PayTV
    \end{itemize}
  \end{block}
\end{frame}

  \subsection{Arten von Smartcards}

\begin{frame}
  \frametitle{Unterscheidung von Chipkarten}
  \framesubtitle{Familie der Chipkarten}
  \includegraphics[width=10cm]{ccf.eps}
\end{frame}

\begin{frame}
  \frametitle{Unterscheidung von Chipkarten}
  \framesubtitle{Speicherkarten / Prozessorkarten}
  \begin{columns}
    \column{6cm}
    {\small Speicherkarte - synchrone Chipkarte}
    \begin{center}
    \includegraphics[width=6cm]{sc-schem-s.eps}
    \end{center}
    \column{6cm}
    {\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{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 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}
  \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{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{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}

  \subsection{Physik der RFID}

  \subsection{RFID Elektronik}

\begin{frame}
  \frametitle{RFID Elektronik}
  \framesubtitle{RFID Tags/Transponder}
\end{frame}

\begin{frame}
  \frametitle{RFID Elektronik}
  \framesubtitle{RFID Reader}
\end{frame}

\begin{frame}
  \frametitle{RFID Elektronik}
  \framesubtitle{RFID Detektoren}
\end{frame}

\begin{frame}
  \frametitle{RFID Elektronik}
  \framesubtitle{(Passive) RFID Sniffer}
\end{frame}

\begin{frame}
  \frametitle{RFID Elektronik}
  \framesubtitle{RFID Tag Emulator}
  Ersetzen \dq verloren gegangener\dq{} RFID Tags ;)
\end{frame}

  \subsection{Standards / Protokolle}

\section{Sicherheit und Datenschutz}

  \subsection{Sicherheitsaspekte der RFID}

\begin{frame}
  \frametitle{Sicherheit}
  \framesubtitle{Abh"orgefahr}
\end{frame}

\begin{frame}
  \frametitle{Sicherheit}
  \framesubtitle{Clonen der RFID}
\end{frame}

\begin{frame}
  \frametitle{Datenschutz}
  \framesubtitle{Verlust der informationellen Selbstbestimmung}
\end{frame}

\begin{frame}
  \frametitle{Sicherheit}
  \framesubtitle{Kontrolle durch RFID}
\end{frame}

  \subsection{Gegenma"snahmen}

\begin{frame}
  \frametitle{Gegenma"snahmen}
  \framesubtitle{Energiezufuhr verhindern}
  \begin{itemize}
    \item Faradayscher K"afig
    \item Besch"adigung der Antenne
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Gegenma"snahmen}
  \framesubtitle{Deaktivierung}
\end{frame}

\begin{frame}
  \frametitle{Gegenma"snahmen}
  \framesubtitle{Zerst"orung}
\end{frame}

\section{Beispiele f"ur Anwendungen der RFID}

  \subsection{MRTD - der ePass}

\begin{frame}
  \frametitle{Einsatzgebiete}
  \framesubtitle{MRTD / ePass}
\end{frame}

  \subsection{MensaCard - bargeldlos Kaffee trinken}

\begin{frame}
  \frametitle{Einsatzgebiete}
  \framesubtitle{Bargeldloses Zahlen mit der MensaCard}
  in progress
\end{frame}

\end{document}
