Start Chipkarten Einführung
31 | 07 | 2010
Einführung

Chipkarte / Smartcard

Erst mal ein kleines Schema von einer asynchronen bzw. synchronen Chipkarte!

Asyncrone Chipkarte (Schema)
 
Syncrone Chipkarte (Schema)

Jeder wird schonmal eine Chipkarte in Form von einer Telefonkarte, Krankenversichertenkarte oder Geldkarte in der Hand gehabt haben. So klein wie die Dinger auch sind, so faszinierend und leistungsfähig sind sie auch.

Wo können diese Chipkarten den eingesetzt werden?

  •  Telefonkarten
  • Krankenversichertenkarte
  • Geldkarte (auf Deiner EC-Karte)
  • Gleitzeitkarten (als neue elektronische Form der herkömmlichen Stempeluhren)
  • Signaturkarten (zum Verschlüsseln und Signieren von Daten z. B. im Internet)
  • Zugangskarten (bei Firmen oder einfach als Allroundschlüssel für Haus und Auto)
  • Handys (zum Beispiel bei der D1-Karte)

Was benötigst Du zum Arbeiten mit Chipkarten?

  • Einen Chipkartenleser (Heute schon für unter 50 Euro zu bekommen)
  • Die Treiber für Dein System (normalerweise schon im Kartenleser enthalten)
  • Eine Chipkarte (am Anfang tut es schonmal Deine Geldkarte, Handykarte oder einfach nur die Telefonkarte)
  • Einen PC (irgendwo musst Du das Ding ja anschließen)
  • Und ggf. ein bisschen Software (brauchst Du aber nicht unbedingt)

Die notwendige Hardware und Software bekommt Ihr bei Konrad Elektronik (z. B. in Köln) - oder seht mal auf unserer Kartenleserpage nach!

Gibt es unterschiede in diesen Chipkarten?

Joo! Sogar sehr gravierende. Mir sind im Augenblick folgende Typen von Karten bekannt:

Speicherchipkarten

Enthalten nur elektronischen Speicher (EPROM, EEPROM oder RAM) auf den direkt zugegriffen werden kann. Eine Krankenversichertenkarte ist zum Beispiel so eine einfache Speicherchipkarten. Auf diese Karte können nur eine bestimmte Menge an Daten abgelegt und wieder gelesen werden. Dieser Kartentyp ist in seinem Aufbau recht einfach und auch nicht besonders geschützt.

Intelligente Speicherchipkarten

Bei intelligenten Speicherchipkarten ist der Speicher (EPROM oder EEPROM) nur über eine festverdrahtete Sicherheitslogik zugänglich. Anwendung als Debitkarte (Telefonkarte).

Prozessorchipkarten

(SmartCards) Enthalten kompletten Rechner: Prozessor, ROM (EEPROM, EPROM) und RAM. Neben festverdrahten sind hier auch frei programmierbare Sicherungsfunktionen möglich. Insbesondere können Challenge-Response-Protokolle und Kryptoverfahren auf der Karte implementiert werden. Vielfältige Anwendungen, auch Multifunktionskarten. Bei Deiner Geldkarte oder Handykarte handelt es sich zum Beispiel um eine Prozessorchipkarte. Die Dinger sind schon weitaus komplizierter als die Speicherchipkarten, weil sie im Prinzip alle Komponenten eines Computer besitzen (siehe oben). Diese Karten enthalten meist auch einen Cryptochip, mit dem Du Verschlüsselungen und Authentikationen ausführen kannst. Für diese Operationen muss der geheime Schlüssel die Chipkarte nicht verlassen, was diesen damit sehr sicher macht.

Chipkarten mit Kontakten

Sind Chipkarten, die über vergoldete Kontaktflächen Verbindung zum Chipkartenterminal aufnehmen. Sie gelten als ausreichend zuverlässig.

Kontaktlose Chipkarten

