Preview only show first 10 pages with watermark. For full document please download

Network Security

   EMBED


Share

Transcript

Chapter 7 Network Security A note on the use of these ppt slides: We’re making these slides freely available to all (faculty, students, readers). They’re in powerpoint form so you can add, modify, and delete slides (including this one) and slide content to suit your needs. They obviously represent a lot of work on our part. In return for use, we only ask the following:  If you use these slides (e.g., in a class) in substantially unaltered form, that you mention their source (after all, we’d like people to use our book!)  If you post any slides in substantially unaltered form on a www site, that you note that they are adapted from (or perhaps identical to) our slides, and note our copyright of this material. Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2002. Thanks and enjoy! JFK / KWR All material copyright 1996-2002 J.F Kurose and K.W. Ross, All Rights Reserved 7: Network Security 1 Chapter 7: Network security Foundations:  what is security?  cryptography  authentication  message integrity  key distribution and certification Security in practice:  application layer: secure e-mail  transport layer: Internet commerce, SSL, SET  network layer: IP security  Firewalls 7: Network Security 2 What is network security? Confidentiality: only sender, intended receiver should “understand” message contents  sender encrypts message  receiver decrypts message Authentication: sender, receiver want to confirm identity of each other Message Integrity: sender, receiver want to ensure message not altered (in transit, or afterwards) without detection Access and Availability: services must be accessible and available to users 8: Network Security 8-3 Internet security threats Packet sniffing: broadcast media  promiscuous NIC reads all packets passing by  can read all unencrypted data (e.g. passwords)  e.g.: C sniffs B’s packets  C A src:B dest:A payload B 7: Network Security 4 Internet security threats IP Spoofing: can generate “raw” IP packets directly from application, putting any value into IP source address field  receiver can’t tell if source is spoofed  e.g.: C pretends to be B  C A src:B dest:A payload B 7: Network Security 5 Internet security threats Denial of service (DOS): flood of maliciously generated packets “swamp” receiver  Distributed DOS (DDOS): multiple coordinated sources swamp receiver  e.g., C and remote host SYN-attack A  C A SYN SYN SYN SYN SYN B SYN SYN 7: Network Security 6 Cryptography Principles 7: Network Security 7 Friends and enemies: Alice, Bob, Trudy  well-known in network security world  Bob, Alice (lovers!) want to communicate “securely”  Trudy (intruder) may intercept, delete, add messages Alice data channel secure sender Bob data, control messages secure receiver data Trudy 8: Network Security 8-8 Who might Bob, Alice be?  … well, real-life Bobs and Alices!  Web browser/server for electronic transactions (e.g., on-line purchases)  on-line banking client/server  DNS servers  routers exchanging routing table updates  other examples? 8: Network Security 8-9 The language of cryptography Alice’s K encryption A key plaintext encryption algorithm ciphertext Bob’s K decryption B key decryption plaintext algorithm symmetric key crypto: sender, receiver keys identical public-key crypto: encryption key public, decryption key secret (private) 8: Network Security 810 Symmetric Key Cryptography 7: Network Security 11 Symmetric key cryptography substitution cipher: substituting one thing for another  monoalphabetic cipher: substitute one letter for another plaintext: abcdefghijklmnopqrstuvwxyz ciphertext: mnbvcxzasdfghjklpoiuytrewq E.g.: Plaintext: bob. i love you. alice ciphertext: nkn. s gktc wky. mgsbc Q: How hard to break this simple cipher?: •brute force (how hard?) •other? 7: Network Security 12 Perfect cipher  Definition:  Let C = E[M]  Pr[C=c] = Pr[C=c | M]  Example: one time pad  Generate random bits b1 ... bn  E[M1 ... Mn] = (M1  b1 ... Mn  bn )  Cons: size  Pseudo Random Generator  G(R) = b1 ... bn  Indistinguishable from random (efficiently) 7: Network Security 13 Symmetric key crypto: DES DES: Data Encryption Standard  US encryption standard [NIST 1993]  56-bit symmetric key, 64 bit plaintext input  How secure is DES? DES Challenge: 56-bit-key-encrypted phrase (“Strong cryptography makes the world a safer place”) decrypted (brute force) in 4 months  no known “backdoor” decryption approach   making DES more secure use three keys sequentially (3-DES) on each datum  use cipher-block chaining  7: Network Security 14 Symmetric key crypto: DES DES operation initial permutation 16 identical “rounds” of function application, each using different 48 bits of key final permutation 7: Network Security 15 Block Cipher chaining  How do we encode a large message  Would like to guarantee integrity  Encoding:  Ci = E[Mi  Ci-1]  Decoding:  Mi = D[Ci]  Ci-1  Malfunctions:  Loss  Reorder/ integrity 7: Network Security 16 Cipher block chaining (CBC)  Break plaintext into blocks  XOR previous round ciphertext with new plaintext IV Block 1 Block2 Block3 Block 4 + + + + DES DES DES DES Cipher 1 Cipher 2 Cipher 3 Cipher 4 7: Network Security 17 Cipher Block Chaining Mode  Cipher block chaining. (a) Encryption. (b) Decryption. 7: Network Security 18 DES performance  DES relies on confusion and diffusion  not mathematically proven to be secure  More secure: 3DES (triple DES) with cipher block chaining (CBC)  3DES products for IP security*   ~10 Mb/s in software ~100 Mb/s in hardware  Both parties must know secret key, and keep it secret * source: http://www.ietf.org/proceedings/01dec/slides/ipsec-11.pdf 7: Network Security 19 Diffie-Hellman key exchange protocol  Goal: Allow strangers establish a shared secret key for later communication  Assume two parties (Alice and Bob) want to establish a secret key.  Alice and Bob agree on two large numbers, n and g  usually, these are publicly known, and have some additional conditions applied (e.g., n must be prime) 7: Network Security 20 Diffie-Hellman Key Exchange  Alice picks large x, Bob picks large y (e.g., 512 bits) 7: Network Security 21 Man in the middle attack  Eavesdropper can’t determine secret key (gxy mod n) from (gx mod n) or (gy mod n)  However, how does Alice and Bob know if there is a third party adversary in between? 7: Network Security 22 Exponentiation  Compute gx mod n Expg,n (x)  Assume x = 2y + b  Let z = Expg,n (y)  R=z2  If (b=1) R = g R mod n  Return R  Complexity: logarithmic in x 7: Network Security 24 Public Key Cryptography 7: Network Security 25 Public Key Cryptography symmetric key crypto  requires sender, receiver know shared secret key  Q: how to agree on key in first place (particularly if never “met”)? public key cryptography  radically different approach [DiffieHellman76, RSA78]  sender, receiver do not share secret key  encryption key public (known to all)  decryption key private (known only to receiver) 7: Network Security 26 Public key cryptography + Bob’s public B key K K plaintext message, m encryption ciphertext algorithm + K (m) B - Bob’s private B key decryption plaintext algorithm message + m = K B(K (m)) B 8: Network Security 827 Public key encryption algorithms Two inter-related requirements: . B . B 1 need d ( ) and e ( ) such that d (e (m)) = m B B 2 need public and private keys for dB( ) and e ( ) . . B RSA: Rivest, Shamir, Adelson algorithm 7: Network Security 28 RSA: Choosing keys 1. Choose two large prime numbers p, q. (e.g., 1024 bits each) 2. Compute n = pq, z = (p-1)(q-1) 3. Choose e (with e 3 7: Network Security 33 RSA: Why m = (m e mod n) d mod n Number theory result: • IF pq = n, p and q primes then: x y mod n = x (y mod (p-1)(q-1) ) mod • (m e)d n mod n = m (ed mod (p-1)(q-1)) mod n •But ed – 1 divisible by (p-1)(q-1) i.e., ed mod (p-1)(q-1) = 1 • = m 1 mod n = m 7: Network Security 34 modified Diffie-Hellman Key Exchange  Encrypt 1 with Bob’s public key, 2 with Alice’s public key  Prevents man-in-the-middle attack  Actually, nonces and a third message are needed to fully complete this exchange (in a few slides) 7: Network Security 36 Authentication 7: Network Security 37 Authentication Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” “I am Alice” Failure scenario?? 8: Network Security 838 Authentication Goal: Bob wants Alice to “prove” her identity to him Protocol ap1.0: Alice says “I am Alice” “I am Alice” in a network, Bob can not “see” Alice, so Trudy simply declares herself to be Alice 8: Network Security 839 Authentication: another try Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Alice’s “I am Alice” IP address Failure scenario?? 8: Network Security 840 Authentication: another try Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Alice’s IP address Trudy can create a packet “spoofing” “I am Alice” Alice’s address 8: Network Security 841 Authentication: another try Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. Alice’s Alice’s “I’m Alice” IP addr password Alice’s IP addr OK Failure scenario?? 8: Network Security 842 Authentication: another try Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. Alice’s Alice’s “I’m Alice” IP addr password Alice’s IP addr OK playback attack: Trudy records Alice’s packet and later plays it back to Bob Alice’s Alice’s “I’m Alice” IP addr password 8: Network Security 843 Authentication: yet another try Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. Alice’s encrypted “I’m Alice” IP addr password Alice’s IP addr OK Failure scenario?? 8: Network Security 844 Authentication: another try Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. Alice’s encrypted “I’m Alice” IP addr password Alice’s IP addr record and playback still works! OK Alice’s encrypted “I’m Alice” IP addr password 8: Network Security 845 Authentication: yet another try Goal: avoid playback attack Nonce: number (R) used only once –in-a-lifetime ap4.0: to prove Alice “live”, Bob sends Alice nonce, R. Alice must return R, encrypted with shared secret key “I am Alice” R KA-B(R) Failures, drawbacks? Alice is live, and only Alice knows key to encrypt nonce, so it must be Alice! 8: Network Security 846 Authentication: ap5.0 ap4.0 requires shared symmetric key  can we authenticate using public key techniques? ap5.0: use nonce, public key cryptography “I am Alice” R Bob computes + - - K A (R) “send me your public key” + KA KA(KA (R)) = R and knows only Alice could have the private key, that encrypted R such that + K (K (R)) = R A A 8: Network Security 847 ap5.0: security hole Man (woman) in the middle attack: Trudy poses as Alice (to Bob) and as Bob (to Alice) I am Alice R I am Alice R K (R) T K (R) A Send me your public key + K T Send me your public key + K A - + m = K (K (m)) A A + K (m) A Trudy gets - + m = K (K (m)) T Alice sends T m to + K (m) T encrypted with Alice’s public key 8: Network Security 8-48 ap5.0: security hole Man (woman) in the middle attack: Trudy poses as Alice (to Bob) and as Bob (to Alice) Difficult to detect:  Bob receives everything that Alice sends, and vice versa. (e.g., so Bob, Alice can meet one week later and recall conversation)  problem is that Trudy receives all messages as well! 8: Network Security 8-49 Message Integrity (Signatures etc) 7: Network Security 50 Digital Signatures Cryptographic technique analogous to handwritten signatures. Simple digital signature for message m:  Sender (Bob) digitally signs private key dB, creating signed message, dB(m).  Bob sends m and dB(m) to Alice. document, establishing he is document owner/creator.  Verifiable, nonforgeable: recipient (Alice) can verify that Bob, and no one else, signed document.  Assumption:    Bob decrypts m with his eB(dB(m)) = dB(eB(m)) RSA 7: Network Security 51 Digital Signatures (more)  Suppose Alice receives Alice thus verifies that: msg m, and digital  Bob signed m. signature dB(m)  No one else signed m.  Alice verifies m signed  Bob signed m and not m’. by Bob by applying Non-repudiation: Bob’s public key eB to  Alice can take m, and dB(m) then checks signature dB(m) to court eB(dB(m) ) = m. and prove that Bob  If eB(dB(m) ) = m, signed m. whoever signed m must have used Bob’s private key. 7: Network Security 52 Message Digests Computationally expensive to public-key-encrypt long messages Goal: fixed-length,easy to compute digital signature, “fingerprint”  apply hash function H to m, get fixed size message digest, H(m). Hash function properties:  Many-to-1  Produces fixed-size msg digest (fingerprint)  Given message digest x, computationally infeasible to find m such that x = H(m)  computationally infeasible to find any two messages m and m’ such that H(m) = H(m’). 7: Network Security 53 Hash Function Algorithms  Internet checksum would make a poor message digest.  Too easy to find two messages with same checksum.  MD5 hash function widely used.  Computes 128-bit message digest in 4-step process.  arbitrary 128-bit string x, appears difficult to construct msg m whose MD5 hash is equal to x.  SHA-1 is also used.  US standard  160-bit message digest 7: Network Security 54 MD5 for message integrity  Keyed MD5  assume sender, receiver share secret key k  sender: m + MD5(m + k) (+ means concatenation in this notation)  receiver computes MD5(m + k) and sees if it matches 7: Network Security 55 Digital signature = signed message digest Alice verifies signature and integrity of digitally signed message: Bob sends digitally signed message: large message m H: Hash function Bob’s private key + - KB encrypted msg digest H(m) digital signature (encrypt) encrypted msg digest KB(H(m)) large message m H: Hash function KB(H(m)) Bob’s public key + KB digital signature (decrypt) H(m) H(m) equal ? 8: Network Security 8-56 MD5 with RSA signature  MD5 with RSA signature  sender: m + E(MD5(m), private) checksum  receiver: compare MD5(m) with D(checksum, public) 7: Network Security 57 Key Distribution Centers 7: Network Security 58 Problems with Public-Key Encryption  A way for Trudy to subvert public-key encryption. 7: Network Security 59 Trusted Intermediaries Problem: Problem:  How do two entities  When Alice obtains establish shared Bob’s public key secret key over (from web site, enetwork? mail, diskette), how does she know it is Solution: Bob’s public key, not  trusted key Trudy’s? distribution center Solution: (KDC) acting as intermediary  trusted certification between entities authority (CA) 7: Network Security 60 Key Distribution Center (KDC)  Alice,Bob need shared symmetric key.  KDC: server shares different secret key with each registered user.  Alice, Bob know own symmetric keys, KA-KDC KB-KDC , for communicating with KDC.  Alice communicates with KDC, gets session key R1, and KB-KDC(A,R1)  Alice sends Bob KB-KDC(A,R1), Bob extracts R1  Alice, Bob now share the symmetric key R1. 7: Network Security 61 Certification Authorities  Certification authority (CA) binds public key to particular entity.  Entity (person, router, etc.) can register its public key with CA.  Entity provides “proof of identity” to CA.  CA creates certificate binding entity to public key.  Certificate digitally signed by CA.  When Alice wants Bob’s public key:  gets Bob’s certificate (Bob or elsewhere).  Apply CA’s public key to Bob’s certificate, get Bob’s public key 7: Network Security 62 X.509 is the standard for certificates  The basic fields of an X.509 certificate. 7: Network Security 63 Public-Key Infrastructures  PKIs are a way to structure certificates  (a) A hierarchical PKI. (b) A chain of certificates. 7: Network Security 64 Example revisited (solved with certificates)  Trudy presents Alice a certificate, purporting to be Bob, but Alice is unable to trace Trudy’s certificate back to a trusted root  Be wary if your browser warns about certs! 7: Network Security 65 Secure email 7: Network Security 66 Secure e-mail  Alice wants to send confidential e-mail, m, to Bob. KS m K (.) S + KS + . K B( ) + KS(m ) KS(m ) + KB(KS ) . KS( ) - Internet + KS - KB(KS ) KB m . K B( ) - KB Alice:     generates random symmetric private key, KS. encrypts message with KS (for efficiency) also encrypts KS with Bob’s public key. sends both KS(m) and KB(KS) to Bob. 7: Network Security 867 Secure e-mail  Alice wants to send confidential e-mail, m, to Bob. KS m K (.) S + KS + . K B( ) + KS(m ) KS(m ) + KB(KS ) . KS( ) - Internet m KS - + KB(KS ) . K B( ) - KB KB Bob:  uses his private key to decrypt and recover KS  uses KS to decrypt KS(m) to recover m 7: Network Security 868 Secure e-mail (continued) • Alice wants to provide sender authentication message integrity. + - KA m H(.) - . KA( ) - - KA(H(m)) KA(H(m)) + Internet m KA + . KA( ) m H(m ) compare . H( ) H(m ) • Alice digitally signs message. • sends both message (in the clear) and digital signature. 7; Network Security 869 Pretty good privacy (PGP)  Internet e-mail encryption scheme, a de-facto standard.  Uses symmetric key cryptography, public key cryptography, hash function, and digital signature as described.  Provides secrecy, sender authentication, integrity.  Inventor, Phil Zimmerman, was target of 3-year federal investigation. A PGP signed message: ---BEGIN PGP SIGNED MESSAGE--Hash: SHA1 Bob:My husband is out of town tonight.Passionately yours, Alice ---BEGIN PGP SIGNATURE--Version: PGP 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ+lo8gE4vB3mqJ hFEvZP9t6n7G6m5Gw2 ---END PGP SIGNATURE--- 7: Network Security 70 Secure Socket layer (SSl) 7: Network Security 71 Secure sockets layer (SSL)  PGP provides security for a specific network app.  SSL works at transport layer. Provides security to any TCP-based app using SSL services.  SSL: used between WWW browsers, servers for Icommerce (https).  SSL security services:    server authentication data encryption client authentication (optional)  Server authentication:    SSL-enabled browser includes public keys for trusted CAs. Browser requests server certificate, issued by trusted CA. Browser uses CA’s public key to extract server’s public key from certificate.  Visit your browser’s security menu to see its trusted CAs. 7: Network Security 72 Internet Explorer: Tools  Internet options  Content  Certificates 7: Network Security 73 Internet Explorer: Error Message 7: Network Security 74 SSL (continued) Encrypted SSL session:  Browser generates symmetric session key, encrypts it with server’s public key, sends encrypted key to server.  Using its private key, server decrypts session key.  Browser, server agree that future msgs will be encrypted.  All data sent into TCP socket (by client or server) is encrypted with session key.  SSL: basis of IETF Transport Layer Security (TLS).  SSL can be used for nonWeb applications, e.g., IMAP.  Client authentication can be done with client certificates. 7: Network Security 75 SSL basics Alice validates Bob’s key RA, RB are “nonces” used with Premaster key to create session key EB is Bob’s public key 7: Network Security 76 Other Security Layers 7: Network Security 77 Secure electronic transactions (SET)  designed for payment-card transactions over Internet.  provides security services among 3 players:  customer  merchant  merchant’s bank All must have certificates.  SET specifies legal meanings of certificates.  apportionment of liabilities for transactions  Customer’s card number passed to merchant’s bank without merchant ever seeing number in plain text.  Prevents merchants from stealing, leaking payment card numbers.  Three software components:  Browser wallet  Merchant server  Acquirer gateway  See book for description of SET transaction. 7: Network Security 78 IPsec: Network Layer Security  Network-layer secrecy: sending host encrypts the data in IP datagram  TCP and UDP segments; ICMP and SNMP messages.  Network-layer authentication  destination host can authenticate source IP address  Two principle protocols:  authentication header (AH) protocol  encapsulation security payload (ESP) protocol   For both AH and ESP, source, destination handshake:  create network-layer logical channel called a service agreement (SA)  Each SA unidirectional.  Uniquely determined by:  security protocol (AH or ESP)  source IP address  32-bit connection ID 7: Network Security 79 ESP Protocol  Provides secrecy, host authentication, data integrity.  Data, ESP trailer encrypted.  Next header field is in ESP trailer.  ESP authentication field is similar to AH authentication field.  Protocol = 50. 7: Network Security 80 Authentication Header (AH) Protocol  Provides source host authentication, data integrity, but not secrecy.  AH header inserted between IP header and IP data field.  Protocol field = 51.  Intermediate routers process datagrams as usual. AH header includes:  connection identifier  authentication data: signed message digest, calculated over original IP datagram, providing source authentication, data integrity.  Next header field: specifies type of data (TCP, UDP, ICMP, etc.) 7: Network Security 81 IPsec authentication (AH)  The IPsec authentication header in transport mode for IPv4. HMAC stands for Hashed Message Authentication Code 7: Network Security 82 IPsec encryption (ESP)  (a) ESP in transport mode (for end-to-end IPsec). (b) ESP in tunnel mode (used in VPNs). 7: Network Security 83 Access Control in the Network 7: Network Security 84 Firewalls firewall isolates organization’s internal net from larger Internet, allowing some packets to pass, blocking others. Two firewall types:  packet filter  application gateways To prevent denial of service attacks:  SYN flooding: attacker establishes many bogus TCP connections. Attacked host alloc’s TCP buffers for bogus connections, none left for “real” connections. To prevent illegal modification of internal data.  e.g., attacker replaces CIA’s homepage with something else To prevent intruders from obtaining secret info. 7: Network Security 85 Packet Filtering  Internal network is connected to Internet through a router.  Router manufacturer provides options for filtering packets, based on:      source IP address destination IP address TCP/UDP source and destination port numbers ICMP message type TCP SYN and ACK bits  Example 1: block incoming and outgoing datagrams with IP protocol field = 17 and with either source or dest port = 23.  All incoming and outgoing UDP flows and telnet connections are blocked.  Example 2: Block inbound TCP segments with ACK=0.  Prevents external clients from making TCP connections with internal clients, but allows internal clients to connect to outside. 7: Network Security 86 Filter-based firewalls Rest of the Internet Firewall Local site  Sit between site and rest of Internet, filter packets    Enforce site policy in a manageable way e.g. pass (*,*, 128.7.6.5, 80 ), then drop (*, *, *, 80) Rules may be added dynamically to pass new connections  Sometimes called a “ level 4” switch   Acts like a router (accepts and forwards packets) But looks at information up to TCP port numbers (layer 7: Network Security 87 Proxy-Based Firewalls  Solves more complex policy problems  Example:  I want internal company to be able to access entire web server  I want outside world only to access public pages Remote company user Web server Internet Random external user Proxy Firewall only lets proxy connect to web server Firewall Company net Internal server Use proxies outside firewall 7: Network Security 88 Proxy-based firewalls  Run proxies for Web, mail, etc. just outside firewall In the “ de-militarized zone” DMZ  External requests go to proxies, only proxies connect inside  External user may (“classical model”) or may not (“transparent model”) know this is happening  Proxies filter based on application semantics  7: Network Security 89 Virtual Private Networks  Using firewalls and IPsec encryption to provide a “leased-line” like connection over the Internet  (a) A leased-line private network. (b) A virtual private network. 7: Network Security 90 Application gateways  Filters packets on application data as well as on IP/TCP/UDP fields.  Example: allow select internal users to telnet outside. gateway-to-remote host telnet session host-to-gateway telnet session application gateway router and filter 1. Require all telnet users to telnet through gateway. 2. For authorized users, gateway sets up telnet connection to dest host. Gateway relays data between 2 connections 3. Router filter blocks all telnet connections not originating from gateway. 7: Network Security 91 Limitations of firewalls and gateways  IP spoofing: router can’t know if data “really” comes from claimed source  If multiple app’s. need special treatment, each has own app. gateway.  Client software must know how to contact gateway.  e.g., must set IP address of proxy in Web browser  Filters often use all or nothing policy for UDP.  Tradeoff: degree of communication with outside world, level of security  Many highly protected sites still suffer from attacks. 7: Network Security 92 Network Security (summary) Basic techniques…...  cryptography (symmetric and public)  authentication  message integrity …. used in many different security scenarios  secure email  secure transport (SSL)  IP sec  Firewalls 7: Network Security 93