23C3 - 1.5

23rd Chaos Communication Congress
Who can you trust?

Referenten
Markus Wüthrich
Jacek Jonczy
Programm
Tag 1
Raum Saal 4
Beginn 11:30
Dauer 01:00
Info
ID 1607
Veranstaltungstyp Vortrag
Track Science
Sprache deutsch
Feedback

A Probabilistic Trust Model for GnuPG

A new way of evaluating a PGP web of trust by using a probabilistic trust metric

Ein Vertrauensnetz beschreibt einen typischen dezentralen PKI-Ansatz, welcher in der Verschlüsselungssoftware PGP sowie GnuPG umgesetzt worden ist. Es werden einige Nachteile und Schwächen des aktuellen PGP-Vertrauensmodells erläutert. Gleichermaßen wird ein neuer Ansatz sowohl für den Umgang mit Vertrauen, als auch für die Evaluation der Schlüssel-Authentizität präsentiert.

Trust networks are possible solutions for the key authenticity problem in a decentralized public-key infrastructure. A particular trust model, the so-called Web of Trust, has been proposed for and is implemented in the popular e-mail encryption software PGP and its open source derivatives like GnuPG. Some drawbacks and weaknesses of the current PGP and GnuPG trust model are investigated, and a new approach to handle trust and key validity in a more sophisticated is proposed. A prototype of our solution has been implemented and tested with the current GnuPG release. Distributed trust models allow any user in the network to issue certificates for any other user. The issuers of such certificates are called introducers, who can make them publicly available, typically by uploading them to key servers, from which they are accessible to other users. Someone's personal collection of certificates is called key ring. In this way, responsibility for validating public keys is delegated to people you trust. In comparison with a centralized PKI, this scheme is much more flexible and leaves trust decisions in the hands of individual users. These trust decisions are finally decisive for a user to validate public keys (i.e. to accept them as authentic on the basis of the given local key ring. First we will give a short overview of the web of trust and the PGP trust model. The main goal is to point out some of its inherent weaknesses and deficiencies. To overcome these difficulties, we will then propose a more flexible PGP trust model, in which we propose to see the key validation problem as a two-terminal network reliability problem in a corresponding stochastic graph. In a last part, we will describe the prototype implementation of this model in GnuPG.

Vertrauensbasierte Netzwerke bieten einen möglichen Lösungsansatz für das Authentizitätsproblem öffentlicher Schlüssel in verteilten Public-Key-Infrastrukturen. Ein besonders prominentes Beispiel eines Vertrauensmodells sind Vertrauensnetze, wie sie in Verschlüsselungssoftware wie PGP und GnuPG zum Einsatz kommen. Es werden einige Nachteile und Schwächen des aktuellen PGP-Vertrauensmodells erläutert. Gleichermaßen wird ein neuer Ansatz sowohl für den Umgang mit Vertrauen, als auch für die Evaluation der Schlüsselgültigkeit präsentiert. Ein Prototyp unseres Lösungsansatzes wurde implementiert und in die aktuelle GnuPG-Version eingebettet. In einem verteilten Vertrauensmodell ist es allen NetzwerkteilnehmerInnen erlaubt, Zertifikate für andere TeilnehmerInnen auszustellen. Ein Zertifikat auszustellen bedeutet im Wesentlichen, einen Schlüssel zu signieren und diese Signatur dann beispielsweise via Key Server öffentlich zugänglich zu machen. Eine Kollektion solcher Zertifikate wird auch als Schlüsselbund bezeichnet. Auf diese Weise wird die Validierung von öffentlichen Schlüsseln vom persönlichen Vertrauen in andere Mitbenutzer des Vertrauensnetzes abhängig gemacht. Dieser Ansatz ist somit um einiges flexibler als eine zentrale PKI insofern, dass Vertauensentscheidungen jedem einzelnen Benutzer überlassen werden. Diese Vertauensentscheidungen sind letztendlich ausschlaggebend für die Validierung öffentlicher Schlüssel aufgrund eines lokalen Schlüsselbunds. Als erstes erfolgt eine kurze Übersicht von Vertrauensnetzen sowie dem PGP-Vertrauensmodell. Eines der Hauptziele besteht darin, gewisse inhärente Nachteile und Schwächen dieses Modells aufzuzeigen. Danach wird ein alternatives Modell vorgestellt, welches das Vertrauensproblem flexibler angeht und manche dieser Probleme dadurch umgehen kann. Schließlich wird noch eine Prototyp-Implementation dieses Modells diskutiert.