01.01.2013 Aufrufe

Implementierung des Austausches kryptographischer Komponenten ...

Implementierung des Austausches kryptographischer Komponenten ...

Implementierung des Austausches kryptographischer Komponenten ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Austausch der kryptographischen <strong>Komponenten</strong> 41<br />

Wenn der Algorithmus, der zur Entfernung aus der PSE bestimmt ist, spezifiziert ist, werden als erste<br />

alle JCA Providers ermittelt, die diesen Algorithmus enthalten. Später werden diese Providers aus dem<br />

System entfernt.<br />

Anschließend wird versucht, Trust Center-Zertifikat und (oder) Benutzerzertifikat zum angegebenen<br />

Algorithmus zu löschen, wenn ein entsprechender Eintrag in UpdateComponent gesetzt ist.<br />

Nachdem alle spezifizierten <strong>Komponenten</strong> entfernt sind, wird das Installationsteil von<br />

UpdateComponent betrachtet, falls dieses dort vorhanden ist. Falls ein neuer Algorithmus installiert<br />

werden muss, wird das angegebene Link (URL) ausgewertet. In Abhängigkeit davon, welches<br />

Protokoll in dem Link spezifiziert wurde, wird entsprechender Mechanismus zum Runterladen<br />

benutzt. Zur Zeit sind zwei Möglichkeit implementiert: HTTP und FTP Protokolle. Die<br />

runtergeladene Datei enthält eine DER – kodierte CodeUpdateComponent ASN.1 Struktur.<br />

In Falle einer Java basierten Plattform werden in runtergeladener Komponente Code für die neuen<br />

JCA Providers enthalten. Dieser Code wird in Datei rausgeschrieben und die neuen Providers werden<br />

dann beim JCA Framework angemeldet.<br />

Wenn UpdateComponent das neue Trust Center Zertifikat für einen Signaturalgorithmus enthält, wird<br />

es in der Software PSE installiert.<br />

Darüber hinaus kann in UpdateComponent eine Anforderung spezifiziert werden, ein neues<br />

Schlüsselpaar für ein Algorithmus, wie z.B. RSA oder DSA zu erzeugen. Der öffentliche Schlüssel<br />

bleibt dann beim Client und der Privatschlüssel wird mit UpdateComponentResponse 27 an das Trust<br />

Center zurückgeschickt. Die Bedingung dabei ist, dass UpdateComponentResponse mit multiplen<br />

Signaturen geschützt werden muss. Die Signaturalgorithmen, die dafür geeignet sind, werden hier<br />

aufgrund der vorhandenen Daten ermittelt.<br />

5.4 Die Klasse ICCUpdate.<br />

Diese Klasse ist für die Durchführung <strong>des</strong> <strong>Komponenten</strong>austausches auf der Smart Card<br />

verantwortlich. Eine Instanz dieser Klasse wird nur dann in der Klasse Update erzeugt, wenn die<br />

ICCRelevant Teil in UpdateComponent gesetzt ist. Bei einer UpdateComponent, die für eine spezielle<br />

Smart Card bestimmt ist, wird auch überprüft, ob die Identität der Smart Card, die ein Client besitzt,<br />

mit der Identität in UpdateComponent übereinstimmt. Wenn diese Bedingungen erfüllt sind, wird eine<br />

Instanz der Klasse ICCUpdate erzeugt und die aktuelle Instanz der Klasse RegistryImpl und<br />

das Link (URL) an diese Instanz von ICCUpdate übergeben. Dieses Link ist nichts anderes als Inhalt<br />

der ICCRelevant ASN.1 Struktur.<br />

Als Erstes wird die neue Kartenkomponente aus dem Internet runtergeladen. Auch hier sind zwei<br />

Wege möglich: über HTTP oder FTP Protokolle. Inhalt der runtergeladenen Datei besteht aus DER -<br />

kodierter ASN.1- Struktur CardUpdateComponent 28 . Die dort enthaltenen Signaturen werden<br />

verifiziert. Wenn die Signaturen korrekt sind, werden die Informationen aus der<br />

CardUpdateComponent – Struktur an der Instanz der Klasse CardUpdateGemPlus übergeben.<br />

Diese Klasse implementiert den eigentlichen Austausch auf der speziellen Karte (siehe den nächsten<br />

Abschnitt).<br />

27 Siehe Abschnitt 2.1<br />

28 Siehe Abschnitt 2.1

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!