Full paper (pdf) - CDC
Full paper (pdf) - CDC Full paper (pdf) - CDC
5.2.3 Paket keyshare.keystore Das Paket keyshare.keystore enthält zwei KeyStore-Implementierungen, die von Secret- und Key-Sharing Gebrauch machen. Der ShamirStore kapselt einen anderen Software-Keystore (beispielsweise den JKS von Sun) und verteilt ihn zur Speicherung in mehrere Dateien nach dem Shamir-Verfahren. Der Key- Sharer verteilt die einzelnen Schlüssel, die in ihn gesteckt werden, mit jeweils dafür geeigneten Key-Sharing-Verfahren auf mehrere abhängige Keystores. Diese Keystores können dann zum Erstellen von Teilsignaturen und -entschlüsselungen genutzt werden. Der Shamir-Store verfügt über eine kleine graphische Benutzerschnittstelle, die sich im Unterpaket keyshare.keystore.gui befindet. Beide Keystores werden über XML-Dateien konfiguriert, deren Zugriffspfade im Unterpaket keyshare.keystore.xml definiert sind. KeyStoreBase diese abstrakte Klasse stellt Default-Implementierungen für die Methoden eines JCA-KeyStoreSpi bereit und dient damit zur Vermeidung von Code-Duplikaten. Sie bedient sich dabei einer gekapselten KeyStore- Instanz aus einem anderen Provider. ShamirStore diese von KeyStoreBase abgeleitete Klasse implementiert den ShamirStore-Keystore. KeySharer diese von KeyStoreBase abgeleitete Klasse implementiert den KeySharer- Keystore. Unterpaket keyshare.keystore.xml Die Keystores werden über XML-Dateien konfiguriert, in denen beispielsweise angegeben wird auf wieviele und welche Dateien der Keystore seinen Inhalt verteilen soll (eine Beschreibung der möglichen Einstellungen findet sich in Abschnitt 5.4). Diese Dateien werden mit Hilfe des Castor-XML-Frameworks ausgewertet. Dieses stellt ein Mapping zwischen XML-Tags und Java-Klassen bereit. Die entsprechenden Klassen liegen im Paket keyshare.keystore.xml: ShamirStore diese Klasse entspricht dem -XML-Tag, welches das Wurzel-Element für die Konfigurationsdatei des ShamirStore darstellt. Es besitzt einige Attribute und kann geschachtelte -Tags aufnehmen. KeySharer diese Klasse entspricht dem -XML-Tag, welches das Wurzel-Element für die Konfigurationsdatei des KeySharers darstellt. Es besitzt einige Attribute und kann geschachtelte -Tags aufnehmen. Share diese Klasse entspricht dem -Tag, welches in beiden Konfigurationsdateien verwendet wird, um den Anteilen ihre Dateien zuzuordnen. Konfiguration nur über Dateien Die beiden KeyStores können nur über die XML-Dateien konfiguriert werden. Dies geschieht durch Einlesen der Dateien während der Methode KeyStore.load(InputStream, char[]). Für eine 57
Abbildung 5.4: Klassen aus dem Paket keyshare.keystore 58
- Seite 7 und 8: öffentlichen Schlüssel eindeutig
- Seite 9 und 10: 2.1 Einfaches Secret-Sharing Eine s
- Seite 11 und 12: � � t n -Secret-Sharing Die mei
- Seite 13 und 14: Logarithmus log g h bezüglich des
- Seite 15 und 16: • Ein Secret-Sharing-Verfahren he
- Seite 17 und 18: Kapitel 3 Key-Sharing Die Sicherhei
- Seite 19 und 20: (dies muß nicht unbedingt für die
- Seite 21 und 22: Primzahlen, die aber nicht bekannt
- Seite 23 und 24: Den Teilnehmern übermittelt er die
- Seite 25 und 26: Auf diese Weise ergibt sich eine Za
- Seite 27 und 28: Verfahrens (ein beweisbar sicheres
- Seite 29 und 30: Schlüsselverwendung Es stellt sich
- Seite 31 und 32: Schlüsselerzeugung Um ein ElGamal-
- Seite 33 und 34: Die geheimen Teilexponenten ai für
- Seite 35 und 36: SSL-Webserver [WMB99] und das COCA-
- Seite 37 und 38: verwenden kann. Andererseits ergibt
- Seite 39 und 40: mit Key-Recovery beauftragten Insti
- Seite 41 und 42: SETUP Eine (reguäre) SETUP ist ein
- Seite 43 und 44: heimgehalten werden, da die Chiffre
- Seite 45 und 46: Kapitel 5 Implementierung Der Worte
- Seite 47 und 48: KeyStore der KeyStore eignet sich z
- Seite 49 und 50: entsprechende Schnittstelle für Di
- Seite 51 und 52: ialisieren lassen und die Methode z
- Seite 53 und 54: Abbildung 5.2: Key-Sharing-Basiskla
- Seite 55 und 56: ShoupRSAPrivateKeyShare diese Klass
- Seite 57: Provider dieser JCA-Provider meldet
- Seite 61 und 62: Abbildung 5.6: Dialog zum Einlesen
- Seite 63 und 64: UndecryptableKeyException diese Aus
- Seite 65 und 66: ei der Fehlervermeidung, -suche und
- Seite 67 und 68: (SecretShare[] shares, String integ
- Seite 69 und 70: Keystore laden Der ShamirStore setz
- Seite 71 und 72: Keystore speichern Der KeySharer sp
- Seite 73 und 74: wird die Datei filename in shares D
- Seite 75 und 76: Dateien verschlüsseln Der KeyShare
- Seite 77 und 78: Kapitel 6 Ausblick Wir haben mit di
- Seite 79 und 80: X.509 ITU Empfehlung X.509, auch IS
- Seite 81 und 82: ElGamal a privater Exponent, wird z
- Seite 88 und 89: Anhang D Benutzerhandbuch Kommandoz
- Seite 90 und 91: Anhang E Benutzerhandbuch Programmi
- Seite 92 und 93: E.4 Der KeySharer-KeyStore Konfigur
- Seite 94 und 95: PKI, 77 Polynominterpolation, 10 Pr
- Seite 96: [FGPY97] Y. Frankel, P. Gemmell, P.
Abbildung 5.4: Klassen aus dem Paket keyshare.keystore<br />
58