>> Home >> Fachwissen >> Technologie >> Smartcards >> Architektur
Tutorial
Infrastrukturen
Standards
Kryptologie
Technologie
Smartcards
Sichere
Umgebung
Architektur
Betriebssystem
Dateisystem
Physikalische
Sicherheit
Kommunikation
Standards
Lesegeräte
Java
WAP
Politik und Recht
Links
Literatur
Glossar
Smartcards: Die Architektur

Die physische Struktur
Der Mikrocontroller: Computer im Mikroformat
Security Controller: Mikrocontroller für Sicherheitsanwendungen
Kryptocontroller: Spezialisten für PKI-Anwendungen
Der Mikroprozessor: Die Schaltzentrale
Koprozessoren: Mehr Leistung für Spezialanwendungen
Das I/O-System: Die Schnittstelle zum Lesegerät
Die Kontakte der Smartcard
Die Speicherbausteine


Die physische Struktur

Der Aufbau einer Smartcard wird durch die ISO-Standards 7810, 7816/1 und 7816/2 festgelegt. Der Hauptbestandteil ist nach eine Plastikkarte mit den Dimensionen 85,60 x 53,98 x 0,80 mm. Darin ist eine gedruckte Schaltung integriert, d. h. die Kontakte zwischen den Komponenten werden durch gegenseitige Berührung und nicht durch Kabel hergestellt. Diese Schaltung enthält alle Bestandteile eines vollwertigen Computers. Sie wird als Mikrocontroller (MCU - Micro Controller Unit) bezeichnet.

Abbildung 1: Die Architektur und die Anordnung der Kontakte einer Smartcard nach ISO 7816

Die Kontakte C4 und C8 sind für zukünftige Anwendungen reserviert.


Der Mikrocontroller: Computer im Mikroformat

In der Industrie werden vorwiegend bewährte, zuverlässige und preisgünstige Mikrocontroller wie der Intel 8051 oder der Motorola 6805 eingesetzt. Für diese Controller existieren ausgereifte Programmierwerkzeuge. Aufgrund der hohen Anforderungen an die Rechenleistung von Smartcards, zum Beispiel für kryptografische Funktionen
, werden zunehmend 16- und 32-Bit-Architekturen verwendet. Einfache Verschlüsselungsalgorithmen lassen sich jedoch auch für 8-Bit-Prozessoren implementieren.

Typische Mikrocontroller sind in 0,5- bis 0,7-μm-CMOS-Technologie realisiert, neue Controller mit bis zu 64 KB EEPROM sogar in 0,25- oder 0,22-μm-Technologie. Eine derart hohe Dichte von Bauelementen ist notwendig, da die Größe des Controllers nicht mehr als 25 mm² betragen darf. Der ISO-7816-Standard schreibt eine bestimmte Biegsamkeit der Karte vor, größere Siliziumbausteine würden bei dieser Belastung brechen. Außerdem wird durch eine höhere Dichte der Stromverbrauch gesenkt.


Security Controller: Mikrocontroller für Sicherheitsanwendungen

Ein Mikrocontroller, der speziell für Sicherheitsanwendungen ausgelegt ist, wird als Security Controller bezeichnet.

Für Signaturkarten werden hauptsächlich die 16-Bit-Security-Controller der Serien
SLE 66C und SLE 66CX von Infineon eingesetzt. Das X bedeutet, dass es sich um einen Kryptocontroller handelt. Die darauffolgende Zahl bezeichnet die EEPROM-Größe des Controllers (z. B. SLE 66CX160P: 16 KByte EEPROM). Wenn die Produktbezeichnung auf "P" oder "PU" endet, verfügt der Controller zusätzlich über eine Speicherverwaltung, eine Schutzeinheit und einen DES-Beschleuniger.

Ein weiterer Hersteller von Security Controllern ist Philips Semiconductors. Die 8-Bit-Controller der P8WE50- und P8WE60-Familien verfügen über bis zu 32 KByte EEPROM und einen integrierten DES-Koprozessor. Die Produktlinie P8WE50 ist als Kryptocontroller realisiert. Die 16-Bit-Kryptocontroller der neuen SmartXA-Serie besitzen eine integrierte Hardware-Firewall und können bis zu 16 MByte ausführbaren Code adressieren.

Die Mikrocontroller Infineon SLE C164P, 66CX640P, -320P, -160M und -160S sowie Philips P8WE6017V1I und P8WE5032VOG haben das ITSEC-Zertifikat E4/hoch erhalten. Sie dürfen in Signaturkarten eingesetzt werden, mit denen qualifizierte elektronische Signaturen erzeugt werden.

