E-Mails signieren mit DKIM

Ursprünglich sollte das Verfahren DomainKeys Identified Mail nur die Spam-Flut eindämmen. Doch da es gefälschte Absenderadressen entdeckt, hilft es besser gegen Phishing und zusammen mit der Reputation des Absenders senkt es es auch die Spam-Flut.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 30 Min.
Von
  • Johannes Endres
  • Patrick Ben Koetter
Inhaltsverzeichnis

Ursprünglich sollte das Verfahren DomainKeys Identified Mail nur die Spam-Flut eindämmen. Doch da es gefälschte Absenderadressen entdeckt, hilft es besser gegen Phishing. Erst zusammen mit der Spam-Reputation des Absenders verringert es auch die Viagra-Werbung in der Inbox.

Spammer wollen normalerweise unerkannt bleiben, nicht nur, um den inzwischen horrenden Geldstrafen zu entgehen, die ihnen in den USA drohen. Daher versenden Sie Mail-Müll meist mit falschen Absenderadressen. Phisher, die arglose Nutzer auf gefälschte Internet-Seiten locken wollen, um ihnen Passwörter, PINs und TANs abzuluchsen, senden grundsätzlich unter falscher Flagge – schließlich müssen ihre Nachrichten ja wie die von einer Bank wirken, damit der Trick funktioniert. Ihr böses Handwerk wäre viel schwieriger, wenn sich feststellen ließe, dass eine E-Mail wirklich von dem kommt, der sich als Absender ausgibt. Dazu sollten gutwillige Versender die Urheberschaft ihrer Nachrichten in automatisch auswertbarer Form bestätigen.

Das könnten die Anwender selbst übernehmen, indem sie alle ihre Mails mit einer digitalen Signatur versehen. In jedem brauchbaren E-Mail-Programm erfordert eine solche PGP- oder S/MIME-Unterschrift höchstens einen Klick. Doch mehr als 15 Jahre nach der Einführung von PGP bleibt der Anteil vom Nutzer signierter E-Mail verschwindend gering.

Folglich muss der Absender von Servern geprüft und bestätigt werden. Ein Protokoll dafür heißt SPF (ursprünglich Sender Permitted From, jetzt Sender Policy Framework). So wie im DNS in MX-Records steht, welcher Server die Mail für eine Domain annimmt, schreibt der Postmaster einfach auch ins DNS, welche Server sie für diese Domain verschicken. Wenn von einer anderen IP-Adresse Mail mit dieser Absender-Domain kommt, unterbricht der empfangende Server einfach die Verbindung.

In der Praxis zeigte sich schnell ein prinzipielles Problem: Wenn ein Anwender oder eine Mailingliste außerhalb der ursprünglichen Absender-Domain die E-Mail weiterleitet, passen Server-IP und Absenderadresse nicht mehr zusammen. Außerdem muss der Postmaster ständig daran denken, den SPFEintrag im DNS mit Änderungen an seinem Mail-Server synchron zu halten. Im Moment führt SPF deshalb zu mehr fälschlich abgelehnten Nachrichten als es Spam aussortiert. Sowohl bei Yahoo als auch bei Cisco entstanden 2004 Verfahren, die das Beste der beiden Ideen kombinieren: Um den Nutzer nicht zu belasten, bringt der Server an jeder E-Mail eine kryptografische Signatur an, die von der IP-Adresse des Servers unabhängig ist. Beide Firmen warfen Ihre Bemühungen zusammen und so entstand 2007 der Internetstandard DKIM (inzwischen ergänzt um einige Präzisierungen im RFC 5672). In der freien Wildbahn trifft man häufig noch Signaturen nach dem prinzipiell kompatiblen aber überholten Yahoo-Verfahren an.

Digitale Unterschriften sind Brot und Butter der Kryptografie. Der Unterzeichner erzeugt sich ein Paar von Schlüsseln: Was mit dem einen verschlüsselt ist, kann man nur mit dem anderen entschlüsseln. Wenn der Absender den einen Schlüssel geheim hält und den anderen veröffentlicht, funktioniert das als Unterschrift. Denn was sich mit dem öffentlichen Schlüssel entschlüsseln lässt, muss mit dem geheimen Gegenstück verschlüsselt worden sein. Wenn also der öffentliche Schlüssel passt, muss die Nachricht von jemandem kommen, der den geheimen Schlüssel besitzt.

Um die Nachricht auch für Empfänger lesbar zu erhalten, die DKIM noch nicht entschlüsseln können, wird sie nicht komplett verschlüsselt, sondern zuvor eine Art Quersumme der Buchstaben berechnet, der so genannte Hash. In die Nachricht wird dann nur noch der mit dem geheimen Schlüssel verrechnete Hash eingefügt. Das Ergebnis der Hash-Funktion ändert sich stark, sobald sich die Nachricht auch nur wenig ändert. Deshalb passt die Unterschrift nicht mehr, wenn die Nachricht manipuliert wurde. Die entscheidende Idee ist nun, dass nicht jeder einzelne Nutzer, sondern der absendende Server die E-Mail signiert. Sofern der Postmaster auf seinen geheimen Schlüssel gut aufpasst, ist damit sichergestellt, dass die Nachricht von seinem Server kam und anschließend nicht mehr verändert wurde. Das hindert zum Beispiel Phisher daran, einfach eine echte Bank-Mail abzufangen und einen Link auf ihre Seite einzufügen.