STARTTLS
Zur Navigation springen
Zur Suche springen
E-Mail
Grundsätzliches
- STARTTLS bezeichnet ein Verfahren zum Einleiten der Verschlüsselung einer Netzwerkkommunikation mittels Transport Layer Security (TLS).
- Falls keine zusätzlichen Schutzmaßnahmen gegen einen Downgrade-Angriff umgesetzt werden, handelt es sich dabei um eine opportunistische Verschlüsselung.
- STARTTLS stammt von 1999 und sollte damals verschlüsselte Übertragungen forcieren.
- Seit 2018 werden nur noch vollständig verschlüsselte Übertragungen empfohlen.
- Bei STARTTLS erfolgt der Verbindungsaufbau immer im Klartext und es gibt zudem keine Vorteile mehr gegenüber TLS.
- Darum wird generell die Einstellung „SSL/TLS“ in E-Mail-Clients empfohlen und somit von STARTTLS abgeraten.
Funktionsweise
- Der Client baut zunächst eine unverschlüsselte Netzwerkverbindung zum Server auf und verwendet dabei den für Klartextkommunikation vorgesehenen Port.
- Sofern der Server Unterstützung von STARTTLS signalisiert, sendet der Client den STARTTLS-Befehl.
- Die beiden Kommunikationspartner beginnen mit dem TLS-Handshake und handeln eine Verschlüsselung aus.
- Anschließend wird das Anwendungsprotokoll verschlüsselt fortgesetzt.
Unterscheidung zu TLS/SSL
- STARTTLS unterscheidet sich vom impliziten TLS, bei dem der TLS-Handshake bereits unmittelbar nach Verbindungsaufbau einsetzt
- Die Nutzung von TLS wird hierbei durch Verwendung eines dedizierten Ports impliziert, der ausschließlich für verschlüsselte Kommunikation verwendet wird.
- Bei STARTTLS wird hingegen explizit ausgehandelt, ob TLS genutzt werden soll.
- Der Hauptnachteil von STARTTLS ist, dass dieser Upgrade-Mechanismus gegen Man-in-the-Middle-Angriffe anfällig ist.
- Durch Manipulation der Klartextbefehle kann der Angreifer die TLS-Verschlüsselung verhindern.
- Zum Schutz vor einem solchen Downgrade-Angriff sind zusätzliche Maßnahmen erforderlich, beispielsweise DANE oder MTA-STS.
Bewertung
- In den folgenden Jahren nahm die Verbreitung von TLS weiter zu.
- Bei einer Neubewertung im Jahr 2018 bevorzugen die STARTTLS-Entwickler nunmehr implizites TLS.
- Von einer Klartextübertragung wird gänzlich abgeraten.
- STARTTLS ist seit 1999 als Erweiterung für das Simple Mail Transfer Protocol (SMTP) spezifiziert.
- Der Client beginnt die Verbindung mit dem aus Extended SMTP bekannten Schlüsselwort EHLO.
- Falls eine Unterstützung des Servers gegeben ist, listet er STARTTLS als Erweiterung auf.
- Dem Client steht es anschließend frei mittels des Schlüsselworts STARTTLS den TLS-Handshake einzuleiten.
- Das folgende Beispiel zeigt eine SMTP-Verbindung mit STARTTLS (Server blau, Client grün):
- telnet ox.xinux.org 25
Trying 194.59.156.243... Connected to ox.xinux.org. Escape character is '^]'. 220 ox.xinux.org ESMTP Postfix ehlo kali.secure.local 250-ox.xinux.org 250-PIPELINING 250-SIZE 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250-DSN 250 CHUNKING STARTTLS 220 2.0.0 Ready to start TLS
Ports
Protokoll (Port) | Protokoll mit implizitem TLS (Port) |
---|---|
SMTP (25) | SMTPS (465) |
IMAP (143) | (993) |
POP3 (110) | POP3S (995) |
LDAP(389) | LDAPS (636) |