Jump to content

User:HighPriestDuncan/Virtual private network

From Wikipedia, the free encyclopedia

The term virtual private network (abbreviated VPN) describes any technology that can encapsulate and transmit network data, typically Internet Protocol data, over another network. Such a system enables users to access network resources that may otherwise be inaccessible from the public internet. VPNs are frequently used in the information technology sector to provide access to resources for users that are not physically connected to an organisation's network, such as telecommuting workers. VPNs are so named because they may be used to provide virtual (as opposed to physical) access to a private network.

Colloquially, the term VPN may be used to refer, albeit improperly, to a proxy service that uses VPN technology (such as OpenVPN) as opposed to higher-level proxy server protocols (such as SOCKS) as it does not require configuration of individual applications to tunnel their traffic through the proxy server, instead employing routing to redirect traffic.

Configurations

[edit]
VPN classification tree based on the topology first, then on the technology used.
VPN connectivity overview, showing intranet site-to-site and remote-work configurations used together

Broadly speaking, VPN configurations fall into two categories:

Remote access
Analagous to simply plugging one's computer into a network, this configuration enables an individual to access an intranet as if they were physically connected to it. Such a configuration may be employed when a remote worker needs access to private resources, or to enable a mobile worker (such as a cable technician) to access important tools without exposing them to the public internet.
Site-to-site
Instead of connecting a single endpoint to a larger network, site-to-site connections connect two routers. These routers then route traffic bound for other sites over the VPN, effectively creating one seamless local area network that spans multiple physical locations. This configuration is of particular use for businesses, as this allows for distinct offices, data centers, and cloud computing platforms to seamlessly interconnect.

Typically, individuals interact with remote access VPNs, whereas businesses tend to make use of site-to-site connections for business-to-business, cloud computing, and branch office scenarios. Despite this, the two technologies are not mutually exclusive and, in a significantly complex business network, may be combined to enable remote access to resources located at any given site, such as an ordering system that resides in a datacenter.

Intranet versus extranet site-to-site VPNs

[edit]

In the context of site-to-site configurations, the terms intranet and extranet are used to describe two different use cases[1]. An intranet site-to-site VPN describes a configuration where the sites connected by the VPN belong to the same organization, whereas an extranet site-to-site VPN joins sites belonging to many organizations.

Protocols

[edit]

Virtual private networking does not have one specific implementation, protocol or standard. Rather, different standards, protocols, and implementations exist to implement virtual private networking.

OpenVPN
OpenVPN is an open-source VPN system consisting of both a protocol and implementation. The reference implementation is available for wide variety of platforms, making it suitable for use in remote access scenarios.
Internet Protocol Security
Internet Protocol Security (IPsec) is a suite of extensions to internet protocol standardized by the IETF[2]. IPsec may be used in tunnel mode to create a virtual private network.
Secure Socket Tunneling Protocol
Secure Socket Tunneling Protocol (SSTP) is a protocol intended for remote access configurations. Because it uses a TLS channel over TCP port 443, the same port used for HTTPS connections, it can pass through most firewalls and proxy servers without issue.
Layer 2 Tunneling Protocol
Layer 2 Tunneling Protocol (L2TP) is a tunneling protocol that may be used to deliver virtual private networking in combination with point-to-point protocol (PPP)[3]. A newer version, Layer 2 Tunneling Protocol Version 3 (L2TPv3) standardized many modifications to L2TP, making it better suited to carrying types of traffic other than PPP[4]. The nature of L2TP's design, when combined with network layer (OSI layer 3) protocols such as PPP, makes it suitable for use in site-to-site configurations.
WireGuard
WireGuard, like OpenVPN, is both a protocol for and an open-source implementation of virtual private networking. It was been designed with the intention that it would be easy to use, be performant, and be secure[5].


Security mechanisms

[edit]

VPNs cannot make online connections completely anonymous, but they can usually increase privacy and security. To prevent disclosure of private information, VPNs typically allow only authenticated remote access using tunneling protocols and encryption techniques.

The VPN security model provides:

The life cycle phases of an IPSec Tunnel in a virtual private network.

