X-Git-Url: https://hackdaworld.org/gitweb/?p=lectures%2Flatex.git;a=blobdiff_plain;f=rfid%2Frfid_talk_g.tex;h=1a5ee4d2335f01cff8f6531ba8ee1a37b4d28964;hp=1f6d754b3aaa6e92dd705f533e782cb354ebd59e;hb=5745ca18965d9a85ce68e8d4223f64e380ba527b;hpb=1960232a01eaae001b9b3da1f96d12f3927894c8 diff --git a/rfid/rfid_talk_g.tex b/rfid/rfid_talk_g.tex index 1f6d754..1a5ee4d 100644 --- a/rfid/rfid_talk_g.tex +++ b/rfid/rfid_talk_g.tex @@ -438,7 +438,7 @@ \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 @@ -613,7 +613,7 @@ \item Hersteller der Karte \item verwendeter Chip \item ROM im Chip - \item Herstellungsdatum(?) + \item Hinweise zur Benutzung \end{itemize} \end{block} \begin{block}{'check character' $T_{ck}$} @@ -628,7 +628,22 @@ \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} @@ -636,58 +651,267 @@ \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)} + \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{Betriebsablauf (ISO 7816-3)} - Auswahl des "Ubertragungsprotokolls + \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{Betriebsablauf (ISO 7816-3)} - Protokolltyp $T=0$ - asynchrone halbduplex "Ubertragung + \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)} - \subsection{Kontaktlose Chipkarten / RFID} + +\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{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}