Die folgende Tabelle zeigt, welche Mikrocontroller für signaturgesetzkonforme
Smartcards verwendet werden:

Signaturkarte Mikrocontroller
TeleSec PKS-Card ,Version 2.0 Infineon SLE 66CX160S
TeleSec PKS-Card, Version 3.0 Infineon SLE 66CX320P
Signtrust SEA-Card, Version 1.0 Infineon SLE 66CX160S
Signtrust SEA-Card, Version 2.0 Infineon SLE 66CX320P
DATEV e:secure-Card, Version 1.0 Infineon SLE 66CX320P
STARCOS SPK 2.3-Signaturkarte Philips P8WE5032V0G
Tabelle: Signaturkarten und verwendete Mikrocontroller


Kryptocontroller: Spezialisten für PKI-Anwendungen

Ein Kryptocontroller ist ein Security Controller mit zusätzlichen Fähigkeiten zur schnellen Ausführung kryptografischer Funktionen. Die Algorithmen werden auf einem zusätzlichen Prozessor, dem Krypto-Koprozessor, ausgeführt.

Die Infineon-Kryptocontroller der SLE 66CX-Serie enthält einen Koprozessor, der als Advanced Crypto Engine bezeichnet wird. Er kann alle heute bekannten Public-Key-Algorithmen
ausführen, darunter RSA-Operationen mit einer Schlüssellänge von bis zu 2048 Bit. Die Erzeugung einer RSA-Signatur mit einem 1024-Bit-Schlüssel dauert laut Herstellerangaben auf einem Infineon SLE 66CX320P bei einer Taktfrequenz von 15 MHz nur ca. 273 ms.

Die Philips-Controller der P8WE50-Serie enthalten einen FameX-Koprozessor mit 32-Bit-Architektur und Direct Memory Access. Er kann unter anderem RSA- und Elliptische-Kurven-Algorithmen mit Schlüssellängen bis 4096 Bit ausführen. Eine 1024-Bit-RSA-Verschlüsselung dauert ca. 160 ms.


Der Mikroprozessor: Die Schaltzentrale

Das Herzstück des Controllers ist der Mikroprozessor, auch als CPU (Central Processing Unit) bezeichnet. Die Mikrocontroller Intel 8051 und der Motorola 6805 enthalten eine 8-Bit-CISC-CPU mit zusätzlichen kartenspezifischen Befehlen. CISC bedeutet Complex Instruction Set Computer. Derartige Prozessoren verfügen über einen komplexen Befehlssatz, allerdings wird in den meisten Fällen nur ein kleiner Anteil dieser Befehle verwendet. Die Ausführung eines Befehls dauert oft mehrere Taktzyklen. Die Befehlssätze der CPUs der Infineon- und Philips-Security-Controller sind kompatibel mit der 8051-Familie. Allerdings unterscheidet sich die innere Architektur vollständig von der eines 8051-Prozessors, so dass die Rechenleistung um ein Vielfaches höher ist.


Koprozessoren: Mehr Leistung für Spezialanwendungen

Um einen Mikrocontroller mit zusätzlichen Fähigkeiten zu erweitern und die CPU zu entlasten, kann er mit Koprozessoren ausgestattet werden. Beispiele dafür sind numerische Koprozessoren (NPU, Numerical Processing Unit oder MAP, Modular Arithmetic Processor) zur Ausführung kryptografischer Funktionen
. Krypto-Koprozessoren, die in Kryptocontrollern eingesetzt werden, sind speziell für Public-Key-Algorithmen ausgelegt. Sie basieren auf einer RISC-Architektur (Reduced Instruction Set Computer). Da ihr Anwendungsbereich auf bestimmte mathematische Berechnungen beschränkt ist, kommen sie mit einem reduzierten Befehlssatz aus. Die Ausführung einzelner Befehle nimmt dafür sehr wenig Zeit in Anspruch. Weitere Beispiele für NPUs sind DES-Beschleuniger und Prozessoren zur Erzeugung von Zufallszahlen. Für kryptografische Algorithmen haben möglichst gute, d. h. möglichst zufällige Zufallszahlen eine große Bedeutung. Die Generatoren auf Smartcards nutzen z. B. das Rauschen einer Diode zur Gewinnung zufälliger Werte.


Das I/O-System: Die Schnittstelle zum Lesegerät

