- 2/14/2019
- 2 minutter at læse
Dette dokument specificerer Secure Socket Tunneling Protocol (SSTP). SSTP er en mekanisme til indkapsling af PPP-trafik (Point-to-Point Protocol) over en HTTPS-protokol, som specificeret i , , ,og . Denne protokol gør det muligt for brugere at få adgang til et privat netværk ved hjælp af HTTPS. Brugen af HTTPS gør det muligt at passere de fleste firewalls og webproxies.
Mange VPN-tjenester giver mobile brugere og private brugere mulighed for at få fjernadgang til virksomhedsnetværket ved hjælp af Point-to-Point Tunneling Protocol (PPTP) og Layer Two Tunneling Protocol/Internet Protocol security (L2TP/IPsec). Men med udbredelsen af firewalls og webproxyer tillader mange tjenesteudbydere, f.eks. hoteller, ikke PPTP- og L2TP/IP-sec-trafikken. Dette resulterer i, at brugerne ikke får ubegrænset forbindelse til deres virksomhedsnetværk. F.eks. er det et almindeligt problem, at mange internetudbydere (ISP’er) blokerer porte ved brug af PPTP.
Denne protokol giver en krypteret tunnel (en SSTP-tunnel) ved hjælp af SSL/TLS-protokollen. Når en klient etablerer en SSTP-baseret VPN-forbindelse, etablerer den først en TCP-forbindelse til SSTP-serveren over TCP-port 443. SSL/TLS handshake foregår over denne TCP-forbindelse.
Når forhandlingerne om SSL/TLS er lykkedes, sender klienten en HTTP-anmodning med indholdslængdekodning og en stor indholdslængde på den SSL-beskyttede forbindelse (se afsnit 3.2.4.1 for yderligere oplysninger). Serveren sender et HTTP-svar tilbage med statusHTTP_STATUS_OK(200). De specifikke detaljer om anmodning og svar, som er beskrevet tidligere, kan findes i afsnit 4.1. HTTPS-forbindelsen er nu etableret, og klienten kan sende og modtage SSTPC-kontrolpakker og SSTP-datapakker på denne forbindelse. HTTPS-forbindelsesetablering, når der findes en webproxy, er specificeret i .
SSTP udfører følgende funktioner:
-
Tillader afgrænsning af PPP-rammer fra den kontinuerlige strøm af data, der sendes ved brug af HTTPS. For yderligere oplysninger om PPP, se .
-
Forhandling af parametre mellem to enheder. Se afsnit 1.7 for yderligere oplysninger.
-
Udvideligt beskedformat til at understøtte nye parametre i fremtiden. For yderligere oplysninger, se afsnit 2.2.
-
Sikkerhedsoperationer for at forhindre en man-in-the-middle-angriber i at videresende PPP-rammer på uhensigtsmæssig vis over SSTP. SSTP bruger nøglemateriale, der genereres under PPP-godkendelse til kryptobinding (afsnit 3.2.5.2og 3.3.5.2.3).
SSTP-kontrolpakker indeholder meddelelser til at forhandle parametre og til at sikre, at der ikke er nogen uanfægtet man-in-the-middle. SSTPDatapakker indeholder PPP-rammer som nyttelast.
I en SSTP-baseret VPN sker forhandling af protokollaget i følgende rækkefølge:
-
TCP-forbindelsen etableres til en SSTP-server over TCP-port443.
-
SSL/TLS-håndshake er afsluttet.
-
HTTPS-forespørgsel-svar er afsluttet.
-
SSTP-forhandling påbegyndes.
-
PPP-forhandling påbegyndes, og PPP-godkendelse afslutteseller forbigås.
-
SSTP-forhandling afsluttes.
-
PPP-forhandling er afsluttet.
-
Forbindelsen går over i en klar tilstand til transport af et hvilket som helst netværkslag (f.eks. IP-pakker).
Følgende indkapslingsoperationer finder sted på klienten:
-
Applikationspakker indkapsles over en hvilken som helst transportprotokol (f.eks. TCP og UDP).
-
Transportlagspakker indkapsles over en netværksprotokol (f.eks. IP).
-
Netværkslagspakker indkapsles over et PPP-datalagelag.
-
PPP-pakker er indkapslet over SSTP.
-
SSTP-pakker er indkapslet over SSL/TLS.
-
SSL/TLS-pakker er indkapslet over TCP.
-
TCP-pakker indkapsles over IP.
-
IP-pakker sendes over et hvilket som helst data-link-lag (f.eks. Ethernet ellerPPP). Yderligere oplysninger om PPP findes i .
På serversiden foregår operationer til at fjerne indkapslingen i omvendt rækkefølge.