Zum Inhalt springen

GlobalTester

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. Oktober 2007 um 17:26 Uhr durch 91.33.235.182 (Diskussion). Sie kann sich erheblich von der aktuellen Version unterscheiden.
GlobalTester
Basisdaten

Entwickler HJP Consulting GmbH
Aktuelle Version 1.2.6
(9. Oktober 2007)
Betriebssystem alle Java fähigen
Kategorie Testwerkzeug
Lizenz GPL
GlobalTester

Hinter dem Begriff GlobalTester verbirgt sich ein Testwerkzeug für das Testen einer Chipkarte. Der GlobalTester ist unter der GNU General Public License GPL frei verfügbar und wird von der HJP Consulting entwickelt. Die Software steht als Plugin für die weit verbreitete Entwicklungsplattform Eclipse zur Verfügung.

Geschichte

Als die Europäische Union entschieden hat, elektronische Reisepässe (e-Passports, MRTD) weltweit einzuführen, hat man schnell erkannt, dass umfangreiche Konformitätstests nötig sind, um eine reibungslose Funktion der Pässe zu gewährleisten. Zu diesem Zweck haben die internationale Luftfahrtbehörde ICAO und das Bundesamt für Sicherheit in der Informationstechnik (BSI) umfangreiche Tests spezifiziert, die jeweils mehrere hundert Testfälle enthalten. Um diese Testfälle in Software umzusetzen und dadurch auch zu verifizieren, hat die HJP Consulting in Paderborn ein Werkzeug, basierend auf Open-Source-Komponenten, bereitgestellt. Mit dieser Software lassen sich die Tests nicht nur erstellen sondern auch direkt ausführen. Benötigt wird hierfür lediglich ein Standard-PC, auf dem Eclipse läuft und ein PC/SC-kompatibler Kartenleser, mit dem die Kommunikation zur Karte realisiert werden kann.

Tests mit Chipkarten

Beim Testen von Chipkarten ist es einerseits wichtig, die Funktionen zu prüfen, die von der Karte bereitgestellt werden müssen. Diese Positivfälle dienen dazu, die zugesicherten Leistungen der Karte zu verifizieren. Daneben spielen die auf der anderen Seite die Negativfälle eine noch größere Rolle. Zu diesem Zweck werden Fehlerfälle konstruiert, um das Verhalten der Karte beim Auftreten eines solchen Fehlers zu überprüfen. Auf diese Weise kann das Verhalten des Chips in Extremsituation untersucht werden. So kann man untersuchen, wie die Karte beispielsweise reagiert, wenn die Applikation versucht, über das Dateiende hinaus zu lesen. Oder es wird verifiziert, wie sich der Chip verhält, wenn die Applikation auf eine Datei zugreift, die gar nicht existiert oder keine Zugriffsrechte bestehen. Beim Testen wird, nachdem die Fehlerzustände konstruiert sind, geprüft, ob sich die Chipkarte in einem per Spezifikationen vorgegebenen Fehlerstatus befindet.

Ein weiterer interessanter Test ist das Prüfen auf undefinierte Kommandos. So kann man in einer einfachen Schleife alle Möglichkeiten, ein Kommando an den Chip zu schicken, konstruieren und dann die Reaktion des Chips überprüfen. Auf diese Weise lassen sich undefinierte und nicht vorgesehene Kommandos finden.

An dieser Stelle kommt der GlobalTester ins Spiel. Dieses Werkzeug ermöglicht dem Anwender das einfache Erstellen von Skripten, um diese Tests automatisiert durchzuführen und somit auch mit unterschiedlichen Chipkarten zu wiederholen.

Architektur

Im GlobalTester wird auf verschiedene frei-verfügbare Komponenten zurückgegriffen. Die wichtigsten Bestandteile sind:

  • Eclipse: Laufzeitumgebung
  • SmartCard Shell: Teil der Open Smart Card Development Platform
  • Global Platform: Spezifikation der Karten-Objekte
  • Open Card: Kommunikation zwischen Karte und Leser
  • Rhino: JavaScript-Engine
  • JDOM: XML-Parser
  • BouncyCastle: Kryptographische Bibliothek

Artikel