Zwei Welten

14.04.1999
Die beiden gängigsten Verfahren für die Ende-zu-Ende-Verschlüsselung von E-Mails entsprechen gegensätzlichen Philosophien, was das Key-Management anbelangt. Anwender stehen vor der Frage: hierarchische Struktur oder Web-of-Trust?

Nur selten wandern elektronische Briefe über die Leitungen eines Virtuellen Privaten Netzes (VPN), wo alle Daten von Haus aus chiffriert sind. In der Regel legt ein Absender seine Post auf einem Mailserver ab, der die Nachrichten unverändert über das Internet an den Mailverteiler des Empfängers weiterreicht. Damit die Korrespondenz dennoch geheim bleibt, muß sie kodiert werden. Man spricht in diesem Fall von einer Objekt- oder Ende-zu-Ende-Verschlüsselung, weil der Absender und der Empfänger für die Sicherheit verantwortlich sind und jedes einzelne der ausgetauschten Dokumente kodieren beziehungsweise dekodieren.

Der Empfänger einer verschlüsselten Nachricht kann nur dann Klartext lesen, wenn er den passenden Schlüssel besitzt. Zum Entziffern braucht er die Zahlenkombination, mit der der Absender chiffriert hat. Nun müssen die Korrespondenzpartner aber diese Geheimnummern nicht persönlich austauschen. Dazu dienen sogenannte "Public-Key-Verfahren", welche die Daten mit einem öffentlichen Schlüssel des Empfängers chiffrieren und nur mit einer privaten Zahlenkombination des Adressaten wieder lesbar machen. Beide Schlüssel, der öffentliche und der private, gehören zusammen und bilden ein Paar. Damit dem Absender die öffentliche Nummer bekannt ist, legt sie der Adressat auf einem Key-Server ab.

Doch Key-Server ist nicht gleich Key-Server. Es gibt unterschiedliche Arten, die Schlüssel in einer verteilten Datenbank der Öffentlichkeit zugänglich zu machen. Zudem erfüllen diese zentralen Stellen noch eine weitere Aufgabe. Sie verwalten elektronische Zertifikate, welche für die Zusammengehörigkeit eines Schlüssels und einer Mailadresse bürgen. Auch die Form solcher Zertifikate ist nicht bei allen Schlüsselbanken dieselbe. Die Unterschiede führen dazu, daß nicht alle E-Mail-Benutzer einander kodierte Nachrichten zu verschicken können. Die Welt der Anwender ist zweigeteilt.

Eine der beiden Hemisphären regiert das Verfahren "Secure Multipurpose Internet Mail Extensions" (S/MIME), die andere "Pretty Good Privacy" (PGP). Bei beiden handelt es sich um mehr oder weniger standardisierte Methoden für alles, was mit E-Mail-Verschlüsselung zusammenhängt. Zu beiden existiert Software, die Nachrichten mit schnellen, symmetrischen Schlüsseltechniken wie "Data Encryption Standard" (DES), TripleDES, "International Data Encryption Algorithm" (IDEA) oder Blowfish kodiert, diese mit Public-Keys austauscht und zudem öffentliche Schlüssel managt und die dazugehörenden Zertifikate verwaltet.

Zahlen als Passierscheine

Viele Programme verwenden zum Schlüsselaustausch das Public-Key-Verfahren RSA, benannt nach seinen Erfindern, Ronald Rivest, Adi Shamir und Leonard Adleman. RSA nutzt die Erkenntnis, daß Rechner lange damit beschäftigt sind, Produkte zweier großer Primzahlen wieder in ihre Faktoren zu zerlegen. Ein Beispiel mit kleinen Zahlen: Das Multiplizieren von 97 und 101 ist mit dem Taschenrechner schnell erledigt und ergibt 9797. Umgekehrt dauert es schon länger, die Teiler von 9797 zu bestimmen, denn ein Hacker muß den Quotienten unter den Zahlen zwischen 1 und Wurzel aus 9797 durch Ausprobieren suchen. Den öffentlichen Schlüssel bilden bei RSA ein Produkt zweier Primzahlen, also 9797, und eine kleinere Zahl, zum Beispiel 17. Die private Zahlenkombination ist damit festgelegt und läßt sich berechnen - jedoch nur, sofern 97 und 101 bekannt sind. Sie lautet 5647. Die Methode ist sehr einfach anzuwenden. Der Absender wendet auf seine Nachricht den RSA-Algorithmus mit dem Input 17 und 9797 an, der Empfänger läßt denselben Algorithmus darüberlaufen, jedoch mit einem anderen Input, nämlich der privaten Zahl 5647 und dem Produkt 9797.

