Mein Datenhaufen zu IT und Elektronik Themen.

Schlagwort: GPG

Hinzufügen der GPG Keys zum DNS

GnuPG bietet seit längerem verschiedene Möglichkeiten DNS Server nach gpg/pgp Schlüsseln zu fragen. Die aus meiner Sicht einfachste und schnellste ist PKA.

Kann der GPG Client den Schlüssel selbstständig aus dem Internet laden muss ich mich nicht mehr darum kümmern meinen aktuellen öffentlichen Schlüssel auf allen möglichen Key-Servern zu verteilen. Kommt der Schlüssel oder die Information zum Schlüssel und dessen Fingerprint noch von dem DNS Server, welcher für die Domain/Zone zuständig ist, kann man sich noch etwas sicherer sein. Ist diese Zone dann noch per DNSsec (http://www.kernel-error.de/dnssec) geschützt… Ja dann kann man noch etwas sicherer sein! 100%tige Sicherheit gibt es nicht, ich kann mich nur den 100% annähern. Um so besser mir dieses gelingt um so sicher kann ich mir sein 🙂

Wie geht es nun? Recht einfach. Ich exportiere meinen public key und sorge dafür das http clients (https ist nicht wirklich nötig, da der Schlüssel am Ende eh mit dem Fingerprint verglichen wird) diesen herunterladen können. Dann erstelle ich einen Fingerprint meines Schlüssels und veröffentliche beide Informationen zusammen mit der/den E-Mail Adressen in der DNS Zone.

OK los geht es. Zuerst besorge ich mir die Key-ID meines GPG-Keys:

$ gpg --list-keys kernel-error@kernel-error.com

Nun exportiere ich den öffentlichen Teil meines GPG-Keys, den public Key:

$ gpg --export --armor 0F9874D8 > kernel-error.asc

Jetzt brauche ich noch den Fingerprint meines GPG-Keys:

$ gpg --list-keys --fingerprint 0F9874D8

Nun beginne ich die records für meine DNS Zonen zu bauen. Diese sehen wie folgt aus:

E-Mail Adresse (das @ wird zu ._) gefolgt vom record Type TXT sowie dem Fingerprint ohne Leerzeichen und der HTTP-Adresse des öffentlichen Schlüssels.

Für mich schaut es so aus:

Zone kernel-error.com:

kernel-error._pka.kernel-error.com.  TXT         "v=pka1;fpr=80CF90446B5867DA3A55854AF01C3E040F9874D8;uri=http://www.kernel-error.de/kernel-error.pubkey.txt"

Zone kernel-error.de:

kernel._pka.jabber.kernel-error.de.  TXT         "v=pka1;fpr=80CF90446B5867DA3A55854AF01C3E040F9874D8;uri=http://www.kernel-error.de/kernel-error.pubkey.txt"
kernel-error._pka.kernel-error.de.  TXT         "v=pka1;fpr=80CF90446B5867DA3A55854AF01C3E040F9874D8;uri=http://www.kernel-error.de/kernel-error.pubkey.txt"

Zone vandemeer.de:

sebastian._pka.vandemeer.de.  TXT         "v=pka1;fpr=80CF90446B5867DA3A55854AF01C3E040F9874D8;uri=http://www.kernel-error.de/kernel-error.pubkey.txt"

Ob sich die records abrufen lassen teste ich mit dig:

dig +short kernel-error._pka.kernel-error.com. TXT

Klappt dieses probiere ich ob gpg auch alles findet. Da ich den Schlüssel natürlich bereits in meinem Keyring habe, sage ich gpg dass es einen neuen Keyring unter /tmp/ anlegen soll. In diesen wird dann auch der Public Key importiert, wenn alles funktioniert 🙂 Das echo „foo“ | ist nur damit gpg auch Daten hat die es anfassen soll!

Es ist NICHT sicher, daß der Schlüssel zu dem in der User-ID
Genannten gehört. Wenn Sie *wirklich* wissen, was Sie tun,
können Sie die nächste Frage mit ja beantworten

Diesen Schlüssel trotzdem benutzen? (j/N) j
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.10 (GNU/Linux)

hQIMAyLQ0wrCELyPAQ//SaagWN6N57qIN1s0IksGwbXpchBTTW4FWZVotKUeHeHv
6LQ2abOL3ulRbzIHOmYINT3CUJ3Pf0DmFm44UqXP0Ay/R0PpANNqumshP8J+0aBY
YyhImPEk4s6qK8rJqD0+0F5sWrX7A2bPbmBHmp6BDQSpIUKxTXFTChJ0Hx7n/ntn
X3iLIpl3NYzvWd78Q+7lFcH9TDL+tLb655lwbZ4HcaQOT6NAkHAL76Td8CDQdbUM
Iu7UcZrpVebAaT7dL0HcifpNy+Vfo3xzq7b/MQsHxYASgafwtuOLCJr7Mi1bJqsk
eLZgxtLsflhgnkK/4Yj/zz7TosvUKb6ZemMxok6B95tmIMmBzJt9QPtBhuF6Uhgc
Vr6E6YSM3dKOy3e2N2YEYS/eXUk68S/2B+PtSBRxMuwMB9qIfLxqZPDrMgSoSOOz
7IaBqAy+HZ7JQdYDBg+6uLrf17+hjiX9g3X/sJB002lTqEJ5aIz+fe1QBXwqM97b
7hcOQCbEm1XQOFJmJWPsgROvpQhMZvd8ylLSIKtIKHqWgn0CkobABQ5Y9HJVkpO2
+DID8yT4Iy/be/YfCzU56i2AnswduZpK3bc2DLEPORVRp6PloNOmNhTXtf6IsN1X
mZfGr3sycFq7XNY9M5nha6Jco2ZdBSgebcKNZlkPF7f1GMDfnAAJgwUcX0QMSp7S
PwFvh2D0NqPcl1Rb7ManjL5tpR0NCjnxVEPNRv0j+2Ejr7LGKH/yqZVbnr+eiSRX
FPSvDQJVgT65sPIyn0k6tg==
=k7cd
-----END PGP MESSAGE-----

Tja, damit sollte wohl nun jeder meinen GPG-Key über meinen per DNSsec geschützten DNS Server besorgen können.

GPG


GPG ==> GNU Privacy Guard
GPG ist die freie Version von PGP. Jeder Mensch mit etwas Hirn
sollte seine E-Mails und Daten signieren oder wenn nötig verschlüsseln.
So kann man sicher gehen, dass die signierten Daten unverändert sind und zum
Anderen sind die Daten, durch die Verschlüsselung, recht sicher.

Bisher ist es nur über Bruteforce Angriffe auf den geheimen Schlüssel möglich
ohne das Passwort an die verschlüsselten Daten zu gelangen. Hierzu benötigt der Angreifer
aber ersteinmal den geheimen Schlüssel. Um es einem Angreifer aber selsbt dann noch schwer
zu machen sollte das Passwort selbst sehr lang sein, Zahlen, Sonderzeichen sowie Groß- und
Kleinschreibung enthalten.
23784728247$$“8##1_seu2n181JIONc8 ==> als Passwort ist da schon super, wenn man es behalten kann ;-P
Um so länger um so mehr Möglichkeiten. Sind dazu noch Sonderzeichen, Zahlen und die Groß- und
Kleinschreibung zu beachten, ist es nach heutigem Ermessen kaum in einem Menschenleben heraus zu bekommen.

Ich signiere JEDE meiner E-Mails. Sollet ihr eine E-Mail von mir
bekommen, welche nicht signiert ist. Dann ist diese E-Mail
sehr wahrscheinlich NICHT von mir!!!
Jetzt müsst ihr natürlich nur noch checken können ob die Signatur echt
ist.
Aus diesem Grund oder wenn ihr mir verschlüsselte Daten senden wollt braucht
ihr natürlich den öffentlichen Schlüssel 🙂
Hier könnt ihr ihn anfragen: kernel-error@kernel-error.com
Wer gpg auf seinem Rechner installiert hat nutzt einfach folgenden Konsolenbefehl:

gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 0F9874D8

Der Befehl wird natürlich von dem User in der Konsole ausgeführt, welcher auch den Schlüssel haben will.

Fingerprint:

80CF 9044 6B58 67DA 3A55 854A F01C 3E04 0F98 74D8

Weitere Informationen gibt es bei mir oder am besten noch unter:
http://www.gnupg.org

Wie arbeite ich mit GPG?

GPG kann vollständig aus der Konsole heraus konfiguriert und benutzt werden.
Ich möchte hier keine Anleitung zu GPG erstellen, sondern nur einen Überblick
über einige der wichtigsten Funktionen geben.

Mit folgendem Befehl stößt man die Erstellung eines eigenen Schlüsselpaares an:

gpg --gen-key

Jetzt werden einige Fragen zum zukünftigen Schlüsselbesitzer und dazu gestellt, wie der
Schlüssel aussehen soll. Mit kurzem überlegen wird jeder diese Fragen ohne Vorkenntnisse selbst beantworten können.

Über den Befehl:

gpg --list-keys

Werden nun alle Schlüssel am „Schlüsselbund“ des Benutzers angezeigt. Hier sollte nun auch
der gerade erstellte zu bewundern sein.

Es kann vorkommen, dass man sein Passwort zu seinem Schlüssel vergisst, den Schlüssel selbst verliert
oder Unbefugte Zugriff auf diesen erhalten. Daher ist es ganz sinnvoll sich ein Widerrufszertifikat
zu erstellen. Mit dessen Hilfe kann man später seinen Schlüssel widerrufen. Der Befehl hierzu ist:

gpg --output revoke.asc --gen-revoke deine@e-mail.adresse

Klar ist hier wohl, den Privat-Key und das Widerrufszertifikat irgendwo zu sichern und vor
unbefugtem Zugriff zu schützen!

Nun kann man schon munter E-Mails sowie Daten signieren und verschlüsseln. KDE-User sollten sich
das Programm kgpg mal genauer anschauen (http://developer.kde.org/~kgpg/). In fast jedem
E-Mailclient lässt sich GPG integrieren. Microsoft Windows Benutzer schauen bitte hier.

Jetzt ist es natürlich ganz praktisch, wenn jemand unsere Signatur (also unsere digitale Unterschrift)
auch überprüfen kann. Dazu benötigt er aber unseren öffentlichen Schlüssel.
Von diesem können wir eine Kopie mit folgendem Befehl in eine Datei exportieren:

gpg --armor --export deine@e-mail.adresse > meinschluessel.asc

Die Datei können wir nun selbst weitergeben oder gleich, mit folgendem Befehl, auf einen Schlüsselserver laden:

gpg --keyserver wwwkeys.uk.pgp.net --send-key deine@e-mail.adresse

Will man einen fremden Schlüssel aus einer Datei importieren nutzt man:

gpg --import newkey.txt

Vom Schlüsselserver holt man ihn sich so:

gpg --keyserver wwwkeys.uk.pgp.net --recv-keys 0xkeyid

Im Zusammenhang mit GPG sollte man unbedingt hier vorbeischauen.

Signiert der Kernel Error meinen Schlüssel?

Klar, kein Problem. Na ja fast kein Problem 😉
Du packst dir zwei staatlich beglaubigte Dokumente mit Lichtbild, welche deine Identität
bestätigen. Wenn du diese hast, schickst du mir eine E-Mail in der du mich bittest deinen
Schlüssel zu signieren. Auf diese bekommst von mir eine Antwort mit mehr Informationen.

Natürlich werde ich vor dem Signieren dein Gesicht mit deinem Schlüssel und den Dokumenten
vergleichen. Wir müssen uns dazu also real treffen. Passt alles zusammen bekommst du meine Signatur!
Fragen und Anregungen einfach per E-Mail an Sebastian van de Meer: kernel-error@kernel-error.com


Natürlich lässt sich mein Schlüssel auch per pka von meinem DNSsec (Artikel DNSsec) geschützten DNS Server hohlen (GPG im DNS)

© 2024 -=Kernel-Error=-

Theme von Anders NorénHoch ↑