Kapitel 2: Chipkarten - Institut für Informatik
Transcription
Kapitel 2: Chipkarten - Institut für Informatik
Kapitel 2: Chipkarten Chip card technologies hold great promise as the replacement for ” magnetic stripe card technology. However, the adoption of chip cards on a mass scale has been slow to develop. One significant reason for this slow adoption is the lack of standards among many different vendor implementations of chip cards. The world’s leading financial institutions that make up the membership of the Visa International Service Association have identified multiapplication chip cards as the strategic technology for future banking cards.“ Java SmartCards, Kap. 2 (1/18) Plastikkarten 1. Diners Club Kreditkarte (50er Jahre) mit Aufdruck des Karteninhabers 2. Prägedruck 3. Magnetstreifen 4. Identification Card with Integrated Circuit (Patent 1968) 5. Speicherkarte (Memory Card) 6. SmartCard (Integrated Circuit Card, ICC) Java SmartCards, Kap. 2 (2/18) SmartCards 8/16 Bit CPU • 32K ROM • 16 – 64K EEPROM • 0,5 – 4K RAM • 5 Mhz clock • 1024 Bit RSA/3-DES • 9600 – 55800 Bit/sec C1 C2 C3 C5 C6 C7 ⊢ 1, 1 ⊣ • ⊢ 1, 25 ⊣ C1 C2 C3 C5 C6 C7 : : : : : : Vcc = 5V Reset Clock Ground Vpp I/O Java SmartCards, Kap. 2 (3/18) SmartCards 32 Bit CPU • 240 K ROM • 400 K EEPROM • 16 K RAM • 66 Mhz clock • 2048 Bit RSA/EC C1 C2 C3 C5 C6 C7 ⊢ 1, 1 ⊣ • ⊢ 1, 25 ⊣ C1 C2 C3 C5 C6 C7 : : : : : : Vcc = 5V Reset Clock Ground Vpp I/O Java SmartCards, Kap. 2 (4/18) Normierung: ISO7816 1–6 ISO7816-1 Physical characteristics ISO7816-2 Dimensions and location of the contacts ISO7816-3 Electronic signals and transmission protocols ISO7816-4 Inter-industry commands for interchange ISO7816-5 Numbering system and registration procedure for application identifiers ISO7816-6 Inter-industry data elements ⇒ Normierung essentiell für globalen Masseneinsatz Java SmartCards, Kap. 2 (5/18) ISO7816 1: Physical characteristics • Schutz gegen UV Licht/Röntgenstrahlen • Schutz vor (statischer) Elektrizität/Magnetfeld • Breite 85.47mm - 85.72mm, Höhe 53.92mm - 54.03mm, Dicke 0.76mm + 0.08mm • Höhe der Kontakte: < 0.1 mm Differenz zur Karte • Schutz gegen Druck auf die Oberfläche • Verbiegen: 2cm längs, 1cm quer (30× pro sec., 1000 Mal) • Verdrehen: 15 Grad (30× pro sec., 1000 Mal) Java SmartCards, Kap. 2 (6/18) Spezifikation der Kontakte Java SmartCards, Kap. 2 (7/18) ISO7816-3: Signale I/O : (C 7) serielle Datenübertragung VPP : (C 6) Programmierspannung (für EEPROM) GND : (C 5) Erdung CLK : (C 3) Takt (5 Mhz) – wird ausgehandelt RST : (C 2) Reset VCC : (C 1) Stromversorgung: 4,75 ≤ V ≤ 5,25, ≤ 200 mA (C 4, C 8) unbenutzt Java SmartCards, Kap. 2 (8/18) Weitere Spezifikationen • EMV 4.1: Integrated Circuit Card Specification for Payment Systems Erweiterungen für Kreditkarten (PINs, authenticate) Europay, MasterCard, Visa • Open Platform – Card Specification Version 2.0.1′ : life cycle, Card manager, security domains Global Platform, Visa • PC/SC: Interoperability Specification for ICCs and Personal Computer Systems Kommunikation mit Kartenleser Bull, Gemplus, HP, IBM, Microsoft, Schlumberger, Siemens, Sun, Toshiba, VeriFone Java SmartCards, Kap. 2 (9/18) • ETSI (European Telecommunications Standards Institute): GSM, UMTS • EN 726 (Europäische Norm): Anforderungen an Chipkarten und Endgeräte für Telekommunikationszwecke • ISO 10202: Bankkarten • ISO 14443: Identification cards – Contactless integrated circuit(s) cards – Proximity cards • ... Java SmartCards, Kap. 2 (10/18) Andere Erscheinungsformen • Chip ohne Karte (im Handy als SIM, D-Box) • Authentifikatoren (z. B. Schlüsselanhänger) • Kontaktlose Kommunikation (Elektromagnetische Induktion – wenige Zentimeter Reichweite) • Schaltkreise für elektromagnetische Induktion (RFIDs – radio frequency identification) • Plastik-Chips“ (Wearable Computing) ” Java SmartCards, Kap. 2 (11/18) Mitspieler Chiphersteller: Philips, Infineon, Hitachi, Siemens, Toshiba, . . . Betriebssysteme: JavaCard (SUN), MULTOS (Mondex), viele proprietäre JavaCard Kartenherausgeber: Gemplus, Schlumberger, Gieseke & Devriant, IBM Anwendungsspezifikationen: Visa, MasterCard Java SmartCards, Kap. 2 (12/18) Anwendungen • Authentifizierung • Speicher für PINs und geheime Schlüssel • Reisepass, Studentenausweis, Führerschein, . . . • SIM • Elektronische Geldbörse • Elektronische Fahrkarten Sicherheit Kein Speicher-Auslesen (tamper-proof, physikalisch) + starke Kryptographie (digitale Signaturen) + kryptographische Protokolle (anwendungsspezifisch) ⇒ Kein unauthorisierter Zugriff (kein Lesen, kein Schreiben) Java SmartCards, Kap. 2 (13/18) Lebenszyklus einer SmartCard (EN 726) 1. Herstellung IC und Karte (Hersteller) Chip- und Modulherstellung, Einsetzen in Karte 2. Initialisierung der Karte (Kartenherausgeber, card issuer ) Laden von Betriebssystem, geheimen Schlüsseln 3. Personalisierung der Karte (Anwendungsanbieter, application provider ) Laden der Anwendung, geheimer Schlüssel, PINs etc. 4. Benutzung der Karte (Inhaber, card holder ) 5. Beendigung der Benutzung Löschen der Anwendung, Sperren der Karte Java SmartCards, Kap. 2 (14/18) Multiapplikative Karten/Openplatform Cardmanager • gehört Card Issuer • verwaltet Schlüssel • lädt/löscht Anwendungen während der Benutzungsphase • ist selbst Applikation mit Registry Security Domain • gehört Application Provider • verwaltet Schlüssel • Delegated Management Privilege: Laden von Anwendungen Unspezifiziert: Installieren von Security Domains Java SmartCards, Kap. 2 (15/18) Application Life Cycle Multiapplikative Karten: Mehrere Anwendungen dynamisch (in der Benutzungsphase) ladbar 1. Laden des (digital signierten) Anwendungscodes (Executable Load File) ⇒ AID (application identifier) in registry 2. Installieren der Anwendung: installed ⇒ Ressourcenallokation, Linking, AID, Initialisierung 3. Personalisieren der Anwendung: selectable/personalized 4. Beenden der Anwendung: blocked, locked, gelöscht Java SmartCards, Kap. 2 (16/18) Eine Card Session • Power – Karte in Kartenleser • Reset – ATR, Answer to Reset • Aushandeln Protokoll, Takt • Cardmanager empfängt Kommandos • Abfrage Applikationen (optional) • select AID – Auswahl Applikation Cardmanager schickt select + alle weiteren Kommandos (außer neuem select) an Applikation • deselect (nicht garantiert!) Bei power off/reset kein deselect ⇒ Rücksetzen von Authorisierungen bei select Java SmartCards, Kap. 2 (17/18) Die GemXpresso Smartcard Applet 1 Applet 1 Applet 1 Card Manager JavaCard API JCRE Java Card VM GemXpresso Operating System Java SmartCards, Kap. 2 (18/18)