- 2/14/2019
- 2 minuten om te lezen
Dit document specificeert het Secure Socket Tunneling Protocol(SSTP). SSTP is een mechanisme om Point-to-Point Protocol (PPP)-verkeer in te kapselen over een HTTPS-protocol, zoals gespecificeerd in , , en . Dit protocol stelt gebruikers in staat toegang te krijgen tot een particulier netwerk door gebruik te maken van HTTPS. Het gebruik van HTTPS maakt het mogelijk de meeste firewalls en web proxies te omzeilen.
Veel VPN-diensten bieden mobiele gebruikers en thuisgebruikers een manier om op afstand toegang te krijgen tot het bedrijfsnetwerk door gebruik te maken van het Point-to-Point TunnelingProtocol (PPTP) en het Layer Two Tunneling Protocol/Internet Protocol security (L2TP/IPsec). Met de popularisering van firewalls en web proxies staan veel service providers, zoals hotels, echter geen PPTP en L2TP/IPsectraffic toe. Dit heeft tot gevolg dat gebruikers geen alomtegenwoordige connectiviteit met hun bedrijfsnetwerken krijgen. Zo is bijvoorbeeld poortblokkering door generieke routing encapsulation (GRE) bij veel Internet service providers (ISP’s) een veel voorkomend probleem bij gebruik van PPTP.
Dit protocol biedt een versleutelde tunnel (een SSTPtunnel) door middel van het SSL/TLS-protocol. Wanneer een client een op SSTP gebaseerde VPN-verbinding tot stand brengt, brengt hij eerst een TCP-verbinding tot stand met de SSTP-server via TCP-poort 443. Over deze TCP-verbinding vindt de SSL/TLS-handshake plaats.
Na de succesvolle onderhandeling over SSL/TLS stuurt de client een HTTP-verzoek met codering van de inhoudslengte en een grote inhoudslengte over de met SSL beveiligde verbinding (zie paragraaf 3.2.4.1 voor meer bijzonderheden). De server stuurt een HTTP-antwoord terug met statusHTTP_STATUS_OK(200). De specifieke details van het verzoek en het antwoord die eerder zijn besproken, zijn te vinden in paragraaf 4.1. De HTTPS-verbinding is nu tot stand gebracht, en de client kan SSTPControl Packets en SSTP Data Packets via deze verbinding verzenden en ontvangen. Het tot stand brengen van een HTTPS-verbinding wanneer een web proxy aanwezig is, wordt gespecificeerd in .
SSTP beschikt over de volgende functies:
-
Het mogelijk maken van afbakening van PPP frames van de continue stroom van gegevens die wordt verzonden door gebruik te maken van HTTPS. Zie voor meer informatie over PPP .
-
Onderhandeling over parameters tussen twee entiteiten. Zie paragraaf 1.7 voor meer informatie.
-
Uitbreidbaar berichtformaat om in de toekomst nieuwe parameters te ondersteunen. Zie sectie 2.2 voor meer informatie.
-
Beveiligingsbewerkingen om te voorkomen dat een “man-in-the-middle”-aanvaller PPP-frames ongepast via SSTP kan doorgeven. SSTP gebruikt sleutelmateriaal dat tijdens de PPP-authenticatie is gegenereerd voor cryptobinding (secties 3.2.5.2 en 3.3.5.2.3)
SSTP Control Packets bevatten berichten om over parameters te onderhandelen en om ervoor te zorgen dat er geen onvertrouwde man-in-the-middle is. SSTPData Packets bevatten PPP frames als payload.
In een op SSTP gebaseerd VPN vinden de protocollaagonderhandelingen in de volgende volgorde plaats:
-
De TCP-verbinding wordt tot stand gebracht met een SSTP-server via TCP-poort443.
-
SSL/TLS-handshake is voltooid.
-
HTTPS request-response is voltooid.
-
De SSTP-onderhandeling is gestart.
-
De PPP-onderhandeling is gestart, en de PPP-authenticatie is voltooid of omzeild.
-
De SSTP-onderhandeling is voltooid.
-
De PPP-onderhandeling is voltooid.
-
De verbinding is gereed voor transport van een netwerklaag (bijvoorbeeld IP-pakketten).
De volgende inkapsulatiebewerkingen vinden plaats op de client:
-
Toepassingspakketten worden ingekapseld over een willekeurig transportprotocol (bijvoorbeeld TCP en UDP).
-
Pakketten voor de transportlaag worden ingekapseld over een netwerkprotocol (bijvoorbeeld IP).
-
Pakketten voor de netwerklaag worden ingekapseld over een PPP-datalaag.
-
PPP-pakketten worden ingekapseld over SSTP.
-
SSTP-pakketten worden ingekapseld over SSL/TLS.
-
SSL/TLS-bestanden worden ingekapseld over TCP.
-
TCP-pakketten worden ingekapseld over IP.
-
IP-pakketten worden verzonden over een gegevensverbindingslaag (zoals Ethernet of PPP). Voor meer informatie over PPP, zie .
Aan de serverzijde vinden de bewerkingen om de inkapseling te verwijderen in omgekeerde volgorde plaats.