Sind Chipkarten, die über Koppelelemente (kapazitiv bzw. induktiv) Verbindung zur Außenwelt aufnehmen. Diese sind für stark verschmutze Umgebungen gedacht. Größere Entfernungen zwischen Karte und Chipkartenterminal sind auch möglich.

Ist ja alles ganz schön, aber ich will eigentlich nur wissen ob das Ding auch sicher ist?

Wenn es sich um eine einfach Speicherchipkarte handelt, ist es nicht soooo sicher. Dies ist häufig in diesen Fällen aber auch nicht notwendig. Wichtig ist, ob zum Beispiel auf einer Signaturkarte mein geheimer Schlüssel auch gut aufgehoben ist. Die Frage kann ich schonmal mit Ja beantworten. Sicher gibt es Möglichkeiten auch eine Prozessorchipkarte zu knacken, aber dies ist extrem Aufwendig und können sich nur Leute mit viel Geld und einer guten Infrastruktur leisten. I. d. R. ist die Sache aber so aufwendig, dass es mind. 1 paar Tage dauert, bevor ein anderer mit Deiner Karte Missbrauch treiben kann. Bis dahin hast Du die Karte schon längst sperren lassen und sie ist für den Hacker wertlos.

Wie kann ich nun mit den Chipkarten in Kontakt treten?

Falls Du Dir die notwendigen Bestandteile (siehe oben) gekauft hast, hast Du schon die halbe Miete zusammen. Damit stehst Du Kurz vor dem "ersten Kontakt" mit einer neuen Welt!!!

Wenn Du die Treiber und ggf. die Softwarebeilagen installiert hast und eine Chipkarte im Kartenleser ist, kannst Du schonmal einen Reset auf den Kartenleser und die Chipkarte ausführen. Je nach Softwarebeilagen kannst Du sogar direkt Deine Telefonkarte, D1-Karte, Geldkarte oder Krankenversichertenkarte auslesen. Meist ist dann aber schon Ende mit dem Spaß. Falls Du tiefer in die Materie eindringen willst, brauchst Du mehr Know-how und Programmierkenntnisse. Im nächsten Punkt werde ich für Chipkartenfreaks eine Anleitung geben, wie Du auf einzelne Chipkarten zugreifen kannst.

Wie sehen die Plastikflieger den von Innen aus?

Der Speicher

Als Festwertspeicher werden EPROMS und EEPROMS für Programme und Daten verwendet. Diese EEPROM-Zellen können mindestens 10.000 mal umgeladen werden. Die Prozessorchipkarten enthalten daneben noch einige hundert Bytes an RAM.

Der Festwertspeicher ist logisch in mehrere Bereiche aufgeteilt. Neben einem Common Data Field (CDF), das z.B. Name, Geburtsdatum, Kartennummer enthält, gibt es ein oder mehrere Application Data Fields (ADF). Diese enthalten Programme und Daten für jeweils eine Kartenapplikation.

Die physikalische Sicherheit

Die Speicherelemente von Chipkarten sind so realisiert, dass der Speicher nicht mit Elektronenmikroskopen ausgelesen werden kann. Ferner ist es praktisch unmöglich einen in die Plastikkarte eingebetteten Chip herauszulösen, ohne ihn dabei zu zerstören.

Zugriffslogik

Durch eine Zugriffslogik wird der Zugriff auf einzelne Datenbereiche geregelt. So kann für Datenfelder bestimmt werden, welche Applikation (oder welche Stelle) die Daten lesen, ändern oder neuschreiben darf (Speicherschutz). Diese Zugriffslogik kann festverdrahtet oder im Betriebssystem implementiert sein.

Betriebssystem

Prozessorchipkarten enthalten ein elementares Betriebssystem zum Beispiel TCOS 1.2 oder 2.0. Es ist für Teile des Speicherschutzes zuständig und kann Standardfunktionen anbieten. Hauptaufgabe ist die Realisation der Kommunikationsprotokolle sowie die Auswahl und der Zugriff auf die verschiedenen Kartenanwendungen bei Multifunktionskarten.

Standardfunktionen

