Mir wurde vor ein paar Wochen, auf der ALUG, das unterschreiben meines PGP Keys mit Enigmail gezeigt und erklärt. Ich dachte mir erstmal, „Ohje kann ich mir das merken“, denn einfach ist anders. Auch habe ich dann in den letzten Wochen von einigen gehört „Warum macht man das?“, „Wie geht das?“ und „Man, das kann sich ja keine merken!“ und so wurde ich gebeten dazu doch mal einen Artikel, bzw. eine Anleitung zu schreiben, was ich dann hiermit mal mache.
Warum macht man das?
Wozu muss/sollte denn ein PGP Key überhaupt unterschrieben werden? Hier kommt die Idee des Web of Trust ins Spiel, auf welcher PGP basiert. Es gibt keine zentrale Zertifizierungsstelle, sondern das Vertrauen wird von den Benutzern selbst verwaltet, indem diese sich, mit der Unterschrift des Schlüssels, untereinander bestätigen, „Ja, der Schlüssel gehört dem Typen“. Dadurch ist es Dritten möglich die Authentizität des Schlüssels einzuschätzen.
Beispiel: Christoph will sich mit mir verschlüsselt unterhalten und bezieht meinen Public Key von einem Keyserver. Nun kann er sich aber nicht zu hundert Prozent sicher sein, dass das wirklich mein Public Key ist, denn ihm könnte ja auch ein anderer untergeschoben wurden sein, da man meist auf Keyservern nur an Hand der Schlüsselkennung sucht, welche nur die letzten 8 Zeichen des gesamten Fingerprints umfasst. Hier kann es bereits zu Kollisionen kommen, wo die Schlüsselkennung zwar die richtige zu sein scheint, der restliche Fingerprint aber ein gänzlich anderer ist. Gezeigt wurde mir dies an Hand von evil32.com, welche für jeden Key des Web of Trust Strongsets bereits einen Kollisionsschüssel gefunden haben. Einen Link wo man nachschauen kann ob sein Schlüssel da auch vertreten ist gibts auf der Seite. So…wo war ich, genau, da Christoph sich nicht sicher sein kann, trifft er sich mit mir auf ALUG und ich weise ihm nach, das ich wirklich der bin der ich zu sein meine. Nachdem er nun meinen Personalien gecheckt hat, lese ich ihm meinen gesamten Fingerprint vor und er vergleicht diesen mit dem den er vom Keyserver bekommen hat. Ist alles cool, unterschreibt er meinen Public Key und lädt ihn auf den Keyserver hoch. Nun will sich Immanuel mit mir verschlüsselt unterhalten und lädt sich meinen Public Key herunter und sieht das dieser bereits von Christoph unterschrieben wurde. Da Immanuel Christoph schon seit Äonen kennt und seinem Urteilsvermögen, was mich belangt, vertraut, kann er auch meinen Public Key vertrauen, den er da ausgeliefert bekommen hat.
Ich hoffe ich konnte das so einigermaßen verständlich rüber bringen und sorry ihr beiden, dass ihr jetzt für mein Beispiel herhalten müsst, aber das war grad das schnellste Szenario was mir einfiel. ;-)
Wie geht das?
Schlüsselverwaltung mit meinen Key’s (Fett) und einem Public Key
Soviel erstmal zur Einführung. Nun erklär ich noch wie ihr einen Public Key mit dem Plugin Enigmail für Thunderbrid unterschreiben könnt. Ich gehe jetzt davon aus das die Leute, die das hier lesen, bereits Enigmail installiert und eingerichtet haben und somit auch einen Schlüsselpaar besitzen, weshalb ich nicht auf die Einrichtung eingehen werde.
Öffnet nun eure Schlüsselverwaltung (Menübutton > Enigmail > Schlüsselverwaltung). Darin sollte nun euer Schlüsselpaar auftauchen, welches Fett geschrieben ist und eventuell schon der Public Key der Person, welchen ihr beglaubigen wollt. Sollte das noch nicht der Fall sein tauscht eure Schlüssel aus, indem ihr euch z.B. gegenseitig eine signierte E-Mail schickt. Kontrolliert nun genau die Personalien der jeweiligen Person und lasst sie euch bestätigen. Also fragt sie nach Geburtsdatum etc. und kontrolliert das auf dem Ausweis und Führerschein. Ist das alles ok gehts nun zum Vergleichen des Fingerprints.
Macht dazu einen Rechtsklick auf den zu signierenden Publickey und öffnet die Schlüsseleigenschaften. Lass dir nun von deinem Gegenüber den Fingerprint vorlesen und vergleiche ihn mit dem was du angezeigt bekommst. Ist alles ok kann der Schlüssel unterschrieben werden.
Key unterschreiben
Dies könnt ihr entweder direkt im selben Fenster, links unten bei Aktion wählen > Unterschreiben, machen oder ihr schließt die Schlüsseleigenschaften, klickt erneut rechts auf dem Public Key und wählt Unterschreiben.
Nun werdet ihr gefragt ob ihr wirklich überprüft hab ob der Key der Person gehört. Dazu habt ihr drei Möglichkeiten zu Auswahl, wozu es allerdings keine festen Regeln gibt was ihr hier wählt. Ich halte mich an die Regeln, von dem der es mir erklärt hat:
„Ich habe es nicht überprüft“ – Sollte gar nicht gewählt werden
„Ich habe es nur einfach überprüft“ – Wähle ich wenn ich nur einen Identitätsnachweis zu Gesicht bekommen habe
„Ich habe es sehr genau überprüft“ – Wähle ich wenn ich zwei Identitätsnachweise gesehen habe
Außerdem gibt es den Punkt Lokal unterschreiben (nicht exportierbar), allerdings kann ich dazu nichts sagen und ich würde mich freuen wenn mich da jemand in den Kommentaren aufklärt, wofür das gut ist. Jedenfalls sollte man es nicht wählen wurde mir mitgeteilt, da das Nicht exportierbar nichts zu sagen hat und der Schlüssel dann dennoch auf den Keyserver geladen werden kann. Die Signatur taucht dann wohl auch im Schlüssel auf, allerdings ohne User ID. Da ich mir hier nicht mehr so sicher bin, bitte ich um Berichtigung falls falsch.
Unterschriften meines Public Keys
So nun habt ihr den Public Key unterschrieben. Mit einem Rechtsklick und Auf Schlüsselserver hochladen… könnt ihr diesen auf einen Keyserver hochladen. Mir wurde allerdings beigebracht, das die schönere Variante ist, den unterschriebenen Public Key der Person zuzusenden, dem er gehört, damit diese ihn selbst hochladen kann. Das ist nochmal eine Art letzte Verifizierung das die Mail auch der Person gehört und außerdem kann dadurch auch umgangen werden das ein, aus versehen, lokal unterschriebener Key hochgeladen wird. Verschicken tut ihr den Public Key mit einem Rechtsklick auf diesen und Öffentlichen Schlüssel per E-Mail senden. Leider fügt Enigmail nicht automatisch die Emailadresse in da An-Feld ein, warum auch immer. Hat euer Gegenüber die E-Mail bekommen, kann er einen Rechtsklick auf den angehängten Key machen und OpenPGP Key importieren. Ist dies geschehen, kann er nun in der Schlüsselverwaltung einen Rechtsklick auf seinen Public Key machen und Unterschriften anzeigen wählen, wo nun deine Unterschrift angezeigt wird. Als letzten Schritt muss er nun den Schlüssel mit einem Rechtsklick und Auf Schlüsselserver hochladen… hochladen. Somit liegt der Key nun unterschrieben auch auf den Keyservern und andere Benutzer sehen an Hand deiner Unterschrift, dass du ihm bereits vertraust. Nun kann er genau so mit deinem Schlüssel verfahren und fertig ist es.
Man, das kann sich ja keine merken!
Wenn man es ein paar mal gemacht hat geht das. Man muss sich nur einpleuen was alles zu beachten ist und alles paranoid überprüfen. Aber wenn ich das z.B. meinen Vater zeige und erkläre, weiß ich das er mir sagen wird das ihm das viel zu kompliziert ist, wo er recht hat. Für die 0815 Anwender ist das zu kompliziert.
Ich hoffe ich konnte es so erklären, das es „jeder“ versteht und durchführen kann. Außerdem hoffe ich, das alles soweit richtig ist und ich keine Fehler oder sogar richtigen Mist geschrieben habe. Sollte es so sein bitte nicht hauen, sondern mich nett darauf hinweisen. ;-)