Skip to content

Commit 1b21ece

Browse files
committed
start on a VPN section
1 parent 84e0024 commit 1b21ece

File tree

4 files changed

+87
-12
lines changed

4 files changed

+87
-12
lines changed

figures/SecurityFigs.odp

-17.4 KB
Binary file not shown.

figures/remotevpn.png

148 KB
Loading

figures/sitevpn.png

297 KB
Loading

systems.rst

Lines changed: 87 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ Chapter 7. Subsystem Security
66
general role open source plays in helping secure the Internet --
77
lots of eyes on the code).
88
9-
.. Key parts of this chapter moving out to standalone chapters.
10-
It's likely also the case that these are "Other" Example Systems,
11-
since new chapters are system focused.
129
1310
Having focused on how to use the available cryptographic and
1411
authentication building blocks to secure the transport layer—to the
@@ -275,7 +272,8 @@ securing the network infrastructure (as discussed in the next
275272
chapter), today IPsec is most commonly used to implement secure
276273
tunnels running on top of the public Internet. These tunnels are often
277274
part of a Virtual Private Network (VPN), for example, connecting a
278-
remote user to their "home" enterprise network.
275+
remote user to their "home" enterprise network. We turn our attention
276+
to VPNs in the next section.
279277

280278
IPsec is really a framework (as opposed to a single protocol or
281279
system) for providing a broad set of security services. It provides
@@ -380,12 +378,89 @@ that traverses this virtual link and ensuring that no spurious data is
380378
received at the far end of the tunnel. Furthermore, tunnels can
381379
provide traffic confidentiality, since multiplexing multiple flows
382380
through a single tunnel obscures information about how much traffic is
383-
flowing between particular endpoints. And as mentioned in the
384-
introduction to this section, a network of such tunnels can be used to
385-
implement an entire virtual private network. Hosts communicating over
386-
a VPN need not even be aware that it exists.
381+
flowing between particular endpoints. As noted above, a network of
382+
such tunnels can be used to implement an entire virtual private
383+
network. But there is more to VPNs than just tunneling mechanisms, as
384+
we discuss below.
385+
386+
7.4 Virtual Private Networks (VPNs)
387+
------------------------------------
388+
389+
A virtual private network (VPN) can be built using a wide variety of
390+
different technolgies, but any VPN requires that we establish
391+
connectivity among a set of endpoints. The connections must
392+
offer some level of privacy to the principals communicating between
393+
those endpoints. Furthermore, to qualify as a *virtual* private
394+
network, a VPN creates the illusion of being dedicated to a group of
395+
users, even though the underlying infrastucture is shared more
396+
widely. In practice, this means that a VPN is almost always built as
397+
some sort of overlay on shared infrastructure.
398+
399+
The type of VPN that we will focus on here uses
400+
tunneling technologies such as IPsec or SSL to provide private
401+
connectivity across the shared infrastructure of the Internet. We have
402+
already seen how encrypted tunnels can be established, but tunnels are
403+
just a building block for VPNs. VPN requirements vary among
404+
different use cases, so we begin our discussion by looking at some of
405+
the most common uses for VPNs.
406+
407+
*Remote Access VPNs* are commonly used to support remote workers,
408+
telecommuters, or contractors who need access to corporate
409+
resources. :numref:`Figure %s <fig-remotevpn>` shows a simple example
410+
where a remote user tunnels across the Internet to connect to their
411+
corporate office.
412+
413+
.. _fig-remotevpn:
414+
.. figure:: figures/remotevpn.png
415+
:width: 600px
416+
:align: center
417+
418+
A remote user connects via a tunnel to a corporate site.
419+
420+
*Site-to-Site VPNs* are generally used to interconnect the sites of an
421+
enterprise, which could include datacenters, main corporate offices,
422+
and branch offices. Figure xxy.
423+
424+
.. _fig-sitevpn:
425+
.. figure:: figures/sitevpn.png
426+
:width: 600px
427+
:align: center
428+
429+
A corporate VPN connects a main office, a branch office, and a datacenter.
430+
431+
Viewed at this level of abstraction, there are obvious similarities
432+
between VPN classes. They are not entirely non-overlapping but they
433+
help us identify the key requirements. The differences become apparent
434+
when we look at the types of devices that terminate tunnels and the
435+
methods used to establish them.
436+
437+
Remote access VPNs usually establish tunnels directly from a client device,
438+
such as a phone or a laptop, to some sort of VPN gateway or
439+
concentrator. Some sort of VPN client software performs this task,
440+
with Wireguard and OpenVPN being two examples of open source,
441+
multi-platform clients.
442+
443+
OpenVPN leverages TLS to build the encrypted tunnels from client to
444+
server. While this mostly follows the same protocol as described in
445+
Chapter 6, the additional step of authenticating the client is almost
446+
always required in VPN use cases, unlike most Web usages of
447+
TLS. Client certificates may be used, but this raises the issue of how
448+
certificates can be reliably distributed to client devices. One option
449+
is that they are provisioned by a corporate IT deparment as part of
450+
setting up client devices. OpenVPN also allows for other
451+
authentication methods including username plus password and optionally
452+
multi-factor authentication.
453+
454+
455+
456+
https://www.ndss-symposium.org/ndss2017/ndss-2017-programme/wireguard-next-generation-kernel-network-tunnel/
457+
458+
7.4.1 Mesh VPNs
459+
~~~~~~~~~~~~~~~
460+
461+
387462

388-
7.4 Web Authentication (WebAuthn) and Passkeys
463+
7.5 Web Authentication (WebAuthn) and Passkeys
389464
----------------------------------------------------------------
390465

391466
While public key cryptography has been well understood for decades,
@@ -531,7 +606,7 @@ sites. Those who have led their development hope that they start to
531606
replace the ubiquitous password for user authentication.
532607

533608

534-
7.5 Wireless Security
609+
7.6 Wireless Security
535610
--------------------------------------------
536611

537612
Wireless links are particularly exposed to security threats due to the
@@ -550,7 +625,7 @@ redundant. Not all users are that careful, of course, but there are
550625
also control packets exchanged between the wireless device and the
551626
wired infrastructure, and that communication must be secured.
552627

553-
7.5.1 Wi-Fi (802.11i)
628+
7.6.1 Wi-Fi (802.11i)
554629
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
555630

556631
It has long been understood how easy it is for an employee of a
@@ -648,7 +723,7 @@ is subsequently encrypted along with the plaintext in order to prevent
648723
birthday attacks, which depend on finding different messages with the
649724
same authenticator.
650725

651-
7.5.2 Mobile Cellular Network
726+
7.6.2 Mobile Cellular Network
652727
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
653728

654729
The other widely used wireless networking technology is the Mobile

0 commit comments

Comments
 (0)