ZHAW-Logo OAPA-Logo TAT-Logo
zurück  
Diplomarbeit 2003 (DA03): Arbeits-Archiv
 
DA Sna 03/3 - Java Smartcard Unterstutzung unter Linux
Studierende: Jan Keller, kellejan
  Carla Schaffner, schafcar

Betreuer: Andreas Steffen, sna

Die vorliegende Diplomarbeit befasst sich mit der Verwendung von Smartcards im Zusammenhang mit dem popularen und haufig verwendeten RSA Public Key Algorithmus, genauer gesagt mit dessen Funktionen digitale Signatur und Verschlusselung.

Sicherheitstechnisch gesehen sind Smartcards durch die Tatsache, dass der auf der Karte gespeicherte private Schlussel die Smartcard nicht mehr verlassen kann, ein optimales Speichermedium fur schutzenswerte Objekte.

Die Hauptaufgabe dieser Diplomarbeit war, auf der Linux-Plattform ein Cryptographic Service Provider (CSP) fur Java zu realisieren. Dessen wichtigste Funktion besteht darin, durch die Signatur von Daten die Authentizitat des Signierenden und die Integritat der Daten sicherzustellen.

Der Provider konnte nicht in reinem Java entwickelt werden, da das verwendete PKCS#11 API fur den Zugriff auf die Smartcard in C geschrieben ist. Um die Koppelung von C und Java zu realisieren, wurde das JNI (Java Native Interface) von SUN verwendet. Dennoch musste ein wesentlicher Teil in C kodiert werden, um das PKCS#11 API voll auszunutzen. Um zu gewahrleisten, dass der KelschaJLin Provider von jeglichen Java Applikationen verwendet werden kann, wurde dieser nach dem JCA / JCE (Java Cryptography Architecture / Extension) implementiert. Diese Schnittstellen geben Richtlinien zur Realisierung des Providers vor. Fur die C Programmiersprache standen uns die Bibliotheken von OpenSC zur Verfugung.

Der in dieser praktischen Arbeit erstellte KelschaJLin Provider Version 1.0 wurde bislang mit zwei Services ausgestattet: Zum Einen ist es moglich von beliebigen Daten einen MD5 oder SHA-1 Hash zu generieren, welcher anschliessend auf der Smartcard signiert wird und zum Andern konnen alle auf der Smartcard gespeicherten Zertifikate abgerufen werden.

Unter Verwendung eines OpenSC-Releases ab 1. Oktober 2003 ware es, gemass Angaben der Entwickler, auch moglich den Provider KelschaJLin um die Funktion des Entschlusselns zu erweitern.

zurück