DomainKeys

Bei DomainKeys handelt es sich um ein Identifikationsprotokoll, das im Jahre 2004 erstmals vom E-Mail-Anbieter Yahoo angeboten wurde. Aufgabe des Protokolls ist die leichtere Identifizierung von Spam-Mails, wobei es dabei jedoch nicht zu einer Filterung von Spam kommt. Vielmehr soll mit DomainKeys die Verschleierung der Absender von Mails verhindert werden, indem festgestellt wird, von welcher Domain aus eine Mail versendet wurde. Heute ist DomainKeys unter dem Begriff „DomainKeys Identified Mail (DKIM)“ bekannt. Mittels des Protokolls sind Nutzer in der Lage, anhand der dadurch gewonnenen Informationen ihre Spamfilter besser darauf einstellen zu können.

Allgemeine Informationen zum Thema

Technische Grundlage von DomainKeys ist eine asymmetrische Verschlüsselung. Das heißt, dass jede Mail mit einer digitalen Signatur versehen wird. Mit der Hilfe des Domain Name Systems (DNS) wird die sendende Domäne mit einem öffentlichen Schlüssel ausgestattet, anhand dessen die Signatur verifiziert werden kann. Schlägt nun die Verifizierung fehl, kann der Mail Transfer Agent (MTA) oder auch das Mailprogramm selbst die Annahme bestimmter Mails verweigern. Voraussetzung für ein Funktionieren ist jedoch, dass der MTA des Absenders die Mail im DomainKey-Signature-Header mit der entsprechenden Signatur ausgestattet.

Technische Aspekte von DomainKeys

Die notwendigen Hashwerte, die für die Erzeugung der Signatur gebraucht werden, können über die Hashfunktionen SHA-1 und SHA-256 erzeugt werden, es ist aber angeraten, vornehmlich SH-256 zu verwenden. Die Verschlüsselung sorgt dafür, dass aus dem Hashtag mit dem Verfahren RSA die Signatur erzeugt wird. Die Kodierung erfolgt mittels Base64, was notwendig ist, damit die Versendung der Mail im dafür nötigen ASCII-Zeichensatz erfolgen kann.

Wenn nun eine Mail beim Empfänger ankommt, kommt es zur Dekodierung der Signatur durch Base64. Danach erfolgt die Entschlüsselung durch den öffentlichen Schlüssel, der Hashcode wird neu berechnet. DKIM erkennt nun, ob die Mail tatsächlich vom vermeintlichen Empfänger stammt, indem geprüft wird, ob der gelieferte, der entschlüsselte und der selbst entschlüsselte Hashcode übereinstimmen[1].

Unterschiede zu anderen Verfahren

Anders als bei Verfahren wie PGP oder S/MINE werden nicht etwa die einzelnen Absender bzw. Identitäten geprüft, vielmehr wird auf der Domain-Basis gearbeitet. Darüber hinaus finden Signatur und Prüfung direkt auf den jeweiligen Mailservern statt. Auch hier unterscheidet sich DomainKeys von anderen, ähnlichen Verfahren, die sich auf die Arbeit mit den Mailprogrammen reduzieren. Um DKIM nutzen zu können, sind keine zusätzlichen Plugins nötig[2].

Herausforderungen von DomainKeys

Meist ist man auf den E-Mail Service Provider (ESP) angewiesen, wenn man DomainKeys anwenden will. Das ist sinnvoll, denn die Provider verfügen über das entsprechende Know-how und die technischen Mittel, die nötig sind. Auf der anderen Seite behalten die Firmen, die den Service nutzen wollen, die Kontrolle über ihre DNS-Einstellungen. Nehmen wir einmal an, dass ein ESP das Schlüsselpaar generiert, das den privaten und den öffentlichen Schlüssel enthält. Im nächsten Schritt wird der erzeugte private Schlüssel in den Mailserver eingesetzt, der für den Versand der Mails zuständig ist. Dem Unternehmen wird nun der dazugehörige öffentliche Schlüssel zur Verfügung gestellt, um so im DNS veröffentlicht zu werden.

Dieses Verfahren muss jedoch bei genauerer Betrachtung im Schnitt alle sechs Monate wiederholt werden, denn das Risiko, dass Schlüssel kompromittiert, gestohlen oder geknackt werden, ist recht hoch. Daher sollte in regelmäßigen Abständen eine sogenannte Rotation durchgeführt werden, im Zuge derer für einen fehlerfreien Übergang in der Regel drei Schlüsselpaare parallel eingesetzt werden. Dabei ist das erste Schlüsselpaar das abgelaufene, das zweite das aktuell genutzte und das dritte jenes, das als nächstes gültig wird. Es liegt nahe, dass dieses Verfahren einen nicht zu unterschätzenden und wiederkehrenden Aufwand bedeutet.

Lösungen für das Problem der Rotation

Um den Aufwand der Rotation zu reduzieren bzw. zu delegieren, kann man zum Mittel der „(Sub)domain Delegation“ greifen. Dabei wird die Kontrolle vollständig an den ESP übertragen, der dann seinerseits den öffentlichen Schlüssel im DNS publiziert. Nicht alle Unternehmen favorisieren diese Lösung jedoch, da sie nur ungern die Kontrolle komplett aus der Hand geben.

Eine weitere Möglichkeit ist ein „CNAME Record“. Hierbei wird im DNS ein Domainname als Alias definiert. Das Unternehmen muss so also lediglich einmal CNAME Records für DKIM setzen, damit dem empfangenden Mail-Server mitgeteilt werden kann, dass er den öffentlichen Schlüssel an einer anderen Stelle beziehen kann, und zwar im DNS des ESP.

In beiden Fällen – also (Sub)domain Delegation und CNAME Record – müssen allerdings die Mailadressen leicht verändert werden. So wird beispielsweise aus „news@beispielseite.de“ dann „info@news.beispielseite.de“ und aus „key1._domainkey.brand_domain.org“ wird „key1.brandname.esp_domain.com“. Unter „“key1.brandname.esp_domain.com” befindet sich der öffentliche Schlüssel, das Unternehmen gibt lediglich Auskunft darüber, wo sich der öffentliche Schlüssel befindet. Um die Verwaltung der Schlüssel und die regelmäßige Rotation kümmert sich dagegen der ESP[3].

Bedeutung für das Development

Da Spammails und Phishing sowie weitere missbräuchliche Aktivitäten nach wie vor für Unternehmen ein Problem darstellen, ist DKIM eine nützliche und sinnvolle Maßnahme, um Absender von Mails als seriös oder nicht seriös einzustufen. Als alleinige Maßnahme gegen Spam & Co. sollte das Verfahren zwar nicht betrachtet werden, doch auf Abwehrmaßnahmen gegen potenzielle Angriffe gänzlich zu verzichten, wäre ebenfalls fahrlässig.

Einzelnachweise

  1. Domainkeys mso-digital.de. Abgerufen am 23.07.2018
  2. Mailsicherheit wiki.hetzner.de. Abgerufen am 23.07.2018
  3. CSA DKIM leicht gemacht certified-senders.org. Abgerufen am 23.07.2018

Weblinks

Kategorie