Wie gestern unter PresseBox.de veröffentlicht wurde, bietet der E-Mail Anbieter mail.de jetzt die Möglichkeit, PGP Schlüssel über den Standard OpenPGPKey per DNS zu veröffentlichen. Hierzu wurde von der IETF ein eigener Standard veröffentlicht obwohl es mit PKA bereits eine Option hierzu gab. Das neue Verfahren sieht vor, dass der Besitzer einer DNS-Zone für jede E-Mail-Adresse einen PGP-Schlüssel im DNS veröffentlichen kann. Dazu wurde von der IETG der DNS-Selekter _openpgpkey in Form einer Sub-Domain eingeführt. Um einen PGP-Schlüssel zu veröffentlichen, wird der lokale E-Mail Adressanteil (benutzer@domain.tld) mittels SHA224 gehashed, welchem anschließend der PGP-Zugewiesen wird.

    475a43602bcc100c1bb1[...]f14cc4ca6b0b5a34716c02._openpgpkey.blog.cscholz.io
    |                                              |           |        |
    |                  SHA224 Hash                 | selector  | domain |

    Auf diese Weise kann für jede E-Mail Adresse abgefragt werden, ob ein PGP-Key veröffentlicht wurde. Dies geht z.B über die Webseite https://openpgpkey.info/  oder direkt mittels bash ist dies wiefolgt möglich:

    dig +short +vc type61 `printf benutzer|sha224sum|cut -f1 -d `._openpgpkey.2nibbles4u.de|sed 's/ [^ ]*//;s/W//g'|xxd -r -p | gpg --import

    Diese Verfahren bietet gegenüber Public Key-Servern verschiedene Vorteile sowie Nachteile .

    Vorteile sind:

    • Geht der private Schlüssel verloren, kann durch das aktualisieren des DNS-Records einfach ein neuer Schlüssel veröffentlicht werden. Im Falle von Public-Key-Server können bereits veröfentlichte Schlüssel ohne den privaten Schlüssel nicht mehr zurückgeszogen werden.
    • PGP Anwendungen könnten direkt per DNS den PGP-Schlüssel des Empfängers ermitteln
    • Wurden ein PGP-Key auf einem Public-Key-Server veröffentlicht, konnten Spammer die eMail Adresse dort auslesen.
    • Nur noch der Domain-Besitzer kann PGP Schlüssel veröfentlichen. Über Public-Key-Server kann jeder für jede Adresse einen Schlüssel veröffentlichen.
    • DNS-Technologie hat sich bewährt und ist damit robust.

    Doch es gibt auch Nachteile:

    • Um den PGP-Schlüssel veröffentlichen zu können, muss man Zugriff auf die DNS-Zone haben. Falls man diese nicht selber betreut, muss der Provider eine aktuelle DNS-Version einsetzten, welche OpenPGPKey unterstützt und seinen Kunden das setzen entsprechender DNS-Records erlaubt.
    • Die DNS-Zone sollte mittels DNSSec abgesichert sein, um einer Manipulation der Einträge vorzubeugen.

    Das die Veröffentlichung von PGP Schlüssel per DNS kein Hexenwerk ist, zeigen die Beiträge OPENPGPKEY mit Unix Bordmitteln und PGP-Schlüssel einfach und sicher verteilen von sys4.de. Beide Artikel zeigen sehr praxisnah, wie das Verfahren gehandhabt werden kann. Im ersten Artikel wird leider nicht expliziet erwähnt, dass der entsprechende PGP-Schlüssel vorher mittels

    pgp --import

    imporitert wurden muss.

    Leave A Reply