Virtual private network

Last updated

A virtual private network (VPN) is a mechanism for creating a secure connection between a computing device and a computer network, or between two networks, using an insecure communication medium such as the public Internet. [1]

Contents

A VPN can extend access to a private network (one that disallows or restricts public access) to users who do not have direct access to it, such as an office network allowing secure access from off-site over the Internet. [2]

The benefits of a VPN include security, reduced costs for dedicated communication lines, and greater flexibility for remote workers. [3]

A VPN is created by establishing a virtual point-to-point connection through the use of tunneling protocols over existing networks. A VPN available from the public Internet can provide some of the benefits[ example needed ] of a private wide area network (WAN). [4]

Types

VPN classification tree based on the topology first, then on the technology used VPN classification-en.svg
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 Virtual Private Network overview.svg
VPN connectivity overview, showing intranet site-to-site and remote-work configurations used together

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[ jargon ] network, such as an intranet. This may be employed for remote workers, or to enable a mobile worker to access necessary 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 connects a group of offices to a data center installation. The interconnecting link may run over a dissimilar intermediate network, such as two IPv6 networks connected over an 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. However, 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:

Security mechanisms

VPNs cannot make online connections completely anonymous, but they can increase privacy and security by encrypting all communication between remote locations over the open Internet. To prevent disclosure of private information or data sniffing, VPNs typically allow only authenticated remote access using[ clarification needed ] tunneling protocols and secure encryption techniques.

The VPN security model provides:

The life cycle phases of an IPSec tunnel in a virtual private network IPSec VPN-en.svg
The life cycle phases of an IPSec tunnel in a virtual private network

Secure VPN protocols include the following:

Authentication

Tunnel endpoints must be authenticated before secure VPN tunnels can be established.[ citation needed ] 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. Depending on the VPN protocol, they may store the key to allow the VPN tunnel to establish automatically, without intervention from the administrator. Data packets are secured by tamper proofing via a message authentication code (MAC), which prevents the message from being altered or tampered without being rejected due to the MAC not matching with the altered data packet.

Routing

Tunneling protocols can operate in a point-to-point network topology however, this 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[ ambiguous ] defined tunnels running conventional routing protocols.

Provider-provisioned VPN building blocks

Site-to-site VPN terminology Site-to-Site VPN terminology-en.svg
Site-to-site VPN terminology

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. Multiprotocol Label Switching (MPLS) functionality blurs the L2–L3 identity. [19] [ original research? ]

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

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 that 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 Institute of Electrical and Electronics Engineers, 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 in a way that is transparent to the user, making the separate LAN segments behave as one single LAN. [22]

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

Pseudo-wire (PW)

PW is similar to VPLS but 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) [23] is an Ethernet-over-IP tunneling protocol specification. EtherIP has only a packet encapsulation mechanism. It has no confidentiality or message integrity protection. EtherIP was introduced in the FreeBSD network stack [24] and the SoftEther VPN [25] 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.

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 the 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 RFC   7432.

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. [26] 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 in 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.[ citation needed ]

PEs understand the topology of each VPN, which is interconnected with MPLS tunnels directly or via P routers. In MPLS terminology, the P routers are label switch routers without awareness of VPNs.[ citation needed ]

Virtual router PPVPN

The virtual router architecture, [27] [28] 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.[ citation needed ]

Unencrypted tunnels

Some virtual networks use tunneling protocols without encryption to protect the privacy of data. While VPNs often provide security, an unencrypted overlay network does not fit within the secure or trusted categorization. [29] 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. [30] [31]

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). [32]

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. [33]

From a security standpoint, a VPN must either trust the underlying delivery network or enforce security with a mechanism 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.[ citation needed ]

VPNs in mobile environments

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. [37] 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, [38] and in other organizations with similar requirements such as field service management and healthcare. [39] [ need quotation to verify ]

Networking limitations

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. [40]

See also

Related Research Articles

