- 2/14/2019
- 2 minuti per leggere
Questo documento specifica il Secure Socket Tunneling Protocol(SSTP). SSTP è un meccanismo per incapsulare il traffico Point-to-Point Protocol (PPP) su un protocollo HTTPS, come specificato in , ,e . Questo protocollo permette agli utenti di accedere a una rete privata utilizzando HTTPS. L’uso di HTTPS permette di attraversare la maggior parte dei firewall e dei web proxy.
Molti servizi VPN forniscono un modo per gli utenti mobili e domestici di accedere alla rete aziendale in remoto utilizzando il Point-to-Point TunnelingProtocol (PPTP) e il Layer Two Tunneling Protocol/Internet Protocol security (L2TP/IPsec). Tuttavia, con la diffusione di firewall e proxy web, molti fornitori di servizi, come gli hotel, non consentono il traffico PPTP e L2TP/IPsec. Questo si traduce in utenti che non ricevono connettività onnipresente alle loro reti aziendali. Per esempio, il blocco delle porte GRE (generic routing encapsulation) da parte di molti fornitori di servizi Internet (ISP) è un problema comune quando si usa PPTP.
Questo protocollo fornisce un tunnel criptato (un tunnel SSTP) per mezzo del protocollo SSL/TLS. Quando un client stabilisce una connessione VPN basata su SSTP, stabilisce prima una connessione TCP al server SSTP sulla porta TCP 443. SSL/TLS handshake avviene su questa connessione TCP.
Dopo il successo della negoziazione di SSL/TLS, il client invia una richiesta HTTP con una codifica di lunghezza del contenuto e una grande lunghezza del contenuto sulla connessione protetta SSL (vedi sezione 3.2.4.1 per maggiori dettagli). Il server invia una risposta HTTP con statoHTTP_STATUS_OK(200). I dettagli specifici della richiesta e della risposta che sono discussi in precedenza possono essere trovati nella sezione 4.1. La connessione HTTPS è ora stabilita, e il client può inviare e ricevere pacchetti di controllo SSTPC e pacchetti dati SSTP su questa connessione. La creazione della connessione HTTPS quando è presente un proxy web è specificata in .
SSTP esegue le seguenti funzioni:
-
Permettendo di delineare i frame PPP dal flusso continuo di dati che viene inviato usando HTTPS. Per maggiori informazioni su PPP, vedere .
-
Negoziazione di parametri tra due entità. Vedere la sezione 1.7 per maggiori dettagli.
-
Formato di messaggio estensibile per supportare nuovi parametri in futuro. Per maggiori informazioni, vedere la sezione 2.2.
-
Operazioni di sicurezza per prevenire che un attaccante man-in-the-middle riporti inappropriatamente i frame PPP su SSTP. SSTP usa il materiale di codifica generato durante l’autenticazione PPP per il crypto binding (sezioni 3.2.5.2e 3.3.5.2.3).
I pacchetti di controllo SSTTP contengono messaggi per negoziare i parametri e per assicurare che non ci sia un man-in-the-middle non affidabile. I pacchetti dati SSTP contengono frame PPP come payload.
In una VPN basata su SSTP, la negoziazione del livello di protocollo avviene nel seguente ordine:
-
La connessione TCP è stabilita con un server SSTP sulla porta TCP443.
-
L’handshake SSL/TLS è completato.
-
La richiesta-risposta HTTPS è completata.
-
Inizia la negoziazione SSTP.
-
La negoziazione PPP è iniziata, e l’autenticazione PPP è completata o bypassata.
-
La negoziazione SSTP è completata.
-
La negoziazione PPP è completata.
-
La connessione entra in uno stato pronto per il trasporto di qualsiasi livello di rete (per esempio, pacchetti IP).
Le seguenti operazioni di incapsulamento avvengono sul client:
-
I pacchetti dell’applicazione sono incapsulati su qualsiasi protocollo di trasporto (per esempio, TCP e UDP).
-
I pacchetti di livello trasporto sono incapsulati su un protocollo di rete (per esempio, IP).
-
I pacchetti di livello rete sono incapsulati su uno strato dati PPP.
-
I pacchetti PPP sono incapsulati su SSTP.
-
I pacchetti SSTP sono incapsulati su SSL/TLS.
-
I record SSL/TLS sono incapsulati su TCP.
-
I pacchetti TCP sono incapsulati su IP.
-
I pacchetti IP sono inviati su qualsiasi livello di collegamento dati (come Ethernet o PPPP). Per maggiori informazioni su PPP, vedere .
Sul lato server, le operazioni per rimuovere l’incapsulamento avvengono in ordine inverso.