c0afd81c00ac0655c4b8d2d80561e568.ppt
- Количество слайдов: 52
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 • HW 2 – Will provide solution set soon – We are grading 3/15/2018 Lecture 7 - SSL/TLS 2
Course Admin • HW 3 Posted – Covers SSL/TLS (lecture 7) – Due 11 am on Nov 11 (Monday) – Lab exercise involves capturing SSL/TLS packets using Wireshark – Labs active this Friday, and next Friday 3/15/2018 Lecture 7 - SSL/TLS 3
Outline IPSec – Modes and Protocols – IKE Protocol Basics 3/15/2018 Lecture 7 - SSL/TLS 4
Which Layer to Add Security to? IKE UDP Relative Location of Security Facilities in the TCP/IP Protocol Stack 5
Security at different layers Application layer: PGP Transport layer: SSL Network layer: IPsec Link layer: WEP / 802. 11 i IPsec approach: r r HTTP/SMTP/IM TCP/UDP/ICMP IPsec can provide security between any pair of network-layer entities (eg, between two hosts, two routers, or a host and a router). 6
IP Security r IP datagrams have no inherent security m IP source address can be spoofed m Content of IP datagrams can be sniffed m Content of IP datagrams can be modified m IP datagrams can be replayed r IPSec is a method for protecting IP datagrams m Standardized by IETF: dozens of RFCs. m Only sender and receiver have to be IPsec compliant • Rest of network can be regular IP 7
What is security at the networklayer? 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, P 2 P file transfers, TCP SYN packets, and so on. r That is, “blanket coverage”. 8
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 9
Virtual Private Network (VPN) IP header IPsec header Secure payload IP er ad ec IPs der a he IPsec heade r laptop w/ IPsec salesperson in hotel he Secur e payloa d Public Internet IP heade r re cu Se load y pa IP er ad pay Router w/ IPv 4 and IPsec he loa d Router w/ IPv 4 and IPsec ylo IP hea der pa ad headquarters branch office 10
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 11
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). 12
IPsec Transport Mode IPsec r IPsec datagram emitted and received by end-system. r Protects upper level protocols 13
IPsec – tunneling mode (1) IPsec r End routers are IPsec aware. Hosts need not be. 14
IPsec – tunneling mode (2) IPsec r Also tunneling mode. 15
IPSec protocols r Authentication Header (AH) protocol m 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
Four combinations are possible! Host mode with AH Host mode with ESP Tunnel mode with AH Tunnel mode with ESP Most common and most important 17
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 m Recall that TCP endpoints also maintain state information. IP is connectionless; IPsec is connection-oriented! r How many SAs in VPN w/ headquarters, branch office, and n traveling salesperson? 18
Tunnel Mode and Transport Mode Functionality 19
ESP in transport mode Alice End-to-end encryption Bob ESP in transport mode conceals what Alice is saying to Bob, but not that Alice and Bob are communicating. 20
ESP in tunnel mode Alice VPN Bob ESP in tunnel mode over the VPN also conceals the fact that Alice is talking to Bob 21
Scope of ESP encryption and authentication Original datagram Protocol = 6 ESP authentication does not extend to the IP header ESP in transport mode Protocol = 50 Next = 6 ESP in tunnel mode Protocol = 50 Next = 4 22
Example SA from R 1 to R 2 Internet Headquarters 200. 168. 1. 100 R 1 172. 16. 1/24 SA Branch Office 193. 68. 2. 23 R 2 172. 16. 2/24 R 1 stores for SA r 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, 3 DES with CBC) r encryption key r type of integrity check (for example, HMAC with MD 5) r authentication key 23
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 + 2 n SAs in R 1’s SAD r When sending IPsec datagram, R 1 accesses SAD to determine how to process datagram. r When IPsec datagram arrives to R 2, R 2 examines SPI in IPsec datagram, indexes SAD with SPI, and processes datagram accordingly. 24
IPsec datagram Focus for now on tunnel mode with ESP “enchilada” authenticated encrypted new IP header ESP hdr SPI original IP hdr Seq # Original IP datagram payload padding ESP trl ESP auth pad next length header 25
What happens? Internet Headquarters 200. 168. 1. 100 SA Branch Office 193. 68. 2. 23 R 1 R 2 172. 16. 1/24 172. 16. 2/24 “enchilada” authenticated encrypted new IP header ESP hdr SPI original IP hdr Seq # Original IP datagram payload padding ESP trl ESP auth pad next length header 26
R 1 converts original datagram into IPsec datagram r Appends to back of original datagram (which includes r r r 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 IPv 4 header fields, which it appends before payload. 27
Inside the enchilada: “enchilada” authenticated encrypted new IP header ESP hdr SPI original IP hdr Seq # Original IP datagram payload padding ESP trl ESP auth pad next length header r ESP trailer: Padding for block ciphers r ESP header: m SPI, so receiving entity knows what to do m Sequence number, to thwart replay attacks r MAC in ESP auth field is created with shared secret key 28
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 29
Algorithm at receiver N is highest sequence # rcvd. Default W=64 1. 2. 3. If rcvd packet falls in window, packet is new, and MAC is valid ➜ slot in window marked If rcvd packet is to right of window, MAC is valid ➜ window advanced & right-most slot marked If rcvd packet is left of window, or already marked, 30 or MAC not valid ➜ packet is discarded
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 use m 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. 31
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. 32
Linux example: ESP in tunnel mode Internet Headquarters 200. 168. 1. 100 R 1 172. 16. 1/24 SA Branch Office 193. 68. 2. 23 R 2 172. 16. 2/24 • 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 33
setkey. conf for R 1 # Flush the SAD and SPD flush; spdflush; ESP protocol SPI # SAs encrypt w/ 192 bit keys & auth w/ 128 bit keys 2 SAs added to SAD Add 200. 168. 1. 100 193. 68. 2. 23 esp 0 x 201 -m tunnel -E 3 des-cbc 0 x 7 aeaca 3 f 87 d 060 a 12 f 4 a 4487 d 5 a 5 c 3355920 fae 69 a 96 c 831 -A hmac-md 5 0 xc 0291 ff 014 dccdd 03874 d 9 e 8 e 4 cdf 3 e 6; Add 193. 68. 2. 23 200. 168. 1. 100 esp 0 x 301 -m tunnel -E 3 des-cbc 0 xf 6 ddb 555 acfd 9 d 77 b 03 ea 3843 f 2653255 afe 8 eb 5573965 df -A hmac-md 5 0 x 96358 c 90783 bbfa 3 d 7 b 196 ceabe 0536 b; # Security policies 2 policies added to SPD apply to all packets 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; 34
Another Example: AH in Transport Mode between R 1 and R 2 # Flush the SAD and SPD flush; spdflush; # AH SAs using 128 bit long keys 2 SAs added to SAD 2 policies added to SPD Add 200. 168. 1. 100 193. 68. 2. 23 ah 0 x 200 -A hmac-md 5 0 xc 0291 ff 014 dccdd 03874 d 9 e 8 e 4 cdf 3 e 6; Add 193. 68. 2. 23 200. 168. 1. 100 ah 0 x 300 -A hmac-md 5 0 x 96358 c 90783 bbfa 3 d 7 b 196 ceabe 0536 b; # 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; 35
Possible encryption algorithms r DES r 3 DES r AES r RC 5 r IDEA r 3 -IDEA r CAST r Blowfish r …. 36
IPsec Security r Suppose Trudy sits somewhere between R 1 and R 2. 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 R 1 using R 1’s IP address? m Replay a datagram? 37
Internet Key Exchange r In previous examples, we manually established IPsec SAs in IPsec endpoints: Example SA SPI: 12345 Source IP: 200. 168. 1. 100 Dest IP: 193. 68. 2. 23 Protocol: ESP Encryption algorithm: 3 DES-cbc HMAC algorithm: MD 5 Encryption key: 0 x 7 aeaca… HMAC key: 0 xc 0291 f… r Such manually keying is impractical for large VPN with, say, hundreds of sales people. r Instead use IPsec IKE (Internet Key Exchange) 38
IKE: PSK and PKI r Authentication (proof who you are) with either m 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. 39
Summary of relationship between SPD, IKE, and SAD: Note that SA must first be established between the two IKEs 40
Note that BYPASS IPsec is a possible policy for nonsensitive traffic that requires no security processing. 41
PROTOCOL = 50 or 51 42
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 43
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. 44
IKE Phases r IKE has two phases m 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 mode m Aggressive mode uses fewer messages m Main mode provides identity protection and is more flexible 45
Diffie-Hellman (DH) Key Exchange Given (g, g ) hard to a compute a – Discrete Logarithm Assumption A B: 2. B A: 1. Ka = ga mod p Kb = gb mod p 3. A outputs Kab = Kba 4. B outputs Kba = Kab r Note Kab = Kba = gab mod p 46
Security of DH key exchange r No authentication of either party r Secure only against a passive adversary m Under the computational Diffie-Hellman assumption • Given (g, ga, gb), hard to compute gab r Not secure against an active attacker m Man-in-the-middle attack… 47
Authenticated DH Key Exchange A B: 2. B A: 1. 3. A B: Ka = ga mod p Certb, Kb = gb mod p Sig. SKb(Kb, Ka ) Certa, Sig. SKa(Ka, Kb) 4. A outputs Kab = Kba 5. B outputs Kba = Kab 48
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. 49
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 phase 1. 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. 50
Summary of IPsec r IKE message exchange for algorithms, secret r r 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 51
Further Reading r Stallings Chapter 9 52