<span class="mw-page-title-main">IPv6</span> Version 6 of the Internet Protocol

Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv6 was developed by the Internet Engineering Task Force (IETF) to deal with the long-anticipated problem of IPv4 address exhaustion, and was intended to replace IPv4. In December 1998, IPv6 became a Draft Standard for the IETF, which subsequently ratified it as an Internet Standard on 14 July 2017.

Multiprotocol Label Switching (MPLS) is a routing technique in telecommunications networks that directs data from one node to the next based on labels rather than network addresses. Whereas network addresses identify endpoints, the labels identify established paths between endpoints. MPLS can encapsulate packets of various network protocols, hence the multiprotocol component of the name. MPLS supports a range of access technologies, including T1/E1, ATM, Frame Relay, and DSL.

In computer networking, Point-to-Point Protocol (PPP) is a data link layer communication protocol between two routers directly without any host or any other networking in between. It can provide loop detection, authentication, transmission encryption, and data compression.

<span class="mw-page-title-main">Router (computing)</span> Device that forwards data packets between computer networks

A router is a computer and networking device that forwards data packets between computer networks, including internetworks such as the global Internet.

In computing, Internet Protocol Security (IPsec) is a secure network protocol suite that authenticates and encrypts packets of data to provide secure encrypted communication between two computers over an Internet Protocol network. It is used in virtual private networks (VPNs).

Open Shortest Path First (OSPF) is a routing protocol for Internet Protocol (IP) networks. It uses a link state routing (LSR) algorithm and falls into the group of interior gateway protocols (IGPs), operating within a single autonomous system (AS).

<span class="mw-page-title-main">Network address translation</span> Protocol for mapping IP address spaces

Network address translation (NAT) is a method of mapping an IP address space into another by modifying network address information in the IP header of packets while they are in transit across a traffic routing device. The technique was originally used to bypass the need to assign a new address to every host when a network was moved, or when the upstream Internet service provider was replaced, but could not route the network's address space. It has become a popular and essential tool in conserving global address space in the face of IPv4 address exhaustion. One Internet-routable IP address of a NAT gateway can be used for an entire private network.

In computer networking, Layer 2 Tunneling Protocol (L2TP) is a tunneling protocol used to support virtual private networks (VPNs) or as part of the delivery of services by ISPs. It uses encryption ('hiding') only for its own control messages, and does not provide any encryption or confidentiality of content by itself. Rather, it provides a tunnel for Layer 2, and the tunnel itself may be passed over a Layer 3 encryption protocol such as IPsec.

Generic Routing Encapsulation (GRE) is a tunneling protocol developed by Cisco Systems that can encapsulate a wide variety of network layer protocols inside virtual point-to-point links or point-to-multipoint links over an Internet Protocol network.

A route distinguisher is an address qualifier used only within a single internet service provider's Multiprotocol Label Switching (MPLS) network. It is used to distinguish the distinct virtual private network (VPN) routes of separate customers who connect to the provider.

In computer networking and telecommunications, a pseudowire is an emulation of a point-to-point connection over a packet-switched network (PSN).

In computer networks, a tunneling protocol is a communication protocol which allows for the movement of data from one network to another. It can, for example, allow private network communications to be sent across a public network, or for one network protocol to be carried over an incompatible network, through a process called encapsulation.

<span class="mw-page-title-main">IP tunnel</span> Communications channel between two networks

An IP tunnel is an Internet Protocol (IP) network communications channel between two networks. It is used to transport another network protocol by encapsulation of its packets.

MPLS VPN is a family of methods for using Multiprotocol Label Switching (MPLS) to create virtual private networks (VPNs). MPLS VPN is a flexible method to transport and route several types of network traffic using an MPLS backbone.

Virtual Private LAN Service (VPLS) is a way to provide Ethernet-based multipoint to multipoint communication over IP or MPLS networks. It allows geographically dispersed sites to share an Ethernet broadcast domain by connecting sites through pseudowires. The term sites includes multiplicities of both servers and clients. The technologies that can be used as pseudo-wire can be Ethernet over MPLS, L2TPv3 or even GRE. There are two IETF standards-track RFCs describing VPLS establishment.

