GPG Public Keys per DNS veröffentlichen

GPG ermöglicht die Veröffentlichung öffentlicher Schlüssel per DNS. Dadurch werden alle Domain-Besitzer unabhängig von den Schlüsselservern, die häufig weder mit Performance, noch mit Komfort glänzen.

Die Prozedur ist relativ einfach und wird von jedem DNS-Dienst unterstützt, der die Veröffentlichung von TXT-Records anbietet; das sollten praktisch alle sein. Die gesamte Prozedur kann sowohl in Linux als auch in Windows ausgeführt werden – vorausgesetzt, man hat GPG installiert.

1. Voraussetzungen

Zwingend benötigt wird relativ wenig:

  • Eine eigene Domain (in meinem Fall heikorichter.name)
  • Die Möglichkeit zur Veröffentlichung von TXT-Records im DNS
  • Ein Webserver

Äußerst empfehlenswert sind zwei weitere Dinge:

  • Ein SSL-Zertifikat, das von Browsern aller Systeme als gültig akzeptiert wird
  • aktivierter DNSSec-Schutz für die eigene Domain

Streng genommen sind weder SSL, noch DNSSec zeingend erforderlich. Allerdings macht ein Schlüsselaustausch ohne kryptographische Absicherung wenig Sinn. Wer das möchte, der kann auch bei den unsicheren, instabilen, für Manipulationen anfälligen Schlüsselservern bleiben.

Das SSL-Zertifikat darf auf keinen Fall selbstsigniert sein, denn es muss von GPG und den E-Mail-Clients aller potenzieller E-Mail-Absender akzeptiert werden. Wer die 3 Euro pro Jahr nicht hat, der nutzt einfach die kostenlosen Zertifikate von LetsEncrypt.

2. Informationen sammeln

Im ersten Schritt sucht man die ID des eigenen Schlüssels. Tauschen Sie dazu einfach meine E-Mail-Adresse durch Ihre eigene aus:

# gpg --list-keys [email protected]
pub   rsa4096 2019-07-14 [SCA] [expires: 2024-07-12]
      211A91745398A608AFA09727CD922982DA513FCC
uid           [ultimate] Heiko Richter <[email protected]>
uid           [ultimate] HR-Tech <[email protected]>
sub   rsa4096 2019-07-14 [E] [expires: 2024-07-12]

Im zweiten Schritt lässt nutzt man die gerade herausgefundene Schlüssel-ID, um den Fingerprint anzeigen zu lassen:

# gpg --list-keys --fingerprint 211A91745398A608AFA09727CD922982DA513FCC
pub   rsa4096 2019-07-14 [SCA] [expires: 2024-07-12]
      211A 9174 5398 A608 AFA0  9727 CD92 2982 DA51 3FCC
uid           [ultimate] Heiko Richter <[email protected]>
uid           [ultimate] HR-Tech <[email protected]>
sub   rsa4096 2019-07-14 [E] [expires: 2024-07-12]

3. Bereitstellung per Webserver

Anschließend exportiert man den öffentlichen Schlüssel in eine Datei, die man auf dem eigenen Webserver veröffentlicht (in meinem Fall hier):

# gpg --export --armor 211A91745398A608AFA09727CD922982DA513FCC > pubkey.asc

4. Veröffentlichung per DNS

Anschließend veröffentlicht man die gesammelten Informationen in DNS-Records:

email._pka.heikorichter.name. TXT "v=pka1;fpr=211A91745398A608AFA09727CD922982DA513FCC;uri=https://www.heikorichter.name/downloads/pubkey.asc" 

kontakt._pka.hr-tech.shop. TXT "v=pka1;fpr=211A91745398A608AFA09727CD922982DA513FCC;uri=https://www.heikorichter.name/downloads/pubkey.asc"

5. Test

Ob der Schlüssel für GPG abrufbar ist, lässt sich mit einer einfachen DNS-Abfrage testen.

Linux-Variante mit dig:

dig email._pka.heikorichter.name TXT
; <<>> DiG 9.11.5-P4-5.1-Debian <<>> email._pka.heikorichter.name TXT
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57160
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;email._pka.heikorichter.name.  IN      TXT
;; ANSWER SECTION:
email._pka.heikorichter.name. 300 IN    TXT     "v=pka1;fpr=211A91745398A608AFA09727CD922982DA513FCC;uri=https://www.heikorichter.name/downloads/pubkey.asc"
;; Query time: 5 msec
;; SERVER: 213.133.99.99#53(213.133.99.99)
;; WHEN: Sat Dec 28 23:41:08 CET 2019
;; MSG SIZE  rcvd: 176

Windows-Variante mit nslookup:

> nslookup -q=txt email._pka.heikorichter.name
Server:  pi.hole
Address:  192.168.178.4
Nicht autorisierende Antwort:
email._pka.heikorichter.name    text =
     "v=pka1;fpr=211A91745398A608AFA09727CD922982DA513FCC;uri=https://www.heikorichter.name/downloads/pubkey.asc"

Aufrufe: 115

Ähnliche Artikel

Comments

Leave a Comment