Smart- und Java Card. Einsatzmöglichkeiten und Benutzerakzeptanz


Studienarbeit, 2002
108 Seiten, Note: sehr gut

Leseprobe

Inhaltsverzeichnis:

1 Einleitung
1.1 Aufgabenstellung und Ziel der Arbeit
1.2 Begriffe und Definitionen
1.2.1 Smart Card
1.2.2 Java Card
1.2.3 Java Card Applet
1.3 Historische Entwicklung
1.3.1 Smart Card
1.3.2 Herausforderungen in der Entwicklung von Smart Card - Applikationen
1.3.3 Java Card
1.4 Zusammenfassung

2 Technologie
2.1 Smart Card Übersicht
2.2 Kartentypen
2.2.1 Memory Cards versus Microprocessor Cards
2.2.2 Contact Cards versus Contactless Cards
2.3 Smart Card Hardware
2.3.1 Kontaktstellen
2.3.2 Central Processing Unit (CPU)
2.3.3 Koprozessoren
2.3.4 Speichersystem
2.4 Java Card - Architektur
2.4.1 Hardware - Architektur
2.4.2 Java Card - Ablaufumgebung
2.4.3 Java Card Virtuelle Maschine
2.4.4 Java Card - Framework
2.4.5 Java Card API
2.5 Zusammenfassung

3 Einsatzmöglichkeiten
3.1 Telefonie- und Telekommunikations - Anwendungen
3.1.1 Prepaid Telefonkarten
3.1.2 Wiederaufladbare Karten
3.1.3 GSM Telefone
3.1.4 Television Decryption
3.1.5 Computer
3.1.6 Internet
3.2 Finanzanwendungen
3.2.1 Elektronisches Geld
3.2.2 Kartengestützte Zahlungssysteme
3.2.3 Das Wertkartensystem CASH
3.3 Anwendungen im Gesundheitsbereich
3.3.1 Krankenversicherung
3.3.2 Medizinische Aufzeichnungen
3.3.3 Die MEDINFO Card
3.4 Transportanwendungen
3.4.1 Öffentlicher Verkehr
3.4.2 Taxis
3.4.3 Luftverkehr
3.4.4 Straßensteuern
3.4.5 Parken
3.5 Benutzeridentifikation
3.5.1 Zutrittskontrolle
3.5.2 Anwendung auf dem Campus
3.6 Multi-Applikationen
3.7 Zusammenfassung

4 Sicherheitsaspekte
4.1 Potentielle Angreifer und deren Möglichkeiten
4.2 Verschlüsselung („Encryption“)
4.2.1 Kryptographische Systeme
4.2.2 Zukunft der verschiedenen Kryptographie-Systeme
4.3 Digitale Signatur
4.4 Passwörter und Biometrik
4.4.1 Passwörter und PINs
4.4.2 Identifikation durch Biometrik
4.5 Applet - Sicherheit
4.6 Zusammenfassung

5 Benutzerakzeptanz
5.1 Umfrage
5.2 Auswertung
5.2.1 Allgemeine Angaben
5.2.2 Reaktion auf fiktive Situationen
5.2.3 Persönliche Meinungen der befragten Personen
5.3 Zusammenfassung

6 Schlussbetrachtung
6.1 Zusammenfassung
6.2 Trends und zukünftige Prognosen
6.3 Fazit

7 Literaturverzeichnis
7.1 Bücher und Fachartikel
7.2 Links

8 Appendix
8.1 Abbildungsverzeichnis
8.2 Tabellenverzeichnis

9 Anhang: Die Umfrage
9.1 E-Mail Inhalt
9.2 Fragebogen
9.3 Informationen über die befragten Personen

1 Einleitung

In den vergangenen 45 Jahren verbreiteten sich Plastikkarten ausgesprochen rasant. Die Iden- tifikation einer Person ist seit jeher die primäre Aufgabe der Karte. Da deren Verwendung verschiedene Vorteile (u.U. auch Nachteile?) erbringt und man sich an das Format gewöhnt hat, ist die Akzeptanz sehr hoch. Vielfach besitzt jede Institution eigene solche Ausweise; so ist es keine Seltenheit, dass man täglich fünf und mehr verschiedene Karten gebrauchen muss.

Durch deren Ausweisfunktion stellt eine solche Karte im allgemeinen einen besonderen Wert dar. Diese Tatsache und die zunehmende Verbreitung führen auch ständig zu einem Anstieg des Missbrauchs. Besonders gefährdet sind Bankkarten und Kreditkarten, also bargeldlose Zahlungsmittel. Um die missbräuchliche Verwendung einzuschränken, besitzen die Plastik- karten besondere Sicherheitsvorkehrungen. Diese Massnahmen beschränken aber die Ano- nymität im Zahlungsverkehr, was im Rahmen des Persönlichkeitsschutzes durchaus zu Dis- kussionen Anlass gibt.

Die Sicherheit steht aber mehr denn je im Vordergrund und führt zu einer rasanten Entwicklung verschiedener elektronischen Identifikationsmethoden. Diese bestehen auf mehreren Ebenen: Etwas haben (Karte), etwas wissen (Geheimcode) und biometrische Eigenschaften (Fingerabdruck, Retina-Erkennung).

Der Sicherheitsaspekt prägt auch stark die Entwicklung des Internets, das heutzutage von über 50% der Schweizerischen Bevölkerung verwendet wird1. Dabei spielt die Programmiersprache Java eine wichtige Rolle bei der Verwendung von „trusted applications“. Durch die Plattformunabhängigkeit von Java entstand die Möglichkeit der Verwendung von generischen Applikationen, die nicht mehr direkt an die Hardware gebunden sind. Diesen Vorteil wissen heute viele Hersteller im Smart Card-Bereich zu nutzen. Dies einige Motivationen zum Thema Karten, Java und elektronische Identifikation.

1.1 Aufgabenstellung und Ziel der Arbeit

Durch die Cash-Karte vor allem in der Schweiz bekannt gewordenen Smart Card- und durch das Projekt FASME international viel verwendeten Begriff der Java Card-Technologie tauchten diese Ausdrücke vermehrt in Fachzeitschriften und im Internet auf. Grund genug diese zwei Begriffe etwas genauer unter die Lupe zu nehmen und die meist noch relativ unbekannten Hintergründe ans Licht zu bringen.

