Name gleich Schlüssel Möglichkeiten und Grenzen der identitätsbasierten Verschlüsselung

Ordnungsmerkmale

erschienen in: <kes> 2007#3, Seite 27

Rubrik: Management und Wissen

Schlagwort: Identitätsbasierte Kryptographie

Zusammenfassung: Öffentliche Schlüssel sind normalerweise unhandliche Bytefolgen, die sich niemand merken kann – auch ihr Besitzer ist nicht erkennbar. Anders ist das bei identitätsbasierter Verschlüsselung: Hier ist der öffentliche Schlüssel mit dem Namen des Inhabers identisch. Eine Alternative zur Public-Key-Infrastruktur?

Autor: Von Klaus Schmeh, Gelsenkirchen

Identitätsbasierte Kryptographie ist an sich gar keine neue Idee: Bereits 1996 tauchte in Bruce Schneiers (überarbeitetem) Standardwerk Applied Cryptography ein Kapitel über "auf Identität basierende Public-Key-Kryptographie" auf – wenn auch mit dem Hinweis, dass diese noch nicht praxisreif sei. Der Grundgedanke identitätsbasierter Verfahren ist die Identität des öffentlichen Schlüssels einer Person mit ihrem Namen (oder einer Kennung wie der E-Mail-Adresse).

Leider lässt sich das Prinzip "Name gleich öffentlicher Schlüssel" nicht ohne Weiteres mit der Funktionsweise der asymmetrischen Kryptographie vereinbaren: Asymmetrische Verfahren wie RSA oder Diffie-Hellman sehen nun einmal vor, dass sich der öffentliche Schlüssel durch eine Einwegfunktion aus dem (mehr oder minder frei wählbaren) geheimen Schlüssel ableitet. Ein frei gewählter öffentlicher Schlüssel würde voraussetzen, dass man die Einwegfunktion umdrehen kann – ein Widerspruch in sich.

Um dieses Dilemma zu lösen, sehen identitätsbasierte Kryptoverfahren den Einsatz eines neutralen Dritten vor – eines Servers. Dieser besitzt einen öffentlichen Krypto-Schlüssel im herkömmlichen Sinne, während der Empfänger seinen Namen als öffentlichen Schlüssel verwenden kann. Verschlüsseln oder Verifizieren einer digitalen Signatur erfolgt stets mit einer Kombination dieser beiden öffentlichen Schlüssel – Signaturerstellung und Entschlüsselung erfolgen mit einem geheimen Schlüssel, den der Server berechnet und dem Anwender zur Verfügung stellt.

[Illustration]
Bei der identitätsbasierten Verschlüsselung hilft ein Server bei der sicheren Kommunikation und ermöglicht den Einsatz eines Namens oder einer Kennung (E-Mail-Adresse o. Ä.) als öffentlichen Schlüssel.

Theorie und Praxis

Bis vor einigen Jahren existierte die identitätsbasierte Kryptographie nur als theoretisches Konstrukt; alle bekannten Verfahren waren entweder unpraktikabel oder unsicher. Dies änderte sich, als 2001 die beiden Kryptologen Dan Boneh und Matthew Franklin einen neuen Algorithmus veröffentlichten, der sich als praxistauglich erwies [1]. Dieser Algorithmus arbeitet mit einem Diffie-Hellman-Verfahren auf Basis elliptischer Kurven; die mathematischen Grundzüge sind im Text-Kasten dargestellt.

Das Boneh-Franklin-Verfahren hat zwar den Mangel, dass es nur zum Verschlüsseln geeignet ist, nicht jedoch für digitale Signaturen. Dennoch erregte es auch über Fachkreise hinaus ein gewisses Aufsehen. Wenn außerhalb der Krypto-Szene von identitätsbasierter Verschlüsselung die Rede ist, dann meint man derzeit fast immer Boneh-Franklin.