Wie alle Public-Key-Verfahren erlaubt RSA dem Anwender, seine Botschaften elektronisch zu signieren. Dazu ergänzt der Absender die E-Mail im wesentlichen um den privat kodierten Hash-Wert des Textes. Wendet der Empfänger RSA mit dem komplementären Schlüssel darauf an, bekommt er eine Zahl, die er mit dem Hash-Wert der Nachricht vergleichen kann. Falls die Nachricht dem vom Absender geschickten Original entspricht, sind beide Werte gleich.

Öffentliche Schlüsselbretter

Neben RSA sind noch zwei Methoden verbreitet: das nach seinem Begründer Abas El Gamal benannte Verfahren "Elgamal" und der vom amerikanischen "National Institute of Standards and Technology" (NIST) propagierte Standard "Data Signature Standard" (DSS) oder "Data Signature Algorithm" (DSA). Beide Verfahren basieren auf einer 1976 von Whitfield Diffie und Martin Hellman entwickelten Methode und ähneln dem RSA-Algorithmus. Im Gegensatz zu diesem benutzen sie aber unterschiedliche Rechenschritte zum Kodieren und Dekodieren.

Gleichviel, ob ein Absender seine Botschaften chiffriert oder signiert - der Empfänger kann sich nur dann auf die Echtheit der Nachricht verlassen, wenn er weiß, daß der ihm bekannte öffentliche Schlüssel des Senders auch der richtige ist. Es könnte ja sein, daß ihm jemand den Brief samt Schlüssel untergeschoben hat. Falls die Zahlenkom-bination zum Entziffern der Post nicht der Geheimnummer des Autors entspricht, stammt die Mail aus unbekannter Quelle. Um Betrug dieser Art auszuschließen, benutzen Anwender von Public-Key-Algorithmen Key-Server, die zum einen über die öffentlichen Schlüssel von E-Mail-Adressaten Buch führen und zum andern Zertifikate verwalten.

Zertifikate, welche den Besitzer eines Puplic-Key bestätigen, enthalten dessen Namen, seine E-Mail-Adresse und den Schlüssel, außerdem die digitale Signatur einer Instanz oder einer Person. Und hier scheiden sich die Geister. Bei S/MIME stammt die Unterschrift von einer Zertifizierungsstelle, die in einen hierarchischen Baum eingebunden ist, bei PGP kann jeder unterzeichnen.

"Pretty Good Privacy" stammt ursprünglich von Phil Zimmermann, der 1991 die erste Version mit einer "Gnu Public Licence" (GPL) als Freeware im Internet anbot. Später gründete er die Firma PGP und vertrieb die Software kommerziell. Heute liegt eine Mischform vor. Das Unternehmen PGP ist seit mehr als einem Jahr in Händen der Firma Network Associates. Gleichzeitig können Anwender PGP-Programme kostenlos aus dem Web beziehen, weil Network Associates die Source-Codes veröffentlicht und ein Norweger namens Staale Schumacher daraus herunterladbare Software baut. Allerdings verfügt die Freeware-Ausgabe nicht über alle Funktionen. Insbesondere gehen ihr einige Features für den Busineßbereich ab.

Die Freeware-Version und die kommerzielle sind also kompatibel. Allerdings kursieren ältere und neuere Ausgaben mit unterschiedlichen Schlüsselformaten. PGP 2.6.x bezeichnet eine frührere, nach wie vor verbreitete Version, PGP 3 oder PGP 5.x steht für das jüngere Release mit neuen Funktionen. Beispielsweise können Unternehmen mit der 5er-Software festlegen, daß jede kodierte E-Mail zusätzlich mit dem öffentlichen Schlüssel des Administrators bearbeitet wird und bei diesem landet. Damit der Systemverwalter aber nicht heimlich die Post seiner Kollegen studieren kann, haben die Entwickler die Message-Recovery nach dem Mehr-Augen-Prinzip gestaltet. Eine Firmen-Policy kann festlegen, daß kodierte Nachrichten von Mitarbeitern nur durch das Zusammenwirken von zwei, drei oder mehr privaten Schlüsseln zu lesen sind. Diese Funktion ist vielen PGPlern ein Dorn im Auge, vermutlich resultiert sie aus den Beziehungen von Network Associates zu der von McAfee mit gegründeten amerikanischen "Key Recovery Alliance". Mittlerweile hat sich zu den beiden Ausgaben eine dritte hinzugesellt, die zu beiden weitgehend kompatibel ist: "OpenPGP", ein Standard der "Internet Engineering Task Force".