So bietet diese Arbeit einige Einblicke über die Smart- und Java Card-Technologie und zeigt die Möglichkeiten auf, welche durch den Einsatz von diesen Karten entstehen. Dem Leser soll das mögliche Potential solcher Produkte bewusst und ihm die Bedeutung dieser Schlagworte näher gebracht werden.

Neben den Chancen bestehen auch Gefahren und mögliche Risiken bei der Verwendung dieser Technologie. Diese werden genauer aufgezeigt und analysiert, wobei man sich natürlich auch seine eigene Meinung bilden sollte.

Die ganze Arbeit kann eher aus einer wirtschaftlichen Sicht betrachtet werden, d.h., dass weniger auf die technischen Details eingegangen und diese nur kurz beschrieben werden, sondern dass mehr das ganzheitliche Bild von Smart- bzw. Java Cards, wie es sich in der Gesellschaft manifestiert hat oder wird, dem Leser näher gebracht wird.

Das Thema wird derart vertieft behandelt, dass sich der Betrachter eine eigene Meinung darüber bilden kann und auch soll. Subjektive Eindrücke unter Befragten über Verwendung und Akzeptanz solcher Karten in der Gesellschaft soll der Leser nachvollziehen und erkennen können, wie sehr sich diese Technologie(n) in Zukunft noch durchsetzen könnten.

Selbstverständlich ist diese Arbeit nicht abschliessend. Sie kann in diesem Umfang nur einen Ausschnitt der erwähnten Themen darstellen und den Leser etwas mehr sensibilisieren, ihm klar machen, welche Chancen und Gefahren sich hinter diesen Technologien verbergen und seine Kenntnisse darüber erweitern.

1.2 Begriffe und Definitionen

1.2.1 Smart Card

Der Begriff „Smart Card“ wurde lange Zeit als Bezeichnung für Plastikteile aller Art mit integrierten Mechanismen zum Speichern und/oder Verarbeiten von Daten missbraucht. Somit wurden auch Magnetstreifenkarten als Smart Cards bezeichnet, da sie Datenspeicherungsfähigkeit besitzen.2 Es existieren lange Debatten über die Mindestanforderungen an eine Smart Card. Zwei Definitionen seien stellvertretend aufgeführt:

„A Smart Card is implemented in a piece of plastic the size of a credit card. Each smart card contains its own CPU which is essentially a small computer”3.

“A Smart Card consists of an integrated circuit chip or chips packaged in a convenient form to be carried on one’s person”4.

Bei raschem Fortschreiten der Technik in neue Gebiete herrscht oft große Terminologiever- wirrung. In Anlehnung an obenstehende Definitionen seien folgende zwei Begriffe definiert:

- Chip Card
- Smart Card

In den nachfolgenden Ausführungen werden diese Definitionsvorschläge verwendet:

„Eine Chip Card ist ein Device von der Größe einer Kreditkarte. Sie beinhaltet mindestens einen integrierten Schaltkreis (Chip) und eine entsprechende I/O-Schnittstelle.“

„Eine Smart Card ist eine Chip Card. Die integrierten Komponenten sind dabei mindestens ein Mikroprozessor, Memory und I/O-Interface.“

1.2.2 Java Card

Eine Java Card ist rein äusserlich nichts anderes als eine Smart Card. Der einzige, aber wesentliche Unterschied besteht darin, dass die Java Card-Technologie die Ausführung von Programmen - in der Java Programmiersprache geschrieben - auf Smart Cards und anderen Geräten ermöglicht. Das bedeutendste „Feature“ einer Java Card-Laufzeitumgebung ist die klare Trennung zwischen dem Smart Card-System und den Applikationen. Diese erhalten durch eine fix definierte „high-level“ Programmierschnittstelle Zugriff auf die System-Dienste und deren Ressourcen. Der objekt-orientierte Ansatz von Java ermöglicht Modularität, Einkapselung und „Information hiding“ in Kartenapplikationen.5

1.2.3 Java Card Applet

Java Card Applets dürfen nicht mit den herkömmlichen, vom Internet her bekannten, Java Applets verwechselt werden. Ein Java Card Applet wird also nicht in einer Browser-Umge- bung verwendet. Folgende Definition für ein Java Card Applet findet man bei Chen:

„ A Java Card applet is a Java program that adheres to a set of conventions that allow it to run within the Java Card runtime environment.“6

Der Grund warum der Name “Applet” für Java Card Applikationen gewählt wurde ist, weil Java Card Applets nach der Herstellung der (Smart-)Karte in die Java Card-Laufzeitumge- bung geladen werden können. Somit müssen diese Applets bei der Herstellung nicht wie bei anderen Systemen in das ROM7 gebrannt werden.

1.3 Historische Entwicklung

1.3.1 Smart Card

Vor über vierzig Jahren hat man die Wichtigkeit erkannt, Ausweise modern zu gestalten, weltweit zu standardisieren und zunehmend maschinell lesbar zu machen. Nachdem am An- fang vor allem Form, Grösse und Kosten im Vordergrund standen, wurde der Sicherheitsas- pekt immer wichtiger. Bald wurden die bedruckten Plastikkarten geprägt, womit sehr einfach ein Abdruck von Name und Kundennummer des Karteninhabers gemacht werden konnte. Als Beweismittel für die rechtmässige Benutzung wurde ein Feld für die Unterschrift angebracht. Die Kombination von Karte und Unterschrift dient heute noch häufig zur Abwicklung von Kreditgeschäften. Um die Informationen auf der Karte für Mensch und Maschine lesbar zu machen, wurden verschiedene Versuche mit OCR8 und Barcode gemacht. Durchgesetzt hat sich jedoch weltweit der Magnetstreifen als eine dynamische, aber nur maschinell lesbare Speicherart.

Die Anforderungen an Identifikation des Inhabers und maschinelle Lesbarkeit der Karte wa- ren also erfüllt. In dieser Art hat sich die Karte auch am stärksten verbreitet. In den Achtziger Jahren nahm der Missbrauch aber stark zu und wurde untragbar. So reicht zum Beispiel bei der VISA-Karte die Kenntnis der Nummer und des Ablaufdatums aus, um grösseren Schaden anrichten zu können.