Wenn die CPU dem Lesegerät Informationen übermitteln möchte, werden die entsprechenden Daten an eine bestimmte Speicheradresse geschrieben. Diese Adresse wird jedoch nicht durch ein wirkliches Speichermodul, sondern durch das I/0-System belegt, das mit den Kontakten der Smartcard verbunden ist. Da nur ein I/0-Kontakt vorhanden ist, erfolgt die Datenübertragung seriell im Halbduplex-Betrieb. Das bedeutet, dass nur ein Bit gleichzeitig übertragen wird, und dass Karte und Lesegerät nicht gleichzeitig Daten senden können.


Die Kontakte der Smartcard

Die kleine golde Fläche auf der Oberseite einer Smartcard ist in acht Kontaktfelder unterteilt. Ihre Anordnung ist in Abbildung 1 dargestellt.

I/O - Ein- und Ausgabe
Über diesen Kontakt werden Daten zwischen Smartcard und Lesegerät ausgetauscht.

Vpp - Programmierspannung
Frühere Karten wurden für das Beschreiben des EEPROM-Moduls mit einer Programmierspannung von ca. 20 V versorgt. Heutige Smartcards erzeugen die Programmierspannung über kaskadierende Spannungsverdopplung aus der Vcc-Spannung. Auf diese Weise werden Angriffe verhindert, bei denen der Schreibvorgang durch eine Änderung der Programmierspannung manipuliert wird.

Vcc - Versorgungsspannung
Über diesen Kontakt wird die Smartcard mit der für den Betrieb nötigen Spannung versorgt. Moderne Smartcards arbeiten mit Spannungen von 2,7 bis 5,5 V. Die Stromstärke beträgt maximal 10 mA. Bei 5 V und 10 mA beträgt die Leistungsaufnahme 50 mW.

CLK - Takt
Normalerweise sind Smartcard-Controller auf eine externe Taktquelle angewiesen, da der Quarz aufgrund seiner Größe nicht auf der Karte untergebracht werden kann. Moderne Controller können mit externen Taktfrequenzen von ca. 1 bis 8 MHz betrieben werden. Einige Controller verdoppeln diese Rate und arbeiten mit internen Taktraten von bis zu 15 MHz.

RST - Reset
Das Reset-Signal wird für die Bootsequenz und zum Zurücksetzen der Karte in den Ausgangszustand verwendet. RST ist aktiv, wenn keine Spannung anliegt.


Die Speicherbausteine

ROM (Read Only Memory)
Auf ROM-Bausteine kann nur lesend zugegriffen werden. Das Betriebssystem der Smartcard wird in einem ROM-Modul gespeichert. Alle Karten einer Baureihe besitzen das gleiche Betriebssystem, d. h. der Inhalt der Betriebssystem-Bausteine ist identisch.
Moderne Controller besitzen bis zu 136 KByte ROM. Dieser Speicher kann teilweise für Anwendungsprogramme genutzt werden, die bei der Chipherstellung integriert werden.

RAM (Random Access Memory)
Der Arbeitsspeicher einer Smartcard wird durch RAM-Module realisiert. Der Inhalt dieser Module ist flüchtig, d. h. die Daten gehen nach dem Beenden der Sitzung verloren. Da RAM-Bausteine recht groß sind, besitzen auch moderne Controller nur bis zu 5 KByte RAM. Die Zugriffszeit beträgt ca. 70 ns. Smartcard-Controller verwenden statischen RAM. Diese Bausteine müssen nicht ständig mit einem Takt versorgt werden, das Abschalten des Taktsignals bedeutet keinen Datenverlust.

EEPROM (Electrically Erasable Programmable Read Only Memory)
EEPROM-Bausteine können im Unterschied zu ROM-Bausteinen beschrieben werden. Allerdings ist die Anzahl der Schreibzyklen begrenzt, eine moderne EEPROM-Speicherzelle kann zwischen 100.000- und 500.000-mal beschrieben werden. Die Stabilität der gespeicherten Daten ist zeitlich begrenzt. Die meisten Hersteller garantieren eine Speicherdauer von 10 Jahren.
Aufgrund der relativ hohen Zugriffszeit von ca. 3-5 ms können EEPROM-Module nicht als Arbeitsspeicher genutzt werden. Zur Haltung von Kundendaten wie Signaturschlüssel und Zertifikate sind sie dagegen sehr gut geeignet. Die Funktion eines EEPROM-Bausteins entspricht der einer Festplatte in einem Desktop-Computer. Security Controller besitzen normalerweise einen nur einmal beschreibbaren EEPROM-Bereich ("write once area", "security area"), der zur sicheren Aufbewahrung von Daten, z. B. von Signaturschlüsseln
, genutzt werden kann.

SecCommerce    Hamburg