04.02.2013 Aufrufe

Full paper (pdf) - CDC

Full paper (pdf) - CDC

Full paper (pdf) - CDC

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.

Keystore speichern Der KeySharer speichert die abhängigen Keystores intern<br />

zwischen und schreibt sie erst in ihre Dateien zurück, wenn die Methode<br />

store() aufgerufen wird. Der Ausgabestrom, der der store()-Methode übergeben<br />

wird, wird dabei ignoriert. Das Paßwort allerdings wird zum Integritätsschutz<br />

der abhängigen Keystores verwendet.<br />

ks.store(null, password);<br />

5.3.5 Das Key-Escrow-System<br />

Das Key-Escrow-System besteht aus zwei unabhängigen Komponenten. Zum<br />

einen können Schlüsselpaare erzeugt werden, aus denen zum Recovery der private<br />

aus dem öffentlichen Schlüssel berechnet werden kann. Hier kommen die<br />

Verfahren aus Abschnitt 4.3 zum Einsatz. Auf der anderen Seite können private<br />

Schlüssel in verschlüsselten Dateien hinterlegt und so später wiederhergestellt<br />

werden. Der zweite Ansatz ist universell einsetzbar, während der erste nur für<br />

bestimmte Schlüssel geeignet ist.<br />

Wiederherstellbares Schlüsselpaar erzeugen Um ein wiederherstellbares<br />

Schlüsselpaar für RSA oder ElGamal zu erzeugen, werden entsprechende<br />

KeyPairGenerator per JCA angefordert und konfiguriert. Bei der Initialisierung<br />

muß der öffentliche Schlüssel des Recovery-Operators angegeben werden.<br />

Mit diesem werden die Informationen über den privaten Schlüssel dann chiffriert<br />

und in den öffentlichen Schlüssel eingebracht. Es ist nicht notwendig, daß<br />

dieser Schlüssel und das erzeugte Schlüsselpaar dem gleichen Algorithmus angehören.<br />

Außerdem wird die Bitlänge des zu erzeugenden Schlüssels angegeben.<br />

Hierbei ist darauf zu achten, daß sie groß genug ist, um die chiffrierten Daten<br />

unterzubringen (also mindestens so groß wie der Escrow-Schlüssel).<br />

KeyPairGenerator keygen = KeyPairGenerator.getInstance<br />

("RSA", "KeySharingProvider");<br />

keygen.initialize(new EscrowedKeyParameterSpec<br />

(1024, (PublicKey)escrow));<br />

KeyPair pair = keygen.generateKeyPair();<br />

privaten Schlüssel wiederherstellen Für die Schlüsselwiederherstellung<br />

sieht JCA keine Schnittstelle vor. Statt dessen müssen statische Methoden der<br />

entsprechenden KeyPairGenerator-Klassen aufgerufen werden. Dieses wird der<br />

zugehörige öffentliche Schlüssel des gewünschten privaten Schlüssels übergeben<br />

sowie das Escrow- und Recovery-Schlüsselpaar.<br />

PrivateKey recovered = RSAKeyPairGenerator.recover(<br />

(RSAPublicKey)key, (PrivateKey)recovery, (PublicKey)escrow);<br />

privaten Schlüssel im Dateisystem verwahren Die Klasse FileKeyEscrow<br />

speichert die ihr übergebenen Schlüssel als chiffrierte PKCS7-Dateien in einem<br />

Verzeichnis im Dateisystem ab. Die Schlüssel werden dabei durch die Aussteller<br />

und Seriennummern der zugehörigen Zertifikate identifiziert. Sowohl das<br />

70

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!