Einige Herausgeber von Karten behalfen sich mit speziellen Druckverfahren zur einfachen Erkennung von „Kartenblüten“. Man sah jedoch bald ein, dass die Sicherheit sowohl der Karte und des Magnetstreifens wie auch die Identifikationsmethode nicht ausreicht, um den Kartenmissbrauch langfristig in den Griff zu bekommen.

Bereits vor achtundzwanzig Jahren (1974) meldete ein damals 29-jähriger Franzose namens Moreno ein Patent für den „Einbau von Sicherheitsvorkehrungen in tragbare Informationsträ- ger“ an. Auf der Suche nach Industriellen, die sich für die Entwicklung seiner Erfindung inte- ressierten, begegnete R. Moreno einem Ingenieur von Bull. Durch diesen Kontakt hat die For- schung bei Bull 1977 auf breiter Basis begonnen. Es wurde eine neue Richtung eingeschla- gen. Nicht nur ein einfacher Speicher - wie bisher - soll geschützt werden, sondern ein sin- gle-chip Mikroprozessor soll verwendet werden, um die Daten zu verarbeiten und zu speichern. So entstand das Konzept der CP8-Karte von Bull. Dies ist die Geburtsstunde der Mikroprozessorkarte (Smart Card) vor etwa zwanzig Jahren in Frankreich.

In Anlehnung an McCrindle zeigt Abbildung 2 eine Kurzzusammenfassung der Smart Card- Entwicklung9. Grosse Verbreitung fand die Smart Card ab Anfang der 1990er Jahre im Mo- bilfunkbereich. Hier ermöglicht sie neben der Identifizierung auch das Abspeichern von Tele- fonnummern auf dem Chip. Vorteil hiervon ist unter anderem, dass man bei einem Telefon- wechsel seine ursprüngliche Telefonnummer behält und mit der Smart Card alle gespeicherten Informationen auf ein anderes Telefon über-

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 : Schema einer Smart Card trägt10.

Quelle: McCrindle, 1990, Seite 86

1.3.2 Herausforderungen in der Entwicklung von Smart Card - Applikationen

Die Entwicklung von Smart Card-Applikationen war ein langer und schwieriger Prozess. Obwohl die Karten in verschiedenster Weise standardisiert sind, unterscheiden sich die de- taillierten Abläufe innerhalb der Karte von Hersteller zu Hersteller. Es war für Dritthersteller fast unmöglich unabhängige Applikationen zu entwickeln und diese dann den verschiedenen Anbietern als Standardprodukt zu verkaufen. So war die Applikationsentwicklung bei Smart Cards bis zu diesem Zeitpunkt nur wenigen, gut ausgebildeten Programmierern vorbehalten, die ein detailliertes Wissen über die Smart Card-Hardware und -Software verfügten.

Weiter, weil sie für proprietäre Plattformen entwickelt wurden, können Applikationen von verschiedenen Herstellern nicht koexistieren und auf einer einzigen Karte funktionieren. Mangels Interoperabilität und limitierten Karten-Funktionen fand die weit verbreitete Verwendung von verschiedensten Smart Card-Applikationen bisher noch nicht statt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 : Historische Entwicklung der Smart Card

Quelle: in Anlehnung an McCrindle, 1990, Seite 19

1.3.3 Java Card

In der Java Card-Technologie fand man dann die Möglichkeit, die herkömmlichen Hinder- nisse der Programmentwicklung zu überwinden. Sie erlaubt den Smart Cards die Verwendung von Applikationen, welche in der Java-Programmiersprache geschrieben sind. Die Java Card APIs wurden erstmals im November 1996 von einer Entwicklergruppe in „Schlumbergers product centre“ in Austin, Texas eingeführt. Schon einige Monate später gründeten die Firmen Schlumberger, Bull und Gemplus das Java Card Forum. Es entstand Java Card 1.0, welches nur aus Spezifikationen für die APIs bestand.

Ein Jahr später, im November 1997, kündigte Sun Mic- rosystems die Java Card 2.0 Spezifikation an. Dies kam nur dank der Unterstützung durch die ganze Smart Card-Industrie zustande. Die 2.0 Version unterschied sich signifikant von der Einstiegsversion 1.0, da sie nun

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3 : Java Card von Sun unter anderem einen objekt-orientierten Weg zur

Quelle: Applet-Entwicklung ermöglichte. http://java.sun.com/products/javacard/

Die Java Card Version 2.1 wurde im März 1999 enthüllt. Sie bestand aus drei Spezifikatio- nen: der Java Card 2.1 API Spezifikation, der Java Card 2.1 Runtime Environment Spezifikation und der Java Card 2.1 Virtual Machine Spezifikation. In dieser Version wurden die APIs erneuert, basierten aber weitgehend auf der vorherigen 2.0 Version. Weiter wurde die Applet Runtime Environment weiter standardisiert. Der bedeutendste Unterschied zur Vorgängerversion bestand in der explizit definierten Java Card Virtual Machine Architektur und dem „applet-loading“-Format, welches eine wirkliche Applet-Interoperabilität ermög- lichte.

Seit ihrer Erfindung wurde die Java Card-Technologie von der Smart Card-Industrie weitgehend anerkannt und ist somit von den meisten Herstellern11 lizenziert12.

1.4 Zusammenfassung

Neben einigen grundlegenden Informationen über Smart- und Java Cards will diese Arbeit vor allem die verschiedenen Einsatzmöglichkeiten und einige wichtige Aspekte der Benutzer- akzeptanz aufzeigen. Die Benutzerakzeptanz ist einer der kritischsten Erfolgsfaktoren für die weite Verbreitung der Smart Card-Technologie und wird deshalb etwas detaillierter anhand einer empirischen Untersuchung analysiert.

Eine Smart Card ist eine Chipkarte von der Größe einer Kreditkarte. Die integrierten Komponenten sind dabei mindestens ein Mikroprozessor, Speicher und eine I/O-Schnittstelle. Dieser Definition liegen alle folgenden Ausführungen zugrunde, wenn von Smart Cards die Rede ist. Auch Java Cards sind Smart Cards, sie ermöglichen jedoch die Ausführung von Java-Pro- grammen und sind dadurch plattformunabhängig. Die Applikationen, die auf Java Cards gespeichert sind, werden Java Card Applets genannt und können nach der Herstellung der Karte noch auf die Java Card geladen werden.

