+ All Categories
Home > Documents > Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh...

Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh...

Date post: 04-May-2018
Category:
Upload: vanthuan
View: 218 times
Download: 1 times
Share this document with a friend
26
10/29/2013 1 Lecture 7: Network Level Security – IPSec CS 336/536: Computer Network Security Fall 2013 Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin Mid-Term Exam Hope it went well Will provide solution set soon We are grading HW2 Will provide solution set soon We are grading 10/29/2013 Lecture 7 - SSL/TLS 2
Transcript
Page 1: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

1

Lecture 7: Network Level

Security – IPSec

CS 336/536: Computer Network Security

Fall 2013

Nitesh Saxena

Adopted from previous lecture by Keith Ross, and Tony Barnard

Course Admin

• Mid-Term Exam

– Hope it went well

– Will provide solution set soon

– We are grading

• HW2

– Will provide solution set soon

– We are grading

10/29/2013 Lecture 7 - SSL/TLS 2

Page 2: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

2

Course Admin

• HW3 Posted

– Covers SSL/TLS (lecture 7)

– Due 11am on Nov 11 (Monday)

– Lab exercise involves capturing SSL/TLS packets

using Wireshark

– Labs active this Friday, and next Friday

10/29/2013 Lecture 7 - SSL/TLS 3

Outline

IPSec

– Modes and Protocols

– IKE Protocol Basics

10/29/2013 Lecture 7 - SSL/TLS 4

Page 3: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

3

5

Relative Location of Security Facilities in the TCP/IP Protocol Stack

IKE

UDP

Which Layer to Add Security to?

6

Security at different layersr Application layer: PGPr Transport layer: SSLr Network layer: IPsec r Link layer: WEP / 802.11iIPsec approach:

IPsec

TCP/UDP/ICMP

HTTP/SMTP/IM

IPsec can provide security between any pair of network-layerentities (eg, between two hosts, two routers, or a host and a router).

Page 4: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

4

7

IP Security

r IP datagrams have no inherent securitym IP source address can be spoofedm Content of IP datagrams can be sniffedm Content of IP datagrams can be modifiedm IP datagrams can be replayed

r IPSec is a method for protecting IP datagramsm Standardized by IETF: dozens of RFCs.m Only sender and receiver have to be IPsec compliant• Rest of network can be regular IP

8

What is security at the network-layer?

Between two network entities:

r Sending entity encrypts/authenticates the payloads of datagrams. Payload could be:m TCP segment, UDP segment, ICMP message, OSPF (routing) message, and so on.

r All data sent from one entity to the other would be hidden:m Web pages, e-mail, P2P file transfers, TCP SYN packets, and so on.

r That is, “blanket coverage”.

Page 5: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

5

9

Virtual Private Networks (VPNs)

r Institutions often want private networks for security. m Costly! Separate routers, links, DNS infrastructure.

r With a VPN, institution’s inter-office traffic is sent over public Internet instead. m But inter-office traffic is encrypted and/or authenticated before entering public Internet

10

IPheader

IPsecheader

Securepayload

headquartersbranch office

salespersonin hotel

PublicInternet

laptop w/ IPsec

Router w/IPv4 and IPsec

Router w/IPv4 and IPsec

Virtual Private Network (VPN)

Page 6: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

6

11

IPsec services

r Integrity

r Authentication

r Replay attack prevention

r Confidentiality

r Two modes: m Transport and Tunnel

r Two protocols providing different service models:m AH – Authentication Header

m ESP – Encrypted Security Payload

12

IPSec Modes: Transport and Tunnel Modes r Transport Mode provides protection primarily for

upper-layer protocols – that is, for the IP datagram payload.

m Transport mode is typically used in end-to-end communication between two hosts.

r Tunnel Mode extends protection to the entire datagram, by encapsulating it in a new “outer” datagram.

m Tunnel mode is typically used in communication between two routers (must be used if a router is involved).

Page 7: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

7

13

IPsec Transport Mode

r IPsec datagram emitted and received by end-system.

r Protects upper level protocols

IPsec IPsec

14

IPsec – tunneling mode (1)

r End routers are IPsec aware. Hosts need not be.

IPsec IPsec

Page 8: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

8

15

IPsec – tunneling mode (2)

r Also tunneling mode.

IPsecIPsec

IPSec protocols