Secure VPN protocols include the following:

  • Internet Protocol Security (IPsec) was initially developed by the Internet Engineering Task Force (IETF) for IPv6, which was required in all standards-compliant implementations of IPv6 before RFC 6434 made it only a recommendation.[6] This standards-based security protocol is also widely used with IPv4 and the Layer 2 Tunneling Protocol. Its design meets most security goals: availability, integrity, and confidentiality. IPsec uses encryption, encapsulating an IP packet inside an IPsec packet. De-encapsulation happens at the end of the tunnel, where the original IP packet is decrypted and forwarded to its intended destination.
  • Transport Layer Security (SSL/TLS) can tunnel an entire network's traffic (as it does in the OpenVPN project and SoftEther VPN project[7]) or secure an individual connection. A number of vendors provide remote-access VPN capabilities through SSL. An SSL VPN can connect from locations where IPsec runs into trouble with Network Address Translation and firewall rules.
  • Datagram Transport Layer Security (DTLS) – used in Cisco AnyConnect VPN and in OpenConnect VPN[8] to solve the issues SSL/TLS has with tunneling over TCP (tunneling TCP over TCP can lead to big delays and connection aborts[9]).
  • Microsoft Point-to-Point Encryption (MPPE) works with the Point-to-Point Tunneling Protocol and in several compatible implementations on other platforms.
  • Microsoft Secure Socket Tunneling Protocol (SSTP) tunnels Point-to-Point Protocol (PPP) or Layer 2 Tunneling Protocol traffic through an SSL/TLS channel (SSTP was introduced in Windows Server 2008 and in Windows Vista Service Pack 1).
  • Multi Path Virtual Private Network (MPVPN). Ragula Systems Development Company owns the registered trademark "MPVPN".[10]
  • Secure Shell (SSH) VPN – OpenSSH offers VPN tunneling (distinct from port forwarding) to secure remote connections to a network or to inter-network links. OpenSSH server provides a limited number of concurrent tunnels. The VPN feature itself does not support personal authentication.[11][12][13]
  • WireGuard is a protocol. In 2020, WireGuard support was added to both the Linux[14] and Android[15] kernels, opening it up to adoption by VPN providers. By default, WireGuard utilizes Curve25519 for key exchange and ChaCha20 for encryption, but also includes the ability to pre-share a symmetric key between the client and server.[16][17] Almost all commercial VPNs adopted this protocol as the default one.[citation needed]

Authentication

[edit]

Tunnel endpoints must be authenticated before secure VPN tunnels can be established. User-created remote-access VPNs may use passwords, biometrics, two-factor authentication or other cryptographic methods. Network-to-network tunnels often use passwords or digital certificates. They permanently store the key to allow the tunnel to establish automatically, without intervention from the administrator

Routing

[edit]

Tunneling protocols can operate in a point-to-point network topology that would theoretically not be considered a VPN because a VPN by definition is expected to support arbitrary and changing sets of network nodes. But since most router implementations support a software-defined tunnel interface, customer-provisioned VPNs often are simply defined tunnels running conventional routing protocols.

Provider-provisioned VPN building-blocks

[edit]
Site-to-Site VPN terminology.

Depending on whether a provider-provisioned VPN (PPVPN) operates in layer 2 or layer 3, the building blocks described below may be L2 only, L3 only, or a combination of both. Multi-protocol label switching (MPLS) functionality blurs the L2-L3 identity.{{[18]}}[original research?]

RFC 4026 generalized the following terms to cover L2 MPLS VPNs and L3 (BGP) VPNs, but they were introduced in RFC 2547.[19][20]

Customer (C) devices

A device that is within a customer's network and not directly connected to the service provider's network. C devices are not aware of the VPN.

Customer Edge device (CE)

A device at the edge of the customer's network which provides access to the PPVPN. Sometimes it is just a demarcation point between provider and customer responsibility. Other providers allow customers to configure it.

Provider edge device (PE)

A device, or set of devices, at the edge of the provider network which connects to customer networks through CE devices and presents the provider's view of the customer site. PEs are aware of the VPNs that connect through them, and maintain VPN state.

Provider device (P)

A device that operates inside the provider's core network and does not directly interface to any customer endpoint. It might, for example, provide routing for many provider-operated tunnels that belong to different customers' PPVPNs. While the P device is a key part of implementing PPVPNs, it is not itself VPN-aware and does not maintain VPN state. Its principal role is allowing the service provider to scale its PPVPN offerings, for example, by acting as an aggregation point for multiple PEs. P-to-P connections, in such a role, often are high-capacity optical links between major locations of providers.

User-visible PPVPN services

[edit]

OSI Layer 2 services

[edit]
Virtual LAN