Bereits seit über vierzig Jahren existieren Plastikkarten, die nach stetiger Weiterentwicklung seit etwa 1977 auch Smart Cards, also Karten mit integriertem Mikroprozessor, genannt werden können. Hauptverantwortlicher für die erste Smart Card, die CP8-Karte, war R. Moreno in Zusammenarbeit mit der Firma Bull aus Frankreich. Ab Anfang der 1990er Jahre fand die Smart Card im Mobilfunkbereich große Verbreitung. Das Verlangen nach mehreren verschiedenen Anwendungen auf einer Karte führte zur Entwicklung der Java Card-Technologie, welche 1996 von einer Gruppe Schlumbergers hervorgebracht wurde. Heute liegt die Java Card in der Version 2.1 vor und ist weitgehend anerkannt.

Der Fortschritt in der Chipkartentechnologie hat in letzter Zeit stark zugenommen. Der Trend geht eindeutig in Richtung Multiapplikationsfähigkeit - also zu „eine Karte für alles“. Die so- ziale Integration in der Gesellschaft lässt jedoch sehr zu wünschen übrig. Man kennt sie zwar, die Karten mit dem „goldenen“ Chip, verwendet werden sie aber in diesem Sinne selten. Nur zur Bezahlung von Konsumgütern und zum Bargeldbezug an den Automaten werden sie am häufigsten gebraucht, wobei der Magnetstreifen nach wie vor die Hauptrolle bei solchen Transaktionen spielt und nicht der Chip. Folgende Kapitel stellen die Hintergründe der Chip- karten genauer dar und wollen damit den Schleier der Unwissenheit etwas auflösen.

2 Technologie

In diesem Kapitel werden der Aufbau und die verschiedenen Arten von Smart- und Java Cards genauer betrachtet. Dem Leser wird ein gewisser Einblick in den Aufbau einer solchen Karte geboten, ohne dass allzu vertiefte elektrotechnische Aspekte vermittelt werden.

2.1 Smart Card Übersicht

Smart Cards werden oft auch Chip Cards oder IC (integrated circuit) Cards genannt. Die in- tegrierten Schaltkreise (IC) sind in einer kreditkartengroßen Plastik-Form eingepackt und ent- halten Bestandteile zur Datenübertragung, -speicherung und -verarbeitung. Die Smart Card kann auf der einen Seite eine gestanzte Oberfläche mit Chip besitzen und auf der anderen ei- nen Magnetstreifen. Das physische Aussehen und die Eigenschaften einer Smart Card sind in ISO 7816, Teil 1 definiert. ISO 7816 ist das Dokument, das den Standard für die Smart Card- Industrie setzt.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4 : Physische Gestaltung einer Smart Card Quelle: Chen, 2000, Seite 12

Normalerweise enthält eine solche Karte keine Stromversorgung, keine optische Anzeige und keine Tastatur. Um mit der Außenwelt zu kommunizieren, wird eine Chipkarte in oder in der Nähe von einem Karten-Lese-Gerät platziert, das mit einem Computer verbunden wird.

2.2 Kartentypen

Chipkarten können in mehrere Gruppen aufgeteilt werden. Sie können in Speicher-Karten (Memory Cards) und Mikroprozessor-Karten (Microprocessor Cards) geteilt werden. Smart Cards können auch in Kontakt- und kontaktlose Karten (Contact and Contactless Cards) kategorisiert werden, die auf dem Unterschied im Karten-Zugriffsmechanismus basieren.

2.2.1 Memory Cards versus Microprocessor Cards

Die ersten in großen Mengen hergestellten Smart Cards waren Speicher-Karten. Memory Cards sind nicht wirklich „smart“, weil sie keinen Mikroprozessor sondern nur einen Speicherchip enthalten. Sie werden primär als „Prepaid“-Karten für öffentliche Telefone oder andere Dienste, die gegen Vorausbezahlung verkauft werden, verwendet.

Da Memory Cards keine CPU (Central Processing Unit) für die Datenverarbeitung besitzen, werden solche Prozesse durch einfache vorprogrammierte Instruktionen im Schaltkreis durchgeführt. Diese Funktionen sind stark limitiert und können nicht neu programmiert werden. Dies führt dazu, dass Memory Cards nicht wiederverwendet werden können und nach Gebrauch (z.B. nachdem kein Geldbetrag mehr zur Verfügung steht) weggeworfen werden müssen. Der Vorteil solcher Karten liegt in der einfachen Technologie. So werden sie da bevorzugt, wo tiefe Kosten als Entscheidungskriterium hinzugezogen werden.

Im Gegensatz dazu enthalten Microprocessor Cards - wie der Name schon sagt - einen Mi- kroprozessor. Sie ermöglichen eine stark verbesserte Sicherheit und multifunktionelle Fähig- keiten. Bei einer solchen Art von Karte sind die Daten niemals direkt von externen Applika- tionen einsehbar. Der Mikroprozessor kontrolliert das Daten-Handling und den Speicher- zugriff unter verschiedenen Bedingungen (Passwörter, Verschlüsselung etc.) im Austausch mit Instruktionen von externen Applikationen. Microprocessor Cards sind sehr flexibel; sie können für eine Applikation optimiert werden oder können mehrere verschiedene Applikatio- nen integrieren. Ihre Funktionalität ist eigentlich nur durch die Speicher-Ressourcen und die Rechengeschwindigkeit beschränkt.

Mikroprozessor-Karten werden überall für Zugriffskontrollen, Bank-Anwendungen, drahtlose Telekommunikation und so weiter benutzt, wo Datensicherheit und Privatsphäre bedeutend sind.

Als Resultat der Massenproduktion fielen die Kosten von Microprocessor Cards seit den frü- hen 90ern drastisch. Sie kosten heute meistens zwischen einem und zwanzig US-Dollars, pri- mär abhängig von den verwendeten Speicher-Ressourcen und der Software-Funktionalität.

2.2.2 Contact Cards versus Contactless Cards

Kontakt-Karten müssen in ein Kartenlesegerät eingesetzt werden, wo sie über acht Kontaktstellen mit der “Außenwelt“ kommunizieren; dabei wird eine serielle Kommunikations-Schnittstelle verwendet.

