Secure Socket Tunneling Protocol
   HOME

TheInfoList



OR:

In
computer networking A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or b ...
, Secure Socket Tunneling Protocol (SSTP) is a form of
virtual private network Virtual private network (VPN) is a network architecture for virtually extending a private network (i.e. any computer network which is not the public Internet) across one or multiple other networks which are either untrusted (as they are not con ...
(VPN) tunnel that provides a mechanism to transport
Point-to-Point Protocol In computer networking, Point-to-Point Protocol (PPP) is a data link layer (layer 2) communication protocol between two routers directly without any host or any other networking in between. It can provide loop detection, authentication, transmissio ...
(PPP) traffic through an SSL/TLS channel.


Protocol

SSL/TLS provides transport-level security with key negotiation,
encryption In Cryptography law, cryptography, encryption (more specifically, Code, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the inf ...
and traffic integrity checking. The use of SSL/TLS over TCP port 443 (by default; port can be changed) allows SSTP to pass through virtually all firewalls and proxy servers except for authenticated web proxies. SSTP servers must be authenticated during the SSL/TLS phase. SSTP clients can optionally be authenticated during the SSL/TLS phase and must be authenticated in the PPP phase. The use of PPP allows support for common authentication methods, such as
EAP-TLS Extensible Authentication Protocol (EAP) is an authentication framework frequently used in network and internet connections. It is defined in , which made obsolete, and is updated by . EAP is an authentication framework for providing the transport ...
and MS-CHAP. SSTP is available for
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
BSD The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
, and
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
. SSTP was introduced in 2007 and available on Windows Vista SP1 and later, in RouterOS since version 5.0, and in
SEIL Seil (; , ) is one of the Slate Islands, Scotland, Slate Islands, located on the east side of the Firth of Lorn, southwest of Oban, in Scotland. Seil has been linked to the mainland by bridge since the late 18th century. The origins of the isl ...
since its firmware version 3.50. It is fully integrated with the RRAS architecture in these operating systems, allowing its use with Winlogon or smart-card authentication, remote-access policies and the Windows VPN client. The protocol is also used by Windows Azure for Point-to-Site Virtual Network. SSTP is intended only for remote client access, it generally does not support site-to-site VPN tunnels. SSTP suffers from the same performance limitations as any other IP-over-TCP tunnel. In general, performance will be acceptable only as long as there is sufficient excess bandwidth on the un-tunneled network link to guarantee that the tunneled TCP timers do not expire. If this becomes untrue, performance falls off dramatically due to the TCP meltdown problem. SSTP supports user authentication only; it does not support device authentication or computer authentication.


Packet structure

The following header structure is common to all types of SSTP packets: * Version (8 bits) – communicates and negotiates the version of SSTP that is used. * Reserved (7 bits) – reserved for future use. * C (1 bit) – control bit indicating whether the SSTP packet represents an SSTP control packet or an SSTP data packet. This bit is set if the SSTP packet is a control packet. * Length (16 bits) – packet length field, composed of two values: a Reserved portion and a Length portion. :* Reserved (4 bits) – reserved for future use. :* Length (12 bits) – contains the length of the entire SSTP packet, including the SSTP header. * Data (variable) – when control bit C is set, this field contains an SSTP control message. Otherwise, the data field would contain a higher-level protocol. At the moment, this can only be PPP.


Control message

The data field of the SSTP header contains an SSTP control message only when the header's Control bit C is set. * Message type (16 bits) – specifies the type of SSTP control message being communicated. This dictates the number and types of attributes that can be carried in the SSTP control packet. * Attributes count (16 bits) – specifies the number of attributes appended to the SSTP control message. * Attributes (variable) – contains a list of attributes associated with the SSTP control message. The number of attributes is specified by the Attributes count field.


See also

* AuthIP * L2TP/IPsec *
HTTPS Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It uses encryption for secure communication over a computer network, and is widely used on the Internet. In HTTPS, the communication protoc ...
* OpenVPN * OpenConnect VPN * PPTP * SoftEther VPN, an open-source VPN server program which supports SSTP-VPN protocol. * WireGuard


References


External links


S-SSTP">[MS-SSTP
Secure Socket Tunneling Protocol (SSTP)by Microsoft Open Specification Promise">S-SSTP
Secure Socket Tunneling Protocol (SSTP)">S-SSTP">[MS-SSTP
Secure Socket Tunneling Protocol (SSTP)
by Microsoft Open Specification Promise
RRAS Technet BlogMicrosoft develops new tunneling protocolHow SSTP based VPN connection worksSSTP Client for Linux
{{VPN Network protocols Tunneling protocols