Virtual LAN (VLAN) is a Layer 2 technique that allow for the coexistence of multiple local area network (LAN) broadcast domains interconnected via trunks using the IEEE 802.1Q trunking protocol. Other trunking protocols have been used but have become obsolete, including Inter-Switch Link (ISL), IEEE 802.10 (originally a security protocol but a subset was introduced for trunking), and ATM LAN Emulation (LANE).

Virtual private LAN service (VPLS)

Developed by Institute of Electrical and Electronics Engineers, Virtual LANs (VLANs) allow multiple tagged LANs to share common trunking. VLANs frequently comprise only customer-owned facilities. Whereas VPLS as described in the above section (OSI Layer 1 services) supports emulation of both point-to-point and point-to-multipoint topologies, the method discussed here extends Layer 2 technologies such as 802.1d and 802.1q LAN trunking to run over transports such as Metro Ethernet.

As used in this context, a VPLS is a Layer 2 PPVPN, emulating the full functionality of a traditional LAN. From a user standpoint, a VPLS makes it possible to interconnect several LAN segments over a packet-switched, or optical, provider core, a core transparent to the user, making the remote LAN segments behave as one single LAN.[21]

In a VPLS, the provider network emulates a learning bridge, which optionally may include VLAN service.

Pseudo wire (PW)

PW is similar to VPLS, but it can provide different L2 protocols at both ends. Typically, its interface is a WAN protocol such as Asynchronous Transfer Mode or Frame Relay. In contrast, when aiming to provide the appearance of a LAN contiguous between two or more locations, the Virtual Private LAN service or IPLS would be appropriate.

Ethernet over IP tunneling

EtherIP (RFC 3378)[22] is an Ethernet over IP tunneling protocol specification. EtherIP has only packet encapsulation mechanism. It has no confidentiality nor message integrity protection. EtherIP was introduced in the FreeBSD network stack[23] and the SoftEther VPN[24] server program.

IP-only LAN-like service (IPLS)

A subset of VPLS, the CE devices must have Layer 3 capabilities; the IPLS presents packets rather than frames. It may support IPv4 or IPv6.

OSI Layer 3 PPVPN architectures

[edit]

This section discusses the main architectures for PPVPNs, one where the PE disambiguates duplicate addresses in a single routing instance, and the other, virtual router, in which the PE contains a virtual router instance per VPN. The former approach, and its variants, have gained the most attention.

One of the challenges of PPVPNs involves different customers using the same address space, especially the IPv4 private address space.[25] The provider must be able to disambiguate overlapping addresses in the multiple customers' PPVPNs.

BGP/MPLS PPVPN

In the method defined by RFC 2547, BGP extensions advertise routes in the IPv4 VPN address family, which are of the form of 12-byte strings, beginning with an 8-byte route distinguisher (RD) and ending with a 4-byte IPv4 address. RDs disambiguate otherwise duplicate addresses in the same PE.

PEs understand the topology of each VPN, which are interconnected with MPLS tunnels either directly or via P routers. In MPLS terminology, the P routers are Label Switch Routers without awareness of VPNs.

Virtual router PPVPN

The virtual router architecture,[26][27] as opposed to BGP/MPLS techniques, requires no modification to existing routing protocols such as BGP. By the provisioning of logically independent routing domains, the customer operating a VPN is completely responsible for the address space. In the various MPLS tunnels, the different PPVPNs are disambiguated by their label but do not need routing distinguishers.

Unencrypted tunnels

[edit]

Some virtual networks use tunneling protocols without encryption for protecting the privacy of data. While VPNs often do provide security, an unencrypted overlay network does not neatly fit within the secure or trusted categorization.[28] For example, a tunnel set up between two hosts with Generic Routing Encapsulation (GRE) is a virtual private network but is neither secure nor trusted.[29][30]

Native plaintext tunneling protocols include Layer 2 Tunneling Protocol (L2TP) when it is set up without IPsec and Point-to-Point Tunneling Protocol (PPTP) or Microsoft Point-to-Point Encryption (MPPE).[31]

Trusted delivery networks

[edit]

Trusted VPNs do not use cryptographic tunneling; instead they rely on the security of a single provider's network to protect the traffic.[32]

From the security standpoint, VPNs either trust the underlying delivery network or must enforce security with mechanisms in the VPN itself. Unless the trusted delivery network runs among physically secure sites only, both trusted and secure models need an authentication mechanism for users to gain access to the VPN.

VPNs in mobile environments

[edit]