Weil die Contact Cards in ein mechanisches Lesegerät in der korrekten Richtung und mit der korrekten Seite eingesetzt werden müssen, sind kontaktlose Smart

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5 : Contact Smart Card Quelle:

http://www.uni-weimar.de/~schott2/sc/

Anwendungsarten für diese Karten.

Cards dort von Vorteil, wo schnelle Transaktionen er- wünscht sind. Öffentliche Transport Systeme (z.B. Skilifte) und Gebäude-Zugriffskontrollen sind typische Contactless Cards müssen nicht in ein mechanisches Gerät eingesetzt werden; sie kommunizieren über eine integrierte Antenne mit der „Außenwelt“. Die Energieversorgung kann über eine interne Batterie oder aber auch über die Antenne erfolgen. Kontaktlose Karten übermitteln die Daten über ein elektromagnetisches Feld.

Weil die Mikroschaltung von Con- tactless Cards vollständig in der Karte versiegelt wird, überwältigen diese die Begrenzungen von Kon- takt-Karten: es gibt keine Kontakte, die von übermäßiger Verwendung unbrauchbar werden, sie müssen nicht vorsichtig in ein CAD (Card

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 6 : Contactless Smart Card

Acceptance Device) eingelegt wer-

Quelle: http://www.uni-weimar.de/~schott2/sc/

den, und die Karten müssen nicht von einer fix definierten Dicke sein, um in einen CAD-Kartensteckplatz zu passen.

Aber auch kontaktlose Karten haben ihre Nachteile. So müssen sich diese in einem bestimmten Radius um das CAD befinden, um Daten austauschen zu können. Weil die Karte schnell aus diesem Umkreis heraus bewegt werden kann, können nur limitierte Daten während einer kurzen Transaktionszeit übertragen werden. Es kann auch sein, dass übertragene Daten abgefangen werden können, ohne dass der Besitzer etwas davon weiß. Auch in der Herstellung sind die Contactless Cards momentan teurer als die Kontakt-Karten.

2.2.2.1 Kombi- und Hybrid-Karten

Zwei zusätzliche Kategorien (abgeleitet von den beiden zuvor genannten) sind die KombiKarte und die Hybrid-Karte. Eine Hybrid-Karte besteht aus zwei Chips, jede mit einem Kontakt- bzw. kontaktlosen Interface. Die beiden Chips sind nicht verbunden, aber für viele Anwendungen genügt sie dem Bedarf des Verbrauchers und des Herstellers. Neu sind die Kombi-Karten, welche einen einzigen Chip mit beiden Interfaces verbindet. Somit kann ein und derselbe Chip über beide Systeme mit einer sehr hohen Sicherheitsstufe angesprochen werden. Mifare, Legic und Hi-Tag sind hier die neuesten Techniken. Die Massenbeförderung und die Bank- industrie erwarten zuerst einen Vorteil aus der Technologie zu ziehen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7 zeigt beides, die kontaktbehafteten

und kontaktlosen Elemente der Karte. Eine Kombi- Karte hat nur einen Chip, während die Hybrid- Karte zwei besitzt.

2.3 Smart Card Hardware

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7 : Hybride Smart Card Quelle:

http://www.uni-weimar.de/~schott2/sc/

Eine Smart Card hat Kontaktstellen an der Oberfläche, eine integrierte Central Processing Unit und verschiedene Arten von Speicher. Einige Smart Cards enthalten sogar Koprozessoren für mathematische Berechnungen.

2.3.1 Kontaktstellen

Eine normale (Kontakt-)Karte verfügt über acht Kontaktstellen, deren Position und Eigen- schaften in ISO 7816-2 definiert sind. Einige französische Karten verwenden immer noch an- dere Kontaktpositionen, die im ISO Standard als „transitional“ beschrieben sind. Obwohl die eindeutige Absicht in der Abschaffung dieser älteren Kontaktstellen (in der oberen linken Ecke der Karte) besteht, existieren noch einige solche Terminals, die nur diese Kartentypen akzeptieren.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 8 : Aufbau des Mikromoduls Quelle: Sturm, 2001, Seite 31

Die Kontakte sind meist aus Gold oder anderem leitfähigen Material gefertigt. Sie werden normalerweise mit Hilfe von sehr dünnen „Kabeln“ während des Herstellungsprozesses mit dem eigentlichen Chip verbunden. Aufgrund der Kartenflexibilität (i.S. von Beweglichkeit) sind diese Kontaktstellen eine potentielle Quelle der Unzuverlässigkeit. Sie selbst besitzen eine beschränkte Lebensdauer, insbesondere wenn sie mit billigen Lesegeräten verwendet werden, die „sliding“ Kontakte benützen. Dadurch erhöht sich die Abnützung dieser Stellen sehr stark.13

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 9 : Chip SLE 66X160S Tabelle 1 : Kontaktpunkte eines Chips

Quelle: Lenz, 1998, Seite 10 Quelle: eigene Darstellung

Der „Vcc“-Kontakt versorgt den Chip mit Strom. Seine Spannung beträgt drei oder fünf Volts mit einer maximalen Abweichung von zehn Prozent. Smart Cards in Mobiltelefonen - Handys - verfügen meist über drei Volts.

Die „RST“-Kontaktstelle wird für ein Signal verwendet, welches den Mikroprozessor zurücksetzt (reset) - dies wird „warmer Reset“ genannt. Ein „kalter Reset“ entsteht durch das Einund Ausschalten der Stromversorgung. Dies entsteht zum Beispiel beim Herausziehen und Hineinstecken der Karte aus und in das CAD.

Smart Card Mikroprozessoren besitzen gewöhnlich keine interne Takterzeugung („CLK“). Daher muss diese von außen angelegt werden. Übliche Taktraten sind 3,5 bis 5 MHz. In ISO/IEC-7816-3 sind jedoch Taktraten von bis zu 20MHz spezifiziert. Um Strom zu sparen, erlauben die meisten Smart Card Mikroprozessoren ein vorübergehendes Abschalten der Taktversorgung.

Die „GND“-Kontaktstelle wird als Referenzspannung benutzt; ihr Wert wird als null Volts betrachtet.

