Full paper (pdf) - CDC

Full paper (pdf) - CDC Full paper (pdf) - CDC

cdc.informatik.tu.darmstadt.de
von cdc.informatik.tu.darmstadt.de Mehr von diesem Publisher
04.02.2013 Aufrufe

Diese beiden Schlüssel bilden dadurch, daß sie in einer gewissen mathematischen Beziehung zueinander stehen, ein Schlüsselpaar. Mit dem öffentlichen Schlüssel eines Empfängers können Nachrichten verschlüsselt werden, die anschließend nur mit dessen privatem Schlüssel wieder entziffert werden können. Ein Public-Key-Kryptoverfahren basiert auf einem schwierigen (das heißt für praktische Zwecke nicht lösbaren) mathematischen Problem, das es unmöglich macht, den privaten Schlüssel aus dem öffentlichen Schlüssel zu berechnen, obwohl die Beziehung der beiden zueinander allgemein bekannt ist (sonst wäre es nicht als Schlüsselpaar zu verwenden). So wird es möglich, den öffentlichen Schlüssel völlig frei zu verteilen, ohne daß dadurch eine Gefahr für den geheimen Schlüssel (der weiterhin verborgen bleiben muß) entsteht. Man kann sich die Verwendung asymmetrischer Kryptographie wie einen Hausbriefkasten vorstellen [CKLW00, S. 8]: Jedermann, der im Besitz des öffentlichen Schlüssels ist, kann einen Brief hineinwerfen. Aber nur der Empfänger als Besitzer des privaten Schlüssels kann den Briefkasten öffnen und den Brief wieder herausnehmen. Neben dem vereinfachten Schlüsselmanagement bieten asymmetrische kryptographische Verfahren auch die Möglichkeit digitaler Signaturen. Hierbei erzeugt der Absender für das zu signierende Dokument mithilfe seines privaten Schlüssels eine Signatur, die fortan von jedem unter Verwendung des öffentlichen Absenderschlüssels überprüft werden kann. Die bekannteste konkrete Umsetzung von Diffies und Hellmans Idee ist das nach seinen Erfindern Ronald Rivest, Fiat Shamir und Leonard Adleman benannte RSA-Verfahren [RSA78], das wir in Abschnitt 3.3 erläutern wollen. Fast überall wo heute asymmetrische Kryptographie zum Einsatz kommt handelt es sich um RSA. 3.2 Modellierung von Key-Sharing Das wichtigste Einsatzgebiet von Secret-Sharing ist die sichere Verwahrung und Verwendung von privaten Schlüsseln eines Public-Key-Kryptosystems. Durch simple Secret-Sharing-Verfahren kann ein solcher Schlüssel sicher auf mehrere Teilhaber aufgeteilt und von diesen verwahrt werden. Soll der Schlüssel allerdings eingesetzt werden (zum Beispiel um eine digitale Signatur zu leisten), so muß er an einem Ort rekonstruiert werden, wodurch er wieder sehr angreifbar wird. Die Idee des Key-Sharings ist es, die Teilhaber in die Lage zu versetzen, die kryptographischen Operationen mit ihren Teilschlüsseln auszuführen, so daß die Ergebnisse anschließend kombiniert werden können. Dabei behalten sie die Kontrolle über ihre Teilschlüssel, die sie nicht offenbaren müssen. Das Shamir-Verfahren und homomorphe Funktionen Eine kryptographische Operation (etwa eine Entschlüsselung oder Signatur) ist eine Funktion g(x, k), deren Ergebnis von einer Eingabe x (beispielsweise der Nachricht) und einem Schlüssel k abhängt. Viele Kryptosysteme haben die Eigenschaft, daß diese Funktion homomorph ist, also g(x, k1 + k2) = g(x, k1) ∗ g(x, k2) 17

(dies muß nicht unbedingt für die gesamte Operation gelten, es reicht, wenn eine wesentliche Komponente davon homomorph ist: Hashfunktionen und Padding kann man hierbei oft außer acht lassen). Diese Homomorphie läßt sich gut mit dem Shamir-Secret-Sharing verknüpfen, denn dort wird der Schlüssel k verteilt als k = � λi,Λki, i∈Λ so daß g(x, k) verteilt ausgewertet werden kann: g(x, k) = g(x, � λi,Λki) = � g(x, λi,Λki) = � g(x, ki) λi,Λ . i∈Λ i∈Λ Dadurch wird es möglich, daß die Teilnehmer jeder für sich g(x, ki) berechnen und das Ergebnis an einen Kombinierer übermitteln, der das Endergebnis g(x, k) bestimmen kann, wenn er genügend Teilergebnisse erhält. Dazu benötigt der Kombinierer keinerlei geheime Informationen, lediglich die Identität der Teilnehmer (ihre Nummern i). Wir weisen darauf hin, daß wir in dieser Darstellung unterschlagen haben, daß die Berechnungen des Shamir-Verfahrens in einer primen Restklasse zu erfolgen haben, was zu einigen technischen Problem führt, auf die wir später eingehen werden. Die bekanntesten Public-Key-Verfahren setzen auf dem RSA- (siehe Abschnitt 3.3) oder dem ElGamal-Verfahren (siehe Abschnitt 3.7) auf. Beide Verfahren erfüllen die geschilderte Homomorphie-Eigenschaft und eignen sich somit für Key-Sharing. Ein Key-Sharing-Verfahren auf Basis eines � � t n -Secret-Sharing-Verfahrens wird auch als Threshold Cryptography bezeichnet. Ablauf eines Key-Sharing In der Literatur lassen sich verschiedene Modellierungen der Vorgänge und Teilnehmer eines Key-Sharing finden. In dieser Arbeit gehen wir von einer Situation aus, in der • es einen Geber gibt, dem alle Teilnehmer vertrauen und dessen Aufgabe es ist, einen zuvor von ihm selbst oder außerhalb des Modells erzeugten privaten Schlüssel zu verteilen, • zur Erzeugung der Teilschlüssel ein � t n i∈Λ � -Verfahren eingesetzt wird, • der Geber mit niemandem während der Berechnung der Teilschlüssel kommuniziert, • der Geber die Teilschlüssel auf einem abhörsicheren Kanal an die Teilnehmer übermittelt, • der Geber sich nach der erfolgten Übermittlung der Teilschlüssel zurückzieht, • die Teilnehmer ihre Teilschlüssel so verwalten, als handelte es sich dabei um ihre privaten Schlüssel, 18

