Virtual private network
![]() | This article needs additional citations for verification. (May 2021) ) |
A virtual private network (VPN) is a mechanism for creating a
A VPN is created by establishing a virtual
Types
Virtual private networks may be classified into several categories:
- Remote access
- A host-to-network configuration is analogous to connecting a computer to a local area network. This type provides access to an enterprise network, such as an intranet. This may be employed for remote workers who need access to private resources, or to enable a mobile worker to access important tools without exposing them to the public Internet.
- Site-to-site
- A site-to-site configuration connects two networks. This configuration expands a network across geographically disparate offices, or a group of offices to a data center installation. The interconnecting link may run over a dissimilar intermediate network, such as two IPv4 network.[5]
- Extranet-based site-to-site
- In the context of site-to-site configurations, the terms intranet and extranet are used to describe two different use cases.[6] 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 multiple organizations.
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, these 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 data center.
VPN systems also may be classified by:
- The tunneling protocol used to tunnel the traffic
- The tunnel's termination point location, e.g., on the customer edge or network-provider edge
- The type of topology of connections, such as site-to-site or network-to-network
- The levels of security provided
- The Layer 3network connectivity
- The number of simultaneous connections
Security mechanisms
VPNs cannot make online connections completely anonymous, but they can increase privacy and security. To prevent disclosure of private information or data sniffing, VPNs typically allow only authenticated remote access using tunneling protocols and secure encryption techniques.
The VPN security model provides:
- Confidentiality such that even if the network traffic is sniffed at the packet level (see network sniffer or deep packet inspection), an attacker would see only encrypted data, not the raw data.
- Sender authentication to prevent unauthorized users from accessing the VPN.
- Message integrity to detect and reject any instances of tampering with transmitted messages.
Secure VPN protocols include the following:
- IPv4 and the Layer 2 Tunneling Protocol. Its design meets most security goals: availability, integrity, and confidentiality. IPsec uses encryption, encapsulatingan 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.
- Network Address Translationand firewall rules.
- AnyConnect VPN and in OpenConnect VPN[9] to solve the issues TLS has with tunneling over TCP (SSL/TLS are TCP-based, and tunneling TCP over TCP can lead to big delays and connection aborts[10]).
- 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".[11]
- Secure Shell (SSH) VPN – OpenSSH offers VPN tunneling (distinct from port forwarding) to secure remote connections to a network, inter-network links, and remote systems. OpenSSH server provides a limited number of concurrent tunnels. The VPN feature itself does not support personal authentication.[12][13][14] SSH is more often used to remotely connect to machines or networks instead of a site to site VPN connection.
- WireGuard is a protocol. In 2020, WireGuard support was added to both the Linux[15] and Android[16] kernels, opening it up to adoption by VPN providers. By default, WireGuard utilizes the Curve25519 protocol for key exchange and ChaCha20-Poly1305 for encryption and message authentication, but also includes the ability to pre-share a symmetric key between the client and server.[17][18]
- IKEv2 is an acronym that stands for Internet Key Exchange version 2. It was created by Microsoft and Cisco and is used in conjunction with IPSec for encryption and authentication. Its primary use is in mobile devices, whether on 3G or 4G LTE networks, since it automatically reconnects when a connection is lost.
- OpenVPN is a free and open-source VPN protocol that is based upon the TLS protocol. It supports perfect forward-secrecy, and most modern secure cipher suites, like AES, Serpent, TwoFish, etc. It is currently being developed and updated by OpenVPN Inc., a non-profit providing secure VPN technologies.
- Crypto IP Encapsulation (CIPE) is a free and open-source VPN implementation for tunneling
Authentication
Tunnel endpoints must be authenticated before secure VPN tunnels can be established. User-created remote-access VPNs may use
Routing
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 virtual, software-defined tunnel interface, customer-provisioned VPNs often are simply defined tunnels running conventional routing protocols.
Provider-provisioned VPN building-blocks
Depending on whether a provider-provisioned VPN (PPVPN) operates in Layer 2 (L2) or Layer 3 (L3), the building blocks described below may be L2 only, L3 only, or a combination of both.
- 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
OSI Layer 2 services
VLAN
VLAN is a Layer 2 technique that allows 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
As used in this context, a
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 (
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.
Ethernet Virtual Private Network (EVPN)
Ethernet VPN (EVPN) is an advanced solution for providing Ethernet services over IP-MPLS networks. In contrast to the VPLS architectures, EVPN enables control-plane based MAC (and MAC,IP) learning in the network. PEs participating in the EVPN instances learn customer's MAC (MAC,IP) routes in control-plane using MP-BGP protocol. Control-plane MAC learning brings a number of benefits that allow EVPN to address the VPLS shortcomings, including support for multi-homing with per-flow load balancing and avoidance of unnecessary flooding over the MPLS core network to multiple PEs participating in the P2MP/MP2MP L2VPN (in the occurrence, for instance, of ARP query). It is defined
OSI Layer 3 PPVPN architectures
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.[31] The provider must be able to disambiguate overlapping addresses in the multiple customers' PPVPNs.
- BGP/MPLS PPVPN
In the method defined by
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
- Virtual router PPVPN
The virtual router architecture,[32][33] 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
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 fit within the secure or trusted categorization.[34] 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.[35][36]
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).[37]
Trusted delivery networks
Trusted VPNs do not use cryptographic tunneling; instead they rely on the security of a single provider's network to protect the traffic.[38]
- Multiprotocol Label Switching (MPLS) often overlays VPNs, often with quality-of-service control over a trusted delivery network.
- L2TPLayer 2 Forwarding (L2F)[40] (obsolete as of 2009[update]) and Microsoft's Point-to-Point Tunneling Protocol (PPTP).[41]
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
Networking limitations
A limitation of traditional VPNs is that they are point-to-point connections and do not tend to support
Common misconceptions
- A VPN does not make your Internet "private". You can still be tracked through device fingerprinting, even if your IP address is hidden.[46]
- A VPN does not make you immune to hackers.[46]
- A VPN is not in itself a means for good Internet privacy. The burden of trust is simply transferred from the ISP to the VPN service provider.[47][48]
See also
References
- ^ ""virtual private network," NIST Computer Security Resource Center Glossary". Archived from the original on 2 January 2023. Retrieved 2 January 2023.
- ^ "What Is a VPN? - Virtual Private Network". Cisco. Archived from the original on 31 December 2021. Retrieved 5 September 2021.
- ISBN 9781587050336.
- ^ "Virtual Private Networking: An Overview". TechNet. Microsoft Docs. 4 September 2001. Archived from the original on 17 June 2022. Retrieved 7 November 2021.
- TechNet Magazine. Archived from the original on 7 November 2021. Retrieved 7 November 2021 – via Microsoft Docs.)
{{cite magazine}}
: External link in
(help|department=
- RFC 3809.
- RFC 6434, "IPv6 Node Requirements", E. Jankiewicz, J. Loughney, T. Narten (December 2011)
- ^ "1. Ultimate Powerful VPN Connectivity". www.softether.org. SoftEther VPN Project. Archived from the original on 8 October 2022. Retrieved 8 October 2022.
- ^ "OpenConnect". Archived from the original on 29 June 2022. 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.
- ^ "Why TCP Over TCP Is A Bad Idea". sites.inka.de. Archived from the original on 6 March 2015. Retrieved 24 October 2018.
- ^ "Trademark Status & Document Retrieval". tarr.uspto.gov. Archived from the original on 21 March 2012. Retrieved 8 October 2022.
- ^ "ssh(1) – OpenBSD manual pages". man.openbsd.org. Archived from the original on 5 July 2022. Retrieved 4 February 2018.
- ^ Barschel, Colin. "Unix Toolbox". cb.vu. Archived from the original on 28 May 2019. Retrieved 2 August 2009.
- ^ "SSH_VPN – Community Help Wiki". help.ubuntu.com. Archived from the original on 2 July 2022. Retrieved 28 July 2009.
- ^ Salter, Jim (30 March 2020). "WireGuard VPN makes it to 1.0.0—and into the next Linux kernel". Ars Technica. Archived from the original on 31 March 2020. Retrieved 30 June 2020.
- ^ "Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git at Google". android.googlesource.com. Archived from the original on 29 June 2022. Retrieved 30 June 2020.
- ISSN 0956-3385.
- ISBN 978-3-319-93386-3.
- ^ Fuller, Johnray; Ha, John (2002). Red Hat Linux 9: Red Hat Linux Security Guide (PDF). United States: Red Hat, Inc. pp. 48–53. Archived (PDF) from the original on 14 October 2022. Retrieved 8 September 2022.
- ISBN 0-07-223075-4. Archivedfrom the original on 17 January 2023. Retrieved 17 January 2023.
- ^ Titz, Olaf (20 December 2011). "CIPE - Crypto IP Encapsulation". CIPE - Crypto IP Encapsulation. Archived from the original on 18 May 2022. Retrieved 8 September 2022.
- ^ Titz, Olaf (2 April 2013). "CIPE - encrypted IP in UDP tunneling". SourceForge. Archived from the original on 8 September 2022. Retrieved 8 September 2022.
- ^ Wilson, Damion (19 October 2002). "CIPE-Win32 - Crypto IP Encapsulation for Windows NT/2000". SourceForge. Archived from the original on 8 September 2022. Retrieved 8 September 2022.
- ^ "Configuring PFC3BXL and PFC3B Mode Multiprotocol Label Switching" (PDF). Archived (PDF) from the original on 24 November 2020. Retrieved 24 October 2020.
- from the original on 1 September 2022. Retrieved 8 October 2022.
- ISBN 1587051796.
- ^ Ethernet Bridging (OpenVPN), archived from the original on 8 October 2022, retrieved 8 October 2022
- ^ Hollenbeck, Scott; Housley, Russell. "EtherIP: Tunneling Ethernet Frames in IP Datagrams". Archived from the original on 8 October 2022. Retrieved 8 October 2022.
- ^ Glyn M Burton: RFC 3378 EtherIP with FreeBSD Archived 23 March 2018 at the Wayback Machine, 03 February 2011
- ^ net-security.org news: Multi-protocol SoftEther VPN becomes open source Archived 8 October 2022 at the Wayback Machine, January 2014
- RFC 1918, Y. Rekhter et al., February 1996
- RFC 2917, A Core MPLS IP VPN Architecture
- RFC 2918, E. Chen (September 2000)
- CiteSeerX 10.1.1.94.8561.
- ^ "Overview of Provider Provisioned Virtual Private Networks (PPVPN)". Secure Thoughts. Archived from the original on 16 September 2016. Retrieved 29 August 2016.
- RFC 1702: Generic Routing Encapsulation over IPv4 networks. October 1994.
- RFC 2661, Layer Two Tunneling Protocol "L2TP"
- 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.
- RFC 2661, W. Townsley et al., August 1999
- RFC 2341, A. Valencia et al., May 1998
- RFC 2637, K. Hamzeh et al., July 1999
- ^ Phifer, Lisa. "Mobile VPN: Closing the Gap" Archived 6 July 2020 at the Wayback Machine, SearchMobileComputing.com, July 16, 2006.
- ^ Willett, Andy. "Solving the Computing Challenges of Mobile Officers" Archived 12 April 2020 at the Wayback Machine, www.officer.com, May, 2006.
- ^ Cheng, Roger. "Lost Connections" Archived 28 March 2018 at the Wayback Machine, The Wall Street Journal, December 11, 2007.
- ^ Sowells, Julia (7 August 2017). "Virtual Private Network (VPN) : What VPN Is And How It Works". Hackercombat. Archived from the original on 17 June 2022. Retrieved 7 November 2021.
- ^ a b O'sullivan, Fergus. "VPN Myths Debunked: What VPNs Can and Cannot Do". How-To Geek. Archived from the original on 13 November 2022. Retrieved 16 January 2022.
- ^ "Understanding and Circumventing Network Censorship". 25 April 2020. Archived from the original on 15 October 2022. Retrieved 15 October 2022.
- ^ "Techsplanations: Part 5, Virtual Private Networks". Archived from the original on 15 October 2022. Retrieved 15 October 2022.
Further reading
- Kelly, Sean (August 2001). "Necessity is the mother of VPN invention". Communication News: 26–28. ISSN 0010-3632. Archived from the originalon 17 December 2001.