Der „Vpp“-Kontakt ist optional und wird nur in älteren Karten verwendet. Wenn er verwendet wird, liefert er die Programmierungs-Spannung mit zwei Niveaus. Die tiefere Spannung wird „idle state“ genannt; sie muss vom CAD beibehalten werden, bis das andere Niveau, „active state“, verlangt wird. Dieser Wechsel ist notwendig, um den EEPROM14 -Speicher in einigen alten Smart Card-Chips zu programmieren.

Die „I/O“-Stelle wird für die Datenübertragung und Anweisungen zwischen Smart Card und der „Außenwelt“ im Halbduplex Modus verwendet. Halbduplex bedeutet, dass die Übertragung nur in einer Richtung zu einer bestimmten Zeit stattfinden kann.

Die „RFU“-Kontakte sind für zukünftige Verwendungsmöglichkeiten reserviert.

2.3.2 Central Processing Unit (CPU)

Bei den CPUs von Mikroprozessorkarten greifen die Hersteller oft auf bewährte Mikrocontroller-Chips zurück, wie den Intel 8051 oder den Motorola 6805. Dies sind 8-bit CISC15 Prozessoren, deren umfangreiche Befehlssätze meist noch um kartenspezifische Befehle erweitert sind. Diese besitzen eine Taktrate von bis zu 5MHz. High-End Karten beinhalten oftmals einen Taktraten-Multiplikator (von zwei, vier oder acht), der eine Betriebsgeschwindigkeit von bis zu 40MHz (5MHz * 8) zulässt.

Inzwischen existieren auch Neuentwicklungen spezieller CPUs für Mikroprozessorkarten als 16-bit und sogar 32-bit RISC16 Architekturen. In der nahen Zukunft werden vermehrt solche 16-bit und 32-bit Smart Cards auf dem Markt erscheinen.

2.3.3 Koprozessoren

Smart Card-Chips, die sehr oft für die Verwendung in Sicherheits-Applikationen entwickelt werden, haben einen eingebauten Koprozessor. In einigen Fällen führt dieser Prozessor mehr- fache Rechenvorgänge in der Hardware aus (Multiplikation und Potenzierung); in anderen Fällen wurde der Koprozessor dazu entworfen, gewöhnliche kryptographische Funktionen, wie DES17 Encryption oder RSA18 Signatures, direkt auszuführen. Die Einbindung eines solchen Koprozessors führt üblicherweise zu relativ stark erhöhten Chipkosten.

2.3.4 Speichersystem

Chipkarten bestehen im wesentlichen aus nicht flüchtigen und flüchtigen Speichern, einer Steuerlogik oder einem Mikroprozessor. Zwar sind diese Komponenten Grundbestandteile der Informationstechnik jedoch soll die nachfolgende Beschreibung der Bauteile die Problematik im Einsatz für Chipkarten aufzeigen - eingeschränkter Platzbedarf auf maximal 5mm x 5 mm.

2.3.4.1 ROM (read only memory)

Das ROM ist eine Speicherart, die nur gelesen werden kann. Ein schreibender Zugriff ist nicht möglich. Der Inhalt des ROM ist herstellungsbedingt, für alle Chips einer Produktionsserie identisch und während der Lebensdauer des Chips unveränderbar. ROM-Zellen brauchen von allen Speicherarten die kleinste Chipfläche pro Bit. Sie sind am preiswertesten, dafür aber auch unflexibel.

2.3.4.2 EPROM (erasable read only memory)

In den Anfangsjahren der Chipkartentechnik wurden oftmals EPROMs verwendet, da das damals die einzige Speicherart war, in der auch ohne Spannung Daten erhalten blieben und einmal pro Bit geschrieben werden konnte.

Die ersten französischen Telefonkarten enthielten EPROMs. Beim Abbuchen der Beträge wurden die Zellen beschrieben, für jede Gebühreneinheit ein Bit.

Die Löschung geschieht bei EPROMs durch UV-Licht, das die gespeicherten Ladungen abfließen lässt. Dabei geht der gesamte Inhalt auf einmal verloren; ein selektives Löschen von Zellen ist nicht möglich. Dies ist auch der Grund dafür, warum sie heute für Neuanwendungen keine praktische Bedeutung mehr haben. Eine EPROM-Zelle braucht die doppelte bis dreifache Chipfläche einer ROM-Zelle, ist also dementsprechend teurer.

2.3.4.3 EEPROM oder E PROM(electrical erasable read only memory)

Dieser Speichertyp ist fast beliebig oft löschbar und wieder neu beschreibbar, laut Hersteller- angaben 104- bis 106-mal. Die einmal gespeicherten Daten können mindestens zehn Jahre er- halten bleiben, was die Lebensdauer einer Chipkarte bei heutigen Anwendungen bei weitem übersteigt.

Das EEPROM wird für Daten oder Programme verwendet, die irgendwann einmal verändert oder gelöscht werden sollen. Eine EEPROM Zelle stellt im Prinzip einen winzigen Konden- sator dar, der geladen oder entladen sein kann. Ein geladener Kondensator repräsentiert eine logische '1' und umgekehrt. Um ein Byte zu speichern braucht man also acht Kondensatoren und eine entsprechende Sensorik, um die Zustände der Kondensatoren abzufragen.

Aufladen und Entladen erfordert eine Programmierspannung von ca. 20 Volt, die höher ist, als die Versorgungsspannung von fünf Volt. Sie muss nicht extern zugeführt werden, sondern wird auf dem Chip mittels einer sogenannten Ladepumpe erzeugt, die nach dem Prinzip einer kaskadierenden Spannungsverdoppelung funktioniert. Der benötigte Strom ist äußert gering, und der Schreibvorgang dauert etwa zehn Millisekunden. Wird eine EEPROM-Zelle durch Erhitzen oder starke Strahlung manipuliert, so kann der Kondensator sich entladen und die Zelle nimmt den sogenannten sicheren Zustand '0' an. Dieser Zustand ist für das Design von Chipkartenbetriebssystemen von elementarer Bedeutung, da sonst Sicherheitsbarrieren durch vorsätzliche Änderung der Umweltbedingungen durchbrochen werden könnten.

