Bei der Kommunikation von Mailserver zu Mailserver werden die meisten E-Mails jedoch nach meinem besten Wissen immer noch im Klartext und nicht verschlüsselt übertragen, sodass jeder im Netzwerk ihre Inhalte lesen kann.
Richtig. SMTP ist wie HTTP standardmäßig Klartext.
Heutzutage unterstützen viele Mailserver TLS (früher als SSL bezeichnet) für SMTP. (Dazu gehört Google Mail.) Allerdings hat es die gleichen Probleme wie bei HTTP [S]: Zertifikate , die von bekanntem ausgestellt CAs kosten Geld, und selbst signiert diejenigen wertlos sind 1 zum Schutz gegen MITM - Angriffe . Wenn Ihr Mailserver das Zertifikat des Empfängers genau überprüft (wie es Webbrowser tun), kann er möglicherweise keine Nachrichten an Server übermitteln, die selbstsignierte Zertifikate oder interne Zertifizierungsstellen verwenden. Wenn dies nicht der Fall ist , kann es nicht sicher sein, dass es sich um den richtigen Server handelt und nicht um einen Betrüger .
Außerdem ist TLS eine relativ neue Erweiterung von SMTP. Selbst wenn der Mailserver des Empfängers TLS unterstützt, ist TLS möglicherweise nicht vom Absender oder standardmäßig deaktiviert.
1 (Es sei denn, der sendende Server unterstützt DANE (TLSA) und der Administrator des empfangenden Servers möchte die TLSA-Einträge in DNS veröffentlichen. Dies ist selten und etwas mühsam.)
Gibt es Technologien, die dem Benutzer einige Garantien dafür geben, dass seine E-Mails von Ende zu Ende sicher gesendet werden?
Zwei gängige E-Mail-Sicherheitsstandards:
OpenPGP , basierend auf Web of Trust und kostenlos zu verwenden. Die Open-Source-Implementierung ist GnuPG ( für Windows , für Thunderbird ), und das ursprüngliche PGP wurde zum kommerziellen PGP Desktop .
Für webbasierte E-Mail-Clients ist FireGPG eine Möglichkeit - verdammt noch mal
S / MIME , basierend auf der X.509-Infrastruktur. Implementiert von den meisten Desktop-Clients (einschließlich Outlook, Thunderbird, Mail.app). Aufgrund der gleichen autoritätsbasierten Struktur wie TLS / SSL jedoch relativ unbeliebt: Signierte Zertifikate kosten Geld, und selbstsignierte können nicht zuverlässig validiert werden.
In beiden Fällen setzt die Verschlüsselung voraus , dass der Empfänger das System bereits verwendet und ein Schlüsselpaar generiert / erhalten hat. (Zum Signieren wird das Schlüsselpaar des Absenders verwendet. Normalerweise werden Nachrichten sowohl signiert als auch verschlüsselt.)
Lassen Sie den Benutzer wissen, wenn die Verschlüsselung nicht unterstützt wird, und legen Sie fest, ob seine E-Mail weiterhin zugestellt werden soll.
Normalerweise werden gesendete Nachrichten in die Warteschlange gestellt , und weder der Benutzer noch der MTA können wissen, ob der nächste Hop TLS unterstützt oder nicht - bis die Nachricht gesendet wird. Zu diesem Zeitpunkt gibt es keine zuverlässige Möglichkeit, den Benutzer um Bestätigung zu bitten. (Möglicherweise handelt es sich um AFK, Offline, Sleeping oder ein Skript / Programm. Wenn ich die Nachricht gesendet habe, möchte ich, dass sie so schnell wie möglich zugestellt wird.)
Außerdem wissen Sie mit SMTP nie, ob der nächste Hop endgültig ist oder ob die Mail nur an eine andere Stelle weitergeleitet wird. Es ist nicht ungewöhnlich, dass sich ein Backup-MX in einem völlig anderen Netzwerk befindet.
Deshalb. End-to-End-Sicherheit ist nur möglich, wenn beide Seiten OpenPGP oder S / MIME verwenden.