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