PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PGP WoT Verständnisprobleme



SirSydom
19.01.08, 20:01
Hallo,

ich hab irgendwie ein Problem mit diesem Web of Trust, es ist mir noch nicht 100% klar wie das funktioniert. Ich beschäftige mich nun seit Tagen wirklich intensiv mit dem Thema und weiß eigentlich schon wovon ich spreche, aber irgendwie fehlt mir noch das A-ha Erlebniss.
Ich brauche also wirkliche Experten-Meinungen :)
Ich weiß das ist ein langer Text, aber ich bin froh über jede Antwort zu meinen Fragen und/oder Korrektur meiner Angaben, sollten sie falsch sein.
Ich bitte darum Aussagen mit einer Quellenangabe aus irgendeiner offiziellen Dokumentation zu versehen damit ich gleich mehr dazu nachlesen kann UND ich mich auch auf die Aussage verlassen kann. Ich hab schon zuviel Halbwissen und Blödsinn erzählt bekommen..


Um ein paar Dinge zu nennen von denen ich im Folgendem Ausgehen werde:

Wenn A den Schlüssel von B signiert, dann bestätigt er die Identität von B, also die Gültigkeit(validity) des Schlüssel. Er kann dabei Angaben machen wie genau er die Identität geprüft hat (keine Angabe, gar nicht, einfach, genau).

Zusätzlich zur Gültigkeit kann A nun verschiedenen Personen (also ihrem Schlüssel) Vertrauen (owner-trust) zuordnen. Da gibt es 5 Stufen. (keine Angabe, kein Vertrauen, geringes Vertrauen, volles Vertrauen, ultimatives Vertrauen)

Dieses Vertrauen legt fest, inwiefern A dieser Person zutraut, die Gültigkeit eines dritten Schlüssels korrekt zu bestätigen (also den Fingerabdruck zu überprüfen, Ausweis kontrollieren usw).

[http://www.gnupg.org/faq.html#q4.7] hier so definiert.


Das bedeutet:

Wenn B den Schlüssel von C signiert, ist der Schlüssel von C für B gültig.
Wenn A den Schlüssel von B signiert, ist der Schlüssel von B für A gültig.

A möchte die Gültigkeit von C's Schlüssel überprüfen:
mit den beiden bisher gemachten Angaben noch nicht möglich.

A ordnet B volles Vertrauen zu.

Nun wird C's Schlüssel für A gültig, da er B's Signatur (welche die Gültigkeit des Schlüssels von C bestätigt) vertraut.

Nun zum vollen und geringen Vertrauen.
Es lassen sich Parameter (im Programm GPG oder PGP) einstellen, die festlegen, wie viele Signaturen voll vertrauter Personen (COMPLETES-NEEDED) oder wie viele Signaturen gering vertrauter Personen (MARGINALS-NEEDED) nötig sind um einen Schlüssel als gültig anzuerkennen.

Standardmäßig ist das in GnuPG:
COMPLETES-NEEDED = 1
MARGINALS-NEEDED = 2

Das bedeutet: Ein Schlüssel ist genau dann gültig, wenn entweder eine voll vertraute Person oder zwei gering vertraute Person den Schlüssel signiert hat.

[http://www.rubin.ch/pgp/weboftrust.de.html#trustparam]

Hier Frage 1:
Nehmen wir an:
COMPLETES-NEEDED = 2
MARGINALS-NEEDED = 4
Der Schlüssel X hat 3 Signaturen: eine eines voll vertrauten Inhabers, zwei von gering vertrauten Inhabern.

Ist dieser Schlüssel gültig?

Nach dem Algorithmus nicht, rein logisch gesehen aber sollte doch jede Signatur einen gewissen Beitrag zu Gültigkeit liefern? Denn eine volle wäre 50% der Anforderung, 2 geringe ebenfalls 50% der Anforderung, zusammen also 100%.
Wird dies berücksichtigt, wenn ja, wie? Wenn nein, warum nicht?


Es gibt das Vertrauens-Level ultimativ. Dieses soll nur für eigene Schlüssel verwendet werden und führt dazu, das Schlüssel die von diesem ultimativ vertrauten Schlüssel signiert worden sind, immer als gültig anerkannt werden.

[http://www.rubin.ch/pgp/weboftrust.de.html#trustparam]


Dazu Frage 2:
Worin unterscheidet sich ultimatives von vollem Vertrauen, wenn COMPLETES_NEEDED = 1 ?


Frage 3:
Warum wird ein von mir signierter Schlüssel nicht als gültig erkannt, wenn ich das Vertrauen in mich selbst auf "voll" herabsetze? Laut Einstellung müsste eine Signatur eines voll Vertrauten (meine eigene) ausreichen, in der Tat tut es das aber nicht. (GnuPG 1.4.6)



Nun zu sog. Vertrauenspfaden. Nach den bis jetzt erwähnten Möglichkeiten muss eine von mir Vertrauen versehene Person einen Schlüssel signieren, damit er als gültig erkannt wird.
Das kann entweder ich (ultimatives Vertrauen) oder ein oder mehrere voll oder gering vertraute Personen sein. Zwangsweise MUSS ich jedoch allen Personen, deren Signaturen unter dem zu prüfenden Schlüssel stehen, (lokal und manuell) Vertrauen zuordnen.
(Trust Signatures bitte ich hier erstmal außen vor zu lassen)

Dazu die Frage 4:

Wie kommt es zu den z.B. hier [http://hp.kairaven.de/pgp/gpg/weboftrust.html] erwähnten Vertauenspfaden?

Hier wird unter der Prämisse, das A B's, B C's und C D's Schlüssel signiert hat die Aussage gemacht A könnte D's Schlüssel als gültig einstufen. Jedoch hat nur B das (lokal eingestellte) Vertrauen A's und somit wird C's Schlüssel gültig, aber woher soll das Vertrauen (owner-trust!!) kommen um C's Signatur unter D's Schlüssel zu aktzeptieren?

Hier [http://www.phildev.net/pgp/gpgtrust.html] erwähnt jemand implizites Vertrauen, wie wird dieses berechnet, auf welches Basis? Wo gibt es offizielle Infos dazu (gnupg manual)?


Und zu dieser Thematik noch die Frage 5:
Für was ist der Parameter MAX-CERT-DEPTH gut?

Frage 6:

Ist es ohne Trust Signing überhaupt möglich, Schlüssel auf gültig zu überprüfen, die weiter als 2 Pfade entfernt sind? Wenn ja, wie?


Nun zu den Trust Signatures. Diese habe ich so verstanden, dass sie eben gerade Pfade von länger als zwei erlauben UND den Owner-Trust automatisch setzen.

A signiert B mit einem Trust-Level von 1 und B signiert C.

Nun erkennt A den Schlüssel von C als gültig an, ohne explizit Vertrauen zuzuweisen.

Weiterhin:

A signiert B mit einem Trust-Level von 2 und B signiert C mit einem Trust-Level von 1. C signiert D.

Nun kann A D's Schlüssel als gültig anerkennen.

Dazu die Frage 7:
Wird diese durch Trust Signatures aufgebaute Netz durch das setzen von max-cert-depth beschränkt?

Ein lokales Vertrauen kommt einer Trust Signatur mit Level 1 gleich.

Frage 8:
Ist es möglich lokal Vertrauen zu setzen mit einem Level größer 1?
(ohne eine Signatur zu machen, der Workaround mit einer nicht exportierbarten Trust-Signature ist klar..)

Vielen vielen Dank fürs Lesen bis zum Ende.