Ein Beispiel: Würden durch Erhitzen die EEPROM-Zellen, die für die Speicherung des Geldbetrages zuständig sind, in den Zustand '1' übergehen, so könnte man dadurch die Chipkarte wieder auf den vollen Betrag aufladen.

Der Flächenbedarf eines EEPROMs ist etwa vier- bis siebenmal größer als der einer ROMZelle. Ihr Aufbau ist komplizierter und damit teurer, aber in der Anwendung sind sie variabler, weshalb der Trend bei Chipkarten zum EEPROM geht.

2.3.4.4 RAM (random access memory)

Das RAM ist der Arbeitsspeicher des Mikrocontrollers einer Chipkarte, in dem kurzfristig Zwischenergebnisse abgelegt werden - etwa bei der Codierung oder Decodierung von Daten. Zur Funktionsfähigkeit benötigt es eine Spannungsversorgung. Ist die Betriebsspannung nicht mehr vorhanden, oder fällt sie kurzzeitig aus, so ist der Inhalt des RAMs nicht mehr definiert. Eine RAM-Zelle ist aus vier oder sechs Transistoren aufgebaut, die so geschaltet sind, dass sie als bipolare Kippschaltung funktionieren. Der Schaltungszustand repräsentiert dann den Speicherinhalt eines Bits im RAM.

Das bei Chipkarten verwendete RAM ist statisch im Gegensatz zum dynamischen RAM, bei dem noch zusätzlich ein Takt anliegen muss, um den Speicherinhalt periodisch aufzufrischen. Ein statisches RAM ist einfacher im Aufbau, aber doppelt so groß wie ein dynamisches RAM. Statische RAMs werden verwendet, weil es möglich sein muss, die Taktversorgung einer Chipkarte anzuhalten. Zum Beispiel haben Mikrocontroller in Mobilfunktelefonen einen Strom-Spar-Modus, bei dem alle Teile des Chips bis auf den Ein-/Ausgabe-Interrupt deakti- viert sind.

Der Schreibvorgang bei RAMs verläuft rund 50000 mal schneller, und die Energie zum Schreiben ist um Faktor 106 kleiner als bei EEPROMS, sie sind aber 30 mal größer als ROMZellen. Weil das die Kosten empfindlich in die Höhe treibt, sollte das RAM möglichst klein sein, deshalb müssen die Entwickler von Verschlüsselungsalgorithmen darauf achten, dass ihre Programmierung möglichst wenig RAM benutzt.

Heute gewinnen andere Speicher-Technologien in Chipkarten an Popularität. Zum Beispiel wird „flash memory“ immer bekannter. Flash Memory ist eine Art persistenter, änderbarer Speicher; er ist in Platz und Funktionalität effizienter als EEPROM. Flash Memory kann bit- weise gelesen, aber nur als Block aktualisiert werden. So wird dieser Speicher typischerweise für das Lagern von zusätzlichen Programmen oder großen Brocken von Daten, die als ganzes aktualisiert werden können, verwendet.

2.4 Java Card - Architektur

Eine Java Card ist eine Smart Card, die in der Lage ist, Java-Programme auszuführen. Auf einer solchen Chipkarte befindet sich eine Java-Ablaufumgebung, die sogenannte Java Card Runtime Environment (JCRE), die in der Lage ist, Java-Bytecode auszu- führen. Diese Ablaufumgebung ist standar- disiert und verbirgt die Besonderheiten der Smart Card-Hardware. Als Anwendungs-

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 10 : Mikroprozessor-Architektur Quelle: Sturm, 2001, Seite 32

programmiersprache dient eine Untermenge von Java.

Die Binärkompatibilität von Anwendungen wird in der Spezifikation der Java Card Virtual Machine als Hauptmotivation für die Entwicklung des Java Card-Standards genannt:

„ The standards that define the Java platform allow for binary portability of Java programs across all Java platform implementations. This "write once, run anywhere" quality of Java programs is perhaps the most significant feature of the platform. Part of the motivation for the creation of the Java Card platform was to bring just this kind of binary portability to the smart card industry. In a world with hundreds of millions or perhaps even billions of smart cards with varying processors and configurations, the costs of supporting multiple binary formats for software distribution could be overwhelming. “ 19

2.4.1 Hardware - Architektur

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 11 : Die Hardwarearchitektur der Java Card

Quelle: http://www.inf.ethz.ch/~rohs/SmartcardsUndJavacards/

Abbildung 11 zeigt die Hardwarearchitektur der Java Card. Im ROM der Karte befindet sich eine Implementierung der Ablaufumgebung (Java Card Runtime Environment, JCRE), deren Schnittstellen standardisiert sind. Zu dieser Ablaufumgebung gehört eine spezielle virtuelle Maschine (VM), die an die verfügbaren Ressourcen auf Smart Cards angepasst ist. Die Ablaufumgebung kontrolliert den Zugriff auf die Ressourcen der Karte, wie I/O und Speicher und kann damit als Betriebssystem der Karte angesehen werden. Das EEPROM einer Java Card enthält die nachladbaren Anwendungen, Applets20 genannt, und deren persistente Objekte. Das RAM wird als Arbeitsspeicher genutzt, also als Laufzeit-Stack, als I/O-Buffer und zur Speicherung transienter Objekte. Wie weiter unten beschrieben wird, ist nur eine Untermenge der üblichen Java-Funktionalität realisierbar.

Der Umfang des Java Card-Ansatzes beschränkt sich nur auf die Karte selbst, nicht jedoch auf die Kommunikation mit der Karte. Java Card erlaubt die Programmierung des kartenresidenten Teils einer Kartenanwendung in Java. Eine komplette Kartenanwendung besitzt aber auch einen kartenexternen Teil, der als Client des kartenresidenten Teils auftritt.

Nach außen erscheint eine Java Card wie eine herkömmliche Karte, entsprechend dem ISO/IEC-7816 Standard. Der Vorteil dieses Ansatzes ist, dass keine Legacy-Probleme entste- hen, da keine Änderungen an der bestehenden Infrastruktur, in Form von Kartenlesern und kartenexternen Anwendungen, nötig sind. Außerdem erlaubt dies, den kartenexternen Teil einer Kartenanwendung, bzw. den Klienten einer Java Card in einer beliebigen Programmiersprache zu schreiben. Man ist an dieser Stelle also nicht auf Java festgelegt.