Ein Satz von Standardfunktionen (v.a.: Kryptoverfahren, Kommunikations- und Authentifizierungsmethoden) soll die Erstellung von Chipkartenapplikationen erleichtern. Ein Problem heutiger Chipkarten ist das Fehlen echter Zufallsgeneratoren, wie sie für Kryptoverfahren benötigt werden.

Wie wird so eine ICC den Hergestellt / Personalisiert?

Der Herstellungs- und Auslieferungsprozess für Chipkarten gliedert sich in folgende Phasen:

  • Herstellen des Halbleiters
  • Einbetten des Halbleiters
  • Bedrucken der Karte
  • Personalisierung der Karte
  • Ausgeben der Karte

Im allgemeinen wird jede Phase von einer auf die jeweilige Arbeit spezialisierten Firma durchgeführt. Beim Herstellen der Halbleiter ist insbesondere bei Karten mit festverdrahteter Sicherheitslogik auf eine gute Betriebsinterne Sicherheit zu achten. Damit ein korrekter Endtest durchgeführt werden kann, muss der komplette Speicher frei zugänglich sein. Erst nach dem Endtest wird der Chip durch einen Transportcode gesichert. Danach ist der Zugriff auf den Kartenspeicher nur für berechtigte Stellen, die den Transportcode kennen, möglich. Ein Diebstahl fabrikneuer Halbleiter bleibt damit ohne Folgen. Berechtigte Stellen können Personalisierer bzw. Kartenausgeber sein. Für das Einbetten und Bedrucken sind keine weiteren Sicherungsfunktionen notwendig. Die betreffenden Firmen brauchen den Transportcode nicht zu kennen.

Im allgemeinen überträgt nicht der Kartenhersteller sondern die ausgebende Stelle (z.B. Bank, Telekom) die personenspezifischen Daten in die Karte. Diesen Vorgang nennt man Personalisierung. Für sie ist die Kenntnis des Transportcodes notwendig.

Das Ausgeben der Karte, also der Transport von der ausgebenden Stelle zum Karteninhaber, stellt ein eigenes Sicherheitsproblem dar. Wirklich sicher ist eigentlich nur die persönliche Ausgabe an den Karteninhaber gegen Unterschrift und Vorlage des Personalausweises. Ein Versand per Post ist zwar oft wirtschaftlicher aber auch ziemlich unsicher. Ein Problem ist auch das Übermitteln der PIN an den Karteninhaber, hier muss die gleiche Sorgfalt wie für die Karte gelten.

Gibt's bei den ICC's irgendwelche Normungen?

Joo! - Hier sind ein paar der wichtigsten Normen:

ISO 7810-7813

Normen für Identifikationskarten (Plastikkarten): Physikalische Eigenschaften, Hochprägung, Magnetstreifen, Aufzeichnungstechnik, Lage der Elemente, Nummernsystematik

ISO 7816-1,2

Physikalische Eigenschaften von Chipkarten, Abmessungen und Lage der Kontakte

ISO 7816-3

Elektrische Eigenschaften der Kontakte, Kommunikationsprotokolle

ISO 7816-4

(vorl.) Kommunikationsinhalte, Datenstruktur der Chipkarte, Sicherheitsarchitektur, Zugriffsmechanismen

ISO 7816-5

(vorl.) Aufbau von Applikationen, Wahl und Ausführung von Applikationen, Registrierung von Applikationen (Nummernsystematik)

ETSI/GSM 11.11

Standard für das digitale Mobilfunknetz GSM (D-Netz)

Damit sind insbesondere alle OSI-Schichten von der Physical-Layer bis zur Application-Layer genormt. Der Normungsvorgang ging weltweit sehr schnell vor sich, dies dokumentiert das große Interesse an Chipkarten. Durch die Normung sind bereits heute zukunftssichere Chipkartenanwendungen möglich. [2] Wichtig ist dies vor allem für die Multifunktionskarten.

Wie sieht es mit den Kryptofähigkeiten der Chipkarte aus?