Dan Boneh hat 2002 zusammen mit einigen Mitstreitern die Firma Voltage Security gegründet, die sich seitdem um die Vermarktung einiger Produkte auf Basis des neuen Verfahrens kümmert. Das Unternehmen versucht, die identitätsbasierte Verschlüsselung als Alternative zur Public-Key-Infrastruktur (PKI) zu lancieren, die bekanntlich recht komplex ist und sich daher seit Jahren eher nur langsam durchsetzt. Die Voltage-Web-Seite nennt einige namhafte Kunden (darunter mehrere US-Banken), jedoch keine Umsätze...

----------Anfang Textkasten----------

Die Mathematik der Identity-Based Encryption

Das Boneh-Franklin-Verfahren zur identitätsbasierten Verschlüsselung basiert auf einer Diffie-Hellman-Variante, die mit elliptischen Kurven realisiert wird (für eine verständliche Einführung siehe etwa [3]).

Zur Erinnerung: (Klassisches) Diffie-Hellman sieht die Verwendung einer Primzahl p sowie einer natürlichen Zahl g vor (öffentlich verfügbarer Parameter). Zu einem geheimen Schlüssel x lautet der zugehörige öffentliche Schlüssel gx (mod p) – Details erklärt beispielsweise [2].

Boneh-Franklin sieht neben Sender und Empfänger einen neutralen Server vor (vgl. Abb.), der an der verschlüsselten Übertragung einer Nachricht beteiligt ist. Der Server hat einen geheimen Schlüssel x sowie den öffentlichen Schlüssel gx (mod p). Der öffentliche Schlüssel des Empfängers ist dessen Name, der in eine Zahl i umgewandelt wird. Zusätzlich benötigt man eine Funktion f mit der Eigenschaft f(g1x·g2y)=f(g1y·g2x) (mod p) – ein so genanntes Pairing.

Die Verschlüsselung läuft nun wie folgt ab: Der Absender wählt einen zufälligen Wert y und berechnet f(gx·iy) (mod p) und verwendet das Ergebnis als Sitzungsschlüssel k für ein symmetrisches Verfahren (z. B. AES).

Der Empfänger benötigt zur Entschlüsselung vom Absender den Wert gy (mod p) sowie einen geheimen Schlüssel, den ihm der Server zur Verfügung stellt. Dieser geheime Schlüssel ist ix (mod p). Mit diesem kann der Empfänger den Sitzungsschlüssel wie folgt berechnen:k = f(gy·ix) (mod p). Mit k lässt sich die empfangene Nachricht entschlüsseln; die Eigenschaften eines Pairings stellen sicher, dass diese Methode funktioniert.

Leider funktioniert der beschriebene Ablauf in der Praxis nicht, da bisher kein Pairing für (klassisches) Diffie-Hellman bekannt ist. Es gibt jedoch zwei Pairings für Diffie-Hellman auf Basis elliptischer Kurven (von Weil und Tate); das Boneh-Franklin-Verfahren nutzt das Weil-Pairing. Allerdings ist aufgrund der komplexeren Mathematik elliptischer Kurven der Ablauf für Nicht-Kryptologen kaum nachzuvollziehen.

----------Ende Textkasten----------

ID statt PKI?

Die wesentlichen Vorteile der identitätsbasierten Verschlüsselung gegenüber einer PKI liegen auf der Hand: Da der öffentliche Schlüssel mit dem Namen identisch ist, muss kein Anwender mehr auf einem oder mehreren Key-Servern nach dem Schlüssel seiner Kommunikationspartner suchen. Digitale Zertifikate, die im Mittelpunkt einer PKI stehen, werden nicht benötigt. Dementsprechend entfallen auch Prozesse zur Zertifikats-Generierung, -Sperrung und -Prüfung – Zertifizierungsanträge und Sperrlisten gehören der Vergangenheit an. Der Empfänger einer Nachricht muss noch nicht einmal einen geheimen Schlüssel besitzen, wenn diese abgeschickt wird – es reicht, wenn ihm der beteiligte Server nachträglich seinen geheimen Schlüssel generiert.