Mobile virtual private networks are used in settings where an endpoint of the VPN is not fixed to a single IP address, but instead roams across various networks such as data networks from cellular carriers or between multiple Wi-Fi access points without dropping the secure VPN session or losing application sessions.[36] Mobile VPNs are widely used in public safety where they give law-enforcement officers access to applications such as computer-assisted dispatch and criminal databases,[37] and in other organizations with similar requirements such as Field service management and healthcare[38][need quotation to verify].

Networking limitations

[edit]

A limitation of traditional VPNs is that they are point-to-point connections and do not tend to support broadcast domains; therefore, communication, software, and networking, which are based on layer 2 and broadcast packets, such as NetBIOS used in Windows networking, may not be fully supported as on a local area network. Variants on VPN such as Virtual Private LAN Service (VPLS) and layer 2 tunneling protocols are designed to overcome this limitation.[39]

VPN services

[edit]

A wide variety of entities provide "VPNs" for several purposes. But depending on the provider and the application, they do not always create a true private network. Instead, many providers simply provide an Internet proxy that utilizes VPN technologies such as OpenVPN or WireGuard. The term VPN service is sometimes used to refer to these proxies when offered as a commercial service. These services are often used by users wishing to disguise or obfuscate their physical location and/or IP address, typically as a means to evade Internet censorship or geo-blocking.

