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)