In IP-based computer networks, virtual routing and forwarding (VRF) is a technology that allows multiple instances of a routing table to co-exist within the same router at the same time. One or more logical or physical interfaces may have a VRF and these VRFs do not share routes. Therefore, the packets are only forwarded between interfaces on the same VRF. VRFs are the TCP/IP layer 3 equivalent of a VLAN. Because the routing instances are independent, the same or overlapping IP addresses can be used without conflicting with each other. Network functionality is improved because network paths can be segmented without requiring multiple routers.

<span class="mw-page-title-main">Layer 2 MPLS VPN</span>

A Layer 2 MPLS VPN is a term in computer networking. It is a method that Internet service providers use to segregate their network for their customers, to allow them to transmit data over an IP network. This is often sold as a service to businesses.

Dynamic Multipoint Virtual Private Network (DMVPN) is a dynamic tunneling form of a virtual private network (VPN) supported on Cisco IOS-based routers, and Huawei AR G3 routers, and on Unix-like operating systems.

<span class="mw-page-title-main">Locator/Identifier Separation Protocol</span>

Locator/ID Separation Protocol (LISP) is a "map-and-encapsulate" protocol which is developed by the Internet Engineering Task Force LISP Working Group. The basic idea behind the separation is that the Internet architecture combines two functions, routing locators and identifiers in one number space: the IP address. LISP supports the separation of the IPv4 and IPv6 address space following a network-based map-and-encapsulate scheme. In LISP, both identifiers and locators can be IP addresses or arbitrary elements like a set of GPS coordinates or a MAC address.

<span class="mw-page-title-main">SoftEther VPN</span> Open-source VPN client and server software

SoftEther VPN is free open-source, cross-platform, multi-protocol VPN client and VPN server software, developed as part of Daiyuu Nobori's master's thesis research at the University of Tsukuba. VPN protocols such as SSL VPN, L2TP/IPsec, OpenVPN, and Microsoft Secure Socket Tunneling Protocol are provided in a single VPN server. It was released using the GPLv2 license on January 4, 2014. The license was switched to Apache License 2.0 on January 21, 2019.