r Authentication Header (AH) protocolm provides source authentication & integrity but not confidentiality

r Encapsulation Security Protocol (ESP)m provides source authentication, integrity, and confidentiality

m more widely used than AH

16

Page 9: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

9

17

Four combinations are possible!

Host mode with AH

Host mode with ESP

Tunnel modewith AH

Tunnel modewith ESP

Most common andmost important

18

Security associations (SAs)

r Before sending data, a virtual connection is established from sending entity to receiving entity.

r Called “security association (SA)”m SAs are simplex: for only one direction

r Both sending and receiving entites maintain state information about the SA

m Recall that TCP endpoints also maintain state information.

m IP is connectionless; IPsec is connection-oriented!

r How many SAs in VPN w/ headquarters, branch office, and n traveling salesperson?

Page 10: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

10

19

Tunnel Mode and Transport Mode Functionality

20

ESP in transport mode

End-to-end encryption

ESP in transport mode conceals what Alice is saying to Bob,

but not that Alice and Bob are communicating.

Alice Bob

Page 11: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

11

21

ESP in tunnel mode

VPN

ESP in tunnel mode over the VPN also

conceals the fact that Alice is talking to Bob

Alice

Bob

22

Original datagram

ESP in

transport mode

ESP in

tunnel mode

Protocol = 6

Protocol = 50

Protocol = 50

Next = 6

Next = 4

Scope of ESP encryption

and authentication

ESP authentication

does not extend to

the IP header

Page 12: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

12

23

193.68.2.23200.168.1.100

172.16.1/24172.16.2/24

SA

InternetHeadquartersBranch Office

R1R2

Example SA from R1 to R2

R1 stores for SAr 32-bit identifier for SA: Security Parameter Index (SPI)r the origin interface of the SA (200.168.1.100)r destination interface of the SA (193.68.2.23)r type of encryption to be used (for example, 3DES with CBC)r encryption keyr type of integrity check (for example, HMAC with with MD5)r authentication key

24

Security Association Database (SAD)

r Endpoint holds state of its SAs in a SAD, where it can locate them during processing.

r With n salespersons, 2 + 2n SAs in R1’s SAD

r When sending IPsec datagram, R1 accesses SAD to determine how to process datagram.

r When IPsec datagram arrives to R2, R2 examines SPI in IPsec datagram, indexes SAD with SPI, and processes datagram accordingly.

Page 13: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

13

25

IPsec datagram

Focus for now on tunnel mode with ESP

new IPheader

ESPhdr

originalIP hdr

Original IPdatagram payload

ESPtrl

ESPauth

encrypted

“enchilada” authenticated

paddingpad

lengthnext

headerSPI

Seq#

26

What happens?

193.68.2.23200.168.1.100

172.16.1/24172.16.2/24

SA

InternetHeadquartersBranch Office

R1R2

new IPheader

ESPhdr

originalIP hdr

Original IPdatagram payload

ESPtrl

ESPauth

encrypted

“enchilada” authenticated

paddingpad

lengthnext

headerSPI

Seq#

Page 14: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

14

27

R1 converts original datagraminto IPsec datagram

r Appends to back of original datagram (which includes original header fields!) an “ESP trailer” field.

r Encrypts result using algorithm & key specified by SA.

r Appends to front of this encrypted quantity the “ESP header, creating “enchilada”.

r Creates authentication MAC over the whole enchilada, using algorithm and key specified in SA;

r Appends MAC to back of enchilada, forming payload;

r Creates brand new IP header, with all the classic IPv4 header fields, which it appends before payload.

28

Inside the enchilada:

r ESP trailer: Padding for block ciphersr ESP header:

m SPI, so receiving entity knows what to dom Sequence number, to thwart replay attacks

r MAC in ESP auth field is created with shared secret key

new IPheader

ESPhdr

originalIP hdr

Original IPdatagram payload

ESPtrl

ESPauth

encrypted

“enchilada” authenticated

paddingpad

lengthnext

headerSPI

Seq#

Page 15: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

15

29

IPsec sequence numbers

r For new SA, sender initializes seq. # to 0

r Each time datagram is sent on SA:m Sender increments seq # counter

m Places value in seq # field

r Goal:m Prevent attacker from sniffing and replaying a packet

• Receipt of duplicate, authenticated IP packets may disrupt service

r Method: m Destination checks for duplicates

m But doesn’t keep track of ALL received packets; instead uses a window

30

Algorithm at receiver

1. If rcvd packet falls in window, packet is new, and MAC is valid ➜ slot in window marked

2. If rcvd packet is to right of window, MAC is valid ➜window advanced & right-most slot marked

3. If rcvd packet is left of window, or already marked, or MAC not valid ➜ packet is discarded

N is highestsequence #rcvd.

Default W=64

Page 16: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

16

31

Security Policy Database (SPD)

r Policy: For a given datagram, sending entity needs to know if it should use IPsec.

r Needs also to know which SA to usem May use: source and destination IP address; protocol number.

r Info in SPD indicates “what” to do with arriving datagram;

r Info in the SAD indicates “how” to do it.

32

Focus on an outbound IP datagram crossing the boundary

between an intranet and the Internet.

How is it decided what security processes are applied to this

datagram?

This is a policy decision by administration.

The decision for each category of traffic is entered into

a Security Policy Database.

The menu of available processes is collected into a

Security Association Database.

Adopt 2-step process - entries in the Security Policy Database point

to entries in the Security Association Database.

Page 17: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

17

33

Linux example: ESP in tunnel mode

• In each host, create config file:• /etc/setkey.conf

• Execute setkey command in both hosts, which reads the setkey.conf file• setkey –f /etc/setkey.conf• Creates SAD and SPD databases

193.68.2.23200.168.1.100

172.16.1/24172.16.2/24

SA

InternetHeadquartersBranch Office

R1R2

34

# Flush the SAD and SPD

flush;

spdflush;

# SAs encrypt w/ 192 bit keys & auth w/ 128 bit keys

Add 200.168.1.100 193.68.2.23 esp 0x201 -m tunnel -E 3des-cbc

0x7aeaca3f87d060a12f4a4487d5a5c3355920fae69a96c831 -A

hmac-md5 0xc0291ff014dccdd03874d9e8e4cdf3e6;

Add 193.68.2.23 200.168.1.100 esp 0x301 -m tunnel -E 3des-cbc

0xf6ddb555acfd9d77b03ea3843f2653255afe8eb5573965df -A

hmac-md5 0x96358c90783bbfa3d7b196ceabe0536b;

# Security policies

spdadd 172.16.1.0/24 172.16.2.0/24 any -P out ipsec

esp/tunnel/ 200.168.1.100 - 193.68.2.23 /require;

spdadd 172.16.2.0/24 172.16.1.0/24 any -P in ipsec

esp/tunnel/ 193.68.2.23 - 200.168.1.100 /require;

setkey.conf for R1

2 SAsaddedto SAD

SPI

ESP protocol

2 policiesaddedto SPD

apply to all packets

Page 18: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

18

35

# Flush the SAD and SPD flush; spdflush;

# AH SAs using 128 bit long keysAdd 200.168.1.100 193.68.2.23 ah 0x200 -A hmac-md5 0xc0291ff014dccdd03874d9e8e4cdf3e6; Add 193.68.2.23 200.168.1.100 ah 0x300 -A hmac-md5 0x96358c90783bbfa3d7b196ceabe0536b;

# Security policies Spdadd 200.168.1.100 193.68.2.23 any -P out ipsec

ah/transport//require; Spdadd 193.68.2.23 200.168.1.100 any -P in ipsec

ah/transport//require;

Another Example: AH in Transport Mode between R1 and R2

2 SAsaddedto SAD

2 policiesaddedto SPD

36

Possible encryption algorithms

r DES

r 3DES

r AES

r RC5

r IDEA

r 3-IDEA

r CAST

r Blowfish

r ….

Page 19: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

19

IPsec Security

r Suppose Trudy sits somewhere between R1 and R2. She doesn’t know the keys. m Will Trudy be able to see contents of original datagram? How about source, dest IP address, transport protocol, application port?

m Flip bits without detection?

m Masquerade as R1 using R1’s IP address?

m Replay a datagram?

37

38

Internet Key Exchange

r In previous examples, we manually established IPsec SAs in IPsec endpoints:

Example SASPI: 12345Source IP: 200.168.1.100Dest IP: 193.68.2.23 Protocol: ESPEncryption algorithm: 3DES-cbcHMAC algorithm: MD5Encryption key: 0x7aeaca…

HMAC key:0xc0291f…

r Such manually keying is impractical for large VPN with, say, hundreds of sales people.

r Instead use IPsec IKE (Internet Key Exchange)

Page 20: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

20

39

IKE: PSK and PKI

r Authentication (proof who you are) with eitherm pre-shared secret (PSK) or m with PKI (pubic/private keys and certificates).

r With PSK, both sides start with secret:m then run IKE to authenticate each other and to generate IPsec SAs (one in each direction), including encryption and authentication keys

r With PKI, both sides start with public/private key pair and certificate.m run IKE to authenticate each other and obtain IPsec SAs (one in each direction).

m Similar with handshake in SSL.

40

Summary of relationship between SPD, IKE, and SAD:

Note that SA must first be established between the two IKEs

Page 21: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

21

41

Note that BYPASS IPsec is a possible policy for non-

sensitive traffic that requires no security processing.

42

PROTOCOL = 50 or 51

Page 22: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

22

43

Before a pair of security gateways can exchange user data protected

by IPsec, they must complete a preliminary handshake, the Internet

Key Exchange.

During the handshake they establish algorithms,

keys that will be used, and authenticate each other.

IKE itself has two phases:

► phase 1: a secure channel, the IKE Security Association

pair is set up between the two security gateways

► phase 2: the two gateways use this channel to negotiate

safely one or more IPsec SA pairs that will be

used to protect transfer of user data between

the two intranets

Both phases must be complete before user data can flow

44

First we must establish a secure channel between the two security gateways – the IKE SA

Then the SPD tells IKE what SAs are needed for user traffic.

IKE negotiates the user SAs and enters them in the SAD.

Page 23: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

23

45

IKE Phases

r IKE has two phasesm Phase 1: Establish bi-directional IKE SA

• Note: IKE SA different from IPsec SA• Also called ISAKMP security association

m Phase 2: ISAKMP is used to securely negotiate the IPsec pair of SAs

r Phase 1 has two modes: aggressive mode and main modem Aggressive mode uses fewer messagesm Main mode provides identity protection and is more flexible

Diffie-Hellman (DH) Key Exchange

1. A � B: Ka = ga mod p

2. B � A: Kb = gb mod p

3. A outputs Kab = Kba

4. B outputs Kba = Kab

r Note Kab = Kba = gab mod p

46

Given (g, ga) hard to

compute a – Discrete

Logarithm Assumption

Page 24: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

24

Security of DH key exchange

r No authentication of either party

r Secure only against a passive adversarym Under the computational Diffie-Hellman assumption • Given (g, ga,gb), hard to compute gab

r Not secure against an active attackerm Man-in-the-middle attack…

47

Authenticated DH Key Exchange

1. A � B: Ka = ga mod p

2. B � A: Certb, Kb = gb mod p SigSKb(Kb, Ka )

3. A � B: Certa, SigSKa(Ka,Kb)

4. A outputs Kab = Kba

5. B outputs Kba = Kab

48

Page 25: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

25

49

IKE phase 1:

The Identity Protection Exchange consists of 6 messages:

Messages (1) and (2): Peers negotiate algorithms to be used for

establishment of the secure channel between security gateways

Messages (3) and (4) generate the keys to be used

Messages (5) and (6) authenticate the peers.

50

IKE Phase 2

We could go through the six-message exchange again, selecting

algorithms, producing totally new keys and checking authentication.

Instead, use Quick Mode, which takes just three messages.

Quick Mode accepts the choice of algorithms made in phase1.

It also accepts the DH key generated in phase 1, but hashes it

to make “new” keys (“new keys from old”)

End of Handshake.

IKE and IPSec Security Associations established.

We can proceed to transmit user data.

Page 26: Lecture 7: Network Level Security –IPSec · Lecture 7: Network Level Security –IPSec ... Nitesh Saxena Adopted from previous lecture by Keith Ross, and Tony Barnard Course Admin

10/29/2013

26

51

Summary of IPsec

r IKE message exchange for algorithms, secret keys, SPI numbers

r Either the AH or the ESP protocol (or both)

r The AH protocol provides integrity and source authentication

r The ESP protocol (with AH) additionally provides encryption

r IPsec peers can be two end systems, two routers/firewalls, or a router/firewall and an end system

Further Reading

r Stallings Chapter 9

52


Recommended