Transcript CN 8816
Virtual Private Networks (VPN) Generic Routing Encapsulation (GRE) TLS (SSL-VPN) CN8814: Network Security 1 1. Generic Routing Encapsulation (GRE) Tunneling Encapsulation with delivery header The addresses in the delivery header are the addresses of the head-end and the tail-end of the tunnel Delivery header 20.1.1.1/30.1.1.1 GRE 10.1.1.1/10.2.1.1 20.1.1.1 30.1.1.1 10.1.1.1/10.2.1.1 tunnel Private network site 10.1.0.0/16 Public Network 10.1.1.1 Virtual Private Networks (VPN) Private network site 10.2.0.0/16 10.2.1.1 CN8816: Network Security 2 1. Generic Routing Encapsulation (GRE) Structure of a GRE encapsulated packet Virtual Private Networks (VPN) CN8816: Network Security 3 1. Generic Routing Encapsulation (GRE) IP access of the tunnel through the tunnel interface 20.1.1.1/30.1.1.1 GRE 10.1.1.1/10.2.1.1 Gateway Gateway 20.1.1.1 Internet 30.1.1.1 serial 0/0 serial 0/0 tunnel 0 tunnel 0 e0 10.1.1.1/10.2.1.1 e0 10.1.1.1/10.2.1.1 10.1.1.1/10.2.1.1 10.2.0.0/16 10.1.0.0/16 Customer Sites Virtual Private Networks (VPN) CN8816: Network Security 4 1. Generic Routing Encapsulation (GRE) Tunneling mechanism at IP Outbound traffic Routing table of R1 10.1.0.0/16 20.1.1.1/30 10.2.0.0/16 0.0.0.0/0 20.1.1.1/30.1.1.1 e0 s0 tunnel0 s0 (6) (3) (7) (4) (2) (8) s0 (9) e0 (5) … Tunnel0 (1) 20.1.1.1/30.1.1.1 [10.1.1.1/10.2.1.1] Virtual Private Networks (VPN) GRE IP 10.1.1.1/10.2.1.1 CN8816: Network Security 5 1. Generic Routing Encapsulation (GRE) Inbound traffic Routing table of R2 10.2.0.0/16 30.1.1.1/30 10.2.0.0/16 0.0.0.0/0 e0 s0 tunnel0 s0 (6) (2) s0 (1) 20.1.1.1/30.1.1.1 [10.1.1.1/10.2.1.1] Virtual Private Networks (VPN) (3) IP (5) (7) e0 GRE (4) 10.1.1.1/10.2.1.1 … Tunnel 0 (8) 10.1.1.1/10.2.1.1 CN8816: Network Security 6 1. Generic Routing Encapsulation (GRE) Example interface tunnel0 ip unnumbered s0 tunnel source s0 tunnel destination 30.1.1.1 ! ip route 10.2.0.0 255.255.0.0 tunnel0 interface tunnel0 ip unnumbered s0 tunnel source s0 tunnel destination 20.1.1.1 ! ip route 10.1.0.0 255.255.0.0 tunnel0 Routing table of R1 10.1.0.0/16 20.1.1.1/30 10.2.0.0/16 0.0.0.0/0 Virtual Private Networks (VPN) e0 s0 tunnel0 s0 CN8816: Network Security 7 1. Generic Routing Encapsulation (GRE) GRE tunneling with routing Routing updates (subnets of 10.0.0.0/8) Virtual Private Networks (VPN) CN8816: Network Security 8 3. IP Security (IPsec) IPsec and Dynamic Routing IPsec-protected traffic must be pre-defined IPsec only supports static routing The IPsec tunnel is setup for the traffic between 10.1.0.0/16 and 10.2.0.0/16 IPsec tunnel 10.1.0.0/16 10.2.0.0/16 The tunnel will not support the traffic to the new site Virtual Private Networks (VPN) CN8816: Network Security 10.3.0.0/16 New site 9 3. IP Security (IPsec) IPsec/GRE GRE defines a tunnel interface IPsec transport mode provides the security Routing table 10.1.0.0/16 30.0.0.0/8 10.2.0.0/16 10.3.0.0./16 inside outside tunnel0 tunnel0 (4) IP GRE (5) IPsec (transport) (6) outside (1) inside (2) (3) Tunnel0 10.1.1.1/10.2.1.1 20.1.1.1/30.1.1.1 Ipsec_protected Virtual Private Networks (VPN) 10.1.1.1/10.3.1.1 CN8816: Network Security 10 3. IP Security (IPsec) Virtual Tunnel Interface Provide secure tunnel by associating the virtual interface with IPsec 20.1.1.1/30.1.1.1 Routing table 10.1.0.0/16 30.0.0.0/8 10.2.0.0/16 10.3.0.0./16 inside outside tunnel0 tunnel0 (5) IP (2) inside (6) outside Protected packet IPsec (3) (4) Tunnel0 10.1.1.1/10.2.1.1 10.1.1.1/10.3.1.1 Virtual Private Networks (VPN) CN8816: Network Security 11 2. Transport-Layer Security (TLS) TLS architecture Provide security connection between two application entities Error and alert reporting -Authentication -Cipher suit negotiation -Keys generation Virtual Private Networks (VPN) Encryption, MIC & Compression CN8816: Network Security 12 2. Transport-Layer Security TLS Record protocol Four connection states: current read and write states, and the pending read and write states Security parameters: Connection end (client/server) Bulk encryption algorithm: type, key_size, … MAC algorithm: hash_size Compression algorithm Master Secret Client random, Nc Server random, Ns Keys Client_MAC_Write, Server_MAC_Write, Client_Write_Key, Server_Write_Key, IVs Virtual Private Networks (VPN) CN8816: Network Security 13 2. Transport-Layer Security Messages are processed using the current read or write states Type Version Length Write/read MAC secret Fragment (Compressed) Write/read Key ICV Padding (for CBC block cipher) Pad length Virtual Private Networks (VPN) CN 8816: Network Security 14 2. Transport-Layer Security Key Generation Master_secret = PRF(gxy mod N, “master secret”, Nc+Ns) x and y are the DE parameters Nc and Ns are the nonces generated by the client and the server, respectively Master_secret is always 48 bytes PRF(secret, label, seed) = P_hash(secret, label+seed) P_hash(secret, seed) = HMAC(secret, A(1)+seed) + HMAC(secret, A(2)+seed) +… + HMAC(secret, A(n)+seed) A(0) = seed A(i) = HMAC(secret, A(i-1) Virtual Private Networks (VPN) CN 8816: Network Security 15 2. Transport-Layer Security By default, the hash used in HMAC is SHA-256 Need two HMAC iterations to generate the Master secret Master secret (48 bytes) Truncated (16 bytes) Key generation Key_block = PRF(Master_secret, “key expansion”, Ns+Nc) MAC client Write (Kmc) Virtual Private Networks (VPN) MAC server Client Write Server Write IVs (options) Write (Kms) Key (Kwc) Key (Kws) CN 8816: Network Security … 16 2. Transport-Layer Security Handshake protocol Client hello and server response phase Client Server Client Hello: session ID, Nc, cipher suit list, compression alg. list Server Hello: Ns, cipher suit, compression alg. Server Certificate O+ Key Exchange: Signature O+ Certificate request OServer Hello Done O+ => Often; O- => Less often Virtual Private Networks (VPN) CN 8816: Network Security 17 2. Transport-Layer Security Client reponse and change-cipher specification phase Client O- Server Client Certificate Key exchange O- Certificate verify: signature Change cipher specification Finished: session authentication Change cipher specification Finished: session authentication Application Data Virtual Private Networks (VPN) CN 8816: Network Security 18 2. Transport-Layer Security The handshake protocol allows quick setup of new TLS connection using the old session master secret The master secret is allowed to be kept for 24 hours Client Server Client Hello: session ID, Nc Server Hello: Ns Generate keys Generate keys Change cipher spec Finished Change cipher spec Finished Data Virtual Private Networks (VPN) CN 8816: Network Security 19 2. Transport-Layer Security Change Cipher Spec Protocol invoke the transition from the pending states to current states Client Server Pending Kmc, Kwc states Kms, Kws ChangeCipher (1) Specs Protocol (1) ChangeCipherSpecs (5) (3) Handshake (6) Current states Virtual Private Networks (VPN) Kmc, Kwc Pending Kms, Kws states (4) ChangeCipherSpecs (2) (4) ChangeCipher Specs Protocol (3) finished (3) (6) finished (6) Handshake Current states CN8816: Network Security 20 2. Transport-Layer Security Alert Protocol Alert messages convey the severity of the message and a description of the alert Alert levels: warning or fatal Alert messages with a level of fatal result in the immediate termination of the connection Alert types: Close notification Error alerts Virtual Private Networks (VPN) CN8816: Network Security 21 2. Transport-Layer Security SSL (TLS) VPN Tunnel interface is used to support secure tunnel connection Appl. Web browser (1) (5) SSL-VPN client SSL-VPN web server (4) Upload of SSLVPN client (9) (3) (2) TLS handshake protocol TLS (10) TLS IP IP (7) tun0 TCP/UDP (15) (11) (8) (12) eth0 Virtual Private Networks (VPN) (18) (16) TCP/UDP (6) (17) (14) (13)TLS protected datagram (19) (20) Outside CN8816: Network Security Inside tun0 22