Full paper (pdf) - CDC
Full paper (pdf) - CDC
Full paper (pdf) - CDC
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