network security - central washington university» approaches using block ciphers –takes a n-bit...

72
Network Security Chapter 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

Upload: others

Post on 18-Mar-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Network Security - Central Washington University» 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

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

Page 2: Network Security - Central Washington University» 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

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

Page 3: Network Security - Central Washington University» 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

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

Page 4: Network Security - Central Washington University» 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

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 »

Page 5: Network Security - Central Washington University» 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

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.

Page 6: Network Security - Central Washington University» 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

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

Page 7: Network Security - Central Washington University» 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

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)

Page 8: Network Security - Central Washington University» 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

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.

Page 9: Network Security - Central Washington University» 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

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

Page 10: Network Security - Central Washington University» 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

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

Page 11: Network Security - Central Washington University» 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

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?

Page 12: Network Security - Central Washington University» 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

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?

Page 13: Network Security - Central Washington University» 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

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

Page 14: Network Security - Central Washington University» 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

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?

Page 15: Network Security - Central Washington University» 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

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.

Page 16: Network Security - Central Washington University» 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

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

Page 17: Network Security - Central Washington University» 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

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

Page 18: Network Security - Central Washington University» 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

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!

Page 19: Network Security - Central Washington University» 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

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

Page 20: Network Security - Central Washington University» 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

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

Page 21: Network Security - Central Washington University» 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

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.

Page 22: Network Security - Central Washington University» 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

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

Page 23: Network Security - Central Washington University» 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

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

Page 24: Network Security - Central Washington University» 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

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) »

Page 25: Network Security - Central Washington University» 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

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

Page 26: Network Security - Central Washington University» 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

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)

Page 27: Network Security - Central Washington University» 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

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

Page 28: Network Security - Central Washington University» 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

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 »

Page 29: Network Security - Central Washington University» 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

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.

Page 30: Network Security - Central Washington University» 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

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

Page 31: Network Security - Central Washington University» 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

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

Page 32: Network Security - Central Washington University» 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

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

Page 33: Network Security - Central Washington University» 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

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?

Page 34: Network Security - Central Washington University» 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

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?

Page 35: Network Security - Central Washington University» 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

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

Page 36: Network Security - Central Washington University» 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

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

Page 37: Network Security - Central Washington University» 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

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’.

Page 38: Network Security - Central Washington University» 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

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 »

Page 39: Network Security - Central Washington University» 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

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?

Page 40: Network Security - Central Washington University» 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

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?

Page 41: Network Security - Central Washington University» 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

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

Page 42: Network Security - Central Washington University» 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

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

Page 43: Network Security - Central Washington University» 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

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 »

Page 44: Network Security - Central Washington University» 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

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

Page 45: Network Security - Central Washington University» 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

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

Page 46: Network Security - Central Washington University» 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

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)

Page 47: Network Security - Central Washington University» 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

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

Page 48: Network Security - Central Washington University» 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

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

Page 49: Network Security - Central Washington University» 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

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

Page 50: Network Security - Central Washington University» 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

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

Page 51: Network Security - Central Washington University» 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

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 »

Page 52: Network Security - Central Washington University» 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

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

Page 53: Network Security - Central Washington University» 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

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

Page 54: Network Security - Central Washington University» 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

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

Page 55: Network Security - Central Washington University» 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

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

Page 56: Network Security - Central Washington University» 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

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

Page 57: Network Security - Central Washington University» 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

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

Page 58: Network Security - Central Washington University» 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

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

Page 59: Network Security - Central Washington University» 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

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

Page 60: Network Security - Central Washington University» 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

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

Page 61: Network Security - Central Washington University» 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

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

Page 62: Network Security - Central Washington University» 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

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

Page 63: Network Security - Central Washington University» 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

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

Page 64: Network Security - Central Washington University» 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

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

Page 65: Network Security - Central Washington University» 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

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

Page 66: Network Security - Central Washington University» 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

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

Page 67: Network Security - Central Washington University» 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

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

Page 68: Network Security - Central Washington University» 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

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)

Page 69: Network Security - Central Washington University» 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

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

Page 70: Network Security - Central Washington University» 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

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)

Page 71: Network Security - Central Washington University» 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

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.

Page 72: Network Security - Central Washington University» 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

End

Chapter 8

CN5E by Tanenbaum & Wetherall, © Pearson Education-Prentice Hall and D. Wetherall, 2011