Network Security - Central Washington University» Approaches using block ciphers –takes a n-bit...
Transcript of Network Security - Central Washington University» Approaches using block ciphers –takes a n-bit...
Network SecurityChapter 8
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Network security can be divided roughly into 4 closely intertwined areas:
1. secrecy (confidentiality),
2. authentication,
3. Non-repudiation,
4. integrity control.Question: what does non-repudiation mean? What does “integrity” mean?
• Cryptography
• Symmetric-Key Algorithms
• Public-Key Algorithms
• Digital Signatures
• Management of Public Keys
• Communication Security
• Authentication Protocols
• Email Security -- skip
• Web Security
• Social Issues -- skip
Revised: August 2011
Network Security
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Security addresses a variety of threats and
defenses across all layers
Physical
Link
Network
Transport
Application Authentication, Authorization, and non-repudiation
End-to-end encryption
Firewalls, IP Security
Packets can be encrypted on data link layer basis
Wireless transmissions can be encrypted
Network Security (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Some different adversaries and security threats− Different threats require different defenses
Cryptography
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Cryptography – Term comes from 2 Greek words meaning “Secret Writing”
Vocabulary:
• Cipher – character-for-character or bit-by-bit transformation
• Code – replaces one word with another word or symbol
Cryptography is a fundamental building block for security
mechanisms.
• Introduction »
• Substitution ciphers »
• Transposition ciphers »
• One-time pads »
• Fundamental cryptographic principles »
Introduction
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Most popular computer-based encryption alternatives:
1. Symmetric key – same key used to both encrypt and decrypt;
popular for securing data communications protocols.
2. Public key – different keys used to encrypt than to decrypt (public
key, private key); popular for encrypting keys (and some data)
The encryption model (for a symmetric-key cipher)• Kerckhoff’s principle: Algorithms (E, D) are public; only the keys
(K) are secret
− Kerckhoff’s principal: algorithms are public, keys are private
Alice Bob
Trudy
Note: Names
indicate roles.
Substitution Ciphers
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Substitution ciphers replace each group of letters in the
message with another group of letters to disguise it
Simple single-letter substitution cipher
Transposition Ciphers
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Transposition ciphers reorder letters but does not
disguise them
Simple column transposition cipher
Key gives column order, starting with the lowest letter
Column 5 (G) 6 (K) 7 (M) 8 (U)
One-Time Pads (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Simple scheme for perfect secrecy:
• XOR message with secret pad to encrypt, decrypt
• Pad is as long as the message and can’t be reused!
− It is a “one-time” pad to guarantee secrecy
Different secret pad decrypts to the wrong plaintext
As long as the pads are never re-used or revealed, this approach is unbreakable.
One-Time Pads (2) – Quantum Cryptography
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Approach using lasers and photonic filters leveraging quantum mechanics
(qubit polarization). See pages 773-776 in textbook.
Approach cannot be eavesdropped upon; detects man-in-the-middle
Alice sending Bob a one-time pad with quantum crypto.• Bob’s guesses yield bits; Trudy misses some
• Bob can detect Trudy since error rate increases
Fundamental Cryptographic Principles
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
1. Messages must contain some redundancyredundancy = info not needed to understand the message so that active
intruders cannot send random junk and have it be interpreted as a valid msg
• All encrypted messages decrypt to something
• Redundancy lets receiver recognize a valid message
• But redundancy helps attackers break the design
2. Some method is needed to foil replay attacks
• Without a way to check if messages are fresh then
old messages can be copied and resent
• For example, add a date stamp to messages
Symmetric-Key Algorithms
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Symmetric key – the same Secret key is used to both encrypt and decrypt
the message. Popular for communication protocols because
encryption/decryption can be done rapidly and easily adaptable to hardware
automation.
Encryption in which the parties share a secret key» Approaches using block ciphers – takes a n-bit block of plaintext
as an input and transforms it using the key into an n-bit block of
cipher text (and vice versa).
• DES – Data Encryption Standard »
• AES – Advanced Encryption Standard »
• Cipher modes »
• Other ciphers »
• Cryptanalysis »
Question: What happens if the secret key becomes revealed?
Symmetric-Key Algorithms (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Use the same secret key to encrypt and decrypt;
block ciphers operate on a block at a time
• Same number of bits in as bits out
• Product cipher combines transpositions/substitutions
Permutation
(transposition)
box
Substitution
boxProduct with multiple P- and S-boxes
Basic elements of product ciphers (Pages 779-780)
Question: Who can explain what is happening in the Substitution Box?
Data Encryption Standard (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
DES encryption was widely used (but no longer secure)• Developed by IBM in 1977
• Plaintext encrypted in blocks of 64-bits; 56-bit key; 19 stages of computation
DES steps A single iteration
Contains
transpositions
& substitutions
Data Encryption Standard (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
3DES was introduced in 1979, popular through the 1990s. Uses 2 DES
keys for encryption and 3 iterations (stages) of DES, using key 1 for 1st and
3rd iteration and key 2 for 2nd iteration.
Triple encryption (“3DES”) with two 56-bit keys
• Gives a (formerly) adequate key strength of 112 bits
− Instructor addition: 3DES not currently considered
“adequate” today for most uses
• Setting K1 = K2 allows for compatibility with DES
Triple DES encryption Triple DES decryption
Question: Why is the length of the encryption key important?
https://docs.oracle.com/cd/E19424-01/820-4811/aakfw/index.html
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Key Length and Encryption Strength
The strength of encryption is related to the difficulty of discovering the key, which in turn
depends on both the cipher used and the length of the key. For example, the difficulty of
discovering the key for the RSA cipher most commonly used for public-key encryption
depends on the difficulty of factoring large numbers, a well-known mathematical problem.
Encryption strength is often described in terms of the size of the keys used to perform the
encryption: in general, longer keys provide stronger encryption. Key length is measured in
bits. For example, 128-bit keys for use with the RC4 symmetric-key cipher supported by
SSL provide significantly better cryptographic protection than 40-bit keys for use with the
same cipher. Roughly speaking, 128-bit RC4 encryption is 3 x 1026 times stronger than 40-
bit RC4 encryption.
Different ciphers may require different key lengths to achieve the same level of encryption
strength. The RSA cipher used for public-key encryption, for example, can use only a
subset of all possible values for a key of a given length, due to the nature of the
mathematical problem on which it is based. Other ciphers, such as those used for
symmetric key encryption, can use all possible values for a key of a given length, rather
than a subset of those values. Thus a 128-bit key for use with a symmetric-key encryption
cipher would provide stronger encryption than a 128-bit key for use with the RSA public-
key encryption cipher. This difference explains why the RSA public-key encryption cipher
must use a 512-bit key (or longer) to be considered cryptographically strong, whereas
symmetric key ciphers can achieve approximately the same level of strength with a 64-bit
key. Even this level of strength may be vulnerable to attacks in the near future.
Advanced Encryption Standard (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
AES replaces 3DES. Introduced in 2001 by US Government (NIST).
Supports block size of 128-bits and encryption key lengths of 128, 192, or
256 bits.
AES is the successor to 3DES:
• Symmetric block cipher, key lengths up to 256 bits
• Openly designed by public competition (1997-2000)
• Available for use by everyone
• Built as software (e.g., C) or hardware (e.g., x86)
• Winner was Rijndael cipher
• Now a widely used standard
Advanced Encryption Standard (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
AES uses 10 rounds for 128-bit block and 128-bit key
• Each round uses a key derived from 128-bit key
• Each round has a mix of substitutions and rotations
• All steps are reversible to allow for decryption
Round keys are derived from 128-bit secret key
Cipher Modes (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Cipher Modes prevent the same msg from being encrypted to the same
bits every time. Question: Why is such variance desirable?
Cipher modes set how long messages are encrypted
• Instructor addition: 5 cipher modes for symmetric-key encryption
• Each has strengths/weaknesses and preferential deployment
usages
1. Encrypting each block independently, called ECB
(Electronic Code Book) mode, is vulnerable to shifts− Code book == maps each plaintext word to its ciphertext
With ECB mode, switching encrypted
blocks gives a different but valid messageLeslie gets a
large bonus!
Cipher Modes (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
CBC protects against code books (i.e., same plaintext block will not result
in the same ciphertext block); computed using a 64-bit block
2) CBC (Cipher Block Chaining) is a widely used mode
• Chains blocks together with XOR to prevent shifts
• Has a random IV (Initial Value) for different output
CBC mode decryptionCBC mode encryption
Cipher Modes (3)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Cipher feedback mode enables a byte-by-byte encryption (no larger
blocks)
3) cipher feedback mode is similar to CBC mode but
can operate a byte (rather than a whole 8 byte block) at
a time
Encryption Decryption
Cipher Modes (4)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
4) A stream cipher uses the key and IV to generate a
stream that is a one-time pad; can’t reuse (key, IV) pair
• Doesn’t amplify transmission errors like CBC mode
Encryption Decryption
Keystream is a sequence of output blocks that acts like a one-time pad.
Cipher Modes (5)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Counter mode is often used for encrypting accessible stored data such as
databases
5) Counter mode (encrypt a counter and XOR it with
each message block) allows random access for
decryption
Encryption above; repeat the operation to decrypt
Other Ciphers
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Some common symmetric-key cryptographic algorithms
• Can be used in combination, e.g., AES over Twofish
Public-Key Algorithms
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Addresses the key distribution problem. Uses two keys that are
related by an algorithm (e.g., factoring prime numbers, elliptic curve
computation):
1. one key (D) the end user keeps private to encrypt or decrypt
2. other key (E) is public (e.g., can be distributed to others).D(E(P)) = P = E(D(P)) where difficult to deduce D from E and E cannot
be broken by a plaintext attack.
Secret key algorithms are 1000 times faster than public key
algorithms. Therefore, public key is used for data (e.g., key sharing)
while secret key is used for communications protocols.
Encryption in which each party publishes a public
part of their key and keep secret a private part of it
• RSA (by Rivest, Shamir, Adleman) »
Public-Key Algorithms (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Downsides of keys for symmetric-key designs:
• Key must be secret, yet must be distributed to both parties
• For N users there are N2 pairwise keys to manage
Public key schemes split the key into public and private parts that are mathematically related:
• Private part is not distributed; easy to keep secret
• Only one public key per user needs to be managed
Security depends on the chosen mathematical property
• Much slower than symmetric-key, e.g., 1000X
• So use it to set up per-session symmetric keys
RSA (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Widely used practical deployment of public key cryptography since 1978. Based on principles from number theory concerning difficulty of factoring large numbers (e.g., a 500 digit number). RSA is too slow for encrypting large volumes of data but is widely used for key distribution.
RSA is a widely used public-key encryption method whose security is based on the difficulty of factoring large numbers
Key generation:− Choose two large primes, p and q
− Compute n = p × q and z = ( p − 1) × (q − 1).
− Choose d to be relatively prime to z
− Find e such that e × d = 1 mod z
− Public key is (e, n), and private key is (d, n)
Encryption (of k bit message, for numbers up to n):
• Cipher = Plaine (mod n)
Decryption:
• Plain = Cipherd (mod n)
RSA (2) – detail (skip)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Small-scale example of RSA encryption (book pages 795-6)
• For p=3, q=11 n=33, z=20 d=7, e=3
Encryption: C = P3 mod 33 Decryption: P = C7 mod 33
Trivial example – far too small a number for real life
Digital Signatures
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Lets receiver verify the message is authentic.
Requirements:1. The receiver can verify the claimed identity of the sender
2. The sender cannot later repudiate the contents of the message
3. The receiver cannot possibly have concocted the message himself.
• Symmetric-Key signatures »
• Public-Key signatures »
• Message digests »
• The birthday attack »
Digital Signatures (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Requirements for a signature:
• Receiver can verify claimed identity of sender.
• Sender cannot later repudiate contents of message.
• Receiver cannot have concocted message himself.
Symmetric-key Signatures
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
This approach is used for IPsec’s HMAC (see pg 816-7). Requires the
existance of a very trustworthy “Big Brother” to arbitrate disputes.
Alice and Bob each trust and share a key with Big
Brother (BB); Big Brother doesn’t trust anyone
• A=Alice ID, B=Bob ID, P=message, RA=random #,
t=time (Note: random # and time protects against replay attacks)
Only Alice can send this
encrypted message to BBOnly BB can send this
encrypted message to Bob
Since only KA can send 1st msg, 2nd msg signed by BB proves Alice sent P to Bob
Public-Key Signatures
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
No Big Brother needed and assumes encryption and
decryption are inverses that can be applied in either
order
• But relies on private key kept and secret
• RSA & DSS (Digital Signature Standard) widely used
Instructor Addition: DSS
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Digital Signature Standard (DSS) – FIPS 186-1
• Uses the Secure Hash Algorithm (SHA-1 = FIPS 180)
• SHA-1 computes a fixed length message digest (=
cryptographic hash) from a variable length input message.
• Digital signatures provide authentication and integrity
• Digital signatures:
SHA-1 hash of a message
Encrypted with a
Private Key
Message Digests (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Message Digest (MD) converts arbitrary-size message (P) into a fixed-size identifier MD(P) with properties:
1. Given P, easy to compute MD(P).
2. Given MD(P), effectively impossible to find P.
3. Given P no one can find P′ so that MD(P′) = MD(P).
4. Changing 1 bit of P produces very different MD.
Message digests (also called cryptographic hash) can “stand for” messages in protocols, e.g., authentication
• Example: SHA-1 160-bit hash, widely used
• Example: MD5 128-bit hash – now known broken− Some popular protocols still use MD5
Question: Have we seen SHA-1 before?
Message Digests (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Public-key signature for message authenticity and
integrity but not confidentiality with a message digest
Alice signs
message digestMessage sent
in the clear
Question: What does “not confidentiality” mean?
Message Digests (3)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
In more detail: example of using SHA-1 message digest
and RSA public key for signing non-secret messages
Message Digests (4)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
SHA-1 digests the message 512 bits at a time to build a
160-bit hash as five 32-bit components
Message in 512-bit blocks Five 32-bit
hashes output
SHA-1
Birthday Attack
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
How hard is it to find a message P′ that has the same
message digest as P?
• Such a collision will allow P′ to be substituted for P, thereby
enabling a forgery of P’ to pass as the P original.
Analysis:
• N bit hash has 2N possible values
• Expect to test 2N messages given P to find P′
• But expect only 2N/2 messages to find a collision
• This is the birthday attack
Take away: SHA-1 produces a 160 bit digest so, according to the
birthday attack, it would take 280 digests to find a collision.
However, even if a computer could do 1T digests/sec (not likely), it
would take over 32,000 years to compute 280 digests to discover P’.
Management of Public Keys
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Public-key cryptography makes it possible
1. for people who do not share a common key in advance to
nevertheless communicate securely.
2. It enables trusted signing of messages without requiring a trusted
third party. 3. Signed message digests make it possible for the recipient to easily
verify the integrity of the received messages.
The missing link to enable this is: how do they get each other’s public
keys to start the communication process?
We therefore need a trusted way to distribute public
keys
• Certificates »
• X.509, the certificate standard »
• Public Key infrastructures »
Management of Public Keys (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Problem to be overcome: Trudy can subvert encryption
if she can fake Bob’s public key; Alice and Bob will not
necessarily know
Trudy replaces EB with ET and
acts as a “man in the middle”
Question: Who can explain what a “man in the middle attack” is?
Certificates
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
An organization that certifies public keys is called a certification authority (CA).
The fundamental job of a certificate is to bind a public key to the name of a
principal (individual, company, etc.). Certificates themselves are not secret or
protected but they are signed by the CA.
CA (Certification Authority) issues signed statements about
public keys; users trust CA and it can be offline
A possible certificate
Question: Since the integrity of a certificate is verified by the CA’s signature,
what will happen if the CA’s private key becomes revealed?
X.509
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
X.509 is the standard for PKI (next slide) to manage digital certificates and
public key encryption. Specifies 1) formats for public key certificates, 2)
Certificate Revocation Lists (CRLs), 3) attribute certificates, and 4)
certificate path validation algorithm.
X.509 is the standard for widely used certificates− Ex: used with SSL for secure Web browsing
Basic fields in X.509 certificates
Public Key Infrastructures (PKIs)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
PKI is a world-wide system for managing public keys
using CAs
• Scales with hierarchy, may have multiple roots
• Also need CRLs (Certificate Revocation Lists)
Hierarchical PKIChain of certificates
for CA 5
Trust anchor
RA = Regional Authority
Communication Security
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Applications of security to network protocols
• IPsec (IP security) »
• Firewalls »
• Virtual private networks »
• Wireless security »
IPsec (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
IPsec adds confidentiality and authentication to IP
• Secret keys are set up for packets between
endpoints called security associations
• Adds AH header; inserted after IP in transport mode
AH (Authentication Header) provides integrity and anti-replay
Identifies security
association
IPsec (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
ESP (Encapsulating Security Payload) provides secrecy
and integrity; expands on AH
• Adds ESP header and trailer; inserted after IP
header in transport or before in tunnel mode
Transport
mode
Tunnel
mode
Whole IP packet is wrapped
Firewalls
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
A firewall protect an internal network by filtering packets
• Can have stateful rules about what packets to pass
− E.g., no incoming packets to port 80 (Web) or 25 (SMTP)
• DMZ helps to separate internal from external traffic
− E.g., run Web and Email servers there
DMZ
(DeMilitarized Zone)
Virtual Private Networks (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
VPNs (Virtual Private Networks) join disconnected islands
of a logical network into a single virtual network
• Islands are joined by tunnels over the Internet
VPN joining London, Paris, Home, and Travel
Tunnel
Virtual Private Networks (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
VPN traffic travels over the Internet but VPN hosts are
separated from the Internet
• Need a gateway to send traffic in/out of VPN
Topology as seen from inside the VPN
Wireless Security (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Wireless signals are broadcast to all nearby receivers
• Important to use encryption to secure the network
• This is an issue for 802.11, Bluetooth, 3G, …
Common design:
1. Clients have a password set up for access
2. Clients authenticate to infrastructure and set up a
session key
3. Session key is then used to encrypt packets
Wireless Security (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
802.11i session key setup handshake (step 2)
− Client and AP share a master key (password)
− MIC (Message Integrity Check) is like a signature
− KX(M) means a message M encrypted with key KX
Authentication Protocols
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Authentication verifies the identity of a remote party
• Shared Secret Key »
• Diffie-Hellman Key Exchange »
• Key Distribution Center »
• Kerberos »
• Public-Key Cryptography »
Shared Secret Key (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Authenticating with a challenge-response (first attempt)
• Alice (A) and Bob (B) share a key KAB
• RX is random, KX (M) is M encrypted with key KX
Bob knows
it’s Alice
Alice knows
it’s Bob
Challenge
Response
Shared Secret Key (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
A shortened two-way authentication (second attempt)
• But it is vulnerable to reflection attack
Shared Secret Key (3)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Trudy impersonates Alice to Bob with reflection attack
• Second session gets Bob to give Trudy the response
Bob thinks
he is talking
to Alice now
Shared Secret Key (4)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
First attempt is also vulnerable to reflection attack!
• Trudy impersonates Bob to Alice after Alice initiates
Alice thinks
she is talking
to Bob again
Alice thinks
she is talking
to Bob
Shared Secret Key (5)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Moral: Designing a correct authentication protocol is
harder than it looks; errors are often subtle.
General design rules for authentication:
1. Have initiator prove who she is before responder
2. Initiator, responder use different keys
3. Draw challenges from different sets
4. Make protocol resistant to attacks involving second
parallel session
Shared Secret Key (6)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
An authentication protocol that is not vulnerable
• HMAC (Hashed Message Authentication Code) is an
authenticator, like a signature
Bob knows
it’s Alice
Alice knows
it’s Bob
Diffie-Hellman Key Exchange (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Lets two parties establish a shared secret
• Eavesdropper can’t compute secret gxy mod n
without knowing x or y
Shared secretShared secret
Diffie-Hellman Key Exchange (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
But it is vulnerable to a man-in-the-middle attack
• Need to confirm identities, not just share a secret
gxz mod n gxz mod n
gzy mod n gzy mod n
KDC – Key Distribution Center (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Trusted KDC removes need for many shared secrets
• Alice and Bob share a secret only with KDC (KA, KB)
• End up with KS, a shared secret session key
• First attempt below is vulnerable to replay attack in
which Trudy captures and later replays messages
Alice has
session key KS
Bob has
session key KS
Trudy can send this later to
impersonate Alice to Bob
Key Distribution Center (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The Needham-Schroeder authentication protocol
• Not vulnerable to replays; doesn’t use timestamps
Alice knows
it’s Bob
Bob knows
it’s Alice
Key Distribution Center (3)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
The Otway-Rees authentication protocol (simplified)
• Slightly stronger than previous; Trudy can’t replay
even if she obtains previous secret KS
Kerberos
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Kerberos V5 is a widely used protocol (e.g., Windows)
• Authentication includes TGS (Ticket Granting Server)
TicketGets session
key KS Alice asks for a secret
shared with Bob
Gets shared
key KAB
Bob gets
key KAB
Ticket
Knows it’s Bob
Knows it’s
Alice
Public-Key Cryptography
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Mutual authentication using public-key cryptography
• Alice and Bob get each other’s public keys (EA, EB)
from a trusted directory; shared KS is the result
Web Security
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Applications of security to the Web
• Secure naming »
• SSL—Secure Sockets Layer »
Many other issues with downloaded code
Secure Naming (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
DNS names are included as part of URLs – so spoofing
DNS resolution causes Alice contact Trudy not Bob
Trudy sends
spoofed reply
Secure Naming (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
How Trudy spoofs the DNS for bob.com in more detail
• To counter, DNS servers randomize seq. numbers
DNS
cache at
Alice’s
ISP
Secure Naming (3)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
DNSsec (DNS security) adds strong authenticity to DNS
• Responses are signed with public keys
• Public keys are included; client starts with top-level
• Also optional anti-spoofing to tie request/response
• Now being deployed in the Internet
Resource Record set for bob.com.
Has Bob’s public key (KEY), and is signed by .com server (SIG)
SSL—Secure Sockets Layer (1)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
SSL provides an authenticated, secret connection
between two sockets; uses public keys with X.509
• TLS (Transport Layer Security) is the IETF version
SSL in the protocol stack
HTTPS means
HTTP over SSL
SSL runs on
top of TCP
and below
the application
SSL—Secure Sockets Layer (2)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Phases in SSL V3 connection establishment (simplified)
• Only the client (Alice) authenticates the server (Bob)
• Session key computed on both sides (EB, RA, RB)
SSL—Secure Sockets Layer (3)
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011
Data transmission using SSL. Authentication and
encryption for a connection use the session key.
End
Chapter 8
CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011