DomainKeys
DomainKeys, auch bekannt unter DomainKeys Identified Mail (DKIM), ist ein Identifikationsprotokoll zur Sicherstellung der Authentizität von E-Mail-Absendern. Es wurde konzipiert, um bei der Eindämmung unerwünschter E-Mails wie Spam oder Phishing zu helfen.
Funktionsweise
DomainKeys basiert auf asymmetrischer Verschlüsselung. Die E-Mail wird mit einer Digitalen Signatur versehen, die der empfangende Server anhand des öffentlichen Schlüssels, der im Domain Name System (DNS) der Domäne verfügbar ist, verifizieren kann. Schlägt dies fehl, hat der empfangende Mail Transfer Agent (MTA) oder das empfangende Anwendungsprogramm die Möglichkeit, die E-Mail zu verweigern oder auszusortieren.
Kern des Verfahrens ist, dass der sendende MTA jede versendete E-Mail im sogenannten „DomainKey-Signature-Header“ mit einer digitalen Signatur des Inhaltes der E-Mail versieht.
Für die Erzeugung des für die Signatur nötigen Hashwertes unterstützt DKIM die Hashfunktionen SHA-256. Der so entstandene Hashwert wird dann mit dem RSA (1024–4096 bit) oder Ed25519-Verfahren signiert[1]. Es wird empfohlen, mit dem Ed25519-Verfahren zu signieren. Damit die Signatur mit dem beim E-Mail-Versand verwendeten ASCII-Zeichensatz dargestellt werden kann, wird sie mit Base64 kodiert.
Die so erzeugte digitale Signatur wird vom empfangenden MTA zunächst base64-dekodiert und dann mit dem öffentlichen Schlüssel der angeblichen Absender-Domäne (z. B. yahoo.com) entschlüsselt, der Hashcode der E-Mail wird neu berechnet. Stimmen der gelieferte entschlüsselte und der selbst berechnete Hashcode überein, stammt die E-Mail wirklich von der angegebenen Domäne. Der oder die verwendeten öffentliche(n) Schlüssel werden hierzu im DNS-Eintrag der sendenden Domäne publiziert. Das heißt, dass der DNS als Zertifizierungsstelle fungiert. Eine mit Hilfe von DomainKeys signierte E-Mail bietet also die Möglichkeit, sicher nachzuprüfen, ob die in der E-Mail-Absenderadresse enthaltene Domäne korrekt ist und dass die E-Mail auf dem Weg der Zustellung nicht verändert wurde.
Spamfilterung
Da es sich bei DomainKeys um einen Authentifizierungsmechanismus handelt, dient DomainKeys nicht dazu, Spam zu filtern. Stattdessen begrenzt DomainKeys die Möglichkeit, E-Mail-Absenderadressen zu verschleiern, da man mit DomainKeys feststellen kann, ob eine E-Mail tatsächlich über die angegebene Domäne versendet wurde.
Diese Nachvollziehbarkeit kann dazu verwendet werden, Bewertungssysteme und Filtertechniken von Spamfiltern wirkungsvoller zu gestalten. Zudem kann DomainKeys den Datendiebstahl durch Phishing begrenzen, da teilnehmende Mailversender ihre E-Mails als Originale zertifizieren können. Fehlt eine solche Zertifizierung, obwohl der vermeintliche Absender angibt, seine E-Mails zu zertifizieren, so kann die E-Mail als mögliche Fälschung betrachtet werden.
Lizenzierung
Yahoo hat das Verfahren patentieren lassen[2] und es bei der IETF zur Standardisierung eingereicht. Das Verfahren wurde mittlerweile als Standard RFC 4871 akzeptiert[3].
Das DomainKeys-Verfahren kann von Yahoo wahlweise unter den Bedingungen der GPL 2.0 oder den Bedingungen des proprietären Yahoo DomainKeys Patent License Agreement lizenziert und verwendet werden[2].
Dem DomainKeys-Verfahren werden nach dem Scheitern der Standardisierung von Microsofts Sender ID – bei welchem an keine GNU-Lizenzierung gedacht wurde – gute Chancen eingeräumt, sich neben dem Sender Policy Framework (SPF) im Internet zu etablieren.
Unterstützung
Das DomainKeys-Verfahren erfordert größere Modifikationen am Mailserver – entsprechende Anpassungen existieren derzeit für fast alle gängigen Mail-Transfer-Agenten. Derzeit wird das DomainKeys-Verfahren nur von sehr wenigen Providern unterstützt; bekannte größere Provider, die Domainkeys einsetzen, sind Yahoo und Gmail sowie Microsoft Office 365. Die Groupware-Lösung Zimbra unterstützt das DomainKeys-Verfahren ebenfalls.[4]
Das Problem bei dieser und allen anderen Methoden zur Sicherstellung der Absender-Authentizität ist, dass es einen langen Zeitraum brauchen wird, um ein solches System zu verbreiten, da zuerst die Software angepasst werden muss und diese dann auch noch auf den Mailservern zum Einsatz kommen muss.
Im Januar 2021 veröffentlichte die Zeitschrift c’t einen Test der Verbreitung und Umsetzungsqualität von DKIM bei 37 deutschen Webhosting-Anbietern mit dem Resultat, dass nur 16 davon DKIM anbieten und es nur bei 6 fehlerfrei konfiguriert war (keine falschen Absenderdomains mit DKIM signiert).[5] Einige der Anbieter korrigierten ihre DKIM-Umsetzung umgehend bereits vor Veröffentlichung der Ausgabe.[5]
Weiterentwicklungen
Mit DMARC wurde zudem eine weitere Spezifikation entwickelt, die die Vorgehensweisen von SPF und DKIM miteinander vereint.
Normen und Standards
Yahoo als Erfinder des Protokolls DomainKeys hat seine Original-Version im Jahre 2007 bei der IETF als RFC 4870 veröffentlicht, damals unter dem Titel Domain-Based Email Authentication Using Public Keys Advertised in the DNS (DomainKeys).
Unmittelbar am gleichen Tage wurde diese durch RFC 4871 ersetzt, eine Weiterentwicklung mit dem Titel DomainKeys Identified Mail (DKIM) Signatures. 2009 kam eine Ergänzung (Update) mit RFC 5672 heraus.
Seit September 2011 gilt RFC 6376, zu dem vier Updates existieren:
- RFC 8301 – Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM) von 2018.
- RFC 8463 – A New Cryptographic Signature Method for DomainKeys Identified Mail (DKIM) von 2018.
- RFC 8553 – DNS AttrLeaf Changes: Fixing Specifications That Use Underscored Node Names von 2019
- RFC 8616 – Email Authentication for Internationalized Mail von 2019.
Weblinks
- DomainKey Implementor’s Tools and Library for email servers & clients – Opensource-Referenzimplementierung des Verfahrens
- opendkim.org Milter zur Integration in Postfix oder Sendmail
- IETF Working group zu DomainKeys Identified Mail Signatures
- DKIM Connector Open Source Project zur Vereinfachung der Einführung von DKIM (wird nicht mehr weiterentwickelt)
- E-Mails signieren mit DKIM, Kryptographie gegen Phishing und Spam Artikel auf heise Netze
- Thunderbird-Plugin zur Überprüfung / Anzeige des DKIM
Einzelnachweise
- S. Kitterman: Cryptographic Algorithm and Key Usage Update to DomainKeys Identified Mail (DKIM). Abgerufen am 6. März 2020 (englisch).
- DomainKeys Lizenzierung von Yahoo
- heise online: RFC gegen Spam
- Zimbra: Zimbra Server with DKIM Signing. In: Zimbra Wiki. Zimbra Wiki, 1. August 2017, abgerufen am 7. April 2017 (englisch).
- Leo Dessani und Jan Mahn: DKIM-Fail. Fehler bei Hostern gefährden die Sicherheit von DKIM. In: c’t. Nr. 1, 2021, S. 126–129 (heise.de [abgerufen am 17. Januar 2021]).