Das Key- und Zertifikatemanagement erfolgt bei PGP nach dem Prinzip eines "Web of Trust". Jeder Benutzer generiert sich zunächst mit der PGP-Software ein Schlüsselpaar und wählt anschließend einen Key-Server, auf dem er die öffentliche Komponente hinterlegt. Weltweit existieren derzeit circa 15 Server, die sich in regelmäßigen Abständen gegenseitig synchronisieren und ihre Einträge abgleichen. Alle Server verfügen somit jeweils über die vollständige Liste aller PGP-User. Falls Anwender A dem Benutzer B zum ersten Mal eine Nachricht schickt, besorgt sich sein PGP-Programm die zum Chiffrieren nötigen Daten automatisch vom nächsten Key-Server. Möchte nun A wissen, wie vertrauenswürdig B ist, das heißt, ob die vom Server gelieferte öffentliche Zahlenkombination zur E-Mail-Adresse von B gehört, wirft er einen Blick auf die vom Server verwalteten Zertifikate. Falls ein dritter Anwender C dem Benutzer B traut, kann er das bekanntgeben, indem er an den Key-Server ein elektronisch unterzeichnetes Signaturpaket schickt, das für die Zusammengehörigkeit von Bs Adresse und Schlüssel bürgt. Je mehr Zertifikate den Benutzer B bestätigen, desto mehr wird A auf die Echtheit vertrauen.

Jeder kennt jeden

Das E-Mail-Verschlüsselungspaket S/MIME kommt von der Firma RSA und kombiniert den Internet-Standard "Multipurpose Internet Mail Extensions" (MIME) mit den Regeln des "Public Key Cryptography Standard" (PKCS), der ebenfalls aus dem Hause RSA hervorgegangen ist. Als Basis von PKCS dient RSA. Die S/MIME-Working-Group der IETF hat das Thema aufgegriffen und die RSA-Version 2 des Verfahrens als Informational RFCs veröffentlicht. Die Entwürfe zu einer Ausgabe 3 liegen seit Anfang 1998 vor. Sie haben neben der RSA-Methode noch andere Public-Key-Verfahren in S/MIME eingeführt und die symmetrische Kodierung mit dem 40 Bit langen Schlüssel des "Data Encryption Standard" (DES) um stärkere Methoden erweitert. Nur die Version 3 erlaubt das Betreiben von sogenannten sicheren Mailing-Listen.

Sowohl S/MIME v2 als auch S/MIME v3 verwalten Public-Keys und Zertifikate auf der Grundlage des ITU-Standards X.500 (ITU = International Telecommunication Union). Die Spezifikation legt die hierarchische Struktur eines Verzeichnisdienstes fest, in der die Key-Server der Zertifizierungsstellen und die Benutzer ihren Platz finden. Ein Anwender beantragt zunächst ein Schlüsselpaar bei der ihm übergeordneten Instanz. Möchte er, daß die Einrichtung seine Vertrauenswürdigkeit durch ein Zertifikat bestätigt, muß er dort persönlich erscheinen und den privaten Schlüssel abholen. Die Zertifizierungsstelle veröffentlicht seine öffentliche Zahlenkombination und garantiert mit einer Signatur, daß die Zahl stimmt und zu dem Benutzer gehört. Daß bei dem Betreiber des Key-Servers alles mit rechten Dingen zugeht, bestätigt eine diesem übergeordnete Instanz mit ihrem Zertifikat. Auf diese Weise entsteht eine Kette von Signaturpaketen, die bei der obersten Stelle, der Wurzel, endet. Diese unterzeichnet ihr Zertifikat selbst.

Weil die Konzepte des Key-Managements bei PGP und S/MIME voneinander abweichen, müssen sich die Anwender für eine der Varianten entscheiden. Denn PGP-Software erkennt die Schlüssel von S/MIME nicht und umgekehrt. Der Nachteil von S/MIME besteht darin, daß die nötige Verzeichnisstruktur nur in Teilen existiert. Alle Benutzer müssen in einem einzigen Baum angeordnet sein, so daß es weltweit nur ein Verzeichnis mit einer Wurzel geben darf. Einrichtungen wie die deutsche Regulierungsbehörde für Telekommunikation und Post bemühen sich, ein einheitliches nationales und schließlich internationales Directory aufzubauen, sind jedoch noch weit von diesem Ziel entfernt. Ein Problem, mit dem PGP zu kämpfen hat, ist die fehlende Garantie der Zertifikate. Das Web-of-Trust-Konzept ist praktisch aber unverbindlich und eignet sich vermutlich nicht für behördliche Zwecke. Außerdem müssen sich die Entwickler künftig darüber Gedanken machen, wie sie die Key-Datenbanken geschickter verteilen, so daß nicht jeder Rechner alle Schlüssel verwalten muß. (kpl)