Virtual Private Networks. An overview.
The term "VPN" or "Virtual Private Network" is one of the most overused buzzwords in the industry today. Proponents claim that VPNs can solve many issues, from extending the enterprise to include strategic business partners and customers, to providing remote users secure multiprotocol access to corporate Intranets, to securing corporate data for transport over the public Internet.
Vendors and consumers alike disagree as to what, exactly, a VPN is. With all the excitement, speculation and competing messages in the press regarding this technology, it's hard to figure out some of the basic questions. What exactly is a VPN? Why do you need a VPN? And what are some of the technologies used in deploying a VPN? This article will attempt to answer some of these questions.
Towards a Connected Planet
While the Internet holds incredible promise as an enabler for eBusiness, there are some major stumbling blocks that must be addressed if an organization is truly to conduct mission-critical business functions over the 'net. The Internet's greatest assets are its openness and ubiquity. But these characteristics are also its greatest weaknesses.
Historically, organizations built and deployed mission-critical applications over private local- and wide area networks (LANs and WANs), where the infrastructure was a known entity and access was tightly controlled. The end result was a private data communications infrastructure that had somewhat predictable application availability, performance and security.
Enter the 'Net. The types of applications being deployed across the public Internet today are increasingly mission-critical, whereby business success can be jeopardized by poor application performance. We've all heard the horror stories of frantic Internet traders trying desperately to unload stocks as the markets dropped, while bandwidth constraints hampered their attempts. Remember the phrase "form follows function"? It doesn't matter how attractive and potentially lucrative our applications are if they don't function reliably and consistently. The unpredictable nature of Internet traffic can be a major risk factor for e-business.
What about security? As you increase your connectivity, you increase your exposure and therefore your potential security risks. A disconnected stand-alone personal computer with sensitive information is vulnerable only to people who can gain physical access to it. Connect it to the Internet, however, and you drastically increase its exposure and attendant vulnerability.
Furthermore, data in transit across the Internet is subject to such threats as spoofing, session hijacking, sniffing, and man-in-the-middle attacks.
The desire to use the Internet for business and the the risk factors associated with doing so have given rise to a new technology niche: Virtual Private Networks (VPN). VPNs typically are IP-based networks (usually the public Internet) that use encryption and tunneling to achieve one or more of the following goals:
connect users securely their own corporate network (remote access) link branch offices to an enterprise network (intranet) extend organizations' existing computing infrastructure to include partners, suppliers and customers (extranet).
The idea is to extend trust relationships across an economical public network without sacrificing security. Ideally, a VPN should behave similarly to a private network; it should be secure, highly available and have predictable performance.
Many VPN technologies already exist, with more being developed, marketed and deployed each day. Some products are based on standards (usually emerging standards); others are proprietary. Some address very specific requirements, such as secure remote access over the Internet for mobile users, while others focus more on secure LAN-to-LAN connectivity. Each product and technology has inherent strengths and weaknesses.
The trick is to understand the current technology landscape; to understand how to choose the right solutions dependent on the underlying problems that must be addressed; and to understand where the technology will likely head in the future.
Looking at the design goals for a VPN, security is the focus of most solutions available today, and we therefore begin with approaches to ensuring Confidentiality, Integrity and Authentication. Performance and availability, also important goals, are discussed towards the end of the article.Confidentiality
Confidentiality protects the privacy of information being exchanged between communicating parties. Towards this end, every VPN solution provides encryption of some sort.
The two primary cryptographic systems in use today are secret key cryptography and public key cryptography. Secret (or private) key cryptography uses a shared key which is used to encrypt and decrypt messages. The major problem with private key cryptography is key exchange. Sending secret keys across the Internet unencrypted is not an option for obvious reasons. This is where public key cryptography can help. Public key cryptography uses a mathematically linked key pair for each communicating party. This means that data encrypted with one key can be decrypted with the other key in the pair. A sender can encrypt a message with the recipient's public key, which as the name implies is publicly available (on a server, for example). The recipient can then decrypt the message using his or her own private key.
Public key systems enable encryption over an unsecured network as well as a mechanism to exchange secret keys. On the downside, public key cryptography is computationally intensive, and therefore often combined with secret key cryptography to get the best blend of performance and functionality. For example, the Diffie-Hellman public key algorithm can be used in conjunction with the DES secret key algorithm-Diffie-Hellman to produce the secret key and DES to encrypt the traffic.Integrity
Integrity ensures that information being transmitted over the public Internet is not altered in any way during transit. VPNs typically use one of three technologies to ensure integrity:
One-way hash functions - A hash function generates a fixed-length output value based on an arbitrary-length input file. The idea is that it's easy to calculate the hash value of a file but mathematically difficult to generate a file that will hash to that value. To validate the integrity of a file, a recipient would calculate the hash value of that file and compare it to the hash value sent by the sender. Thus, the recipient can be assured that the sender had the file at the time he or she created the hash value. Examples of hash algorithms are MD5, SHA-1 and RIPE-MD-160. Message-authentication codes (MACs) simply add a key to hash functions. A sender would create a file, calculate a MAC based on a key shared with the recipient, and then append it to the file. When the recipient receives the file, it is easy to calculate the MAC and compare it to the one that was appended to the file. Digital signatures can also be used for data integrity purposes. A digital signature is essentially public key cryptography in reverse. A sender digitally "signs" a document with their private key and the recipient can verify the signature via the sender's public key.
Authentication ensures the identity of all communicating parties. You may have seen the cartoon that appeared in The New Yorker a few years back. A dog sitting in front of a PC turned to his canine friend and said "On the Internet, nobody knows you're a dog." To correctly identify an individual or computing resource, VPNs typically use one or more forms of authentication.
These methods are usually based on password authentication (shared secrets) or digital certificates. Password authentication is the most prevalent form of user authentication used in computer systems today, but it is also one of the weakest because passwords can be guessed or stolen. Multi-factor authentication is generally a stronger form of authentication and is based on the premise of utilizing something you have in conjunction with something you know. This process is similar to how most ATM cards are used; a user possesses the physical ATM card and "unlocks" it with a password.
For example, many VPNs support SecurID by Security Dynamics, a token card that combines secret key encryption with a one-time password. The password is automatically generated by encrypting a timestamp with the secret key. This one-time password will be valid for a short interval, usually 30 to 60 seconds.
Digital certificates are also becoming more prevalent as an authentication mechanism for VPNs. A digital certificate (based on the X.509 standard) is an electronic document that is issued to an individual by a "Certificate Authority" that can vouch for an individual's identity. It essentially binds the identity of an individual to a public key. A digital certificate will contain a public key, information specific to the user (name, company, etc.), information specific to the issuer, a validity period and additional management information. This information will be used to create a message digest which is encrypted with the Certificate Authority's private key to "sign" the certificate.
By utilizing the digital signature verification procedure described above, participants in a conversation can "mutually authenticate" each other. Although this process sounds simple, it involves a complex system of key generation, certification, revocation and management, all part of a Public Key Infrastructure (PKI). A PKI is a broad set of technologies that are utilized to manage public keys, private keys and certificates. The deployment of a PKI solution should not be taken lightly as there are major issues involved with scalability and interoperability.
As a matter of practice, the separate technologies used to provide confidentiality, integrity and authentication in a given implementation are grouped into a broad VPN protocol. Three widely used protocols - IPsec, tunneling and Socks5 - are described below.IPSec
The protocol which seems destined to become the de facto standard for VPNs is IPSec (Internet Protocol Security). IPSec is a set of authentication and encryption protocols, developed by the Internet Engineering Task Force (IETF) and designed to address the inherent lack of security for IP-based networks. It is designed to address data confidentiality, integrity, authentication and key management, in addition to tunneling.
The IPSec protocol typically works on the edges of a security domain. Basically, IPSec encapsulates a packet by wrapping another packet around it. It then encrypts the entire packet. This encrypted stream of traffic forms a secure tunnel across an otherwise unsecured network.
The majority of VPN vendors are implementing IPSec in their solutions. The comprehensive nature of the protocol make it ideal for site-to-site VPNs, although there are still interoperability issues that exist across different vendor's implementations. IPSec is a bi-directional protocol, which means that extranet configurations must be carefully designed and implemented. When setting up an extranet VPN, you may not want to give your partners access to your entire network or allow them to access yet another partner through your network.Point to Point Tunneling Protocol (PPTP) and Layer 2 Tunneling Protocol (L2TP)
PPTP is a tunneling protocol which provides remote users encrypted, multi-protocol access to a corporate network over the Internet. Network layer protocols, such as IPX and NetBEUI, are encapsulated by the PPTP protocol for transport over the Internet. Unlike IPSec, PPTP was not originally designed to provide Lan-to-Lan tunneling.
PPTP is built in to NT 4.0, and the client is a free add-on to Windows95. Microsoft's implementation of PPTP has been found to have several problems that make it vulnerable to attacks, and it also lacks scalability in that it only supports 255 concurrent connections per server. The low cost and integration with NT and Windows 95, however, makes PPTP a viable remote access solution where multi-protocol access is needed, heavy-duty encryption and authentication is not needed, and a Microsoft-only solution is appropriate.
PPTP can support only one tunnel at a time for each user. However, its proposed successor, L2TP (a hybrid of PPTP and another protocol, L2F) can support multiple, simultaneous tunnels for each user. L2TP will be incorporated in Windows 2000 and can support IPSec for data encryption and integritySocks5
SOCKS version 5 is a circuit-level proxy protocol that was originally designed to facilitate authenticated firewall traversal. It provides a secure, proxy architecture with extremely granular access control, making it an excellent choice for extranet configurations.
SOCKS v5 supports a broad range of authentication, encryption, tunneling and key management schemes, as well as a number of features not possible with IPSec, PPTP or other VPN technologies. SOCKS v5 provides an extensible architecture that allows developers to build system plug-ins, such as content filtering (denying access to Java applets or ActiveX controls, for example) and extensive logging and auditing of users. When SOCKS is used in conjunction with other VPN technologies, it's possible to have a more complete security solution than any individual technology could provide. A user may, for example, incorporate IPSec and SOCKS together. IPSec could be used to secure the underlying network transport, while SOCKS could be used to enforce user-level and application-level access control.
Performance and Availability
Most VPN technologies today do not address performance and availability issues, as important as they are. Why? Because the majority of VPN solutions exist on client machines and gateway servers at the extreme ends of the communication path. They simply cannot consistently affect the performance of the network components in the middle.
Unfortunately, this "middle" is exactly where the Internet fits into the architecture. Any cost savings that a VPN provides can be quickly negated if users are forced to sacrifice QoS (quality of service) beyond certain limits. Until a standard QoS mechanism becomes ubiquitous, end-to-end performance guarantees will be hard to implement.
As a partial remedy several Internet Service Providers (ISPs) are offering managed VPN services, which combine security capabilities with QoS guarantees. For example, GE Internetworking provides a managed VPN service that combines an IPSec-based VPN solution from TimeStep Corporation with guaranteed availability of 99.9%, and round-trip latency of less than or equal to 125 milliseconds. This type of service can be an excellent choice for site-to-site connectivity and is made possible by the fact that ISPs "own the plumbing." Unfortunately, the performance guarantees only apply to traffic within the network controlled by the ISP. Once it passes onto another ISP's portion of the Internet, all bets are off.
This article has described how applications deployed across the Internet today are increasingly mission-critical, whereby poor performance or a lack of security can jeopardize business success. VPNs can play a major role in ensuring that these risks are mitigated. By addressing security and performance issues, a VPN can be a viable alternative to dedicated, private network links. Understanding the myriad VPN solutions can help organizations build infrastructures that will support their tactical business needs today as well as their strategic business needs for tomorrow.