Identity-based public key cryptography based on pairings: Difference between revisions
Line 74: | Line 74: | ||
* IBE bietet einige interessante Anwendungen, welche in gewissem Sinne als Nebenprodukt abfallen. So ist es z.B. denkbar, dass der Empfänger in die ID, welche er zum Verschlüsseln der Nachricht benutzt, zusätzliche Informationen Encodiert. Denkbar wäre hier z.B. ein Expiration-Datum der Nachricht. |
* IBE bietet einige interessante Anwendungen, welche in gewissem Sinne als Nebenprodukt abfallen. So ist es z.B. denkbar, dass der Empfänger in die ID, welche er zum Verschlüsseln der Nachricht benutzt, zusätzliche Informationen Encodiert. Denkbar wäre hier z.B. ein Expiration-Datum der Nachricht. |
||
=== Nachteile === |
=== Nachteile === |
Revision as of 16:59, 5 February 2010
Einleitung
Identity-based Public Key Kryptographie ist eine Form der wohlbekannten Publick Key Kryptographie. Hierbei besteht der öffentliche Schlüssel aus einer eindeutigen ID, welche einem potentiellen Empfänger zugeordnet wird bzw. werden kann (z.B. seine E-Mailadresse).
Erstmals vorgeschlagen von Adi Shamir (1984) bietet ID basierte Kryptographie die Möglichkeit, Nachrichten zu verschlüsseln, zu signieren etc., ohne als Sender A die Authentizität des zum Empfänger B gehörenden öffentlichen Schlüssels sicherstellen zu müssen. Handelt es sich etwa bei der ID um die E-Mailadresse des gewünschten Empfängers, so ist klar, dass dieser öffentliche Schlüssel zum entsprechenden Empfänger gehört.
Parings stellen spezielle Formallismen dar, mithilfe derer Protokolle formuliert werden können, welche die Idee der Identitätsbasierten Kryptografie implementieren.
Im IEEE Draft P1363.3 werden explizite Protokolle für verschiedene Anwendungen ID basierter Kryptographie basierend auf Pairings vorgestellt (dazu gehören vor allem: Verschlüsselung (IBE), Key Encapsulation und Signierung).
Pairings
Definition
Seien Gruppen der primen Ordnung . Ein Pairing ist eine -bilineare Abbildung zwischen -Moduln für die die folgenden zwei Realismus-Bedingungen gelten:
1. ist nicht degeneriert (d.h. ).
2. ist effizient berechnenbar.
Hintergrund
Die Motivation in der Benutzung solcher Pairings liegt im Wesentlichen in der Bilinear-Diffie-Hellman Assumption (BDH). Diese besagt, dass es für ein Pairing in obigem Sinne und gegebenen Werten für und nur äußerst schwer (d.h. nicht effizient) möglich ist, den Wert zu berechnen.
Diese Eigenschaft ist essentiell für IBE Protokolle, welche solche Pairings benutzen, da die Sicherheits solcher Protokolle darauf zurückgeführt werden kann.
Beispiel
Eine konkrete Anwendung von IBE basierend auf Pairings ist die Elliptic Curve Cryptgraphy (ECC).
IBE
Szenario
In der Identity Based Encryption (IBE) betrachtet man das Szenario, indem ein Sender A einem Empfänger B eine verschlüsselte Nachticht zukommen lassen möchte. Des Weiteren besitze der Empfänger B eine eindeutige Identifikation (z.B. seine E-Mailadresse). Als dritter Teilnehmer einer IBE wird eine Trusted Third Party benötigt, welche häufig als Private Key Generator (PKG) bezeichnet wird.
IBE-Protokollaufbau und Ablauf
Ein IBE Protokoll hat zumeist vier Basisalgorithmen. In der ersten Phase (Setup) initialisiert sich die PKG und erzeugt zum einen eine Menge öffentlicher Parameter und einen Master Key (den sog. Secret Server Key). Mithilfe dieser Daten und der kann ein Sender A nun eine Nachricht zu einem Kryptotext verschlüsseln (Encrypt) und an B senden. Damit der Empfänger diese Nachricht lesen kann, benötigt er einen privaten Schlüssel . Diesen erhält er vom PKG, welche den privaten Schlüssel auf der Basis von und berechnet (diese Phase wird als Extract bezeichnet) und anschließend über einen sicheren Kanal an B sendet. Schließlich kann der Empfänger B den durch A übermittelten Kryptotext mithilfe seines privaten Schlüssels entschlüsseln (Decrypt).
Im folgenden noch einmal die vier relevanten Algorithmen im Überblick.
1. Setup
- Wird vom PKG ausgeführt.
- Initialisiert den PKG (Bereitstellung öffentlicher Parameter und Generierung des zugehörigen privaten Secret Server Key).
- Output: P (öffentliche Parameter), s (Secret Server Key).
2. Extract
- Wird vom PKG ausgeführt.
- Wird ausgeführt, sobald Empfänger B seinen privaten Schlüssel anfordert.
- Input: P, s, ID.
- Output: (zur Identität ID gehöriger privater Schlüssel).
3. Encrypt
- Wird vom Sender A ausgeführt.
- Input: P, ID, m (Klartext).
- Output: c (Kryptotext - verschlüselte Nachricht).
4. Decrypt
- Wird vom Empfänger B ausgeführt.
- Input: P, ID, c, .
- Output: m.
Beispiel: ein IBE Protokoll (BB1-IBE)
Vor- und Nachteile
Vorteile
- IBE benötigt keine Public-Key-Distribution Infrastruktur, denn der öffentliche Schlüssel in Form der ID ist dem Sender in der Regel wohlbekannt. Zudem ist die Zugehörigkeit der ID zum Empfänger per Annahme eindeutig und nicht fälschbar (etwa die E-Mailadresse).
- IBE benötigt (wie jede andere PKI) keinen Schlüsselaustausch (dies ist natürlich ein Vorteil jedes Public Key Verfahrens).
- IBE bietet einige interessante Anwendungen, welche in gewissem Sinne als Nebenprodukt abfallen. So ist es z.B. denkbar, dass der Empfänger in die ID, welche er zum Verschlüsseln der Nachricht benutzt, zusätzliche Informationen Encodiert. Denkbar wäre hier z.B. ein Expiration-Datum der Nachricht.
Nachteile
- Natürlich hat der PKG sämtliche Möglichkeiten, Nachrichten unauthorisiert zu entschlüsseln, zu verändern etc. Dementsprechend muss es sich beim PKG um eine höchst vertrauenswürdige Instanz handeln.
- Zum Austausch des privaten Schlüssels zwischen PKG und Empfänger in der Extract-Phase wird ein sicherer Kanal (z.B. SSL verschlüsselt) benötigt.