Die identitätsbasierte Verschlüsselung ist damit nicht zuletzt aus Sicht des Identity-Management (IdM) eine sinnvolle Sache und trägt dazu bei, dieses um eine wichtige Sicherheitsfunktion zu erweitern, ohne unnötigen Aufwand zu produzieren. Das ist nicht zuletzt deshalb von Bedeutung, weil viele PKI-Projekte der Anfangszeit durch eine mangelnde Integration in das IdM – und damit verbunden eine umständliche PKI-Registrierung und Zertifikat-Generierung – gescheitert sind.

Spielerei oder Alternative?

Dem stehen allerdings auch einige Nachteile der identitätsbasierten Verschlüsselung gegenüber. Einige davon sind eher praktischer Natur: So gibt es bislang nur einen kommerziellen Anbieter und dessen Produkt- und Partner-Portfolio ist noch recht dünn. Es gibt zwar Lösungen für die identitätsbasierte E-Mail-und Festplattenverschlüsselung, doch wer ein VPN oder ein Web-Portal identitätsbasiert absichern will, findet noch kein geeignetes Produkt.

Allerdings könnte bei einer solchen Client-Server-Absicherung die identitätsbasierte Verschlüsselung ihre Vorteile ohnehin kaum ausspielen, da hier der Umgang mit digitalen Zertifikaten vergleichsweise simpel ist. Weit schlimmer: Digitale Signaturen unterstützt die Voltage-Lösung überhaupt nicht, da das Boneh-Franklin-Verfahren nicht dafür geeignet ist – für eine PKI ist "beides in einem" jedoch kein Problem.

Oft wird auch die Rolle des Servers als kritischer Punkt genannt: Dieser generiert für alle Beteiligten die geheimen Schlüssel, weshalb er eine äußerst sicherheitskritische Rolle spielt (noch kritischer als die einer CA in einer PKI, da diese nicht notwendigerweise Zugriff auf geheime Anwenderschlüssel hat).

Es ist kaum anzunehmen, dass ein Unternehmen den Server eines anderen Unternehmens für die geheimen Schlüssel der eigenen Mitarbeiter nutzen würde – da ein übergeordneter Server ebenfalls nicht zu erwarten ist, müsste jedes Unternehmen seinen eigenen ID-Krypto-Server betreiben. Die dadurch zu erwartende Vielzahl von Servern mit herkömmlichem öffentlichen Schlüssel könnte ebenfalls einen Teil der Vorteile identitätsbasierter Verschlüsselung wieder zunichte machen.

Fazit

Identitätsbasierte Verschlüsselung ist zweifellos eine interessante Idee. Es ist jedoch kaum zu erwarten, dass derartige Verfahren in den nächsten Jahren den Einsatz von Public-Key-Infrastrukturen zurückdrängen werden. Dazu ist der Nutzen der ID-based Cryptology zu eingeschränkt – auch aus Sicht des sich derzeit ausbreitenden Identity-Managements.

Klaus Schmeh ist Krypto-Buchautor [2] und Produktmanager bei cv cryptovision ([externer Link] www.cryptovision.com).

Literatur

[1]
Dan Boneh, Matthew Franklin, Identity-Based Encryption from the Weil Pairing, Lecture Notes in Computer Science, 2001, [externer Link] http://crapto.stanford.edu/~dabo/papers/ibe.pdf
[2]
Klaus Schmeh, Kryptografie, Verfahren, Protokolle, Infrastrukturen, Dpunkt-Verlag, 2007, ISBN 3-89864-435-9
[3]
Martin Gagné, Identity-Based Encryption, A Survey, Cryptobytes 1/2003, [externer Link] www.ras.com/rsalabs/cryptobytes