Skip to content

Kryptographie - Identitätsprüfung, Teil 2 - Web of Trust

Das Web of Trust, dass zum Beispiel bei PGP/GnuPG zur Prüfung der Identität der Benutzer verwendet wird, kommt ohne hierarchische Institutionen aus.

Die Benutzer signieren im ersten Schritt ihre eigenen öffentlichen Schlüssel und verteilen sie. Im Fall von PGP/GPG geschieht dies zum Beispiel durch das Heraufladen auf einen Keyserver oder den direkten Austausch mit anderen Benutzern.

Möchte danach Alice eine Signatur von Bob prüfen, beschafft sie sich Bobs öffentlichen Schlüssel und prüft ihn, indem sie sich von Bob alle zur Identifikation des Schlüssels nötigen Informationen (bei PGP/GPG insbesondere den Fingerprint) geben lässt. Dies muss über einen sicheren Kanal geschehen, also in der Regel bei einem persönlichen Treffen. Nachdem Alice Bobs öffentlichen Schlüssel erfolgreich geprüft hat, kann sie ihm vertrauen und die Signatur prüfen. Um ihr Vertrauen in den Schlüssel auszudrücken signiert sie ihn mit ihrem geheimen Schlüssel. Damit erklärt sie, dass sie sich sicher ist, dass dies der öffentliche Schlüssel von Bob ist. Wenn sie den von ihr signierten Schlüssel an den Keyserver sendet, können auch Dritte von ihrer Prüfung profitieren.

Möchte danach Carol eine Signatur von Bob prüfen, erhält sie vom Keyserver Bobs Schlüssel mit Alices Signatur. Vertraut sie Alice vollkommen, kann sie auf eine eigene Prüfung des Schlüssels verzichten, da diese ja bereits von Alice durchgeführt wurde.

Das eben beschriebene Verfahren kennt nur Ja/Nein-Aussagen: Vertraut Carol Alice vollkommen, kann sie auf die Prüfung verzichten. Andernfalls muss sie den Schlüssel selbst prüfen. Im realen Leben gibt es beim Vertrauen aber Abstufungen: Vielleicht traut Carol Alice zwar im Allgemeinen, weiß aber, das sie bei der Prüfung von Schlüsseln etwas schlampig vorgeht. Aber vielleicht wurde Bobs Schlüssel ja außerdem von Dave unterschrieben, dem Carol auch halbwegs vertraut. Nach dem Motto "Zwei halbe Vertrauen sind so gut wie ein ganzes" könnte sie dann trotzdem Bobs Schlüssel vertrauen und auf eine eigene Prüfung verzichten. So ergibt sich nach und nach das "Web of Trust", siehe Abbildung 1.

Web of Trust
Abb. 1: Web of Trust

Trau, schau wem!

Um diese Abstufungen in das Vertrauen abzubilden, gibt es in PGP/GPG den Faktor "Vertrauen in den Schlüsselinhaber" (Owner-Trust). Mögliche Werte sind

  • 'unknown' für Benutzer, über deren Verhalten gar nichts bekannt ist,
  • 'not trusted' für Benutzer, die einen fremden Schlüssel vor dem Signieren nicht oder nicht ausreichend prüfen,
  • 'marginal' für Benutzer, denen nicht vollkommen vertraut wird,
  • 'complete' für Benutzer, denen vollkommen vertraut wird sowie
  • 'ultimate' für die eigenen Schlüssel.

Das Vertrauen in die Schlüsselinhaber überträgt sich automatisch auf die von ihnen signierten fremden öffentlichen Schlüssel:

  • Selbst signierten fremden öffentlichen Schlüsseln wird 'complete' vertraut.
  • Hat Carol Alices öffentlichen Schlüssel selbst signiert (ohne gezwungenermaßen den signierten Schlüssel an einen Keyserver geschickt zu haben) und vertraut sie ihr 'complete' oder 'marginal', bekommt Bobs von Alice signierter Schlüssel automatisch den entsprechenden Wert.
  • In allen anderen Fällen bekommt er automatisch den Wert 'not trusted'.

"Vertrauen in den Schlüssel" ist eine rein technische Aussage: Es geht darum, ob der Schlüssel vom angeblichen Besitzer stammt oder nicht. Zusätzlich zu den oben genannten Werten werden für die Schlüssel weitere Werte für ungültige (z.B. abgelaufene oder zurückgezogene) Schlüssel verwendet.

Es ist also durchaus möglich, dass einem Schlüssel vollkommen vertraut wird, dessen Inhaber aber wenig oder gar nicht. Wenn Carol im obigen Beispiel Alices Schlüssel geprüft und signiert hat, weiß sie mit Sicherheit, dass es Alices Schlüssel ist, das heißt, signierte Dokumente also von Alice signiert wurden. Trotzdem traut sie Alice selbst und damit ihren Signaturen unter fremden Schlüsseln nur bedingt, da sie weiß, das Alice blind alle Schlüssel signiert, die ihr unter die Finger kommen.

Vertrauen, wem Vertrauen gebührt!

Der große Vorteil des Web of Trust gegenüber einem hierarchischen Aufbau ist, dass die Benutzer nicht blind einer zentralen Institution vertrauen müssen. Ein Nachteil ist, dass ein Schlüsselwechsel schwierig ist, da niemand weiß, wo die Schlüssel überall gespeichert und damit auszutauschen sind. Während bei einem hierarchischen Ansatz eine zentrale Liste ungültiger Schlüssel geführt werden kann, muss beim Web of Trust immer damit gerechnet werden, dass Benutzer inzwischen ungültige Schlüssel verwenden. Dies ist besonders kritisch, wenn dadurch eine gefälschte Signatur mit einem zurückgezogenen, kompromittierten Schlüssel als gültig erkannt wird.

Auch verträgt sich das Web of Trust schlecht mit Unternehmenshierarchien. Dieser Nachteil kann aber durch lokale Zertifizierungsstellen ausgeglichen werden, die sowohl die Schlüssel ihrer jeweiligen lokalen Benutzer als auch sich untereinander gegenseitig zertifizieren. Damit endet man aber eigentlich wieder bei einem (zumindest teilweise) hierarchischen System. Wie so etwas funktioniert, erfahren Sie in der nächsten Folge.

Carsten Eilers

Trackbacks

Dipl.-Inform. Carsten Eilers am : Kryptographie - Ein Überblick

Vorschau anzeigen
Die Kryptographie ist ein ein sehr umfangreiches Themengebiet, und obwohl ich mich jetzt seit 30 Artikeln damit befasst habe sind längst nicht alle Themen vorgestellt worden. Aber zumindest die wichtigsten habe ich beschrieben, und damit soll e