Netz des Vertrauens bzw. Web of Trust (WOT) ist in der Kryptologie die Idee, die Echtheit von digitalen Schlüsseln durch ein Netz von gegenseitigen Bestätigungen (Signaturen), kombiniert mit dem individuell zugewiesenen Vertrauen in die Bestätigungen der anderen („Owner Trust“), zu sichern. Es stellt eine dezentrale Alternative zum hierarchischen PKI-System dar.
Die Verschlüsselung mit öffentlichen Schlüsseln bietet (gegenüber der symmetrischen Verschlüsselung) den Vorteil, dass der auszutauschende Schlüssel nicht über einen sicheren Kanal übertragen werden muss, sondern öffentlich ist. Zur Übertragung des Schlüssels kann man sich daher eines Verbunds von Schlüsselservern bedienen, auf die jeder seine öffentlichen Schlüssel hochladen kann und von denen jeder den Schlüssel der Person abrufen kann, mit der er kommunizieren möchte. Dadurch ergibt sich aber ein anderes Problem: Eine Person könnte einen Schlüssel veröffentlichen, mit welchem sie sich als jemand anderes ausgibt. Es muss also eine Möglichkeit zur Verfügung stehen, die Authentizität eines Schlüssels zu prüfen.
Die Lösung für dieses Problem besteht darin, die Echtheit eines öffentlichen Schlüssels von einer vertrauenswürdigen Instanz durch ein digitales Zertifikat bestätigen zu lassen. Bei Public-Key-Infrastrukturen ist dies eine Zertifizierungsstelle; im Web of Trust hingegen übernehmen alle Teilnehmer diese Funktion.
Alice signiert den Schlüssel von Bob und vertraut Bobs Schlüsselsignaturen Bob signiert den Schlüssel von Carl (Bobs Vertrauen in Carls Schlüsselsignaturen ist weder bekannt noch relevant) Somit betrachtet Alice den Schlüssel von Carl als gültig.
Es ist wichtig, nicht die beiden Arten von Vertrauen, die hier beteiligt sind, zu verwechseln:
Diese beiden Vertrauensarten sind voneinander unabhängig:
Implizit besteht noch eine dritte Kategorie von Vertrauen, nämlich das in die Sicherheit des signierenden Schlüssels. Eine Person, deren Zertifikaten man voll vertraut, kann aus gutem Grund auch solche Schlüssel besitzen, die auf Grund der Art ihrer Verwendung wenig sicher sind (entsprechend weniger sind ihre Zertifikate wert). „Owner Trust“ wird pro Schlüssel festgelegt, so dass man durchaus für denselben Schlüsselbesitzer bei mehreren Schlüsseln dieses Vertrauen unterschiedlich festlegen kann.
OpenPGP bietet die Möglichkeit, ein Schlüsselzertifikat mit einem (allerdings unpräzisen) Hinweis zu versehen, wie gründlich die Authentizität des Schlüssels geprüft wurde. Die Nutzer des WoT wissen im Allgemeinen nicht, wie gründlich die Identität des Schlüssels und die des Besitzers und welche Komponenten des Schlüssels überhaupt geprüft wurden. Der Signierende kann den Besitzer persönlich kennen, einen Ausweis (o. Ä.) zur Überprüfung eines Fremden verwendet haben oder nicht einmal das; gerade bei ausländischen Namen kann er auch eine abweichende Schreibweise akzeptiert haben. Die Überprüfung der Schlüsselangaben kann sich auf den Namen beschränken (Namen sind nicht eindeutig); sie kann eine oder alle E-Mail-Adressen und sogar die Kommentare umfassen. Selbst im Fall einer als umfassend bekannten Prüfung ist die Sicherheit der Überprüfung eines Ausweises oder einer E-Mail-Adresse nicht einmal annähernd mit der technischen Sicherheit üblicher Kryptografie vergleichbar. Die Sicherheit des WoT ist also begrenzt, was man zum Teil dadurch ausgleichen kann, dass man mehr Signaturen fordert, um einen Schlüssel als gültig anzusehen, was aber die Nutzbarkeit des WoT entsprechend reduziert. Die Validierung eines Schlüssels kann über beliebig (aber begrenzbar) viele Zwischenschritte erfolgen, allerdings müssen dafür alle beteiligten Schlüssel (bis auf den zu validierenden) einen entsprechenden Owner Trust haben.
Beim Web of Trust besteht ein Zertifikat aus der digitalen Signatur, die eine andere Person, die auch am Web of Trust teilnimmt, auf einen Schlüssel abgibt, nachdem sie sich der Identität des Schlüsselinhabers versichert hat (typischerweise bei einer persönlichen Begegnung).
RFC 2440[1] (inzwischen ersetzt durch RFC 4880[2]) beschreibt ein Verfahren, wie diese Zertifikate mit dem Schlüssel verbunden und mit einer Wertung versehen werden. Das Zertifikat wird mit dem Schlüssel auf einen weltweiten Verbund von Schlüsselservern hochgeladen und kann so von jedermann abgerufen werden.
Von diesen Signaturen sammelt der Schlüsselinhaber möglichst viele an. Personen, die den Schlüsselinhaber nicht kennen und auch keinen persönlichen Kontakt zu ihm haben, können durch die Zertifikate eine hohe Legitimität der Identität ersehen und darin vertrauen.
In einem Web of Trust funktioniert das so:
Die Schlüsselverwaltung in einem Web of Trust erfolgt mit Hilfe von Schlüsselbunden. Im öffentlichen Schlüsselbund (public keyring) eines Benutzers werden eigene und fremde öffentliche Schlüssel und zugehörige Zertifikate gespeichert, der private Schlüsselbund (private keyring) enthält eigene private Schlüssel. Den öffentlichen Schlüsseln ordnet jeder Benutzer Vertrauen in dessen Besitzer zu („Owner Trust“). Daraus wird der Grad des Vertrauens in die Authentizität anderer Schlüssel („Key Legitimacy“) abgeleitet. Vertrauen in die Echtheit fremder Schlüssel wird entweder über Direct Trust (also die persönliche Überprüfung der Authentizität des öffentlichen Schlüssels eines anderen Benutzers) oder über den Owner Trust der Signierer der fremden Schlüssel etabliert.
Den Wert für Owner Trust legt jeder Benutzer für die Schlüssel in seinem öffentlichen Schlüsselbund selbst fest (d. h., diese Information wird nicht öffentlich); zur Auswahl stehen bei GnuPG (der RfC macht dazu überhaupt keine Angaben) folgende Werte:
Beim Standardverfahren zur Gültigkeitsberechnung (WoT) braucht GnuPG mindestens einen Schlüssel mit absolutem Vertrauen im Keyring, weil ansonsten kein Schlüssel gültig wird (und nur die Signaturen gültiger Schlüssel werden berücksichtigt).
Normale Signaturen wirken sich nur auf die Gültigkeit des signierten Schlüssels aus, nicht aber auf dessen owner trust! Der muss für jeden Schlüssel einzeln in der lokalen Datenbank festgelegt werden (bei GnuPG; der RfC erlaubt auch entsprechende Signaturen („Trust Packet“) im Keyring).
Signiert Alice den öffentlichen Schlüssel von Bob und überträgt diese Signatur anschließend an einen Schlüsselserver, so kann diese Signatur von Dritten zur Beurteilung der Authentizität des öffentlichen Schlüssels von Bob benutzt werden. Dazu überprüfen sie (im Wesentlichen),
Ist beides der Fall, dann wird Bobs Schlüssel entweder schon allein durch die Signatur von Alice gültig („complete“) oder eventuell zusammen mit weiteren („marginal“). Der owner trust von Bobs Schlüssel ändert sich dadurch nicht.
Welchen owner trust Alice für Bobs Schlüssel festgelegt hat, spielt für diesen Vorgang schon deshalb keine Rolle, weil diese Information nicht öffentlich bekannt ist. Der Öffentlichkeit wird nur mitgeteilt, dass Alice von der Identität des Schlüsselbesitzers (Bob) überzeugt ist. Was Alice von Bobs Signaturen hält, hat auf das WoT der anderen Nutzer keinerlei Einfluss.
Das Vertrauen in die Authentizität eines öffentlichen Schlüssels wird durch den „Key-Legitimacy“-Wert ausgedrückt. Er wird aus dem Signatory Trust der signierenden Schlüssel wie folgt berechnet:
Dann sei
Ist , so gilt der überprüfte Schlüssel als nicht authentisch. Bei wird er als „teilweise authentisch“ angesehen und bei als „vollkommen authentisch“. Im Regelfall wählt man und , es sind also zwei Signaturen von teilweise vertrauenswürdigen Personen oder eine Signatur einer voll vertrauenswürdigen Person erforderlich, damit ein Schlüssel als authentisch eingestuft wird. Prinzipiell kann aber jeder die Werte für und je nach persönlichem Paranoia-Grad frei wählen.
Das Web of Trust ermöglicht seinen Teilnehmern einerseits die individuelle Kontrolle darüber, wen sie als vertrauenswürdig einstufen. Zudem gibt es kostenlose Software zur Realisierung des Konzepts des Web of Trust. Auf der anderen Seite erfordert es aber einen hohen Grad an Vorwissen vom Benutzer, es ist nicht juristisch bindend (wie z. B. eine Qualifizierte elektronische Signatur), der Widerruf eines Zertifikats wird nicht sofort allgemein bekannt, wie er es in einer PKI wird, und er ist auch nicht vergleichbar verwirklicht.
Ein grundsätzliches Problem besteht darin, dass der Inhaber eines Schlüssels bei den derzeit gebräuchlichen Implementierungen technisch keinen Einfluss darauf nehmen kann,
Dem Schlüssel haften jedoch personenbezogene Daten an, die mitveröffentlicht werden: Durch die Signaturen anderer Personen, dem wichtigsten Element des Web of Trust, beinhaltet der Schlüssel eine Liste der Personen, die die Identität des Schlüsselinhabers geprüft haben, inklusive Prüfungsdatum. Auf einem Schlüsselserver sind diese Daten öffentlich einsehbar und automatisiert abrufbar, und können so leicht analysiert und somit die Beteiligung des Schlüsselinhabers an sozialen Netzwerken ermittelt werden.
Außerdem sammelt sich mit der Zeit eine öffentliche Liste aller früheren E-Mail-Adressen des Schlüsselinhabers an, solange der Schlüsselinhaber seinen Schlüssel nicht wechselt.
Nicht jedem ist von Anfang an bewusst, dass er durch die Teilnahme am Web of Trust Daten freigibt, die er vielleicht nicht für öffentlich erklären wollte und dass es keine Möglichkeit gibt, sie jemals wieder entfernen zu lassen.
Einmal auf Schlüsselserver exportierte öffentliche Schlüssel können nicht mehr gelöscht werden.[3] Die Schlüsselserver synchronisieren sich ständig untereinander, sodass ein neuer oder ergänzter Schlüssel einschließlich aller Signaturen und Kommentare innerhalb von kürzester Zeit nach dem (erneuten) Hochladen auf allen Schlüsselservern der Welt abrufbar ist, ganz gleich wer den Schlüssel hochgeladen hat und ob der Schlüssel ihm auch gehört.
Die Möglichkeit des Schlüsselwiderrufs (englisch key revocation) besteht bei den gebräuchlichen Implementierungen nur aus dem Erstellen eines Schlüsselwiderrufszertifikats, das dann ebenfalls auf den Schlüsselserver hochgeladen werden muss, dort aber praktisch nichts weiter bewirkt, als den vorhandenen Schlüssel mit dem Hinweis zu versehen, der Schlüssel solle nicht mehr benutzt werden. Software kann, aber muss nicht, solche Schlüssel zum Verschlüsseln verweigern. Mit einer Löschung von Schlüsseln, Signaturen oder Kommentaren hat der Schlüsselwiderruf aber nichts zu tun.
Der Schlüsselinhaber hat damit keine Möglichkeit, Einfluss auf die Verbreitung der Daten zu nehmen, die für das Funktionieren des Web of Trusts notwendig sind. Dies steht im Widerspruch zu dem Zweck von Verschlüsselungsprogrammen, persönliche Daten zu schützen.
Bekannte Umsetzungen des Web of Trust sind das kommerzielle Programm Pretty Good Privacy (PGP) und das freie Programm GNU Privacy Guard (GnuPG), die den RFC 2440[1] umsetzen.
Das umfangreiche Web of Trust von PGP wurde eingehend untersucht. Es weist, nicht zuletzt wegen der Affinität vieler Mitglieder zu internationalen Open-Source-Projekten wie Debian und der Unterstützung von Organisationen wie der Computer-Fachzeitschrift c’t im Rahmen der „Krypto-Kampagne“ des Heise-Verlags[4] viele starke Verbindungen auf (einen sogenannten „Strong Set“), bei denen zwischen zwei beliebigen Personen im Mittel nur sechs Verbindungsglieder liegen.[5][6]
Es sind durchaus auch abseits der Kryptographie Anwendungen der sozialen Grundidee des Web of Trust zu finden. So kennt etwa das CouchSurfing-Netzwerk ein Bürgschaftssystem, in dem „vertrauenswürdige“ Mitglieder neuen Mitgliedern mit einer „Bürgschaft“ ihr Vertrauen erklären können, wodurch sich das Vertrauen der gesamten Gemeinschaft gegenüber dem neuen Mitglied erhöht; jedes Mitglied, welches mindestens drei Bürgschaften erhalten hat, darf seinerseits für andere Mitglieder bürgen. Auf diese Weise entsteht ein soziales Vertrauensnetzwerk.