Es gibt eine enge Verbindung zwischen Chipkarten und den modernen Kryptoverfahren. Auf die verschiedenen Kryptoverfahren bin ich schon Anfangs im Überblick über Hash- und Schlüsselalgorithmen eingegangen. Ohne Chipkarten ist ein sichere Speicherung der geheimen Schlüsseln für die Kryptoverfahren kaum noch denkbar. Moderne Schlüssel werden mit Zufallsgeneratoren erzeugt und sind sehr lang, so dass die traditionelle Methode des "Merkens" von Schlüsseln nicht mehr möglich ist. Die Chipkarte mit ihrem durch physikalische und logische Sicherungsfunktionen geschützten Speicher und ihren handlichen Abmessungen scheint dagegen bestens für diese Aufgabe geeignet zu sein.

Andererseits sind viele Sicherungsfunktionen mit Chipkarten erst durch den Einsatz von Kryptoverfahren möglich geworden. Insbesondere die Challenge-Response-Protokolle verlangen nach sicheren Kryptoverfahren, die auch auf Chipkarten implementiert werden können.

Hier die Typen von Kryptoverfahren

Alle modernen Kryptoverfahren gehen von Kerckhoffs Prinzip aus: Die Sicherheit eines Kryptoverfahrens darf nicht auf seiner Geheimhaltung beruhen. Nur die teilnehmerspezifischen Schlüssel sind geheim. Siehe hierfür auch den Überblick über Hash- und Schlüsselalgorithmen.

Es wird heute zwischen drei Arten von Kryptoverfahren unterschieden:

Symmetrische Kryptoverfahren

Es gibt einen Schlüssel, der sowohl zum Verschlüsseln als auch zum Entschlüsseln dient. Sie sind sehr schnell (einige Megabits pro Sekunde) und relativ leicht zu implementieren. Symmetrische Verfahren haben allerdings einen entscheidenden Nachteil: wer entschlüsseln kann, kann auch verschlüsseln. Die Schlüsselinhaber müssen sich daher einander dahingehend vertrauen, dass keiner den Schlüssel an unberechtigte Dritte weitergibt. Der Schlüsselaustausch ist schwierig, da man dazu einen zweiten, sicheren Übertragungskanal braucht. Beispiele sind DES (Data Encryption Standard) und IPES (Improved Proposed Encryption Standard).

Asymmetrische Kryptoverfahren

Es gibt zwei Schlüssel E und D. E dient zum Verschlüsseln, D zum Entschlüsseln. Aus der Kenntnis des einen Schlüssels lässt sich der andere nicht rekonstruieren. Bei diesen Verfahren brauchen sich die Schlüsselinhaber nicht vertrauen, es muss nur darauf geachtet werden, dass jeder seinen geheimen Schlüssel nicht preisgibt. Der Schlüsselaustausch ist leicht, er kann auch auf einem unsicheren Kanal erfolgen. Tatsächlich können die jeweiligen öffentlichen Schlüssel für jedermann frei zugänglich veröffentlicht werden. Insbesondere eignen sich asymmetrische Verfahren zur Generierung elektronischer Unterschriften. Leider sind die bislang bekannten Verfahren alle recht langsam (wenige Kilobit pro Sekunde) und relativ schwer zu implementieren (Langzahlarithmetik). Bekanntestes Beispiel ist das RSA-Verfahren (nach Rivest, Shamir und Adleman).

Zero-Knowledge Verfahren

Zero-Knowledge-Verfahren eignen sich dazu, einen Kommunikationspartner davon zu überzeugen, dass man ein Geheimnis G kennt, ohne irgend etwas über G mitzuteilen. Dazu bedient man sich zweier Mengen von geheimen und öffentlichen Schlüsseln. Mit einem mehrfach wiederholten Challenge-Response-Protokoll wird schließlich die Authentikation durchgeführt.

 
Schlagzeilen

Nach langen Stillstand geht das LogoSec-Team mit frischem Elan und einer neu gestalteten Homepage an den Start.

Werbung
Conrad Electronic