Download presentation
Presentation is loading. Please wait.
1
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. Thanks and enjoy! JFK / KWR All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down Approach Featuring the Internet, 2nd edition. Jim Kurose, Keith Ross Addison-Wesley, July 2002. 7: Network Security
2
Chapter 7: Network security
Foundations: what is security? cryptography authentication message integrity key distribution and certification Security in practice: application layer: secure transport layer: Internet commerce, SSL, SET network layer: IP security Firewalls 7: Network Security
3
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
4
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 A C src:B dest:A payload B 7: Network Security
5
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 A C src:B dest:A payload B 7: Network Security
6
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 A C SYN SYN SYN SYN SYN B SYN SYN 7: Network Security
7
Cryptography Principles
7: Network Security
8
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 Bob channel data, control messages secure sender secure receiver data data Trudy 8: Network Security
9
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
10
The language of cryptography
Alice’s encryption key Bob’s decryption key K A K B encryption algorithm plaintext ciphertext decryption algorithm plaintext symmetric key crypto: sender, receiver keys identical public-key crypto: encryption key public, decryption key secret (private) 8: Network Security
11
Symmetric Key Cryptography
7: Network Security
12
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
13
Perfect cipher Definition: Example: one time pad Cons: size
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
14
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
15
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
16
Block Cipher chaining How do we encode a large message Encoding:
Would like to guarantee integrity Encoding: Ci = E[Mi Ci-1] Decoding: Mi = D[Ci] Ci-1 Malfunctions: Loss Reorder/ integrity 7: Network Security
17
Cipher block chaining (CBC)
Break plaintext into blocks XOR previous round ciphertext with new plaintext Block 1 IV DES Cipher 2 3 4 + 7: Network Security
18
Cipher Block Chaining Mode
Cipher block chaining. (a) Encryption. (b) Decryption. 7: Network Security
19
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: 7: Network Security
20
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
21
Diffie-Hellman Key Exchange
Alice picks large x, Bob picks large y (e.g., 512 bits) 7: Network Security
22
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
23
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 [Diffie-Hellman76, 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 key K B - Bob’s private key K B plaintext message, m encryption algorithm ciphertext decryption algorithm plaintext message K (m) B + m = K (K (m)) B + - 8: Network Security
27
Public key encryption algorithms
Two inter-related requirements: . . 1 need d ( ) and e ( ) such that B B d (e (m)) = m B 2 need public and private keys for d ( ) 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<n) that has no common factors with z. (e, z are “relatively prime”). 4. Choose d such that ed-1 is exactly divisible by z. (in other words: ed mod z = 1 ). 5. Public key is (n,e). Private key is (n,d). K B + K B - 8: Network Security
29
RSA: Encryption, decryption
0. Given (n,e) and (n,d) as computed above 1. To encrypt bit pattern, m, compute c = m mod n e (i.e., remainder when m is divided by n) 2. To decrypt received bit pattern, c, compute m = c mod n d d (i.e., remainder when c is divided by n) m = (m mod n) e mod n d Magic happens! 7: Network Security
30
RSA operation Sender Plaintext (P) Recv plaintext (P) Public key e
Private key d E(P, e) D(C, d) Ciphertext (C) Encryption & Decryption E(P) = Pemod n D(C) = Cdmod n Security is based on difficulty of factoring large numbers (can’t factor n to obtain p and q) 7: Network Security
31
Bob chooses p=5, q=7. Then n=35, z=24.
RSA example: Bob chooses p=5, q=7. Then n=35, z=24. e=5 (so e, z relatively prime). d=29 (so ed-1 exactly divisible by z). e c = m mod n e letter m m encrypt: l 12 17 c d m = c mod n d c letter decrypt: 17 12 l 7: Network Security
32
RSA example An example of the RSA algorithm.
p = 3, q = 11, n = 33, z = 20, d = 7 e found by solving 7e = 1 (mod 20)--> 3 7: Network Security
33
RSA: Why x y mod n = x (y mod (p-1)(q-1) ) mod n m = (m mod n) e 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 n (m e)d 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 Always there is a solution, and satisfies (Chinese Remainder) 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
35
Authentication 7: Network Security
36
Protocol ap1.0: Alice says “I am Alice”
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
37
Authentication Goal: Bob wants Alice to “prove” her identity to him
Protocol ap1.0: Alice says “I am Alice” in a network, Bob can not “see” Alice, so Trudy simply declares herself to be Alice “I am Alice” 8: Network Security
38
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address “I am Alice” Alice’s IP address Failure scenario?? 8: Network Security
39
Authentication: another try
Protocol ap2.0: Alice says “I am Alice” in an IP packet containing her source IP address Trudy can create a packet “spoofing” Alice’s address “I am Alice” Alice’s IP address 8: Network Security
40
Authentication: another try
Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. “I’m Alice” Alice’s IP addr password Failure scenario?? OK Alice’s IP addr 8: Network Security
41
Authentication: another try
Protocol ap3.0: Alice says “I am Alice” and sends her secret password to “prove” it. Alice’s IP addr Alice’s password “I’m Alice” playback attack: Trudy records Alice’s packet and later plays it back to Bob OK Alice’s IP addr “I’m Alice” Alice’s IP addr password 8: Network Security
42
Authentication: yet another try
Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. “I’m Alice” Alice’s IP addr encrypted password Failure scenario?? OK Alice’s IP addr 8: Network Security
43
Authentication: another try
Protocol ap3.1: Alice says “I am Alice” and sends her encrypted secret password to “prove” it. Alice’s IP addr encrypted password “I’m Alice” record and playback still works! OK Alice’s IP addr “I’m Alice” Alice’s IP addr encrypted password 8: Network Security
44
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 K (R) A-B Alice is live, and only Alice knows key to encrypt nonce, so it must be Alice! Failures, drawbacks? 8: Network Security
45
“send me your public key”
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” Bob computes R (K (R)) = R A - K + K (R) A - and knows only Alice could have the private key, that encrypted R such that “send me your public key” K A + (K (R)) = R A - K + 8: Network Security
46
sends m to Alice encrypted with Alice’s public key
ap5.0: security hole Man (woman) in the middle attack: Trudy poses as Alice (to Bob) and as Bob (to Alice) I am Alice I am Alice R T K (R) - R A K (R) - Send me your public key T K + Send me your public key A K + T K (m) + Trudy gets T m = K (K (m)) + - A K (m) + sends m to Alice encrypted with Alice’s public key A m = K (K (m)) + - 8: Network Security
47
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
48
Message Integrity (Signatures etc)
7: Network Security
49
Digital Signatures Cryptographic technique analogous to hand-written signatures. Sender (Bob) digitally signs document, establishing he is document owner/creator. Verifiable, nonforgeable: recipient (Alice) can verify that Bob, and no one else, signed document. Assumption: eB(dB(m)) = dB(eB(m)) RSA Simple digital signature for message m: Bob decrypts m with his private key dB, creating signed message, dB(m). Bob sends m and dB(m) to Alice. 7: Network Security
50
Digital Signatures (more)
Suppose Alice receives msg m, and digital signature dB(m) Alice verifies m signed by Bob by applying Bob’s public key eB to dB(m) then checks eB(dB(m) ) = m. If eB(dB(m) ) = m, whoever signed m must have used Bob’s private key. Alice thus verifies that: Bob signed m. No one else signed m. Bob signed m and not m’. Non-repudiation: Alice can take m, and signature dB(m) to court and prove that Bob signed m. 7: Network Security
51
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
52
Hash Function Algorithms
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 Internet checksum would make a poor message digest. Too easy to find two messages with same checksum. 7: Network Security
53
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
54
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 KB(H(m)) - encrypted msg digest H(m) digital signature (encrypt) Bob’s private key large message m K B - Bob’s public key digital signature (decrypt) K B + KB(H(m)) - encrypted msg digest H: Hash function + H(m) H(m) equal ? 8: Network Security
55
MD5 with RSA signature MD5 with RSA signature
sender: m + E(MD5(m), private) receiver: compare MD5(m) with D(checksum, public) checksum 7: Network Security
56
Key Distribution Centers
7: Network Security
57
Problems with Public-Key Encryption
A way for Trudy to subvert public-key encryption. 7: Network Security
58
Trusted Intermediaries
Problem: How do two entities establish shared secret key over network? Solution: trusted key distribution center (KDC) acting as intermediary between entities Problem: When Alice obtains Bob’s public key (from web site, , diskette), how does she know it is Bob’s public key, not Trudy’s? Solution: trusted certification authority (CA) 7: Network Security
59
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
60
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
61
X.509 is the standard for certificates
The basic fields of an X.509 certificate. 7: Network Security
62
Public-Key Infrastructures
PKIs are a way to structure certificates (a) A hierarchical PKI. (b) A chain of certificates. 7: Network Security
63
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
64
Secure 7: Network Security
65
Secure Alice wants to send confidential , m, to Bob. KS( ) . KB( ) + - KS(m ) KB(KS ) m KS KB Internet 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
66
Secure Alice wants to send confidential , m, to Bob. KS( ) . KB( ) + - KS(m ) KB(KS ) m KS KB Internet Bob: uses his private key to decrypt and recover KS uses KS to decrypt KS(m) to recover m 7: Network Security
67
Secure e-mail (continued)
Alice wants to provide sender authentication message integrity. H( ) . KA( ) - + H(m ) KA(H(m)) m KA Internet compare Alice digitally signs message. sends both message (in the clear) and digital signature. 7; Network Security
68
Pretty good privacy (PGP)
Internet 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+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2 ---END PGP SIGNATURE--- 7: Network Security
69
Secure Socket layer (SSl)
7: Network Security
70
Secure sockets layer (SSL)
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. 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 I-commerce (https). SSL security services: server authentication data encryption client authentication (optional) 7: Network Security
71
Tools Internet options Content Certificates
Internet Explorer: Tools Internet options Content Certificates 7: Network Security
72
Internet Explorer: Error Message
7: Network Security
73
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 non-Web applications, e.g., IMAP. Client authentication can be done with client certificates. 7: Network Security
74
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
75
Other Security Layers 7: Network Security
76
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
77
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
78
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
79
Authentication Header (AH) Protocol
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.) 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. 7: Network Security
80
IPsec authentication (AH)
The IPsec authentication header in transport mode for IPv4. HMAC stands for Hashed Message Authentication Code 7: Network Security
81
IPsec encryption (ESP)
(a) ESP in transport mode (for end-to-end IPsec). (b) ESP in tunnel mode (used in VPNs). 7: Network Security
82
Access Control in the Network
7: Network Security
83
Firewalls 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. firewall isolates organization’s internal net from larger Internet, allowing some packets to pass, blocking others. Two firewall types: packet filter application gateways 7: Network Security
84
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
85
Filter-based firewalls
Rest of the Internet Local site Firewall Sit between site and rest of Internet, filter packets Enforce site policy in a manageable way e.g. pass (*,*, , 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
86
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 Firewall only lets proxy connect to web server Remote company W eb user server Internet Internal Proxy Firewall Company net server Random external Use proxies outside firewall user 7: Network Security
87
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
88
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
89
Application gateways host-to-gateway telnet session gateway-to-remote host telnet session application gateway router and filter Filters packets on application data as well as on IP/TCP/UDP fields. Example: allow select internal users to telnet outside. 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
90
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
91
Network Security (summary)
Basic techniques…... cryptography (symmetric and public) authentication message integrity …. used in many different security scenarios secure secure transport (SSL) IP sec Firewalls 7: Network Security
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.