2.4.2 Java Card - Ablaufumgebung

Die Java Card-Architektur, in der Version 2.1, besteht aus den folgenden Softwarekompo- nenten:

- Ablaufumgebung (Java Card Runtime Environment, JCRE)
- Basisdienste der Smart Card (I/O, Kryptographie)
- Virtuelle Maschine (JCVM)
- Java Card - Framework
- Java Card API (als Dienstschnittstelle des Java Card - Frameworks)
- Visa OpenPlatform (OP)
- Java Card Applets

Abbildung 12 zeigt die Java Card-Softwarearchitektur. Die Hardware der Chipkarte stellt eine proprietäre Schnittstelle zur Verfügung, wie zum Beispiel den Befehlsvorrat des benutzten Prozessors. Die unterste Schicht der Software implementiert die Kommunikationsprotokolle für T=0 bzw. T=1, sowie höherwertige Funktionen wie z.B. kryptographische Algorithmen, die aus Geschwindigkeitsgründen in Assembler programmiert werden sollten.

Die zentrale Komponente der Architektur ist die Virtuelle Maschine (VM), welche die kon- krete Hardware verbirgt und den Zugriff auf deren Bestandteile, wie Speicher und Ein- /Ausgabe, regelt. Sie stellt eine Ablaufumgebung für Java Card Applets zur Verfügung. Aus- serdem isoliert sie die einzelnen Applets voneinander. Dieser Mechanismus wird "Software- Firewall" genannt, und erlaubt über "Shareable"-Interfaces eine kontrollierte Interaktion von Applets. Die Java Card API ist die Dienstschnittstelle des Java Card-Frameworks, das die Einbettung von Applets in diese Umgebung definiert. Das Java Card-Framework ist eine Implementierung der Java Card API, welche die wichtigsten Klassen bereitstellt, die von Applets benötigt werden.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 12 : Die Softwarearchitektur der Java Card

Quelle: http://www.inf.ethz.ch/~rohs/SmartcardsUndJavacards/

Die eigentliche für den Benutzer sichtbare Funktionalität der Karte wird durch Java Card Applets realisiert, welche die verschiedenen Kartenanwendungen darstellen. Diese können auch nach Herstellung der Karte installiert werden. Neben Applets sind auch Benutzerbibliotheken installierbar, deren Funktionalität von allen Applets genutzt werden kann, die aber nicht direkt von außen ansprechbar sind. Gegebenenfalls kann auch der Hersteller der Karte schon Bibliotheken und Applets in das ROM der Karte installieren.

Die Installation und Deinstallation von Applets geschieht über eine Installationskomponente, die in der Spezifikation des JCRE nur grob beschrieben wird. Dies hat dazu geführt, dass die verschiedenen Hersteller proprietäre Mechanismen zur Installation von Applets verwendet haben, was der Idee einer offenen Anwendungsplattform natürlich zuwiderläuft. Daher entwi- ckelte VISA eine Architektur namens Visa OpenPlatform (VOP), zur sicheren Installation von neuen Anwendungen auf Multiapplikationskarten. Diese Architektur wurde inzwischen unter dem Namen OpenPlatform (OP) zum Standard erklärt, ist allerdings noch nicht Be- standteil von JCRE 2.1.

[...]


1 Gemäss Zahlen von WEMF AG für Werbemedienforschung (http://www.wemf.ch) verwenden 52,1% der Befragten das Internet in der Schweiz (2001).

2 Vgl. Haykin, 1988

3 McIvor, 1985, Seite 152

4 Svigals, 1985, Seite 1

5 Quisquater, 2000, Seite 106

6 Chen, 2000, Seite 42

7 Read Only Memory

8 Optical Character Recognition

9 McCrindle, 1990, Seite 19

10 Vgl. Stockar, 1989

11 Siehe http://java.sun.com/products/javacard/#partners

12 Vgl. Chen, 2000

13 Vgl. Hendry, 1997 Semesterarbeit Smart- und Java Cards: 23. Januar 2002

14 Electrical Erasable Programmable Read Only Memory

15 Complex Instruction Set Computer

16 Reduced Instruction Set Computer

17 Data Encryption Standard (DES): 56bit, Weiterentwicklung: Triple DES (168bit); Sender und Empfänger teilen einen gemeinsamen Schlüssel. Dieser Schlüssel muss von beiden geheimgehalten werden. Problem: sichere Übermittlung und Verteilung der Schlüssel (Symmetrische Verschlüsselung).

18 RSA, benannt nach seinen Autoren: Ron Rivest, Adi Shamir und Len Adleman; Hier besteht der “public key“ aus einer großen Zahl (modulus), die das Produkt von zwei großen Primzahlen ist. Wenn aus dem “public key“ durch Faktorzerlegung diese Primzahlen bestimmt werden können, dann ist das System entschlüsselt (broken). Die Schwierigkeit dieser Faktorzerlegung entspricht in diesem Sinne dem Grad der Sicherheit des Schlüssels (Asymmetrische Verschlüsselung).

19 Sun Microsystems, 1999, Seiten 1 und 2 Semesterarbeit Smart- und Java Cards: 23. Januar 2002

20 Siehe Definition 1.2.3 auf Seite 7

Ende der Leseprobe aus 108 Seiten

Details

Titel
Smart- und Java Card. Einsatzmöglichkeiten und Benutzerakzeptanz
Hochschule
Universität Zürich  (Institut für Informatik)
Veranstaltung
Semesterarbeit
Note
sehr gut
Autor
Jahr
2002
Seiten
108
Katalognummer
V9123
ISBN (eBook)
9783638159104
ISBN (Buch)
9783638717069
Dateigröße
2195 KB
Sprache
Deutsch
Schlagworte
Smart-, Java, Cards, Einsatzmöglichkeiten, Benutzerakzeptanz, Semesterarbeit
Arbeit zitieren
Ronny Peterhans (Autor), 2002, Smart- und Java Card. Einsatzmöglichkeiten und Benutzerakzeptanz, München, GRIN Verlag, https://www.grin.com/document/9123

Kommentare

  • Noch keine Kommentare.
Im eBook lesen
Titel: Smart- und Java Card. Einsatzmöglichkeiten und Benutzerakzeptanz


Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden