SlideShare a Scribd company logo
1 of 37
Download to read offline
© Peter R. Egli 2015
1/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
Peter R. Egli
INDIGOO.COM
OVERVIEW OF VIRTUAL PRIVATE NETWORK
TECHNOLOGY AND VPN PROTOCOLS SUCH AS
PPTP, IPSEC AND L2TP
VIRTUAL PRIVATE NETWORKS
VPN
© Peter R. Egli 2015
2/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
Contents
1. Virtual Private Network VPN purpose
2. Types of Virtual Private Networks
3. Comparison VPN Layer 2 tunnelling vs. Layer 3 tunnelling VPNs
4. PPTP Point to Point Tunnelling Protocol RFC2637
5. GRE Generic Routing Encapsulation RFC1701 / RFC1702
6. L2F Layer 2 Forwarding
7. L2TP Layer 2 Tunnelling Protocol RFC2661
8. IPSec IP Security
9. Combining different VPN protocols
10. IPSec Key Management
11. IPV4 addresses: how many are there?
© Peter R. Egli 2015
3/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
1. Virtual Private Network VPN purpose
1. Secure communication over insecure links / networks:
A. Tunnelling of protocols like PPP:
B. Encryption: Tunnel may use encryption to provide secrecy/confidentiality.
C. Authentication: Tunnel may be authenticated thus granting access to VPN only to authorized clients.
D. Access control / authorization: VPN gateways ascertain and enforce level of access for VPN client.
E. Auditing (monitor, log, intervene): VPN gateways monitor usage of VPN and react in case of anomality.
2. Private addressing and protocols on top of public addresses:
Tunnelling of private IP addresses (10.0.0.0, 172.16.0.0, 192.168.0.0) through public network (Internet).
Client VPN
gateway
Private
network
10.0.0.0/24
VPN
gateway
Client
Private
network
10.0.0.0/24
Tunnel
Public
network
(Internet)
Client Client
VPN gateway encapsulates
IP (or PPP) packet into outer IP packet.
VPN gateway decapsulates IP packet
and sends inner packet to client.
Tunnel
VPN
gateway
VPN
gateway
Insecure
public
network
© Peter R. Egli 2015
4/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
2. Types of Virtual Private Networks (1/3)
1. Access VPN client initiated (=voluntary tunnel):
 VPN client is located on client machine. NAS only delivers public IP address to client via PPP („public
PPP session“ between client and NAS).
 On top of that client creates a VPN connection (e.g. L2TP) to get private IP and this way is hooked into
the private network just as it were directly connected to the private network („private PPP session“
between client and server).
 This VPN mode is called „voluntary“ since the VPN is under control of the client itself (client can
decide if it establishes the VPN tunnel or not).
NAS
(ISP)
Tunnel
Enterprise
VPN server
(LNS)
PSTN Internet
Client
(LAC)
Server (e.g.
workgroup
server
Private
network
IP
PPP
L2TP
UDP
IP
PPP PPP
IP
xyz
„Public PPP“
„Private PPP“ IP
MAC
IP
PPP
L2TP
UDP
IP
xyz
MAC
NAS Network Access Server LAC L2TP Access Concentrator
LNS L2TP Network Server L2TP Layer 2 Tunnelling Protocol
ISP Internet Service Provider PPP Point to Point Protocol
PSTN Public Switched Telephony Network
© Peter R. Egli 2015
5/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
2. Types of Virtual Private Networks (2/3)
2. Access VPN NAS initiated (=compulsory tunnel):
 NAS opens VPN tunnel to enterprise VPN server on behalf of client.
 Unlike the client initiated VPN the access part is not private (no encryption, no private IP).
 This VPN mode is called „compulsory“ since the VPN is not under control of the client itself (client can
not decide if it establishes VPN tunnel or not – VPN tunnel is always established irrespective of client
settings).
NAS
ISP
(LAC)
Enterprise
VPN server
(LNS)
Client
TunnelPSTN Internet
Server (e.g.
workgroup
server
Private
network
IP
PPP
IP
PPP PPP
IP
xyz
IP
PPP
L2TP
UDP
IP
xyz
„Public PPP“ „Private PPP“ IP
MACMAC
UDP
L2TP
© Peter R. Egli 2015
6/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
2. Types of Virtual Private Networks (3/3)
3. Intranet VPN:
 Enterprise VPN server and branch office VPN server connect LANs to each other thus forming an
Intranet (Intranet = private network based on Internet protocols).
 The VPN gateways establish a virtual connection (tunnel) between the 2 sites and thus the remote /
branch office is virtually hooked up directly to the enterprise LAN.
4. Extranet VPN:
 An extranet is either a hub and spoke VPN (central VPN gateway establishing VPN connections with all
extranet members) or a meshed VPN with a VPN tunnel between any 2 VPN members.
 An extranet is a „semi-private“ network that gives the extranet members access to each other thus
forming a virtual network outside of the Intranet.
Enterprise
VPN server
Remote office
VPN server
InternetTunnel
Enterprise
LAN
Enterprise
LAN
Telecommuter
(„road warrior“)
Extranet
partner
Remote users
Enterprise
InternetTunnel
Remote office
© Peter R. Egli 2015
7/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
3. Comparison VPN Layer 2 tunnelling vs. Layer 3 tunnelling VPNs
 Layer 2 tunnelling protocols allow the tunnelling of layer 2 protocols (e.g. PPP).
 Layer 3 tunnelling protocols can be used for the tunnelling of layer 3 protocols (e.g. IPSec).
Layer 2 tunnelling Layer 3 tunnelling
Tunnelling PPP over xyTP over UDP over IP IP over IP
Tunnel setup Dynamic Static
User authentication PPP None or ISAKMP
IP address Dynamic (PPP) Static
Data compression PPP (CCP) None
Data encryption PPP (ECP) Various
Encryption key Periodic key refreshment ISAKMP
Multiprotocol Yes No (IP only)
Examples L2TP, GRE, L2F IPSec
• The most important tunnelling protocols:
A. PPTP - Point to Point Tunnelling Protocol B. GRE - Generic Routing Encapsulation
C. L2F - Layer 2 Framing Protocol D. L2TP - Layer 2 Tunnelling Protocol
E. IPSec / IP in IP F. SSH - Secure SHell
G. SSL/TLS - Secure Socket Layer based VPNs H. PPPoE - PPP over Ethernet
I. MPLS - MultiProtocol Label Switching K. MIP - Mobile IP
© Peter R. Egli 2015
8/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
B. Remote access with PPTP (client initiated voluntary tunnel mode):
VPN clients establish “public PPP” session with NAS and on top of that “private PPP” session with enterprise
VPN server.
Tunnel
Enterprise RAS
(PNS)
Server
PSTN Internet
NAS (ISP)
VPN client
IP
PPP
IP
PPP Eth Eth
IP
PSTN
Enterprise RAS
4. PPTP Point to Point Tunnelling Protocol RFC2637 (1/2)
A. Remote access in the old days (dial-up):
Client needs to dial through PSTN which may be a costly long-distance call. Server
VPN client (PAC)
PPTP
Data IP
PPP
IP
PPTP
PPP
GRE
PPP xyz
IP IP
xyz
PPTP
IP
Eth Eth
IP
PPP
GRE
„Private PPP“
„Public PPP“
PPTP
Control IP
PPP
PPTP
Control
TCP
PPP xyz
IP IP
xyz
PPTP
Control
TCP
„Public PPP“
Key:
RAS Remote Access Server
PAC: PPTP Access
Concentrator
PNS: PPTP Network
Server
© Peter R. Egli 2015
9/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
4. PPTP Point to Point Tunnelling Protocol RFC2637 (2/2)
 PPTP was originally used for remote access via an ISP (PPTP = remote access solution). PPTP was
devised by Microsoft as a RAS (Remote Access Service) protocol.
 PPTP is the most widely used VPN tunnelling protocol but will be supplanted by L2TP / IPSec in the long
run.
 PPTP is based on and uses the services of PPP (Point to Point Protocol). By using PPP various
authentication (PAP, CHAP, MSCHAP, EAP) and encryption (ECP with preshared keys, RC4, DES) standards
compined with compression (CCP) are possible with PPTP.
 PPTP provides multiprotocol encapsulation through usage of GRE for data packets; this means that the
tunnel between client and server is transparent for applications (applications do not „see“ the tunnel); client
is virtually within enterprise LAN.
 GRE, as its name implies, is basically an encapsulation protocol that allows transport of layer 2 (e.g. PPP)
and 3 (IP) protocols. In PPTP GRE is used for the transport of data frames while PPTP control frames are used
for setting up the GRE connection.
 PPTP uses a PPTP control connection (TCP) to establish a PPTP data tunnel (GRE) with the following
control connection messages:
PPTP_START_SESSION_REQUEST / _REPLY
PPTP_ECHO_REQUEST / _REPLY
PPTP_WAN_ERROR_NOTIFY
PPTP_SET_LINK_INFO
PPTP_STOP_SESSION_REQUEST / _REPLY
 The PPTP control connection is neither authenticated nor integrity-checked;
 Eavesdropping is possible.
 Connection hijacking is possible (GRE not encrypted).
 PPTP can usually be made to pass through NAPT / NPAT since it uses GRE as encapsulation protocol. But
the NAPT must have an ALG for GRE (also called NAT Editor).
© Peter R. Egli 2015
10/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
5. GRE Generic Routing Encapsulation RFC1701 / RFC1702
The purpose of GRE is to provide a generic protocol for encapsulation (tunnelling) of a
protocol X in a protocol Y. Prior to GRE a range of RFCs were written defining how to
encapsulate protocol X in protocol Y thus leading to a O(n^2) complexity. GRE solved this
problem by providing a standard way to encapsulate different protocols in others (multi-
protocol support).
 Another reason for GRE is the fact that RFC1700 does not define PPP as payload of IP
(type field in IP header) since normally IP is carried in PPP and not PPP in IP. GRE allows
encapsulation of PPP frames in IP packets.
 GRE provides sequencing (restore correct order at destination).
 GRE has a low overhead; thus it is suited for high speed tunnelling.
 GRE allows multicasts which is required for routing protocol updates.
 Even though GRE is a tunnelling it does not provide security (encryption etc.).
 GRE and NAPT: GRE does not have a transport protocol, but certain NAPTs can be made
to pass GRE (based on protocol ID in IP header); these NAPTs are called „NAPT editors“ or
„ALG“ Application Level Gateway.
PPP
MAC
IP
GRE
IPV4 IPV6 ARP
© Peter R. Egli 2015
11/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
6. L2F Layer 2 Forwarding
 L2F allows the tunnelling of layer2 protocol such as PPP.
 L2F was designed for NAS initiated compulsory tunnel.
 Once the L2F tunnel is established, the NAS acts as a PPP forwarder.
Client
NAS
ISP
Server
InternetTunnel
Enterprise
Home Gateway
PSTN
AAA AAA
LCP
CHAP Challenge
CHAP Response NAS – home gateway authentication
CHAP Challenge Success
CHAP 3-way
handshake
NCP
PPP Data (IP)
L2F tunnel negotiation / creation
PPP LCP
IP
PPP LCP
PPP Auth. PPP Auth.
L2F
PPP NCP
IP
xyz
IP
xyz
PPP Auth.
L2F
PPP NCP
IP
Eth Eth
IP
PPP session
AAA Authentication,
Authorization, Accounting
© Peter R. Egli 2015
12/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
7. L2TP Layer 2 Tunnelling Protocol RFC2661 (1/3)
Scenario 1: Client (LAC) to enterprise VPN server (LNS):
„Public PPP“
„Private PPP“
PPP
L2TP
UDP
IP
xyz
IP
PPP
L2TP
UDP
IP
PPP
IP
PPP xyz
IP
Eth Eth
IP
Client (LAC)
Tunnel
Enterprise LNS Server
PSTN Internet
NAS (ISP)
„Private PPP“
IP
PPP
L2TP
UDP
IP
PPP
IP
PPP xyz
IP
xyz Eth
IP
PPP
L2TP
UDP
IP
Eth
„Public PPP“
Client (LAC)
Tunnel
Access router Server
PSTN Internet
NAS (ISP)
Scenario 2: End-to-end tunnel (LNS on server):
© Peter R. Egli 2015
13/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
7. L2TP Layer 2 Tunnelling Protocol RFC2661 (2/3)
 L2TP is:
A. A control protocol to dynamically setup and teardown connections (tunnels); this
control protocol uses a reliable transport (that uses the Ns and Nr sequence numbers for
reliability).
B. Data encapsulation for tunnelling user data frames (PPP); the data packet transport is
unreliable, that is makes not use of Ns and Nr sequence numbers.
Packet Transport (UDP/IP, FR, ATM)
A. Control protocol
L2TP Control Channel
(reliable)
L2TP Control Message
L2TP Tunnel
Control
L2TP Data Channel
(unreliable)
L2TP Data Message
PPP Frame
User Data
B. Data encapsulation
© Peter R. Egli 2015
14/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
7. L2TP Layer 2 Tunnelling Protocol RFC2661 (3/3)
 L2TP is the „merger“ of PPTP (Microsoft) and L2F (Cisco) and thus is the best of the two whilst
incorporating additional features:
L2TP is multiprotocol (PPTP was bound to IP as transport protocol). L2TP allows to tunnel PPP over
any packet switched network.
L2TP allows end-to-end tunnels (along with the client initiated voluntary VPN mode); L2F supports only
the NAS initiated VPN model.
L2TP only uses one single format (L2TP header over UDP) for data and tunnel maintenance. PPTP had
a data (IP over PPP over GRE) and a control (TCP) channel.
L2TP allows user and tunnel authentication (tunnel auth. with L2TP, user authentication with PPP
authentication). PPTP only allowed user authentication.
L2TP allows an arbitrary number of tunnels (useful for enabling QoS). L2F and PPTP only allowed to
open 1 tunnel between 2 endpoints.
L2TP is run over UDP/IP to make it pass through firewalls.
L2TP affords sequencing and flow control (required since transported over unreliable UDP).
 L2TP has its deficiencies:
L2TP has no built-in confidentiality. This leaves the L2TP tunnel vulnerable to attacks (with PPP only
payload but not tunnel data is authenticated / encrypted). To overcome this L2TP can be combined with
IPSec. Pure L2TP voluntary and compulsory mode see previous slides.
© Peter R. Egli 2015
15/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (1/13)
 IPSec implements security at the IP layer; thus IPSec is transparent to applications.
 An IPSec „connection“ (security association, see below) is static; this means that there is
no setup and teardown of a „connection“.
 IPSec RFCs:
* IPSec RFC2401.
* Encapsulating Security Payload ESP RFC2406.
* Authentication Header AH RFC2402.
* Various encryption algorithms, e.g. AES (FIPS PUB 197).
* Various authentication algorithms, e.g. HMAC-MD5 RFC2403 or HMAC-SHA-1 RFC2404.
* Key management, e.g. ISAKMP or PKI.
 IPSec architecture and terms:
Security Association SA: An SA spans between security relationship between 2 IPSec endpoints.
Client: An IPSec client terminates IPSec and consumes data.
Gateway: Terminates IPSec and forwards data to its destination.
Tunnel: Encapsulation of IP in IP in order to disguise original IP addresses.
Transport mode: No tunnel used (that is original IP header is used as IP header).
Tunnel mode: Old IP packet is encapsulated into new IP packet (IP in IP).
AH: Authentication Header (one of the IPSec protocols).
ESP: Encapsulating Security Payload (one of the IPSec protocols).
IPSec Security Association SA
IPSec gateway
Client IPSec host
IPSec tunnel
© Peter R. Egli 2015
16/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
IP Header AH Auth. data TCP Header PayloadAH Header
IHLVersion TOS Total length
Identification Fragment offset
TTL Protocol Header checksum
IP source address
IP destination address
Optional IP options
DF
MF
U
Authenticated by IPSec AH
8. IPSec IP Security RFC2401 et.al. (2/13)
 Authentication Header AH is used for authentication.
AH provides:
a. Data integrity (MD5, SHA-1 HMAC Hashed Message Authentication Codes).
b. Data origin authentication (MD5, SHA-1 with shared secret as input).
c. Sequence integrity / replay protection (MD5, SHA-1 with serial number as input).
d. Non-repudiation („Nicht-Rückweisbarkeit”).
e. Header forward authentication.
 a. thru e. are commonly referred to as „authentication“.
 AH provides „forward header authentication“, i.e. it authenticates the immutable fields of the
outer header as follows (green IP header fields, red fields are not authenticated since they may change
during transit):
© Peter R. Egli 2015
17/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (3/13)
 Authentication Header AH fields:
Next Header: Identifies the protocol (header) following the AH Authentication Data.
Payload Length: Length of AH header and AH data.
SPI: Identifier for identifying the AH security association.
Sequence Number Field: Counter for packets to foil replay attacks.
Authentication Data (ICV): Authentication value based on MD5 hash (or other algorithm).
Next Header Payload Length Reserved
SPI – Security Parameter Index
Sequence Number Field
Authentication Data (ICV Integrity Check Value, variable length)
Outer IP header
Next header (ESP or TCP)
AH header
AH authentication data (MAC
Message Authentication Code)
© Peter R. Egli 2015
18/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (4/13)
 Encapsulating Security Payload ESP is used for encryption.
ESP provides:
a. Confidentiality (encryption).
b. Data integrity.
c. Data origin authentication (optional, usually not used since already provided by AH).
d. Replay protection.
 ESP does not provide header forward authentication.
 ESP authentication is optional and makes only sense if ESP extends AH (e.g. AH terminated at
access server but ESP reaching into the LAN to a server).
 ESP header and trailer fields:
SPI: Identifier for identifying the ESP security
association.
Sequence Number Field: Counter for packets to
foil replay attacks.
ESP Data: Enrypted TCP header and APDU.
ESP trailer:
a. Padding: Some encryption algorithms require
that the data be a multiple of some number of
bytes.
b. Next header: Identifies the protocol following
the trailer, e.g. ESP authentication header (!= AH).
ESP authentication data:
Optional data for ESP authentication (is not the
same as IPSec AH authentication data!).
SPI – Security Parameter Index
Sequence Number Field
ESP Data (encrypted payload)
Outer header (IP or AH)
ESP trailer (padding, pad length, next header field)
ESP authentication data (variable)
© Peter R. Egli 2015
19/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (5/13)
 AH and ESP in tunnel mode, nested SAs:
N.B.: More than 2 tunnels (e.g. tunnel in tunnel in tunnel) is usually impractical and thus not employed.
SA with AH + ESP (tunnel mode)
SA with AH + ESP (tunnel mode)
IPSec GWHost A
Outer tunnelInner tunnel
IPSec GW Host B
 AH and ESP in transport and tunnel mode, nested SAs:
SA with AH + ESP (tunnel mode)
SA with AH + ESP (transport mode)
IPSec GWHost A IPSec GW Host B
© Peter R. Egli 2015
20/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (6/13)
 Why have AH and ESP?
a. AH provides authentication, ESP provides encryption (separation). This separation is
useful since in many cases authentication provides enough security and encryption would
be too costly and in some cases not even allowed by the government.
b. In many cases AH provides enough security, and ESP (encryption) would consume too
much processing power.
c. The authentication provided by ESP could have been designed to cover the IP header
as well (forward authentication), but ESP is more complicated since it requires strong
encryption and thus has a more complicated format than AH. (N.B.: IPSec processing is
done per packet!)
 Thus AH and ESP can be used individually or combined.
 Some general IPSec design rules:
a. If one of the IPSec endpoints is a gateway, use tunnel mode.
b. If both IPSec endpoints are hosts, use transport mode (outer IP header would be the
same as the inner IP header thus IP header is exposed anyway).
c. If protection of the entire IP packet (including header) is required, then use tunnel
mode. This hides the source and destination IP addresses to a potential attacker.
d. If AH and ESP are to be combined, AH is the outer protocol, ESP the inner (first
authenticate, then decrypt; if authentication fails IPSec does not need to perform
costly decryption).
e. If AH and ESP are to be combined, both use the same mode (transport or tunnel mode).
© Peter R. Egli 2015
21/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
 IPSec AH Tunnel Mode:
8. IPSec IP Security RFC2401 et.al. (7/13)
 IPSec Transport Mode:
1. Transport mode only protect upper layer protocols (TCP and above).
2. Devices implementing only transport mode are called IPSec hosts.
 IPSec Tunnel Mode:
1. Tunnel mode protects the entire IP packet and tunnel in a secured transport path.
2. Devices implementing tunnel mode are called IPSec gateways.
 IPSec AH Transport Mode:
IP Header TCP Header Payload
IP Header AH Auth. Data TCP Header PayloadAH Header
Authenticated by AH
IP packet after AH
authentication.
Original IP packet
Outer IP header = dest. address of
VPN gateway.
IP Header TCP Header Payload
AH Header
Old IP Header
(inner header) TCP Header PayloadAH Auth. Data
New IP Header
(outer header)
IP packet after AH
authentication.
Authenticated by AH
Original IP packet
© Peter R. Egli 2015
22/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
 IPSec ESP Tunnel Mode:
8. IPSec IP Security RFC2401 et.al. (8/13)
 IPSec ESP Transport Mode:
IP Header TCP Header Payload
ESP Header TCP Header PayloadIP Header ESP Trailer ESP Authent.
Authenticated (ESP authentication)
Encrypted
IP packet after
ESP encryption
and authentication.
Outer header (IP address)
not authenticated.
Original IP packet
IP Header TCP Header Payload
ESP Header TCP Header Payload
New IP Header
(outer header) ESP Trailer ESP Authent.
Encrypted
Authenticated (ESP authentication)
Old IP Header
(inner header)
IP packet after
ESP encryption
and authentication.
Original IP packet
© Peter R. Egli 2015
23/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (9/13)
 IPSec AH and ESP Transport Mode (called „Transport Adjacency“):
 IPSec AH and ESP Tunnel Mode:
IP Header TCP Header Payload
IP Header AH Auth. Data TCP Header PayloadAH Header ESP Header ESP Trailer ESP Authent.
Old IP Header
(inner header)
Encrypted
Authenticated (AH)
IP packet after
ESP encryption
and AH
authentication.
Original IP packet
IP Header TCP Header Payload
IP Header AH Auth. Data TCP Header PayloadAH Header ESP Header ESP Trailer ESP Authent.
Authenticated (AH)
Encrypted
IP packet after
ESP encryption
and AH
authentication.
Original IP packet
© Peter R. Egli 2015
24/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (10/13)
 AH and ESP overview:
AH ESP AH+ESP
Encryption No Yes Yes
Sender and
receiver
authentication
Yes Yes (IPSec tunnel
mode only)
Yes
Data integrity Yes Yes Yes
Replay
protection
Yes Yes Yes
Sender and
receiver
confidentiality
No Yes (IPSec tunnel
mode only)
Yes (IPSec tunnel
mode only)
With AH most of the security needs can be usually satisfied (authentication). IPSec can then
be added (encryption) in situations with higher security demands.
© Peter R. Egli 2015
25/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
1. Simple SA (no security layering):
 LANs are considered secure thus no encryption or authentication used in LANs.
 E.g. VPN between different sites of a company with secure tunnels between each pair of sites.
8. IPSec IP Security RFC2401 et.al. (11/13)
 Examples of typical IPSec architectures (1):
2. Bundled SA (hierarchic SAs, multilayer security):
Access networks (LANs, dial-up network) are considered insecure. An inner tunnel provides end-to-end
security between host A and host B. The 2 tunnels have different endpoints.
SA with ESP (tunnel)
SA with ESP (tunnel)
IPSec gateway
Host A Host B
IPSec tunnel
SA with AH (transport) and ESP (tunnel)
IPSec gatewayIPSec gateway
LANLAN
Client Client
© Peter R. Egli 2015
26/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (12/13)
 Examples of typical IPSec architectures (2):
3. Bundled SA (transport adjacency, single level security):
 This example provides end-to-end encryption and authentication. The original IP header is still
visible (transport mode).
 This scenario does not use nesting; both SAs have the same endpoints (thus no tunnelling).
SA with ESP (transport)
SA with AH (transport)
Host A Host B
4. Bundled SA (iterated tunnelling, multilayer security):
This scenario uses end-to-end security with encryption and authentication. The original IP header is not
visible (tunnel mode).
 The 2 nested tunnels have the same endpoints.
SA with AH (tunnel)
Host A Host B
SA with ESP (tunnel)
© Peter R. Egli 2015
27/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
8. IPSec IP Security RFC2401 et.al. (13/13)
 Examples of typical IPSec architectures (3):
5. Bundled SA (iterated tunnelling):
 This scenario provides end-to-end security; the endpoint IP addresses are not visible.
 Here the 2 tunnels have different endpoints.
6. Bundled SA (iterated tunnelling):
 The 2 nested tunnels have different endpoints.
 Secure connectivity (nested tunnel) in secure connection between 2 networks.
IPSec gateway
Host A Host B
SA with ESP (tunnel)
SA with AH (tunnel)
IPSec gateway
Host A Host B
SA with AH (tunnel)
IPSec gateway
SA with ESP (tunnel)
© Peter R. Egli 2015
28/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
9. Combining different VPN protocols (1/6)
1. IPSec over L2TP:
 L2TP offers multiprotocol transport over IP and non-IP based transport networks (which IPSec doesn‘t).
 IPSec affords true security with forward header authentication etc. (when it comes to security, IPSec is the
choice).
 NAPT in the transmit path does not pose a problem (L2TP uses UDP and is thus ‚NAPTable‘, IPSec is not
‚NAPTable‘).
 IPSec over L2TP does not provide user authentication but machine authentication instead.
Example: Client initiated voluntary tunnel:
Client
(LAC)
Tunnel
Enterprise
home GW
(LNS)
Server
PSTN Internet
NAS
ISP
AAA
PPP xyz
IP
PPP
IP
UDP
L2TP
PPP
IPSec
xyz
IP
UDP
L2TP
PPP Eth
IP
„Public PPP“
„Private PPP“
IP
Eth
IPSec
© Peter R. Egli 2015
29/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
9. Combining different VPN protocols (2/6)
2. L2TP over IPSec RFC3193:
 A layer 2 tunnel (L2TP) is established on top of a secure layer 3 tunnel (IPSec).
 First the secure IPSec tunnel is established. Second the L2TP is established providing PPP and
multiprotocol services.
 In order to get through NATs in the Internet IPSec in turn may be run over UDP (NAT-T, see below).
 IPSec provides machine to machine security (secure tunnel between machines). PPP is used for user
authentication (login to server). In order to get PPP across the Internet an L2TP tunnel is established.
Example: NAS initiated compulsory tunnel:
Client Server
L2TP tunnel (inner) in
IPSec tunnel (outer)
PSTN Internet
Enterprise
home GW
(LNS)
AAA
NAS
ISP (LAC)
AAA
PPP
IP
IPSec ESP
UDP
L2TP
PPP
IP IP
Eth
IP
Eth
IP
IPSec ESP
UDP
L2TP
PPP
© Peter R. Egli 2015
30/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
L2TP over IPSec:
• Provider based security
LAC  LNS.
• Fully protected L2TP tunnel
construction.
• NAT is not possible on IPSec.
Firewalls may cause problems.
• PPP password exchange is fully
protected.
• Microsoft’s way of constructing
tunnels (Legacy PPP dial in is still in
use and working with NT passwords).
• Client is not involved in IPSec (unless
client and LAC are in same router /
Win2k client)
• Better scaleability.
IPsec over L2TP
• Client based security
Client  LNS/Client.
• Unprotected L2TP tunnel
construction.
• L2TP will go trough NAT and most
firewalls.
• ‘only’ PPP like security on session
construction.
• Cisco way of constructing VPN’s.
• LAC is not involved in IPSec.
9. Combining different VPN protocols (3/6)
 L2TP over IPSec versus IPSec over L2TP:
© Peter R. Egli 2015
31/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
9. Combining different VPN protocols (4/6)
3. Multiprotocol over IPSec using GRE (Cisco):
 This combination is often used for site-to-site VPNs.
 The configuration is simplified since 1 GRE tunnel replaces N*M IPSec tunnels (from each network to
each other network an IPSec tunnel is required).
Eth
IP
GRE
IP
IPSec
IP
Eth GRE
IP
IPSec
IP
Eth Eth
IP
Internet
LAN
Internet
LAN
Host
Host
Host
Host
LAN LAN
© Peter R. Egli 2015
32/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
Eth
IP
Eth
IP
GRE
IP
IPSec ESP
IP
Eth
UDP
GRE
IP
IPSec ESP
IP
Eth
UDP
NAPT NAPT
9. Combining different VPN protocols (5/6)
4. IPSec over UDP RFC3947/RFC3948 (NAT-T = NAT-Traversal):
 IPSec AH does not pass through a NAPT / NPAT since AH authenticates immutable fields of the IP header
including the source IP address which is manipulated by NAPT.
 IPSec ESP passes through NAT since ESP does not use IP header fields; but ESP will not pass through
NAPT/NPAT since ESP uses (TCP, UDP) port numbers.
 Solution: IPSec AH + ESP over UDP RFC3948 (also dubbed „IPSec pass-through“ or „NAT traversal“).
 IPSec over UDP uses the same port number as IKE (IPSec Key Exchange protocol), 500, in order to only
open 1 hole in the NAT.
 Even though „ESP over UDP RFC3948“ works with IPV6 it is seen as a temporary solution since IPV6
does away with the IP address scarcity problem and thus renders NAPT useless (we will see...).
NAPT NAPT
Internet
Host Host
LAN LAN
© Peter R. Egli 2015
33/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
9. Combining different VPN protocols (6/6)
5. IPSec over L2TP over L2TP based access network:
 VPN and tunnelling protocols can be combined in a „Lego“-fashion with the following building blocks:
A. IP address assignment, authentication, link negotiation etc.: PPP.
B. Tunnelling of layer 2 protocols: L2TP with UDP for NAPT traversal.
C. Security (encryption, authentication, message integrity etc.): IPSec.
D. NAPT-traversal for IPSec: L2TP.
E. Transport of PPP over Ethernet, layer 2 access protocols: PPPoE over ATM (RFC1483, AAL5).
 N.B.: Protocol hierarchy (OSI layering) is reversed (e.g. layer 2 protocol over layer 3 protocol).
PPPoE
MAC 1483
AAL5
ATM
ADSL
ATM Switch
ADSL PHY
L2TP
UDP
IP
ATM
IP
PPP
IP
xyz
Router
1483
AAL5
ATM
PHY
PPPoE L2TP
UDP
IP
ATM
IP
PPP
PPPoE
MAC
UDP
L2TP
PPP
IPSec
IP
IP
MAC
UDP
L2TP
PPP
IPSec
IP
IP
xyz MAC
IPSec SA
„Public PPP“
1)
„Private PPP“
1) Access provider to ISP tunnel.
LAC
ADSL
modem LNS
ServerClient Access
Router
Internet
DSLAM
© Peter R. Egli 2015
34/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
10. IPSec Key Management (1/3)
 IPSec can be used with static pre-shared keys (statically configured keys on IPSec
endpoints). It is however more secure to occasionally replace keys with newer ones. This
means that a dynamic key exchange protocol between IPSec endpoints is needed.
 Important key exchange protocols are:
1. ISAKMP RFC2408 Internet Security Association and Key Management Protocol:
 General framework for key exchange and management (N.B.: ISAKMP does not
itself define a particular key exchange procedure).
2. Oakley: Key management according to ISAKMP:
 Key generation.
 Identity protection.
 Authentication.
3. SKEME: Secure Key Exchange Mechanism:
 Anonymity.
 Non-repudiation.
 Quick key refreshment.
4. IKE Internet Key Exchange RFC2409: The key management protocol used within IPSec:
 IKE is a combination of ISAKMP, Oakley and SKEME.
 IKE is used for periodic key exchange.
 IKE is a key management protocol.
 IKE is also used for IPSec protocol negotiation (AH or ESP).
© Peter R. Egli 2015
35/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
10. IPSec Key Management (2/3)
 IKE Internet Key Exchange RFC2409 (1):
IKE has 2 phases:
Phase 1:
Creation of secure ISAKMP SA (which is bidirectional) for IKE protection itself:
a. IKE SA negotiation (algorithms for secure IKE SA).
b. Key exchange for IKE SA.
c. Peer authentication (using certificates, pre-shared keys or public key encryption).
Phase 1 is executed only once in the lifetime of an IKE/IPSec association.
Phase 2:
Phase 2 starts only after phase 1 is finished.
Phase 2 comprises the negotiation of IPSec protection (keys etc.) using the Diffie-Hellman
algorithm thus affording PFI (Perfect Forward Security) which means that new keys are in
no way dependent on old keys; this means that even if an attacker can break a key he
would not be able to break the next key since it is not dependant on the old key.
During an IPSec session phase 2 (re-negotiation of session keys) is repeated more often
than phase 1 (re-negotiation of IKE keys).
 IPSec key lifetime < IKE key lifetime.
© Peter R. Egli 2015
36/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
Link
IP / IPSec
Transport
Sockets
IKE App
SPD
SAD
Consults
Negotiates,
modifies,
deletes
Points to
Consults
Asks for
SA creation
Administrator
Configures
SPD Security Policy Database:
The SPD contains general policies (e.g. let user X pass, user Z no IPSec).
The SPD entries are static (set up administratively).
The SPD entries are similar to firewalls access control lists ACL.
SAD Security Association Database:
The SAD contains SA data (outer header IP, IPSec proto, SN counter etc.).
Its entries are dynamic for active connections (come and go with SAs).
10. IPSec Key Management (3/3)
 IKE Internet Key Exchange RFC2409 (2):
Components and architecture:
© Peter R. Egli 2015
37/37
Rev. 3.30
VPN - Virtual Private Networks indigoo.com
11. IPV4 addresses: how many are there?
 In principle 2^32=4‘294‘967‘295 (at least for IPv4), but:
Public Internet
LAN
VPN Access Router VPN Access Router
LANTunnel
1 public IP V4 address 1 public IP V4 address
 This setup creates a „network in the network“ where
16’777’216 + 1’048’576 + 65’536 = 17‘891‘328 hosts can communicate with each other.
The VPN (tunnel) creates some kind of application context using private IP
addresses. Note that the VPN hosts can still communicate with hosts in the Internet.
The tunnels allow to pass any protocol through VPN access routers that run NAPT
and other firewall functions.

More Related Content

What's hot

What's hot (20)

Virtual Private Network VPN
Virtual Private Network VPNVirtual Private Network VPN
Virtual Private Network VPN
 
IP addressing seminar ppt
IP addressing seminar pptIP addressing seminar ppt
IP addressing seminar ppt
 
Firewalls and packet filters
Firewalls and packet filtersFirewalls and packet filters
Firewalls and packet filters
 
Virtual private networks (vpn)
Virtual private networks (vpn)Virtual private networks (vpn)
Virtual private networks (vpn)
 
Ip Addressing
Ip AddressingIp Addressing
Ip Addressing
 
IPV6 ADDRESS
IPV6 ADDRESSIPV6 ADDRESS
IPV6 ADDRESS
 
Switching
SwitchingSwitching
Switching
 
What is Network Address Translation (NAT)
What is Network Address Translation (NAT)What is Network Address Translation (NAT)
What is Network Address Translation (NAT)
 
WLAN:VPN Security
WLAN:VPN SecurityWLAN:VPN Security
WLAN:VPN Security
 
Report File On Virtual Private Network(VPN)
Report File On Virtual Private Network(VPN)Report File On Virtual Private Network(VPN)
Report File On Virtual Private Network(VPN)
 
Virtual Private Network
Virtual Private NetworkVirtual Private Network
Virtual Private Network
 
IP Address - IPv4 & IPv6
IP Address - IPv4 & IPv6IP Address - IPv4 & IPv6
IP Address - IPv4 & IPv6
 
Firewall and Types of firewall
Firewall and Types of firewallFirewall and Types of firewall
Firewall and Types of firewall
 
Vpn
VpnVpn
Vpn
 
VPN (virtual Private Network)
VPN (virtual Private Network)VPN (virtual Private Network)
VPN (virtual Private Network)
 
Network security
Network security Network security
Network security
 
Tcp ip
Tcp ipTcp ip
Tcp ip
 
Dhcp
DhcpDhcp
Dhcp
 
Virtual Private Network
Virtual Private NetworkVirtual Private Network
Virtual Private Network
 
WAN Technologies slide show
WAN Technologies slide showWAN Technologies slide show
WAN Technologies slide show
 

Similar to VPN - Virtual Private Network

Similar to VPN - Virtual Private Network (20)

Review on Protocols of Virtual Private Network
Review on Protocols of Virtual Private NetworkReview on Protocols of Virtual Private Network
Review on Protocols of Virtual Private Network
 
Vpn protocols
Vpn protocolsVpn protocols
Vpn protocols
 
L2 tp., ip sec
L2 tp., ip secL2 tp., ip sec
L2 tp., ip sec
 
Tunnel & vpn1
Tunnel & vpn1Tunnel & vpn1
Tunnel & vpn1
 
V P N
V P NV P N
V P N
 
Network access layer security protocol
Network access layer security protocolNetwork access layer security protocol
Network access layer security protocol
 
Ip sec
Ip secIp sec
Ip sec
 
Vpn
VpnVpn
Vpn
 
Katuwal_Arun_flex_get_vpn.pdf
Katuwal_Arun_flex_get_vpn.pdfKatuwal_Arun_flex_get_vpn.pdf
Katuwal_Arun_flex_get_vpn.pdf
 
Generic network architecture discussion
Generic network architecture discussionGeneric network architecture discussion
Generic network architecture discussion
 
F0322038042
F0322038042F0322038042
F0322038042
 
Profile_Prateek
Profile_PrateekProfile_Prateek
Profile_Prateek
 
Interconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNsInterconnecting Neutron and Network Operators' BGP VPNs
Interconnecting Neutron and Network Operators' BGP VPNs
 
Mcse question
Mcse questionMcse question
Mcse question
 
L2tp1
L2tp1L2tp1
L2tp1
 
Introduction of tcp, ip & udp
Introduction of tcp, ip & udpIntroduction of tcp, ip & udp
Introduction of tcp, ip & udp
 
Pristine rina-sdk-icc-2016
Pristine rina-sdk-icc-2016Pristine rina-sdk-icc-2016
Pristine rina-sdk-icc-2016
 
Protocols and the TCP/IP Protocol Suite
Protocols and the TCP/IP Protocol SuiteProtocols and the TCP/IP Protocol Suite
Protocols and the TCP/IP Protocol Suite
 
Vp ns
Vp nsVp ns
Vp ns
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 

More from Peter R. Egli

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosPeter R. Egli
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking ConceptsPeter R. Egli
 
Communication middleware
Communication middlewareCommunication middleware
Communication middlewarePeter R. Egli
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Peter R. Egli
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Peter R. Egli
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET PlatformPeter R. Egli
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud ComputingPeter R. Egli
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration TechnologiesPeter R. Egli
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyPeter R. Egli
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development KitPeter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Peter R. Egli
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Peter R. Egli
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingPeter R. Egli
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBAPeter R. Egli
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Peter R. Egli
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging ServicePeter R. Egli
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Peter R. Egli
 

More from Peter R. Egli (20)

LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M ScenariosLPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
LPWAN Technologies for Internet of Things (IoT) and M2M Scenarios
 
Data Networking Concepts
Data Networking ConceptsData Networking Concepts
Data Networking Concepts
 
Communication middleware
Communication middlewareCommunication middleware
Communication middleware
 
Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)Transaction Processing Monitors (TPM)
Transaction Processing Monitors (TPM)
 
Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)Business Process Model and Notation (BPMN)
Business Process Model and Notation (BPMN)
 
Microsoft .NET Platform
Microsoft .NET PlatformMicrosoft .NET Platform
Microsoft .NET Platform
 
Overview of Cloud Computing
Overview of Cloud ComputingOverview of Cloud Computing
Overview of Cloud Computing
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
Enterprise Application Integration Technologies
Enterprise Application Integration TechnologiesEnterprise Application Integration Technologies
Enterprise Application Integration Technologies
 
Overview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technologyOverview of Microsoft .Net Remoting technology
Overview of Microsoft .Net Remoting technology
 
Android Native Development Kit
Android Native Development KitAndroid Native Development Kit
Android Native Development Kit
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)Overview of SCTP (Stream Control Transmission Protocol)
Overview of SCTP (Stream Control Transmission Protocol)
 
Web services
Web servicesWeb services
Web services
 
Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)Overview of Spanning Tree Protocol (STP & RSTP)
Overview of Spanning Tree Protocol (STP & RSTP)
 
MSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message QueueingMSMQ - Microsoft Message Queueing
MSMQ - Microsoft Message Queueing
 
Common Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBACommon Object Request Broker Architecture - CORBA
Common Object Request Broker Architecture - CORBA
 
Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)Component Object Model (COM, DCOM, COM+)
Component Object Model (COM, DCOM, COM+)
 
JMS - Java Messaging Service
JMS - Java Messaging ServiceJMS - Java Messaging Service
JMS - Java Messaging Service
 
Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)Web Services (SOAP, WSDL, UDDI)
Web Services (SOAP, WSDL, UDDI)
 

Recently uploaded

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

