Smartcards und Java Card


Smartcards
Streng genommen ist eine Smartcard nichts weiter als ein speziell angepasster Mikrocontroller inklusive integriertem Speicher und einer Kommunikations- und Stromversorgungsschnittstelle.
Besonderes Gewicht wird bei der Entwicklung darauf gelegt, dass ein potentieller Angreifer nicht oder nur mit unverhältnismäßig hohem Aufwand die internen Abläufe auf dem Chip nachverfolgen und Zugriff auf die dort gespeicherten vertraulichen Daten erlangen kann.
Von außen können der Smartcard Anweisungen erteilt werden, die je nach Anwendung eine Bestätigung seitens der Karte erfordern. So lassen sich verschlüsselte Verbindungen aushandeln, Daten übertragen oder Zugriffscodes validieren. Geheime Daten wie z.B. ein privater Schlüssel oder eine PIN befinden sich in einem sicheren Speicherbereich und verlassen die Karte nicht. Anfragen werden auf der Karte selbst verarbeitet und nur das Ergebnis nach außen kommuniziert.
Java Card

Eine besondere Stellung nehmen Smartcards ein, welche die Java Card Plattform unterstützen. Sie verfügen über eine integrierte Java Card Virtual Machine (JCVM) für die Programmiersprache Java, respektive den aus dem Quellcode erzeugten Bytecode.
Der Sprachumfang ist eine stark eingeschränkte Untermenge des gesamten Sprach- und Paketumfangs von Java. Aufgrund der sehr begrenzten Ressourcen der Hardware müssen komplexere Sprachelemente und die meisten Pakete aus den Laufzeitbibliotheken nicht unterstützt werden oder ließen sich ohnehin nicht implementieren.
Durch den plattformübergreifenden Standard werden Anwendungen herstellerübergreifend kompatibel. Darüber hinaus verfügen solche Java Card unterstützenden Smartcards über ein ausgefeiltes Card Management, welche das dynamische Hinzufügen und Entfernen von Anwendungen sowie deren selektive Ausführung ermöglicht.
Folglich können die verschiedensten Anwendungen auf einer einzigen Karte gespeichert und einzeln aktiviert werden. Denkbar wäre eine Karte, die gleichzeitig zur bargeldlosen Bezahlung, als ÖPNV-Ticket, zur Zugangskontrolle im Unternehmen und als Haustürschlüssel dient, wobei die einzelnen Applikationen inklusive Berechtigungen voneinander abgeschottet sind.
Möglich wird dies durch spezielle Betriebssysteme wie z.B. Java Card Open Platform (JCOP), die entsprechende Verwaltungsfunktionen und Sicherheitsmechanismen bereitstellen. Letztere stellen hierbei die größte Herausforderung dar, muss doch verifizierbar verhindert werden, dass zu keinem Zeitpunkt eine Anwendung auf Daten einer anderen zugreifen kann. Die Laufzeitumgebung stellt dann alle Funktionen wie z.B. Verschlüsselungsalgorithmen oder die Schnittstellen zur Kommunikation mit der Außenwelt zur Verfügung und wird von allen Applikationen gemeinsam genutzt.
Kontaktlose Kommunikation
Die Verbreitung von Smartcards hat durch den Einsatz kontaktloser Systeme nach dem Near Field Communication (NFC) Standard und dessen Integration in Smartphones stark zugenommen. Bei diesen muss der Nutzer die Karte nicht mehr mechanisch in einen Kartenleser einschieben, sondern lediglich in die Nähe eines Lesegeräts halten.
Dies führt zu wesentlich schnelleren Abläufen und erleichtert gerade bei Massenanwendungen die Handhabung erheblich. Außerdem sorgt dieses Verfahren auch für eine geringere mechanische Belastung, da kein mit Verschleiß behafteter elektrischer Kontakt mehr hergestellt werden muss.
Daher sind heutige Smartcards zumeist mit einer dualen Kommunikationsschnittstelle ausgestattet und können über beide Verfahren eine Verbindung zur Außenwelt herstellen.
telos® Aktivitäten im Smartcard Umfeld
telos verfügt über langjährige Erfahrung in der Erstellung von Anwendungen für Smartcards/Java Card sowie in der systemnahen Entwicklung von Plattformkomponenten.
Einige unserer Ingenieure haben im Rahmen von gemeinsamen Projekten mit dem Smartcard-Hersteller NXP weitreichende Erfahrungen und tiefe Einblicke in die Entwicklung, Systemprogrammierung und Verifikation diverser Kartenvarianten gewonnen.
Als beauftragtes Subunternehmen haben wir wesentliche Teile der unternehmensübergreifenden VDV-Kernapplikation für den öffentlichen Personennahverkehr als Teil einer Java Card Applikation implementiert.
- Planen Sie ein Projekt im Bereich Smartcards/Java Card?
- telos ist seit 1988 aktiv. Nutzen Sie unser Ingenieurteam und die Erfahrung mehrerer Jahrzehnte!
- Nehmen Sie bitte Kontakt mit uns auf 040 450173 60
- Wir "plaudern" auch gerne mit Ihnen zum Thema