Documente Academic
Documente Profesional
Documente Cultură
Link layer: WEP / 802.11i Application layer: PGP Transport layer: SSL Network layer: IPsec IPsec approach:
HTTP/SMTP/IM TCP/UDP/ICMP
IPsec
IPsec can provide security between any pair of network-layer entities (eg, between two hosts, two routers, or a host and a router).
1
IP Security
IP datagrams have no inherent security IP source address can be spoofed Content of IP datagrams can be sniffed Content of IP datagrams can be modified IP datagrams can be replayed IPSec is a method for protecting IP
datagrams
Standardized by IETF: dozens of RFCs. Only sender and receiver have to be IPsec compliant
Rest of network can be regular IP
TCP segment, UDP segment, ICMP message, OSPF message, and so on.
would be hidden:
Web pages, e-mail, P2P file transfers, TCP SYN packets, and so on.
for security.
Costly!
laptop w/ IPsec
salesperson in hotel
headquarters
branch office
5
IPsec services
Data integrity
Origin authentication
Replay attack prevention Confidentiality Two protocols providing different service
models:
AH ESP
IPsec
IPsec
IPsec
IPsec
not be.
IPsec
IPsec
Two protocols
Authentication Header (AH) protocol
provides
source authentication & data integrity but not confidentiality provides source authentication,data integrity,
and confidentiality
10
established from sending entity to receiving entity. Called security association (SA)
state
Recall that TCP endpoints also maintain state information. IP is connectionless; IPsec is connection-oriented!
12
Example SA from R1 to R2
Headquarters
200.168.1.100
R1
172.16.1/24
R2
172.16.2/24
R1 stores for SA 32-bit identifier for SA: Security Parameter Index (SPI) the origin interface of the SA (200.168.1.100) destination interface of the SA (193.68.2.23) type of encryption to be used (for example, 3DES with CBC) encryption key type of integrity check (for example, HMAC with with MD5) authentication key
13
SPI in IPsec datagram, indexes SAD with SPI, and processes datagram accordingly.
14
IPsec datagram
Focus for now on tunnel mode with ESP
enchilada authenticated
encrypted
new IP header ESP hdr original IP hdr Original IP datagram payload
ESP trl
ESP auth
SPI
Seq #
padding
15
What happens?
Headquarters
200.168.1.100
R1
172.16.1/24
R2
172.16.2/24
SPI
Seq #
padding
original header fields!) an ESP trailer field. Encrypts result using algorithm & key specified by SA. Appends to front of this encrypted quantity the ESP header, creating enchilada. Creates authentication MAC over the whole enchilada, using algorithm and key specified in SA; Appends MAC to back of enchilada, forming payload; Creates brand new IP header, with all the classic IPv4 header fields, which it appends before payload.
17
ESP trl
ESP auth
SPI
Seq #
padding
ESP header: SPI, so receiving entity knows what to do Sequence number, to thwart replay attacks
secret key
18
Each time datagram is sent on SA: Sender increments seq # counter Places value in seq # field
Goal: Prevent attacker from sniffing and replaying a packet
Receipt of duplicate, authenticated IP packets may disrupt service
Method: Destination checks for duplicates But doesnt keep track of ALL received packets; instead uses a window
19
Algorithm at receiver
1. 2. 3.
If rcvd packet falls in window, packet is new, and MAC checks slot in window marked If rcvd packet is to right of window, MAC checks window advanced & right-most slot marked If rcvd packet is left of window, or already marked, 20 or fails MAC check packet is discarded
needs to know if it should use IPsec. Needs also to know which SA to use
21
R1
172.16.1/24
R2
172.16.2/24
In each host, create config file: Execute setkey command in both hosts, which reads the setkey.conf file
setkey f/etc/setkey.conf Creates SAD and SPD databases /etc/setkey.conf
22
setkey.conf for R1
# Flush the SAD and SPD flush; spdflush;
ESP protocol
SPI
# 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;
23
Add 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;
24
3DES
AES RC5 IDEA 3-IDEA CAST Blowfish .
25
IPsec services
Suppose Trudy sits somewhere between R1
Will Trudy be able to see contents of original datagram? How about source, dest IP address, transport protocol, application port? Flip bits without detection? Masquerade as R1 using R1s IP address? Replay a datagram?
26
TCP acks segment and sends segments payload up to SSL. SSL will discard since integrity check is bogus Real segment arrives: SSL never gets real segment
TCP rejects since it has the wrong seq # SSL closes connection since it cant provide lossless byte stream service
datagram?
IPsec at receiver drops datagram since integrity check is bogus; not marked as arrived in seq # window Real segment arrives, passes integrity check and passed up to TCP no problem!
27
Lab Topology
m1 m2 m1 m2 m3 subnet A
m3 subnet B
Will need to work with another group But each group hands in a separate report
28
29
with, say, hundreds of sales people. Instead use IPsec IKE (Internet Key Exchange)
30
either
With PSK, both sides start with secret: then run IKE to authenticate each other and to generate IPsec SAs (one in each direction), including encryption and authentication keys With PKI, both sides start with
run IKE to authenticate each other and obtain IPsec SAs (one in each direction). Similar with handshake in SSL.
31
IPsec
IPsec
setkey.conf
security policies section (similar with manual keying) But no security association block (since SAs established with IKE)
33
Provides path to certificate IKE mode Whether correspondents certificate needs to be validated Cryptography algorithms for two IKE phases
34
IKE Phases
IKE has two phases Phase 1: Establish bi-directional IKE SA
Note: IKE SA different from IPsec SA Also called ISAKMP security association
Aggressive mode uses fewer messages Main mode provides identity protection and is more flexible
35
IKE lab
Part 4:
IKE
36
Summary of IPsec
IKE message exchange for algorithms, secret
keys, SPI numbers Either the AH or the ESP protocol (or both) The AH protocol provides integrity and source authentication The ESP protocol (with AH) additionally provides encryption IPsec peers can be two end systems, two routers/firewalls, or a router/firewall and an end system
37