{title: Anwendung des "Web of trust" mit GnuPG} {date: 14. September 2003} {author: Lars} {version: 0.1} {abstract: Kurze Anleitung zur Erstellung und Nutzung des Web-of-Trust-Prinzips bei der Verschluesselung mit GnuPG} = Kurze Einleitung = Die notwendige Authentisierung neuer Schluessel wird in einem grossen Kommunikationskreis oder auch einfach nur mit wachsender Entfernung zwischen den Teilnehmern unverhaeltnismaessig aufwaendig, wenn man das Mindestmass an Sicherheit erhalten moechte (also persoenlicher Austausch des Fingerprints oder ein absolut sicherer Uebertragungskanal). GnuPG unterstuetzt aus diesem Grund das Signieren von Schluesseln. Die folgenden Kapitel sollen kurz die Anwendung und einfache Zusammenhaenge erklaeren, dabei wird meist die Nutzung des "GNU Privacy Assistent" und (alternativ) der gpg-Kommandozeile beschrieben. = Ein Beispiel = * Alice besitzt den oeffentlichen Schluessel von Bob, dessen Gueltigkeit sie zusammen mit Bob ueberprueft hat * Bob hat von Charlotte und Doris Schluessel erhalten, von deren Echtheit er sich ueberzeugt hat Nun kann Bob die Schluessel von Charlotte und Doris mit seinem privaten Schhluessel signieren. Da Alice Bobs Schluessel (und seinem Umgang mit fremden Schluesseln) vertraut, darf sie nun ruhigen Gewissens die von ihm Schluessel von Charlotte und Doris verwenden, ohne deren Echtheit mit den beiden Menschen persoenlich ueberprueft zu haben. = Wie erkenne ich signierte Schluessel = == GPA == Hier musst du nur auf den gewuenschten oeffentlichen Schluessel klicken und dann die Registerkarte '''Signaturen''' in der unteren Haelfte des Fensters aktivieren. Falls der Schluessel signiert wurde, dann wirst du hier alle Unterschriften sehen. == Kommandozeile == * entweder: 1. '''gpg --edit-key !AdresseDesSchluesselBesitzers''' 1. '''check''' zeigt dir die angehaengten Unterschriften an - jeder Schluessel sollte mindestens immer eine "Eigenbeglaubigung" enthalten, also die Signatur des Besitzers 1. '''quit''' zum beenden * oder: * '''gpg --check-sigs !AdresseDesSchluesselBesitzers''' (ohne Angabe eines Schluessels werden alle aufgelistet) * jeder Schluessel wurde vom Besitzer signiert, dies allein reicht jedoch lediglich aus, um technische "Transportschaeden" zu entdecken = Wie signiere ich einen Schluessel = == GPA == 1. den zu signierenden Schluessel auswaehlen 1. die Schaltflaeche '''Signieren''' anklicken == Kommandozeile == * '''gpg --sign-key !AdresseDesSchluesselBesitzers''' eingeben = Wie funktioniert das "Web of Trust"? = Per Definition darfst du einem fremden Schluessel nur dann vertrauen, wenn er von einer weiteren Person unterschrieben wurde, deren Schluessel (und Verhalten) du vertraust. Die meisten Programme kuemmern sich nicht darum, ob ein Schluessel unterschrieben wurde, oder nicht. Sie ueberlassen also dem Nutzer die Verantwortung, alle importierten Schluessel selbst zu pruefen. Einige wenige Anwendungen (z.B. das Mailprogramm '''mutt''') beschweren sich ueber unsignierte Schluessel und bitten den Benutzer zur Sicherheit jedesmal um eine Bestaetigung. Diese Warnung unterbleibt nur dann, wenn ein Schluessel vertrauenswuerdig ist. == Wann ist ein Schluessel vertrauenswuerdig? == Er muss folgenden beiden Bedingungen genuegen: 1. er muss eine gueltige Unterschrift tragen von: * dir persoenlich oder * jemandem, dem du "voellig vertraust" oder * mindestens drei Menschen, denen du "teilweise vertraust" 1. die Kette der Unterschriften bis zu deinem eigenen Schluessel darf nicht mehr als vier weitere Menschen beinhalten Diese Definition ist eine Vorgabe von GnuPG, die du veraendern kannst. Inwieweit ein Benutzer dein "voelliges" oder "teilweises" Vertrauen hat, legst du ausschliesslich fuer dich fest - dies gehoert nicht zu den Informationen, die du weitergibst, wenn du einen Schluessel exportierst. === Festlegung des Benutzervertrauens === * mit dem GPA: * waehle den betreffenden Schluessel aus * klicke auf "Aendern" und stelle die gewuenschte Stufe ein * Festlegung des Benutzervertrauens auf der Kommandozeile 1. '''gpg --edit-key !AdresseDesBesitzers''' 1. '''trust''' eingeben und das gewuenschte Vertrauen auswaehlen (Stufe 4 - "voelliges Vertrauen" genuegt immer) 1. '''quit''' beendet das Programm === Wie erkenne ich, ob ein Schluessel vertrauenswuerdig ist? === * mit dem GPA: erst Schluessel anklicken, dann unter dem Punkt "Schluesselvertrauen" nachgucken * mit der Kommandozeile: * '''gpg --edit-key !AdresseDesBesitzers''' * nun siehst du Informationen zum Schluessel (lassen sich per '''list''' erneut anzeigen) * hinter "Vertrauen:" findest du etwas in der Art von "X / Y"; dabei bedeutet: X:: dein Vertrauen in den Benutzer Y:: dein Vertrauen in den Schluessel (gemaess der oben beschriebenen Bedingungen) * die Abkuerzungen bedeuten Folgendes: -:: du hast das Vertrauen noch nicht festgelegt q:: fraglich ("weiss nicht so recht") n:: kein Vertrauen m:: teilweises Vertrauen f:: vollstaendiges Vertrauen u:: uneingeschraenktes Vertrauen (nur fuer selbst erstellte Schluessel sinnvoll) = Was muss ich also tun? = Nichts, falls du das "Web of Trust" nicht nutzen moechtest. Dies fuehrt natuerlich zu einer geringeren Sicherheit, da du in manchen Faellen aufgrund des zu hohen Aufwands darauf verzichten wirst, die Echtheit eines Schluessels mit der gebotenen Sorgfalt zu ueberpruefen. Falls du den Gedanken des "Web of Trust" fuer sinnvoll haeltst, dann musst du folgendes tun: * dein Vertrauen in die Benutzer der fremden Schluessel, die du benutzt, festlegen * unterschreibe NIE einen Schluessel, dem du nicht zweifelsfrei vertraust, da ein einziger boeswilliger Eindringling aufgrund deiner Reputation unbegrenzt viele weitere kompromittierte Schluessel in deinen Bekanntenkreis einschleusen kann * unterschreibe ausschliesslich diejenigen fremden Schluessel, deren Echtheit du persoenlich mit dem Besitzer ueberprueft hast (Fingerprint handschriftlich ausgetauscht, ...) Zur Sicherheit nochmal: unterschreib nur dann, wenn du "weisst", nie wenn du "glaubst"; eine fehlende Unterschrift richtet keinen Schaden an - eine einzige falsche kann jedoch verheerend sein ... = FAQ = Q: eigener Schlüssel gilt als nicht vertrauenswürdig A: Wenn du selbst einen Schlüssel erzeugst, dann hat er das Benutzervertrauen "absolut" - das ist eine Stufe ueber "voellig" und sollte nur fuer eigene Schluessel verwendet werden. GPA kennt diese Stufe (die wohl neu ist) leider nicht und gibt somit als Benutzervertrauen "unbekannt" an. Falls du also im Glauben, etwas Richtiges zu tun, das Benutzervertrauen deines eigenen Schluessels auf "voellig" setzt, verringerst du den bisherigen Vertrauensstatus. Ein Schluessel, der lediglich selbstbeglaubigt ist, ist jedoch nur dann vertrauenswuerdig, wenn das Benutervertrauen "absolut" ist. Folglich ist der Schluessel nicht mehr vertrauenswuerdig. Loesung: '''gpg --edit-key !MeineAdresse''' starten und anschliessend '''trust''' eingeben. Nun kannst du dein Benutzervertrauen wieder auf "absolut" setzen. Eine Loesung mit dem GPA gibt es leider nicht.