VPN - Virtual Private Network

  • 1. © Peter R. Egli 2015 1/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com Peter R. Egli INDIGOO.COM OVERVIEW OF VIRTUAL PRIVATE NETWORK TECHNOLOGY AND VPN PROTOCOLS SUCH AS PPTP, IPSEC AND L2TP VIRTUAL PRIVATE NETWORKS VPN
  • 2. © Peter R. Egli 2015 2/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com Contents 1. Virtual Private Network VPN purpose 2. Types of Virtual Private Networks 3. Comparison VPN Layer 2 tunnelling vs. Layer 3 tunnelling VPNs 4. PPTP Point to Point Tunnelling Protocol RFC2637 5. GRE Generic Routing Encapsulation RFC1701 / RFC1702 6. L2F Layer 2 Forwarding 7. L2TP Layer 2 Tunnelling Protocol RFC2661 8. IPSec IP Security 9. Combining different VPN protocols 10. IPSec Key Management 11. IPV4 addresses: how many are there?
  • 3. © Peter R. Egli 2015 3/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 1. Virtual Private Network VPN purpose 1. Secure communication over insecure links / networks: A. Tunnelling of protocols like PPP: B. Encryption: Tunnel may use encryption to provide secrecy/confidentiality. C. Authentication: Tunnel may be authenticated thus granting access to VPN only to authorized clients. D. Access control / authorization: VPN gateways ascertain and enforce level of access for VPN client. E. Auditing (monitor, log, intervene): VPN gateways monitor usage of VPN and react in case of anomality. 2. Private addressing and protocols on top of public addresses: Tunnelling of private IP addresses (10.0.0.0, 172.16.0.0, 192.168.0.0) through public network (Internet). Client VPN gateway Private network 10.0.0.0/24 VPN gateway Client Private network 10.0.0.0/24 Tunnel Public network (Internet) Client Client VPN gateway encapsulates IP (or PPP) packet into outer IP packet. VPN gateway decapsulates IP packet and sends inner packet to client. Tunnel VPN gateway VPN gateway Insecure public network
  • 4. © Peter R. Egli 2015 4/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 2. Types of Virtual Private Networks (1/3) 1. Access VPN client initiated (=voluntary tunnel):  VPN client is located on client machine. NAS only delivers public IP address to client via PPP („public PPP session“ between client and NAS).  On top of that client creates a VPN connection (e.g. L2TP) to get private IP and this way is hooked into the private network just as it were directly connected to the private network („private PPP session“ between client and server).  This VPN mode is called „voluntary“ since the VPN is under control of the client itself (client can decide if it establishes the VPN tunnel or not). NAS (ISP) Tunnel Enterprise VPN server (LNS) PSTN Internet Client (LAC) Server (e.g. workgroup server Private network IP PPP L2TP UDP IP PPP PPP IP xyz „Public PPP“ „Private PPP“ IP MAC IP PPP L2TP UDP IP xyz MAC NAS Network Access Server LAC L2TP Access Concentrator LNS L2TP Network Server L2TP Layer 2 Tunnelling Protocol ISP Internet Service Provider PPP Point to Point Protocol PSTN Public Switched Telephony Network
  • 5. © Peter R. Egli 2015 5/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 2. Types of Virtual Private Networks (2/3) 2. Access VPN NAS initiated (=compulsory tunnel):  NAS opens VPN tunnel to enterprise VPN server on behalf of client.  Unlike the client initiated VPN the access part is not private (no encryption, no private IP).  This VPN mode is called „compulsory“ since the VPN is not under control of the client itself (client can not decide if it establishes VPN tunnel or not – VPN tunnel is always established irrespective of client settings). NAS ISP (LAC) Enterprise VPN server (LNS) Client TunnelPSTN Internet Server (e.g. workgroup server Private network IP PPP IP PPP PPP IP xyz IP PPP L2TP UDP IP xyz „Public PPP“ „Private PPP“ IP MACMAC UDP L2TP
  • 6. © Peter R. Egli 2015 6/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 2. Types of Virtual Private Networks (3/3) 3. Intranet VPN:  Enterprise VPN server and branch office VPN server connect LANs to each other thus forming an Intranet (Intranet = private network based on Internet protocols).  The VPN gateways establish a virtual connection (tunnel) between the 2 sites and thus the remote / branch office is virtually hooked up directly to the enterprise LAN. 4. Extranet VPN:  An extranet is either a hub and spoke VPN (central VPN gateway establishing VPN connections with all extranet members) or a meshed VPN with a VPN tunnel between any 2 VPN members.  An extranet is a „semi-private“ network that gives the extranet members access to each other thus forming a virtual network outside of the Intranet. Enterprise VPN server Remote office VPN server InternetTunnel Enterprise LAN Enterprise LAN Telecommuter („road warrior“) Extranet partner Remote users Enterprise InternetTunnel Remote office
  • 7. © Peter R. Egli 2015 7/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 3. Comparison VPN Layer 2 tunnelling vs. Layer 3 tunnelling VPNs  Layer 2 tunnelling protocols allow the tunnelling of layer 2 protocols (e.g. PPP).  Layer 3 tunnelling protocols can be used for the tunnelling of layer 3 protocols (e.g. IPSec). Layer 2 tunnelling Layer 3 tunnelling Tunnelling PPP over xyTP over UDP over IP IP over IP Tunnel setup Dynamic Static User authentication PPP None or ISAKMP IP address Dynamic (PPP) Static Data compression PPP (CCP) None Data encryption PPP (ECP) Various Encryption key Periodic key refreshment ISAKMP Multiprotocol Yes No (IP only) Examples L2TP, GRE, L2F IPSec • The most important tunnelling protocols: A. PPTP - Point to Point Tunnelling Protocol B. GRE - Generic Routing Encapsulation C. L2F - Layer 2 Framing Protocol D. L2TP - Layer 2 Tunnelling Protocol E. IPSec / IP in IP F. SSH - Secure SHell G. SSL/TLS - Secure Socket Layer based VPNs H. PPPoE - PPP over Ethernet I. MPLS - MultiProtocol Label Switching K. MIP - Mobile IP
  • 8. © Peter R. Egli 2015 8/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com B. Remote access with PPTP (client initiated voluntary tunnel mode): VPN clients establish “public PPP” session with NAS and on top of that “private PPP” session with enterprise VPN server. Tunnel Enterprise RAS (PNS) Server PSTN Internet NAS (ISP) VPN client IP PPP IP PPP Eth Eth IP PSTN Enterprise RAS 4. PPTP Point to Point Tunnelling Protocol RFC2637 (1/2) A. Remote access in the old days (dial-up): Client needs to dial through PSTN which may be a costly long-distance call. Server VPN client (PAC) PPTP Data IP PPP IP PPTP PPP GRE PPP xyz IP IP xyz PPTP IP Eth Eth IP PPP GRE „Private PPP“ „Public PPP“ PPTP Control IP PPP PPTP Control TCP PPP xyz IP IP xyz PPTP Control TCP „Public PPP“ Key: RAS Remote Access Server PAC: PPTP Access Concentrator PNS: PPTP Network Server
  • 9. © Peter R. Egli 2015 9/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 4. PPTP Point to Point Tunnelling Protocol RFC2637 (2/2)  PPTP was originally used for remote access via an ISP (PPTP = remote access solution). PPTP was devised by Microsoft as a RAS (Remote Access Service) protocol.  PPTP is the most widely used VPN tunnelling protocol but will be supplanted by L2TP / IPSec in the long run.  PPTP is based on and uses the services of PPP (Point to Point Protocol). By using PPP various authentication (PAP, CHAP, MSCHAP, EAP) and encryption (ECP with preshared keys, RC4, DES) standards compined with compression (CCP) are possible with PPTP.  PPTP provides multiprotocol encapsulation through usage of GRE for data packets; this means that the tunnel between client and server is transparent for applications (applications do not „see“ the tunnel); client is virtually within enterprise LAN.  GRE, as its name implies, is basically an encapsulation protocol that allows transport of layer 2 (e.g. PPP) and 3 (IP) protocols. In PPTP GRE is used for the transport of data frames while PPTP control frames are used for setting up the GRE connection.  PPTP uses a PPTP control connection (TCP) to establish a PPTP data tunnel (GRE) with the following control connection messages: PPTP_START_SESSION_REQUEST / _REPLY PPTP_ECHO_REQUEST / _REPLY PPTP_WAN_ERROR_NOTIFY PPTP_SET_LINK_INFO PPTP_STOP_SESSION_REQUEST / _REPLY  The PPTP control connection is neither authenticated nor integrity-checked;  Eavesdropping is possible.  Connection hijacking is possible (GRE not encrypted).  PPTP can usually be made to pass through NAPT / NPAT since it uses GRE as encapsulation protocol. But the NAPT must have an ALG for GRE (also called NAT Editor).
  • 10. © Peter R. Egli 2015 10/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 5. GRE Generic Routing Encapsulation RFC1701 / RFC1702 The purpose of GRE is to provide a generic protocol for encapsulation (tunnelling) of a protocol X in a protocol Y. Prior to GRE a range of RFCs were written defining how to encapsulate protocol X in protocol Y thus leading to a O(n^2) complexity. GRE solved this problem by providing a standard way to encapsulate different protocols in others (multi- protocol support).  Another reason for GRE is the fact that RFC1700 does not define PPP as payload of IP (type field in IP header) since normally IP is carried in PPP and not PPP in IP. GRE allows encapsulation of PPP frames in IP packets.  GRE provides sequencing (restore correct order at destination).  GRE has a low overhead; thus it is suited for high speed tunnelling.  GRE allows multicasts which is required for routing protocol updates.  Even though GRE is a tunnelling it does not provide security (encryption etc.).  GRE and NAPT: GRE does not have a transport protocol, but certain NAPTs can be made to pass GRE (based on protocol ID in IP header); these NAPTs are called „NAPT editors“ or „ALG“ Application Level Gateway. PPP MAC IP GRE IPV4 IPV6 ARP
  • 11. © Peter R. Egli 2015 11/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 6. L2F Layer 2 Forwarding  L2F allows the tunnelling of layer2 protocol such as PPP.  L2F was designed for NAS initiated compulsory tunnel.  Once the L2F tunnel is established, the NAS acts as a PPP forwarder. Client NAS ISP Server InternetTunnel Enterprise Home Gateway PSTN AAA AAA LCP CHAP Challenge CHAP Response NAS – home gateway authentication CHAP Challenge Success CHAP 3-way handshake NCP PPP Data (IP) L2F tunnel negotiation / creation PPP LCP IP PPP LCP PPP Auth. PPP Auth. L2F PPP NCP IP xyz IP xyz PPP Auth. L2F PPP NCP IP Eth Eth IP PPP session AAA Authentication, Authorization, Accounting
  • 12. © Peter R. Egli 2015 12/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 7. L2TP Layer 2 Tunnelling Protocol RFC2661 (1/3) Scenario 1: Client (LAC) to enterprise VPN server (LNS): „Public PPP“ „Private PPP“ PPP L2TP UDP IP xyz IP PPP L2TP UDP IP PPP IP PPP xyz IP Eth Eth IP Client (LAC) Tunnel Enterprise LNS Server PSTN Internet NAS (ISP) „Private PPP“ IP PPP L2TP UDP IP PPP IP PPP xyz IP xyz Eth IP PPP L2TP UDP IP Eth „Public PPP“ Client (LAC) Tunnel Access router Server PSTN Internet NAS (ISP) Scenario 2: End-to-end tunnel (LNS on server):
  • 13. © Peter R. Egli 2015 13/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 7. L2TP Layer 2 Tunnelling Protocol RFC2661 (2/3)  L2TP is: A. A control protocol to dynamically setup and teardown connections (tunnels); this control protocol uses a reliable transport (that uses the Ns and Nr sequence numbers for reliability). B. Data encapsulation for tunnelling user data frames (PPP); the data packet transport is unreliable, that is makes not use of Ns and Nr sequence numbers. Packet Transport (UDP/IP, FR, ATM) A. Control protocol L2TP Control Channel (reliable) L2TP Control Message L2TP Tunnel Control L2TP Data Channel (unreliable) L2TP Data Message PPP Frame User Data B. Data encapsulation
  • 14. © Peter R. Egli 2015 14/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 7. L2TP Layer 2 Tunnelling Protocol RFC2661 (3/3)  L2TP is the „merger“ of PPTP (Microsoft) and L2F (Cisco) and thus is the best of the two whilst incorporating additional features: L2TP is multiprotocol (PPTP was bound to IP as transport protocol). L2TP allows to tunnel PPP over any packet switched network. L2TP allows end-to-end tunnels (along with the client initiated voluntary VPN mode); L2F supports only the NAS initiated VPN model. L2TP only uses one single format (L2TP header over UDP) for data and tunnel maintenance. PPTP had a data (IP over PPP over GRE) and a control (TCP) channel. L2TP allows user and tunnel authentication (tunnel auth. with L2TP, user authentication with PPP authentication). PPTP only allowed user authentication. L2TP allows an arbitrary number of tunnels (useful for enabling QoS). L2F and PPTP only allowed to open 1 tunnel between 2 endpoints. L2TP is run over UDP/IP to make it pass through firewalls. L2TP affords sequencing and flow control (required since transported over unreliable UDP).  L2TP has its deficiencies: L2TP has no built-in confidentiality. This leaves the L2TP tunnel vulnerable to attacks (with PPP only payload but not tunnel data is authenticated / encrypted). To overcome this L2TP can be combined with IPSec. Pure L2TP voluntary and compulsory mode see previous slides.
  • 15. © Peter R. Egli 2015 15/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (1/13)  IPSec implements security at the IP layer; thus IPSec is transparent to applications.  An IPSec „connection“ (security association, see below) is static; this means that there is no setup and teardown of a „connection“.  IPSec RFCs: * IPSec RFC2401. * Encapsulating Security Payload ESP RFC2406. * Authentication Header AH RFC2402. * Various encryption algorithms, e.g. AES (FIPS PUB 197). * Various authentication algorithms, e.g. HMAC-MD5 RFC2403 or HMAC-SHA-1 RFC2404. * Key management, e.g. ISAKMP or PKI.  IPSec architecture and terms: Security Association SA: An SA spans between security relationship between 2 IPSec endpoints. Client: An IPSec client terminates IPSec and consumes data. Gateway: Terminates IPSec and forwards data to its destination. Tunnel: Encapsulation of IP in IP in order to disguise original IP addresses. Transport mode: No tunnel used (that is original IP header is used as IP header). Tunnel mode: Old IP packet is encapsulated into new IP packet (IP in IP). AH: Authentication Header (one of the IPSec protocols). ESP: Encapsulating Security Payload (one of the IPSec protocols). IPSec Security Association SA IPSec gateway Client IPSec host IPSec tunnel
  • 16. © Peter R. Egli 2015 16/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com IP Header AH Auth. data TCP Header PayloadAH Header IHLVersion TOS Total length Identification Fragment offset TTL Protocol Header checksum IP source address IP destination address Optional IP options DF MF U Authenticated by IPSec AH 8. IPSec IP Security RFC2401 et.al. (2/13)  Authentication Header AH is used for authentication. AH provides: a. Data integrity (MD5, SHA-1 HMAC Hashed Message Authentication Codes). b. Data origin authentication (MD5, SHA-1 with shared secret as input). c. Sequence integrity / replay protection (MD5, SHA-1 with serial number as input). d. Non-repudiation („Nicht-Rückweisbarkeit”). e. Header forward authentication.  a. thru e. are commonly referred to as „authentication“.  AH provides „forward header authentication“, i.e. it authenticates the immutable fields of the outer header as follows (green IP header fields, red fields are not authenticated since they may change during transit):
  • 17. © Peter R. Egli 2015 17/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (3/13)  Authentication Header AH fields: Next Header: Identifies the protocol (header) following the AH Authentication Data. Payload Length: Length of AH header and AH data. SPI: Identifier for identifying the AH security association. Sequence Number Field: Counter for packets to foil replay attacks. Authentication Data (ICV): Authentication value based on MD5 hash (or other algorithm). Next Header Payload Length Reserved SPI – Security Parameter Index Sequence Number Field Authentication Data (ICV Integrity Check Value, variable length) Outer IP header Next header (ESP or TCP) AH header AH authentication data (MAC Message Authentication Code)
  • 18. © Peter R. Egli 2015 18/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (4/13)  Encapsulating Security Payload ESP is used for encryption. ESP provides: a. Confidentiality (encryption). b. Data integrity. c. Data origin authentication (optional, usually not used since already provided by AH). d. Replay protection.  ESP does not provide header forward authentication.  ESP authentication is optional and makes only sense if ESP extends AH (e.g. AH terminated at access server but ESP reaching into the LAN to a server).  ESP header and trailer fields: SPI: Identifier for identifying the ESP security association. Sequence Number Field: Counter for packets to foil replay attacks. ESP Data: Enrypted TCP header and APDU. ESP trailer: a. Padding: Some encryption algorithms require that the data be a multiple of some number of bytes. b. Next header: Identifies the protocol following the trailer, e.g. ESP authentication header (!= AH). ESP authentication data: Optional data for ESP authentication (is not the same as IPSec AH authentication data!). SPI – Security Parameter Index Sequence Number Field ESP Data (encrypted payload) Outer header (IP or AH) ESP trailer (padding, pad length, next header field) ESP authentication data (variable)
  • 19. © Peter R. Egli 2015 19/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (5/13)  AH and ESP in tunnel mode, nested SAs: N.B.: More than 2 tunnels (e.g. tunnel in tunnel in tunnel) is usually impractical and thus not employed. SA with AH + ESP (tunnel mode) SA with AH + ESP (tunnel mode) IPSec GWHost A Outer tunnelInner tunnel IPSec GW Host B  AH and ESP in transport and tunnel mode, nested SAs: SA with AH + ESP (tunnel mode) SA with AH + ESP (transport mode) IPSec GWHost A IPSec GW Host B
  • 20. © Peter R. Egli 2015 20/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (6/13)  Why have AH and ESP? a. AH provides authentication, ESP provides encryption (separation). This separation is useful since in many cases authentication provides enough security and encryption would be too costly and in some cases not even allowed by the government. b. In many cases AH provides enough security, and ESP (encryption) would consume too much processing power. c. The authentication provided by ESP could have been designed to cover the IP header as well (forward authentication), but ESP is more complicated since it requires strong encryption and thus has a more complicated format than AH. (N.B.: IPSec processing is done per packet!)  Thus AH and ESP can be used individually or combined.  Some general IPSec design rules: a. If one of the IPSec endpoints is a gateway, use tunnel mode. b. If both IPSec endpoints are hosts, use transport mode (outer IP header would be the same as the inner IP header thus IP header is exposed anyway). c. If protection of the entire IP packet (including header) is required, then use tunnel mode. This hides the source and destination IP addresses to a potential attacker. d. If AH and ESP are to be combined, AH is the outer protocol, ESP the inner (first authenticate, then decrypt; if authentication fails IPSec does not need to perform costly decryption). e. If AH and ESP are to be combined, both use the same mode (transport or tunnel mode).
  • 21. © Peter R. Egli 2015 21/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com  IPSec AH Tunnel Mode: 8. IPSec IP Security RFC2401 et.al. (7/13)  IPSec Transport Mode: 1. Transport mode only protect upper layer protocols (TCP and above). 2. Devices implementing only transport mode are called IPSec hosts.  IPSec Tunnel Mode: 1. Tunnel mode protects the entire IP packet and tunnel in a secured transport path. 2. Devices implementing tunnel mode are called IPSec gateways.  IPSec AH Transport Mode: IP Header TCP Header Payload IP Header AH Auth. Data TCP Header PayloadAH Header Authenticated by AH IP packet after AH authentication. Original IP packet Outer IP header = dest. address of VPN gateway. IP Header TCP Header Payload AH Header Old IP Header (inner header) TCP Header PayloadAH Auth. Data New IP Header (outer header) IP packet after AH authentication. Authenticated by AH Original IP packet
  • 22. © Peter R. Egli 2015 22/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com  IPSec ESP Tunnel Mode: 8. IPSec IP Security RFC2401 et.al. (8/13)  IPSec ESP Transport Mode: IP Header TCP Header Payload ESP Header TCP Header PayloadIP Header ESP Trailer ESP Authent. Authenticated (ESP authentication) Encrypted IP packet after ESP encryption and authentication. Outer header (IP address) not authenticated. Original IP packet IP Header TCP Header Payload ESP Header TCP Header Payload New IP Header (outer header) ESP Trailer ESP Authent. Encrypted Authenticated (ESP authentication) Old IP Header (inner header) IP packet after ESP encryption and authentication. Original IP packet
  • 23. © Peter R. Egli 2015 23/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (9/13)  IPSec AH and ESP Transport Mode (called „Transport Adjacency“):  IPSec AH and ESP Tunnel Mode: IP Header TCP Header Payload IP Header AH Auth. Data TCP Header PayloadAH Header ESP Header ESP Trailer ESP Authent. Old IP Header (inner header) Encrypted Authenticated (AH) IP packet after ESP encryption and AH authentication. Original IP packet IP Header TCP Header Payload IP Header AH Auth. Data TCP Header PayloadAH Header ESP Header ESP Trailer ESP Authent. Authenticated (AH) Encrypted IP packet after ESP encryption and AH authentication. Original IP packet
  • 24. © Peter R. Egli 2015 24/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (10/13)  AH and ESP overview: AH ESP AH+ESP Encryption No Yes Yes Sender and receiver authentication Yes Yes (IPSec tunnel mode only) Yes Data integrity Yes Yes Yes Replay protection Yes Yes Yes Sender and receiver confidentiality No Yes (IPSec tunnel mode only) Yes (IPSec tunnel mode only) With AH most of the security needs can be usually satisfied (authentication). IPSec can then be added (encryption) in situations with higher security demands.
  • 25. © Peter R. Egli 2015 25/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 1. Simple SA (no security layering):  LANs are considered secure thus no encryption or authentication used in LANs.  E.g. VPN between different sites of a company with secure tunnels between each pair of sites. 8. IPSec IP Security RFC2401 et.al. (11/13)  Examples of typical IPSec architectures (1): 2. Bundled SA (hierarchic SAs, multilayer security): Access networks (LANs, dial-up network) are considered insecure. An inner tunnel provides end-to-end security between host A and host B. The 2 tunnels have different endpoints. SA with ESP (tunnel) SA with ESP (tunnel) IPSec gateway Host A Host B IPSec tunnel SA with AH (transport) and ESP (tunnel) IPSec gatewayIPSec gateway LANLAN Client Client
  • 26. © Peter R. Egli 2015 26/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (12/13)  Examples of typical IPSec architectures (2): 3. Bundled SA (transport adjacency, single level security):  This example provides end-to-end encryption and authentication. The original IP header is still visible (transport mode).  This scenario does not use nesting; both SAs have the same endpoints (thus no tunnelling). SA with ESP (transport) SA with AH (transport) Host A Host B 4. Bundled SA (iterated tunnelling, multilayer security): This scenario uses end-to-end security with encryption and authentication. The original IP header is not visible (tunnel mode).  The 2 nested tunnels have the same endpoints. SA with AH (tunnel) Host A Host B SA with ESP (tunnel)
  • 27. © Peter R. Egli 2015 27/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 8. IPSec IP Security RFC2401 et.al. (13/13)  Examples of typical IPSec architectures (3): 5. Bundled SA (iterated tunnelling):  This scenario provides end-to-end security; the endpoint IP addresses are not visible.  Here the 2 tunnels have different endpoints. 6. Bundled SA (iterated tunnelling):  The 2 nested tunnels have different endpoints.  Secure connectivity (nested tunnel) in secure connection between 2 networks. IPSec gateway Host A Host B SA with ESP (tunnel) SA with AH (tunnel) IPSec gateway Host A Host B SA with AH (tunnel) IPSec gateway SA with ESP (tunnel)
  • 28. © Peter R. Egli 2015 28/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 9. Combining different VPN protocols (1/6) 1. IPSec over L2TP:  L2TP offers multiprotocol transport over IP and non-IP based transport networks (which IPSec doesn‘t).  IPSec affords true security with forward header authentication etc. (when it comes to security, IPSec is the choice).  NAPT in the transmit path does not pose a problem (L2TP uses UDP and is thus ‚NAPTable‘, IPSec is not ‚NAPTable‘).  IPSec over L2TP does not provide user authentication but machine authentication instead. Example: Client initiated voluntary tunnel: Client (LAC) Tunnel Enterprise home GW (LNS) Server PSTN Internet NAS ISP AAA PPP xyz IP PPP IP UDP L2TP PPP IPSec xyz IP UDP L2TP PPP Eth IP „Public PPP“ „Private PPP“ IP Eth IPSec
  • 29. © Peter R. Egli 2015 29/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 9. Combining different VPN protocols (2/6) 2. L2TP over IPSec RFC3193:  A layer 2 tunnel (L2TP) is established on top of a secure layer 3 tunnel (IPSec).  First the secure IPSec tunnel is established. Second the L2TP is established providing PPP and multiprotocol services.  In order to get through NATs in the Internet IPSec in turn may be run over UDP (NAT-T, see below).  IPSec provides machine to machine security (secure tunnel between machines). PPP is used for user authentication (login to server). In order to get PPP across the Internet an L2TP tunnel is established. Example: NAS initiated compulsory tunnel: Client Server L2TP tunnel (inner) in IPSec tunnel (outer) PSTN Internet Enterprise home GW (LNS) AAA NAS ISP (LAC) AAA PPP IP IPSec ESP UDP L2TP PPP IP IP Eth IP Eth IP IPSec ESP UDP L2TP PPP
  • 30. © Peter R. Egli 2015 30/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com L2TP over IPSec: • Provider based security LAC  LNS. • Fully protected L2TP tunnel construction. • NAT is not possible on IPSec. Firewalls may cause problems. • PPP password exchange is fully protected. • Microsoft’s way of constructing tunnels (Legacy PPP dial in is still in use and working with NT passwords). • Client is not involved in IPSec (unless client and LAC are in same router / Win2k client) • Better scaleability. IPsec over L2TP • Client based security Client  LNS/Client. • Unprotected L2TP tunnel construction. • L2TP will go trough NAT and most firewalls. • ‘only’ PPP like security on session construction. • Cisco way of constructing VPN’s. • LAC is not involved in IPSec. 9. Combining different VPN protocols (3/6)  L2TP over IPSec versus IPSec over L2TP:
  • 31. © Peter R. Egli 2015 31/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 9. Combining different VPN protocols (4/6) 3. Multiprotocol over IPSec using GRE (Cisco):  This combination is often used for site-to-site VPNs.  The configuration is simplified since 1 GRE tunnel replaces N*M IPSec tunnels (from each network to each other network an IPSec tunnel is required). Eth IP GRE IP IPSec IP Eth GRE IP IPSec IP Eth Eth IP Internet LAN Internet LAN Host Host Host Host LAN LAN
  • 32. © Peter R. Egli 2015 32/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com Eth IP Eth IP GRE IP IPSec ESP IP Eth UDP GRE IP IPSec ESP IP Eth UDP NAPT NAPT 9. Combining different VPN protocols (5/6) 4. IPSec over UDP RFC3947/RFC3948 (NAT-T = NAT-Traversal):  IPSec AH does not pass through a NAPT / NPAT since AH authenticates immutable fields of the IP header including the source IP address which is manipulated by NAPT.  IPSec ESP passes through NAT since ESP does not use IP header fields; but ESP will not pass through NAPT/NPAT since ESP uses (TCP, UDP) port numbers.  Solution: IPSec AH + ESP over UDP RFC3948 (also dubbed „IPSec pass-through“ or „NAT traversal“).  IPSec over UDP uses the same port number as IKE (IPSec Key Exchange protocol), 500, in order to only open 1 hole in the NAT.  Even though „ESP over UDP RFC3948“ works with IPV6 it is seen as a temporary solution since IPV6 does away with the IP address scarcity problem and thus renders NAPT useless (we will see...). NAPT NAPT Internet Host Host LAN LAN
  • 33. © Peter R. Egli 2015 33/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 9. Combining different VPN protocols (6/6) 5. IPSec over L2TP over L2TP based access network:  VPN and tunnelling protocols can be combined in a „Lego“-fashion with the following building blocks: A. IP address assignment, authentication, link negotiation etc.: PPP. B. Tunnelling of layer 2 protocols: L2TP with UDP for NAPT traversal. C. Security (encryption, authentication, message integrity etc.): IPSec. D. NAPT-traversal for IPSec: L2TP. E. Transport of PPP over Ethernet, layer 2 access protocols: PPPoE over ATM (RFC1483, AAL5).  N.B.: Protocol hierarchy (OSI layering) is reversed (e.g. layer 2 protocol over layer 3 protocol). PPPoE MAC 1483 AAL5 ATM ADSL ATM Switch ADSL PHY L2TP UDP IP ATM IP PPP IP xyz Router 1483 AAL5 ATM PHY PPPoE L2TP UDP IP ATM IP PPP PPPoE MAC UDP L2TP PPP IPSec IP IP MAC UDP L2TP PPP IPSec IP IP xyz MAC IPSec SA „Public PPP“ 1) „Private PPP“ 1) Access provider to ISP tunnel. LAC ADSL modem LNS ServerClient Access Router Internet DSLAM
  • 34. © Peter R. Egli 2015 34/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 10. IPSec Key Management (1/3)  IPSec can be used with static pre-shared keys (statically configured keys on IPSec endpoints). It is however more secure to occasionally replace keys with newer ones. This means that a dynamic key exchange protocol between IPSec endpoints is needed.  Important key exchange protocols are: 1. ISAKMP RFC2408 Internet Security Association and Key Management Protocol:  General framework for key exchange and management (N.B.: ISAKMP does not itself define a particular key exchange procedure). 2. Oakley: Key management according to ISAKMP:  Key generation.  Identity protection.  Authentication. 3. SKEME: Secure Key Exchange Mechanism:  Anonymity.  Non-repudiation.  Quick key refreshment. 4. IKE Internet Key Exchange RFC2409: The key management protocol used within IPSec:  IKE is a combination of ISAKMP, Oakley and SKEME.  IKE is used for periodic key exchange.  IKE is a key management protocol.  IKE is also used for IPSec protocol negotiation (AH or ESP).
  • 35. © Peter R. Egli 2015 35/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 10. IPSec Key Management (2/3)  IKE Internet Key Exchange RFC2409 (1): IKE has 2 phases: Phase 1: Creation of secure ISAKMP SA (which is bidirectional) for IKE protection itself: a. IKE SA negotiation (algorithms for secure IKE SA). b. Key exchange for IKE SA. c. Peer authentication (using certificates, pre-shared keys or public key encryption). Phase 1 is executed only once in the lifetime of an IKE/IPSec association. Phase 2: Phase 2 starts only after phase 1 is finished. Phase 2 comprises the negotiation of IPSec protection (keys etc.) using the Diffie-Hellman algorithm thus affording PFI (Perfect Forward Security) which means that new keys are in no way dependent on old keys; this means that even if an attacker can break a key he would not be able to break the next key since it is not dependant on the old key. During an IPSec session phase 2 (re-negotiation of session keys) is repeated more often than phase 1 (re-negotiation of IKE keys).  IPSec key lifetime < IKE key lifetime.
  • 36. © Peter R. Egli 2015 36/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com Link IP / IPSec Transport Sockets IKE App SPD SAD Consults Negotiates, modifies, deletes Points to Consults Asks for SA creation Administrator Configures SPD Security Policy Database: The SPD contains general policies (e.g. let user X pass, user Z no IPSec). The SPD entries are static (set up administratively). The SPD entries are similar to firewalls access control lists ACL. SAD Security Association Database: The SAD contains SA data (outer header IP, IPSec proto, SN counter etc.). Its entries are dynamic for active connections (come and go with SAs). 10. IPSec Key Management (3/3)  IKE Internet Key Exchange RFC2409 (2): Components and architecture:
  • 37. © Peter R. Egli 2015 37/37 Rev. 3.30 VPN - Virtual Private Networks indigoo.com 11. IPV4 addresses: how many are there?  In principle 2^32=4‘294‘967‘295 (at least for IPv4), but: Public Internet LAN VPN Access Router VPN Access Router LANTunnel 1 public IP V4 address 1 public IP V4 address  This setup creates a „network in the network“ where 16’777’216 + 1’048’576 + 65’536 = 17‘891‘328 hosts can communicate with each other. The VPN (tunnel) creates some kind of application context using private IP addresses. Note that the VPN hosts can still communicate with hosts in the Internet. The tunnels allow to pass any protocol through VPN access routers that run NAPT and other firewall functions.