Diese beiden Schlüssel bilden dadurch, daß sie in einer gewissen mathematischen<br />

Beziehung zueinander stehen, ein Schlüsselpaar. Mit dem öffentlichen Schlüssel<br />

eines Empfängers können Nachrichten verschlüsselt werden, die anschließend<br />

nur mit dessen privatem Schlüssel wieder entziffert werden können.<br />

Ein Public-Key-Kryptoverfahren basiert auf einem schwierigen (das heißt<br />

für praktische Zwecke nicht lösbaren) mathematischen Problem, das es unmöglich<br />

macht, den privaten Schlüssel aus dem öffentlichen Schlüssel zu berechnen, obwohl<br />

die Beziehung der beiden zueinander allgemein bekannt ist (sonst wäre<br />

es nicht als Schlüsselpaar zu verwenden). So wird es möglich, den öffentlichen<br />

Schlüssel völlig frei zu verteilen, ohne daß dadurch eine Gefahr für den geheimen<br />

Schlüssel (der weiterhin verborgen bleiben muß) entsteht.<br />

Man kann sich die Verwendung asymmetrischer Kryptographie wie einen<br />

Hausbriefkasten vorstellen [CKLW00, S. 8]: Jedermann, der im Besitz des öffentlichen<br />

Schlüssels ist, kann einen Brief hineinwerfen. Aber nur der Empfänger<br />

als Besitzer des privaten Schlüssels kann den Briefkasten öffnen und den Brief<br />

wieder herausnehmen.<br />

Neben dem vereinfachten Schlüsselmanagement bieten asymmetrische kryptographische<br />

Verfahren auch die Möglichkeit digitaler Signaturen. Hierbei erzeugt<br />

der Absender für das zu signierende Dokument mithilfe seines privaten<br />

Schlüssels eine Signatur, die fortan von jedem unter Verwendung des öffentlichen<br />

Absenderschlüssels überprüft werden kann.<br />

Die bekannteste konkrete Umsetzung von Diffies und Hellmans Idee ist das<br />

nach seinen Erfindern Ronald Rivest, Fiat Shamir und Leonard Adleman benannte<br />

RSA-Verfahren [RSA78], das wir in Abschnitt 3.3 erläutern wollen. Fast<br />

überall wo heute asymmetrische Kryptographie zum Einsatz kommt handelt es<br />

sich um RSA.<br />

3.2 Modellierung von Key-Sharing<br />

Das wichtigste Einsatzgebiet von Secret-Sharing ist die sichere Verwahrung und<br />

Verwendung von privaten Schlüsseln eines Public-Key-Kryptosystems. Durch<br />

simple Secret-Sharing-Verfahren kann ein solcher Schlüssel sicher auf mehrere<br />

Teilhaber aufgeteilt und von diesen verwahrt werden. Soll der Schlüssel allerdings<br />

eingesetzt werden (zum Beispiel um eine digitale Signatur zu leisten), so<br />

muß er an einem Ort rekonstruiert werden, wodurch er wieder sehr angreifbar<br />

wird. Die Idee des Key-Sharings ist es, die Teilhaber in die Lage zu versetzen,<br />

die kryptographischen Operationen mit ihren Teilschlüsseln auszuführen, so daß<br />

die Ergebnisse anschließend kombiniert werden können. Dabei behalten sie die<br />

Kontrolle über ihre Teilschlüssel, die sie nicht offenbaren müssen.<br />

Das Shamir-Verfahren und homomorphe Funktionen Eine kryptographische<br />

Operation (etwa eine Entschlüsselung oder Signatur) ist eine Funktion<br />

g(x, k), deren Ergebnis von einer Eingabe x (beispielsweise der Nachricht) und<br />

einem Schlüssel k abhängt. Viele Kryptosysteme haben die Eigenschaft, daß<br />

diese Funktion homomorph ist, also<br />

g(x, k1 + k2) = g(x, k1) ∗ g(x, k2)<br />

17

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!