Microsoft hat sich mal wieder etwas eigenes ausgedacht, eine proprietäre Implementierung eines VPNs über SSL. Der Cable Guy erklärt, worum es geht.
Das Secure Socket Tunneling Protocol (SSTP) ist ein neues Protokoll, das eine sichere VPN-Verbindung auch über Adresstranslation (NAT) herstellen soll. Dabei kommen primär die bekannten TLS-Sicherungsverfahren zum Einsatz. Die ersten sechs Schritte im Tunnelaufbau sind identisch zum normalen SSL-Handshake:
- Der Client baut eine Verbindung zum TCP-Port 443 (HTTPS) des Servers auf
- Der Client sendet eine SSL Session Setup Message die anzeigt, dass der Client eine SSL-Verbindung zum Server aufbauen will
- Der Server sendet dem Client sein SSL-Zertifikat
- Der Client überprüft das Zertifikat, bestimmt die Verschlüsselungsmethode für die SSL-Sitzung, generiert einen Sitzungsschlüssel und verschlüsselt diesen mit dem öffentlichen Schlüssel des Zertifikats des Servers
- Der Client sendet den verschlüsselten SSL-Sitzungsschlüssels zum Server
- Der Server entschlüsselt den SSL-Sitzungsschlüssel mit dem zugehörigen privaten Schlüssel. Die gesamte Kommunikation wird mit diesem Sitzungsschlüssel verschlüsselt
Soweit kein Problem, das ist bewährter Standard. Aber nun kommt die Erweiterung:
- Der Client sendet eine HTTP-über-SSL-Anforderungsnachricht zum Server und handelt mit dem Server einen SSTP-Tunnel aus
- Der Client handelt mit dem SSTP-Server eine PPP-Verbindung aus. Zu dieser Aushandlung gehören die Authentifizierung der Anmeldeinformationen des Benutzers mit einer PPP-Authentifizierungsmethode und die Konfiguration der Einstellungen für den Datenverkehr
- Der Client beginnt, über die PPP-Verbindung Datenverkehr zu senden
Das kommt mir irgendwie bekannt vor. PPP ist anscheinend das Lieblingsprotokoll von Microsoft. Das kam ja schon in PPTP zum Einsatz.
Der Overhead ist jedenfalls lustig: IP-Header, TCP-Header, SSTP-Header, PPP-Header und dann erst das eigentliche Datenpaket. Ok, gegenüber IPSec over HTTPS ist das ein wenig effizienter, der PPP-Header hat 8 Byte, der ESP-Header hat 20 Byte. Trotzdem erscheint mir PPP nicht wirklich zwingend notwendig. Die meisten mir bekannten SSL-VPN-Verbindungen kommen jedenfalls ohne PPP aus und bieten direkt IP over HTTPS. Und das scheint recht stabil zu funktionieren.
Na mal sehen, wie es sich verbreitet und ein Vorteil gegenüber PPTP dürfte es allemal sein.
Kommentare gesperrt wegen Spam
Comment by Christian — 17. Juli 2009 @ 23:44