Schlüsselverwaltung bei Public-Key-Kryptographie
veröffentlicht:
zuletzt aktualisiert:
Datenübertragung per e-Mail kann prinzipbedingt wie eine Postkarte quasi von jedermann gelesen werden, auch im Falle einer irrtümlichen Zustellung an falsche Zieladressen. Möchte man zum Schutz seiner wertvollen Daten verschlüsselte Mails austauschen, muß man sich bei den modernen Verfahren mit öffentlichen Schlüsseln davon überzeugen, daß dieser Schlüssel wirklich dem vorgeblichen Absender gehört.
Dieser Artikel beschreibt die wesentlichen organisatorischen Maßnahmen und Möglichkeiten der Schlüsselauthentisierung.
Public-Key-Verfahren dienen zur sicheren Verschlüsselung und Signierung von Daten bei der Übertragung von einem Sender zu einem oder mehreren Empfängern. Hierbei handelt es sich um sogenannte asymmetrische Verfahren, bei der zum Verschlüsseln und Entschlüsseln der Daten verschiedene Schlüssel zum Einsatz kommen.
Symmetrische Verfahren
Bei den symmetrischen Verfahren kommt beim Verschlüsseln und Entschlüsseln derselbe Schlüssel zum Einsatz. Damit ein Empfänger die verschlüsselten Daten des Senders dechiffrieren kann, muß zuvor der Schlüssel auf einem sicheren Wege zum Empfänger übermittelt werden. Sind Botschaften verschlüsselt an mehrere Empfänger zu schicken, so müssen die Schlüssel vorher zu allen vorgesehenen Empfängern gelangen. Bei der Übertragung des Schlüssels ist sicherzustellen, daß dieser dabei weder verfälscht oder gar ausgetauscht werden darf, und daß die Übermittlung nicht belauscht werden kann. Beide Forderungen sind nur schwer zu erfüllen; wenn ein sicherer Kanal für die Übertragung der Schlüssel zur Verfügung steht, könnte man diesen ja auch gleich für die Nachrichten verwenden.
Wird ein Schlüssel mehreren Personen bekanntgegeben, so tritt häufig auch der Fall auf, daß Einzelne aus der Gruppe der Berechtigten entfernt werden müssen, oder neue Mitglieder dazukommen. Muß im zweiten Fall den hinzugefügten Mitgliedern lediglich der vorhandene Schlüssel mitgeteilt werden, um die zu geschützten Informationen für sie verfügbar zu machen, so ist der erste Fall schwieriger handzuhaben. Um sicherzustellen, daß keiner der ehemals Berechtigten weiterhin Zugriff auf nach dem Ausscheiden übertragene Daten hat, muß im Prinzip ein neuer Schlüssel vereinbart und an alle verbliebenen Berechtigten übermittelt werden.
Asymmetrische Verfahren
Der Schlüsselaustausch über einen sicheren Kanal kann im Einzelfall sehr schwierig sein, weil eine solche Kommunikationsmöglichkeit bisher nicht besteht und gerade durch die Einführung der Verschlüsselung geschaffen werden soll. Möchten sich zwei Personen über das Internet verschlüsselte Nachrichten zukommen lassen, so müßten sie bei einem symmetrischen Verfahren vorher den Schlüssel über ein anderes Medium austauschen, beispielsweise Briefpost, Telefon oder Telefax. Wenn sie sich hierbei nicht persönlich treffen, besteht immer noch die Möglichkeit, daß der Schlüssel während des Transportes ausgespäht, verändert oder verfälscht wird.
Der verschlüsselte Austausch von Informationen zwischen Personen, die vorher noch nie etwas miteinander zu tun hatten, gestaltet sich so entsprechend schwierig, auch unter dem Gesichtspunkt der Frage, ob der vereinbarte Schlüssel bei der Übertragung belauscht wurde.
Hier kommen jetzt die asymmetrischen Verfahren ins Spiel. Hierbei werden zum Verschlüsseln und Entschlüsseln der Daten unterschiedliche Schlüssel eingesetzt. Jeder beteiligte Partner an der Datenübertragung besitzt ein sogenanntes Schlüsselpaar, bestehend aus dem privaten und einem öffentlichen Schlüssel. Diese beiden Komponenten eines Schlüssels hängen über mathematische Verfahren voneinander ab; ein Schlüsselteil kann aber zur Zeit nicht mit praktisch realisierbarem Aufwand aus dem anderen abgeleitet werden. Dabei muß der private Schlüssel streng unter der Kontrolle des Besitzers bleiben und darf niemandem sonst zugänglich gemacht werden. Der öffentliche Schlüssel kann und muß dagegen möglichst weit verbreitet werden. Dies kann durch Hinterlegen einer Datei mit diesem öffentlichen Schlüssel im Internet-Auftritt geschehen, durch Versenden mit e-Mail, durch Bereitstellen zum FTP-Download oder durch Hochladen auf einen öffentlichen Schlüsselserver. Eine Nachricht wird zur Übertragung mit dem öffentlichen Schlüssel des Empfängers verschlüsselt. Ausschließlich dieser Empfänger kann die Nachricht mit Hilfe des geheimen, nur ihm bekannten Schlüssels wieder entschlüsseln.
Auf diese Weise ist es auch möglich, dieselbe Nachricht gleichzeitig für mehrere Empfänger zu verschlüsseln. Ändert sich die Gruppe der berechtigten Empfänger durch Zu- oder Abgänge, so ist lediglich die Liste der zur Verschlüsselung verwendeten öffentlichen Schlüssel entsprechend anzupassen. Eine verschlüsselte Nachrichtenübertragung ist also mit jedem Partner ohne vorherige gesicherte Verbindung möglich, wenn der öffentliche Schlüssel bekannt ist oder besorgt werden kann.
Kann man dem öffentlichen Schlüssel vertrauen?
Auf die technischen Details und die mathematischen Grundlagen von Public-Key-Verfahren soll hier nicht eingegangen werden. Diese werden an anderen Stellen ausreichend erläutert, siehe bei Links. Statt dessen wollen wir hier die organisatorischen Gründe erläutern, warum diese asymmetrischen Verfahren trotz der öffentlichen Verbreitung von Schlüsseln sicher sind , und welche Maßnahmen ein Benutzer ergreifen muß, um ohne vorherigen Kontakt einen verschlüsselten Kommunikationskanal aufzubauen.
Grundsätzlich gilt: einem öffentlichen Schlüssel, den man auf elektronischem Wege irgendwo aus den Weiten des Internets erhält oder herunterlädt, darf man zunächst nicht vertrauen, ebenso wie den dahinter stehenden Schlüsselinhabern. Zu zahlreich sind die Möglichkeiten, daß dieser Schlüssel bei der Übertragung verändert, abgefangen oder anderweitig verfälscht worden ist. Durch verschiedene Prüfungen kann man nun testen, ob der Schlüssel wirklich authentisch ist, d. h., ob er vom angeblichen Absender stammt und auch dessen korrekten öffentlichen Key darstellt.
“Web of Trust”
Analog zu der anarchischen Struktur des Internets gibt es daher bei der Handhabung von öffentlichen Schlüsseln ein sogenanntes “Web of Trust”, ein Netzwerk des Vertrauens. Dieses wird dadurch eingerichtet, daß die Teilnehmer die öffentlichen Schlüssel gegenseitig “unterschreiben” (signieren), und damit bestätigen, daß dieser Schlüssel von dem angeblichen Besitzer stammt. Beim Erzeugen eines neuen Schlüsselpaares mit Hilfe von GnuPG wird dieser sofort mit sich selbst signiert. Dies verhindert bereits wirkungsvoll eine nachträgliche Veränderung des öffentlichen Schlüsselteils bei der Übertragung, denn dies würde die Signatur ungültig machen.
Wenn also jemand Ihren öffentlichen Schlüssel manipulieren möchte, bleibt also nur die Möglichkeit, diesen komplett auszutauschen (“man in the middle attack”, Angriff durch einen “Menschen in der Mitte”, zwischen den Kommunkationspartnern). Woher weiß man also nun, ob die angebliche Unterschrift “echt” ist und der Unterschreiber sich in ausreichendem Maße von der Echtheit des unterschriebenen Schlüssels überzeugt hat?
Antwort: man weiß leider nicht, wie sorgfältig andere Teilnehmer mit den Signaturen umgehen. Von daher sind die Unterschriften zunächst nur ein Baustein im Aufbau des “Vertrauensnetzwerkes”.
Jeder öffentliche Schlüssel trägt zwei Kennungen: eine sogenannte “ID” (Identifikationsnummer), und einen “Fingerprint”. Die ID wird beim Generieren des Schlüsselpaares mit erzeugt ist mit hinreichender Wahrscheinlichkeit weltweit eindeutig. Der Fingerabdruck (Fingerprint) ist eine Prüfsumme, die aus dem öffentlichen Schlüsselteil berechnet ist. Wird der öffentliche Schlüssel bei der Übertragung verändert oder verfälscht, so ändert sich mit an Sicherheit grenzender Wahrscheinlichkeit auch dieser Fingerprint. Seit 1991, seit das PGP-Prinzip und -Protokoll bereits in Benutzung ist, ist es bisher erst einmal unter Laborbedingungen und mit hohem Aufwand gelungen, bei einem schwächeren Verfahren einen Schlüssel so zu verfälschen, daß der Fingerabdruck identisch zum Original geblieben ist. Es gibt allerdings verschiedene Algorithmen (Methoden), mit denen solche Fingerabdrücke berechnet werden können, und von der Benutzung der Verfahren SHA-0, SHA-1 und MD5 ist inzwischen abzuraten.
Bei ausreichend starken Verfahren kann man den Fingerabdruck sehr gut dazu verwenden, die Unversehrtheit des öffentlichen Schlüssels nach einer Übertragung zu überprüfen. Hierzu berechnet das Verschlüsselungsprogramm nach demselben Verfahren wie bei der ursprünglichen Erzeugung diese Prüfsumme über den öffentlichen Schlüssel. Bei einem korrekten Schlüssel muß diese Prüfsumme mit dem ursprünglichen Fingerabdruck übereinstimmen. Nun muß man lediglich sicherstellen, die garantiert unversehrte und authentische Prüfsumme (Fingerabdruck) vom Inhaber des Schlüssels zu erfahren. Dabei genügt ein vollelektronisch übertragener Fingerabdruck leider nicht - dieser kann dabei genauso verfälscht worden sein wie der öffentliche Schlüssel.
Um den öffentlichen Schlüssel zu verifizieren, hat man nun zwei Optionen:
-
man kann den selbst berechneten Fingerabdruck des öffentlichen Schlüssels direkt gegen eine auf einem unverfälschbaren Kanal übertragene Version des Fingerabdrucks des Ausstellers überprüfen
-
man vertraut darauf, daß eine andere Person oder Einrichtung den Fingerabdruck mit ausreichender Sorgfalt geprüft hat und dies durch die eigene Unterschrift bestätigt.
GnuPG betrachtet einen öffentlichen Schlüssel dann als authentisch, wenn man ihn
-
entweder selbst gegengezeichnet hat, oder
-
dieser mindestens 3 Signaturen von anderen Schlüsseln trägt, deren Inhabern man mindestens eine “normale Sorgfalt” zutraut, und dies nicht über mehr als 5 Ebenen.
Dem Inhaber jeden Schlüssels, den man selbst unterzeichnet, muß man eine Vertrauenstufe zuordnen, die eine Einschätzung der Sorgfalt des jeweiligen Inhabers angibt, mit der die betreffende Person oder Stelle Schlüssel vor der Signierung prüft. Die Skala reicht von “komplett unzuverlässig” über “normal sorgfältig” bis zu “vollem Vertrauen”, wobei “unbekannt” die Voreinstellung ist. Bei “vollem Vertrauen” zählt die Unterschrift dieses Partners so viel wie die eigene.
Aus diesen “Vertrauenskennzahlen” ergibt sich nun ein “Netz des Vertrauens”, das “Web of Trust”. Über diese indirekten Schlüsselsignaturen kann man zu authentisierten Schlüsseln gelangen, ohne dem jeweiligen Kommunikationspartner jeweils persönlich begegnet zu sein.
Was sind “unverfälschbare Kanäle”?
Die Besonderheit der asymmetrischen Verschlüsselungsverfahren ist, daß man den öffentlichen Schlüssel ebenfalls über die gleichen, unsicheren Kanäle erhalten kann, über die später die Nachrichten ausgetauscht werden sollen. Nur für eine eigene Überprüfung der Authentizität eines öffentlichen Schlüssels ist es notwendig, den Fingerabdruck über einen unverfälschbaren Kanal zu erhalten, falls man dies nicht anhand des “Web of Trust” sicherstellen kann. Diese “unverfälschbaren Kanäle” sind Übertragungsarten, die ein interessierter Angreifer nur mit großem Aufwand beeinflussen oder verändern kann. Zur Übertragung des Fingerabdrucks eignen sich daher:
-
gedruckte Dokumente, die man direkt aus der Hand des Schlüsselinhabers erhält.
Hier kann man in der Regel davon ausgehen, daß der aufgeführte Fingerabdruck korrekt ist. Welches Interesse sollte der berechtigte Schlüsselinhaber haben, einen falschen Fingerprint zu verteilen? Zu diesen Drucksachen gehören beispielsweise Visitenkarten, Prospektmaterial oder andere, direkt aus der Hand des Ausstellers erhaltene, gedruckte Schriftstücke. Erhält man gedruckte Fingerprints über Dritte, so muß man diesen schon ein gewisses Mißtrauen entgegensetzen und über weitere Exemplare aus anderen Quellen gegenprüfen.
-
Stimmerkennung per Telefon
Der Fingerprint wird am Telefon verlesen und gegenseitig verglichen. Dies setzt entweder voraus, daß man sich an Stimme erkennt, oder man ruft mit einer selbst ermittelten Telefonnummer den angeblichen Aussteller des Schlüssels an.
Die Telefonnummer, die man zur Prüfung des Fingerprints anruft, sollte man selbst wieder in gedruckten Verzeichnissen ermitteln. Es ist sehr unwahrscheinlich, daß ein Angreifer mehrere oder genau Ihr Telefonbuch verfälscht hat, um in den Besitz des Schlüssels zu kommen. Es bleibt für ihn immer das Restrisiko, daß eine andere Quelle hierfür herangezogen wird. Ergebnisse einer Online-Recherche können ihrerseits auch wieder verfälschte Telefonnummern sein
-
erkennbare Originaldokumente des Schlüsselinhabers
Wenn der Fingerprint auf einem unterschriebenen Brief aufgedruckt ist, kann man mit der gleichen Sicherheit, mit der man die Echtheit des Briefes annimmt, auch die Korrektheit des öffentlichen Schlüssels annehmen.
Hier steht und fällt das Vertrauen in den Fingerprint mit dem Vertrauen in die Echtheit des Schriftstückes selbst. Handelt es sich um die erste oder eine einmalige Korrespondenz, so ist die Beurteilung schwierig bis unmöglich, da ja dieses einzelne Schriftstück gefälscht sein kann. Stehen mehrere Schriftstücke zum Vergleich zur Verfügung, so ist die Prüfung einfacher.
-
Dokumente mit Massenverbreitung
In diese Kategorie gehören beispielsweise Zeitschriften, Prospekte oder vergleichbare Publikationen. Möchte ein Angreifer den übermittelten Fingerprint verändern, müßte er dies genau in dem Exemplar tun, welches an den Angegriffenen (also z. B. Sie) ausgeliefert wird. Und Sie haben in der Regel noch die Möglichkeit, sich in anderen Exemplaren von der Korrektheit des Fingerabdrucks zu überzeugen.
Selbst wenn ein Angreifer den Fingerprint in einer gesamten Auflage verändert, bleibt bei periodisch erscheinenden Publikationen immer noch die Möglichkeit, daß mit älteren Ausgaben verglichen wird - diese lassen sich nicht flächendeckend unauffällig verändern.
Falls Sie den öffentlichen Schlüssel auf einem Datenträger (Memory-Stick, CD-ROM usw.) direkt aus der Hand des betreffenden Inhabers erhalten, können Sie eigentlich von dessen Authentizität ausgehen, sofern Sie den Datenträger bis zur Verwendung nicht mehr aus den Augen lassen. Es kann aber auch in diesem Falle nicht schaden, den Fingerabdruck in gedruckter Form mit zu übernehmen und vor der Verwendung des Schlüssels zu prüfen, um eventuelle Fehler auf dem Datenträger zu erkennen.
In allen anderen Fällen kann man sich den eigentlichen Schlüssel vollelektronisch aus dem Internet oder allen anderen zur Verfügung stehenden Quellen besorgen, denn die Korrektheit läßt sich dann durch Vergleich mit dem authentischen Fingerabdruck beweisen.
Links
- Gnu Privacy Guard Homepage
- Krypto-Kampagne der Zeitschrift c’t des Heise-Verlages
- Heise Newsticker: PGP setzt auf stärkere SHA-Algorithmen [Update]