Providers often market VPN services as privacy-enhancing, citing security features, such as encryption, from the underlying VPN technology. However, users must consider that when the transmitted content is not encrypted before entering the proxy, that content is visible at the receiving endpoint (usually the VPN service provider's site) regardless of whether the VPN tunnel itself is encrypted for the inter-node transport. The only secure VPN is where the participants have oversight at both ends of the entire data path or when the content is encrypted before it enters the tunnel.

On the client side, configurations intended to use VPN services as proxies are not conventional VPN configurations. However, they do typically utilize the operating system's VPN interfaces to capture the user's data to send to the proxy. This includes virtual network adapters on computer OSes and specialized "VPN" interfaces on mobile operating systems. A less common alternative is to provide a SOCKS proxy interface.

Legality

[edit]

In March 2018, the use of unapproved VPN services was banned in China as they can be used by citizens to circumvent the Great Firewall. [40] There have been jail terms and fines imposed on people operating unauthorized VPN services.[41][42] Individuals have also been fined for accessing websites using a VPN service.[43][44]

See also

[edit]

References

[edit]
  1. ^ Generic Requirements for Provider Provisioned Virtual Private Networks. sec. 1.1. doi:10.17487/RFC3809. RFC 3809.
  2. ^ Security Archictecture for the Internet Protocol. doi:10.17487/RFC1825. RFC 1825.IP Authentication Header. doi:10.17487/RFC1826. RFC 1826.IP Encapsulating Security Payload (ESP). doi:10.17487/RFC1827. RFC 1827.
  3. ^ Layer Two Tunneling Protocol "L2TP". sec. 1.0. doi:10.17487/RFC2661. RFC 2661.
  4. ^ Layer Two Tunneling Protocol - Version 3 (LT2Pv3). doi:10.17487/RFC3931. RFC 3931.
  5. ^ "WireGuard: fast, modern, secure VPN tunnel". WireGuard. Archived from the original on 28 April 2018. Retrieved 31 March 2021.
  6. ^ RFC 6434, "IPv6 Node Requirements", E. Jankiewicz, J. Loughney, T. Narten (December 2011)
  7. ^ "1. Ultimate Powerful VPN Connectivity". www.softether.org. SoftEther VPN Project.
  8. ^ "OpenConnect". Retrieved 8 April 2013. OpenConnect is a client for Cisco's AnyConnect SSL VPN [...] OpenConnect is not officially supported by, or associated in any way with, Cisco Systems. It just happens to interoperate with their equipment.
  9. ^ "Why TCP Over TCP Is A Bad Idea". sites.inka.de. Retrieved 24 October 2018.
  10. ^ "Trademark Status & Document Retrieval". tarr.uspto.gov.
  11. ^ "ssh(1) – OpenBSD manual pages". man.openbsd.org.
  12. ^ c@cb.vu, Colin Barschel. "Unix Toolbox". cb.vu.
  13. ^ "SSH_VPN – Community Help Wiki". help.ubuntu.com.
  14. ^ Salter, Jim (30 March 2020). "WireGuard VPN makes it to 1.0.0—and into the next Linux kernel". Ars Technica. Retrieved 30 June 2020.
  15. ^ "Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git at Google". android.googlesource.com. Retrieved 30 June 2020.
  16. ^ Younglove, R. (December 2000). "Virtual private networks - how they work". Computing & Control Engineering Journal. 11 (6): 260–262. doi:10.1049/cce:20000602. ISSN 0956-3385.
  17. ^ Benjamin Dowling, and Kenneth G. Paterson. "A cryptographic analysis of the WireGuard protocol". International Conference on Applied Cryptography and Network Security. ISBN 978-3-319-93386-3.
  18. ^ https://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst6500/ios/12-2SXF/native/configuration/guide/swcg/pfc3mpls.pdf. {{cite web}}: Missing or empty |title= (help)
  19. ^ E. Rosen & Y. Rekhter (March 1999). "BGP/MPLS VPNs". Internet Engineering Task Force (IETF). RFC 2547.
  20. ^ Lewis, Mark (2006). Comparing, designing, and deploying VPNs (1st print. ed.). Indianapolis, Ind.: Cisco Press. pp. 5–6. ISBN 1587051796.
  21. ^ Ethernet Bridging (OpenVPN)
  22. ^ Hollenbeck, Scott; Housley, Russell. "EtherIP: Tunneling Ethernet Frames in IP Datagrams".
  23. ^ Glyn M Burton: RFC 3378 EtherIP with FreeBSD, 03 February 2011
  24. ^ net-security.org news: Multi-protocol SoftEther VPN becomes open source, January 2014
  25. ^ Address Allocation for Private Internets, RFC 1918, Y. Rekhter et al., February 1996
  26. ^ RFC 2917, A Core MPLS IP VPN Architecture
  27. ^ RFC 2918, E. Chen (September 2000)
  28. ^ Yang, Yanyan (2006). "IPsec/VPN security policy correctness and assurance". Journal of High Speed Networks. 15: 275–289. CiteSeerX 10.1.1.94.8561.
  29. ^ "Overview of Provider Provisioned Virtual Private Networks (PPVPN)". Secure Thoughts. Retrieved 29 August 2016.
  30. ^ RFC 1702: Generic Routing Encapsulation over IPv4 networks. October 1994.
  31. ^ IETF (1999), RFC 2661, Layer Two Tunneling Protocol "L2TP"
  32. ^ Cisco Systems, Inc. (2004). Internetworking Technologies Handbook. Networking Technology Series (4 ed.). Cisco Press. p. 233. ISBN 9781587051197. Retrieved 15 February 2013. [...] VPNs using dedicated circuits, such as Frame Relay [...] are sometimes called trusted VPNs, because customers trust that the network facilities operated by the service providers will not be compromised.
  33. ^ Layer Two Tunneling Protocol "L2TP", RFC 2661, W. Townsley et al., August 1999
  34. ^ IP Based Virtual Private Networks, RFC 2341, A. Valencia et al., May 1998
  35. ^ Point-to-Point Tunneling Protocol (PPTP), RFC 2637, K. Hamzeh et al., July 1999
  36. ^ Phifer, Lisa. "Mobile VPN: Closing the Gap", SearchMobileComputing.com, July 16, 2006.
  37. ^ Willett, Andy. "Solving the Computing Challenges of Mobile Officers", www.officer.com, May, 2006.
  38. ^ Cheng, Roger. "Lost Connections", The Wall Street Journal, December 11, 2007.
  39. ^ "Virtual Private Networking: An Overview". 18 November 2019.
  40. ^ "Businesses, consumers uncertain ahead of China VPN ban". Reuters. Retrieved 3 April 2018.
  41. ^ "Man jailed for 5½ years, fined US$76,000 for selling VPN in China". South China Morning Post. 21 December 2017. Retrieved 10 August 2020.
  42. ^ Cimpanu, Catalin. "Chinese man arrested after making $1.6 million from selling VPN services". ZDNet. Retrieved 10 August 2020.
  43. ^ "Using a VPN to watch porn gets a man punished in China". South China Morning Post. 30 July 2020. Retrieved 10 August 2020.
  44. ^ ""翻墙"网民受罚 中国进一步强化网络管控" [Internet User Fined for Scaling Great Firewall - China strengthens Internet Control]. BBC News 中文 (in Simplified Chinese). 11 January 2019. Retrieved 10 August 2020.

Further reading

[edit]


Category:Network architecture Category:Computer network security Category:Internet privacy Category:Crypto-anarchism