References

  1. "virtual private network". NIST Computer Security Resource Center Glossary. Archived from the original on 2 January 2023. Retrieved 2 January 2023.
  2. "What Is a VPN? - Virtual Private Network". Cisco. Archived from the original on 31 December 2021. Retrieved 5 September 2021.
  3. Mason, Andrew G. (2002). Cisco Secure Virtual Private Network . Cisco Press. p.  7. ISBN   9781587050336.
  4. "Virtual Private Networking: An Overview". TechNet. Microsoft Docs . 4 September 2001. Archived from the original on 17 June 2022. Retrieved 7 November 2021.
  5. Davies, Joseph (July 2007). "IPv6 Traffic over VPN Connections". The Cable Guy. TechNet Magazine . Archived from the original on 7 November 2021. Retrieved 7 November 2021 via Microsoft Docs.
  6. RFC 3809 - Generic Requirements for Provider Provisioned Virtual Private Networks. sec. 1.1. doi: 10.17487/RFC3809 . RFC 3809.
  7. RFC   6434, "IPv6 Node Requirements", E. Jankiewicz, J. Loughney, T. Narten (December 2011)
  8. "1. Ultimate Powerful VPN Connectivity". www.softether.org. SoftEther VPN Project. Archived from the original on 8 October 2022. Retrieved 8 October 2022.
  9. "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.
  10. "Why TCP Over TCP Is A Bad Idea". sites.inka.de. Archived from the original on 6 March 2015. Retrieved 24 October 2018.
  11. "Trademark Status & Document Retrieval". tarr.uspto.gov. Archived from the original on 21 March 2012. Retrieved 8 October 2022.
  12. "ssh(1) – OpenBSD manual pages". man.openbsd.org. Archived from the original on 5 July 2022. Retrieved 4 February 2018.
  13. 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.
  14. "Diff - 99761f1eac33d14a4b1613ae4b7076f41cb2df94^! - kernel/common - Git at Google". android.googlesource.com. Archived from the original on 29 June 2022. Retrieved 30 June 2020.
  15. 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.
    • Benjamin Dowling, and Kenneth G. Paterson (12 June 2018). "A cryptographic analysis of the WireGuard protocol". International Conference on Applied Cryptography and Network Security. ISBN   978-3-319-93386-3.
  16. 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.
  17. 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.
  18. Titz, Olaf (2 April 2013). "CIPE - encrypted IP in UDP tunneling". SourceForge . Archived from the original on 8 September 2022. Retrieved 8 September 2022.
  19. "Configuring PFC3BXL and PFC3B Mode Multiprotocol Label Switching" (PDF). Archived (PDF) from the original on 24 November 2020. Retrieved 24 October 2020.
  20. E. Rosen & Y. Rekhter (March 1999). "BGP/MPLS VPNs". Internet Engineering Task Force (IETF). RFC   2547 . Archived from the original on 1 September 2022. Retrieved 8 October 2022.
  21. Lewis, Mark (2006). Comparing, designing, and deploying VPNs (1st print. ed.). Indianapolis, Ind.: Cisco Press. pp. 5–6. ISBN   1587051796.
  22. Ethernet Bridging (OpenVPN), archived from the original on 8 October 2022, retrieved 8 October 2022
  23. Hollenbeck, Scott; Housley, Russell. "EtherIP: Tunneling Ethernet Frames in IP Datagrams". Archived from the original on 8 October 2022. Retrieved 8 October 2022.
  24. Glyn M Burton: RFC 3378 EtherIP with FreeBSD Archived 23 March 2018 at the Wayback Machine , 3 February 2011
  25. net-security.org news: Multi-protocol SoftEther VPN becomes open source Archived 8 October 2022 at the Wayback Machine , January 2014
  26. Address Allocation for Private Internets Archived 8 October 2022 at the Wayback Machine , RFC   1918, Y. Rekhter et al., February 1996
  27. RFC   2917, A Core MPLS IP VPN Architecture
  28. RFC   2918, E. Chen (September 2000)
  29. Yang, Yanyan (2006). "IPsec/VPN security policy correctness and assurance". Journal of High Speed Networks. 15: 275–289. CiteSeerX   10.1.1.94.8561 .
  30. "Overview of Provider Provisioned Virtual Private Networks (PPVPN)". Secure Thoughts. Archived from the original on 16 September 2016. Retrieved 29 August 2016.
  31. RFC   1702: Generic Routing Encapsulation over IPv4 networks. October 1994.
  32. IETF (1999), RFC   2661, Layer Two Tunneling Protocol "L2TP"
  33. 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.
  34. Layer Two Tunneling Protocol "L2TP" Archived 30 June 2022 at the Wayback Machine , RFC   2661, W. Townsley et al., August 1999
  35. IP Based Virtual Private Networks Archived 9 July 2022 at the Wayback Machine , RFC   2341, A. Valencia et al., May 1998
  36. Point-to-Point Tunneling Protocol (PPTP) Archived 2 July 2022 at the Wayback Machine , RFC   2637, K. Hamzeh et al., July 1999
  37. Phifer, Lisa. "Mobile VPN: Closing the Gap" Archived 6 July 2020 at the Wayback Machine , SearchMobileComputing.com, 16 July 2006.
  38. Willett, Andy. "Solving the Computing Challenges of Mobile Officers" Archived 12 April 2020 at the Wayback Machine , www.officer.com, May, 2006.
  39. Cheng, Roger. "Lost Connections" Archived 28 March 2018 at the Wayback Machine , The Wall Street Journal, 11 December 2007.
  40. 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.

Further reading