Wie funktioniert ein Smart Card-Programmierer arbeiten?
Eine Smart Card ist ein Mini-Computer, die Programmierung zu laufen. Eine Smart Card enthält keine Interface-wie Bildschirm oder Tastatur, so Smart-Card-Reader sind zum Lesen oder Aktualisierung der Daten zu \ von Smart Cards. Smart-Karten enthalten ein Betriebssystem, das eine Plattform zur Ausführung von Anwendungen.
Smart-Card-Betriebssystemen können in zwei Kategorien unterteilt werden.
Die erste Art von Betriebssystem basiert auf der Disk Drive Ansatz. Dieses Betriebssystem enthält eine aktive Speicher-Manager, die beliebige Datei oder Anwendung in der Karte auf Anfrage. Die Card Operating System ermöglicht die aktive Datei Zuweisung und Verwaltung (Java Card OS ist ein Beispiel für diesen Ansatz).
Der Vorteil der Festplatte Betriebssystem ist, dass die Kosten für Ersatz-Karten ist weniger teuer, aber der Start-up-Kosten sind höher. Diese Karte ist ein Lager Menge des freien Speichers, um mit künftigen Anwendung Uploads. Durch die starke Nutzung von teuren Halbleiter, die Kosten höher ist für diese Karten. Die Sicherheit der Infrastruktur sind auch höhere Kosten aufgrund der mehrere Punkte der Einreise in-Karte-System-Funktionen.
Der zweite Ansatz behandelt die Karte als sicheres Gerät, wenn Dateien und Berechtigungen für diese Dateien sind alle von der admin. Der einzige Zugang zu den Karten wird durch das Betriebssystem. Es gibt keinen anderen Weg für den Zugriff auf die Datei-Struktur. Daten zugegriffen werden kann, wie die Berechtigungen pro Satz durch den Benutzer. Diese Betriebssysteme können dann Ihre Anwendungen. Befehle können an die Karte über den Card-Reader und dann die gewünschte Anwendung kann über die Smart Card.
Eines der am häufigsten verwendeten Smart Card Betriebssysteme JavaCard. Es bietet Standard-API für das Laden und Ausführen von Java-Applets direkt auf einem Standard-ISO 7816-kompatible Karte. JavaCards die sichere und Chip-unabhängige Ausführung von verschiedenen Anwendungen.
Die folgenden Anforderungen muss vor Beginn der Anwendungsentwicklung auf Smart Cards:
- Smart Card Reader
- Software für die Kommunikation mit dem Leser
- Software für die Kommunikation mit der Smart Card
- Smart Cards und Smart Card-Hardware
Bevor wir uns an Smart-Card-Programmierung, wir müssen in der Lage für die Kommunikation mit dem Leser. Da gibt es viele verschiedene Karten, es gibt viele verschiedene Leser. So ordnungsgemäße Durchführung Schnittstelle verwendet werden soll für die Kommunikation.
Sobald die Installation abgeschlossen ist oben, Programmierung und Anwendung hochladen können unter Verwendung der Smart Card. JavaCard ermöglicht es, Anwendungen zu erst bei Bedarf geladen.
In den ersten Jahren der Smart Card Entwicklung, jeder Software-Anwendung, die ein Produkt auf einer Karte wurde für eine spezielle Karte mit einem bestimmten Betriebssystem, das wiederum auf einen Hardware-Anwendung. Manchmal wird eine direkte Anwendung wurde auch installiert, ohne ein Betriebssystem, um die Karte sehr spezifisch für diese Anwendung. Allerdings ist die Entwicklung der Anwendung mehrere Betriebssysteme zu einer neuen Ära. JavaCard ist ein offenes, Multi-Applikations-Betriebssystem für Smartcards. Jede Person kann der Entwicklung von Anwendungen mit Java-Programmiersprache. Die Java-Programme können unabhängig von der Karte und kann auf jedem ISO 7816-kompatible Chipkarten. Auf diese Weise Anwendungen von verschiedenen Herstellern kombiniert werden können, aber getrennt von einander.
Die ISO 7816-Standard wurde entwickelt, um die mechanischen und elektrischen Eigenschaften zusammen mit dem Protokoll für die Kommunikation mit der Karte. Leider ist der ISO-Gruppe war nicht in der Lage, eine Standard-Ausgangswert für die Kommunikation mit dem Leser. Also, um die Kommunikation mit der Smart Card ist es erforderlich, zunächst über die Befehle von der Karte. Dann werden diese Befehle müssen gekapselt in ISO-Standard-Befehle.
Lassen Sie uns nun einen Blick von der APIs, die es uns ermöglichen, Befehle aus einer Anwendung zu einem Leser. Der Leser kommuniziert mit der Karte, wo die eigentliche Verarbeitung stattfindet. Aus technischer Sicht, der Schlüssel ist ein Smart-Card-API. Dies ist eine Schicht von Software, die es erlaubt eine Anwendung für die Kommunikation mit Chipkarten und Lesern aus mehr als einem Hersteller. Die API erlaubt es dem Programmierer oder Nutzer die Möglichkeit, Smart Cards unterschiedlicher Hersteller. Starten einer Anwendung auf mehrere Smartcards fördert den Wettbewerb zwischen den Lieferanten-Karte und die Vorteile der, dass der Wettbewerb auch mehr Qualität und niedrigere Preise.
Die Smart-Card-Programmier-API bietet eine Application-Layer zwischen dem Smart-Card-Schnittstelle und der Anwendung. Die Einheit der Austausch mit einer Smart-Card ist die auch als Application Protocol Data Unit (APDU)-Paket. Die Kommunikation mit der Karte und der Leser wird mit Hilfe APDUs. Ein APDU kann als Datenpaket enthält eine komplette Anleitung für die Karte und / oder eine vollständige Antwort von einer Karte.
Die folgenden sind einige der Klassen, die für den Transport von APDUs und ihre Funktion:
- Antwort
- Command
- ISOCommand
- ISOCardReader-Schnittstelle
- ISOCardReader
Sun hat die Java entwickelt Electronic Commerce Framework (JECF), eine Erweiterung des Core Java-Plattform, die Entwicklern die einfache und rasche Entwicklung des elektronischen Geschäftsverkehrs Anwendungen. JECF bietet mehrere Klassen, die einfach die Kommunikation mit Chipkarten. Es kann kostenlos heruntergeladen werden von der Sun-Website und kann leicht durch eine Smart-Card-Programmierer.
Die Smart Card Application Development Prozess umfasst folgende Schritte:
- Anforderungen der Nutzer hinsichtlich der: Was macht den Benutzer erreichen möchten?
- Software-Anforderungen: Karte Benutzer Anforderungen an Software-Anforderungen.
- Architectural Design: Design der Architektur der Lösung.
- Code Generation: Erstellen Code nach der Architektur.
- Emulation: Verwenden Sie Emulatoren zu testen, den Code auf virtuelle Karte.
- In-Card-Emulation: Führen Sie den Code auf den tatsächlichen Karte mit Kartenleser.
- Verifikation und Validierung: Es handelt sich um die Prüfung.
- Endgültige Prüfung und Wartung.
|
Bookmark Wie funktioniert ein Smart Card-Programmierer arbeiten?

