Web of Trust

Echtheit öffentlicher Schüssel als Problem

Zum Verschlüsseln von Dokumenten bzw. zum Überprüfen digitaler Signaturen benötigt man den öffentlichen Schlüssel des Kommunikationspartners. Aber, wie kommt man an den gewünschten öffentlichen Schlüssel? Oft ist eine persönliche Übergabe nicht möglich und man muss sich den öffentliche Schlüssel (über ein unsicheres Kommunikationsmedium) schicken lassen oder auf einen Schlüsselserver besorgen. In beiden Fällen ergibt sich dann das Problem, dass man nicht sicher sein kann, dass der erhaltene Schlüssel tatsächlich zu der angegebenen Person gehört.

Schlüssel zertifizieren

Wenn man (nach einer sorgfältigen Überprüfung) sicher ist, dass ein Schlüssel zu der angegebenen Person gehört, dann kann man den Schlüssel mit seiner digitalen Unterschrift beglaubigen / zertifizieren.

In der folgenden Abbildung kann man solche Zertifizierungen erkennen (z.B.: snerz@bvpk.org)

Klickt man auf die erste Zertifizierung, sieht man dass hier z.B. ein Benutzer mit dem Namen Matthias Binninger den öffentlichen Schlüssel von Sebastian Nerz mit seinem privaten Schlüssel signiert hat. Zusätzlich ist der öffentlichen Schlüssel von Sebastian Nerz mit seinem eigenen privaten Schlüssel signiert (selfsig). Eine solche Selbstzertifizierung wird vom benutzen System standardmäßig vorgenommen.

Aufbau eines Vertrauensnetzes (Web of Trust)

Durch das Zertifizieren von Schlüsseln lässt sich ein Vertrauensnetz aufbauen.

Die vorliegende Abbildung geht von folgenden Zertifizierungen aus:

Ingo zertifiziert den öffentlichen Schlüssel von Eva und Axel.
Eva zertifiziert den öffentlichen Schlüssel von Ingo und Manuel.
...

Hierdurch werden Vertrauensbeziehungen erstellt:

Ingo vertraut den Angaben des öffentlichen Schlüssels von Eva und Axel.
Eva vertraut den Angeben des öffentlichen Schlüssels von Ingo und Manuel.
...

Nach dem Motto der Freund meines Freundes ist auch mein Freund pflanzen sich Vertrauensbeziehungen fort:

Ingo vertraut den Angaben des öffentlichen Schlüssels von Eva.
Eva vertraut den Angeben des öffentlichen Schlüssels von Manuel.

also:

Ingo vertraut den Angaben des öffentlichen Schlüssels von Manuel.

Insgesamt ergibt sich auf diese Weise ein Netzwerk von Vertrauensbeziehungen.

In einem Web of Trust funktioniert das so:

  1. Alice erzeugt für sich ein Schlüsselpaar und signiert es. Außerdem schickt sie den öffentlichen Teil an einen Schlüsselserver (key server), damit andere Teilnehmer leichten Zugriff darauf haben.
  2. Bob möchte mit Alice verschlüsselt kommunizieren. Dazu besorgt er sich Alices Schlüssel von einem Schlüsselserver, muss aber noch sicherstellen, dass er wirklich den richtigen Schlüssel bekommen hat: Ein Angreifer könnte sich für Alice ausgeben und einen von ihm erzeugten Schlüssel an den Schlüsselserver schicken. Jeder, der meint, eine Nachricht nur für Alice zu verschlüsseln, würde sie in Wirklichkeit für den Angreifer verschlüsseln.
  3. Bob bittet Alice (z. B. bei einem Telefonanruf oder einem persönlichen Treffen) um den Fingerprint ihres öffentlichen Schlüssels. Diesen vergleicht er mit dem des Schlüssels, den er vom Schlüsselserver erhalten hat.
  4. Stimmen beide Fingerprints überein, kann Bob davon ausgehen, den richtigen Schlüssel erhalten zu haben. Darum signiert er den öffentlichen Schlüssel von Alice (genauer: eine oder mehrere ihrer User-IDs) mit seinem privaten und schickt diese Signatur an den Schlüsselserver.
  5. Möchte jetzt Carl mit Alice verschlüsselt kommunizieren, besorgt er sich genau wie Bob Alices öffentlichen Schlüssel vom Schlüsselserver. Dann stellt er fest, dass Bob Alices Schlüssel bereits überprüft hat. Wenn Carl Bobs Schlüssel schon kennt und er Bob vertraut, dass Bob vor der Signatur fremder Schlüssel eine gründliche Überprüfung durchführt, dann muss er nicht erst Alice treffen und diese Prüfung wiederholen. Er vertraut dem Schlüssel von Alice allein aufgrund Bobs vertrauenswürdiger Signatur. Wenn Carl sein Sicherheitsniveau erhöhen möchte oder er speziell Bobs Signaturen nur eingeschränkt vertraut, kann er sein Kryptosystem so konfigurieren, dass mehrere von ihm akzeptierte Signaturen vorhanden sein müssen, damit ein Schlüssel automatisch als gültig angesehen wird.

Datenschutzprobleme

Beachte, dass beim Veröffentlichen von Schlüsseln auch persönliche Daten veröffentlicht werden. Beachte auch, dass einmal veröffentliche Schlüssel mitsamt der persönlichen Daten nicht wieder gelöscht werden können.