88
Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Embed Size (px)

Citation preview

Page 1: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Chapter 11Security Protocols

Network Security Threats

Security and Cryptography

Network Security Protocols

Cryptographic Algorithms

Page 2: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Chapter 11Security Protocols

Network Security Threats

Page 3: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Network Security

The combination of low-cost powerful computing and high-performance networks is a two-edged sword: Many powerful new services and applications are enabled But computer systems and networks become highly

susceptible to a wide variety of security threats

Network security involves countermeasures to protect computer systems from intruders Firewalls, security protocols, security practices We will focus on security protocols

Page 4: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Threats, Security Requirements, and Countermeasures

Network Security Threats Eavesdropping, man-in-the-middle, client and server

imposters Denial of Service attacks Viruses, worms, and other malicious code

Network Security Requirements Privacy, Integrity, Authentication, Non-Repudiation,

Availability

Countermeasures Communication channel security Border security

Page 5: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Security Requirements

Security threats motivate the following requirements: Privacy: information should be readable only by

intended recipient Integrity: recipient can confirm that a message has

not been altered during transmission Authentication: it is possible to verify that sender

or receiver is who he claims to be Non-repudiation: sender cannot deny having sent

a given message. Availability: of information and services

Page 6: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Key Security ConceptsKey Security Concepts

Page 7: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client ServerRequest

Response

replay

Eavesdropping

Information transmitted over network can be observed and recorded by eavesdroppers (using a packet sniffer)

Information can be replayed in attempts to access server Requirements: privacy, authentication, non-repudiation

Page 8: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Imposter

Server

Client Imposter

Imposters attempt to gain unauthorized access to server Ex. bank account or database of personal records For example, in IP spoofing imposter sends

packets with false source IP address Requirements: privacy, authentication

Page 9: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Attacker Server

Denial of Service Attack

Attacker can flood a server with requests, overloading the server resources Results in denial of service to legitimate clients

Distributed denial of service attack on a server involves coordinated attack from multiple (usually hijacked) computers

Requirement: availability

Page 10: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Server Imposter

Server Imposter

An imposter impersonates a legitimate server to gain sensitive information from a client E.g. bank account number and associated user

password Requirements: privacy, authentication, non-

repudiation

Page 11: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client ServerMan in

the middle

Man-in-the-Middle Attack

An imposter manages to place itself as man in the middle convincing the server that it is legitimate client convincing legitimate client that it is legitimate server gathering sensitive information and possibly hijacking

session Requirements: integrity, authentication

Page 12: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Server Imposter

Malicious Code

A client becomes infected with malicious code Opening attachments in email messages Executing code from bulletin boards or other sources

Virus: code that, when executed, inserts itself in other programs

Worms: code that installs copies of itself in other machines attached to a network

Many variations of malicious code Requirements: privacy, integrity, availability

Page 13: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Countermeasures

Secure communication channels

Encryption Cryptographic

checksums and hashes Authentication Digital Signatures

Page 14: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Countermeasures

Secure borders Firewalls Virus checking Intrusion detection Authentication Access Control

Page 15: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Chapter 11Security Protocols

Security and Cryptography

Page 16: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Cryptography

Encryption: transformation of plaintext message into encrypted (and unreadable) message called ciphertext

Decryption: recovery of plaintext from ciphertext

Cipher: algorithm for encryption & decryption

A secret key is required to perform encryption & decryption

Page 17: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Substitution Ciphers

Substitution Cipher: Map each letter or numeral into another letter of numeral:a b c d e f g h i j k l m n o p q r s t u v w x y z z y x w v u t s r q p o n m l k j i h g f e d c b a

Example: hvxfirgb security

Substitution ciphers are easy to break Take histogram of frequency of occurrence of

letters in a ciphertext message Match to known frequencies of letters

Page 18: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Transposition Cipher

Transposition Cipher: Rearrange order of letters/numerals in a message using a particular rearrangement: interchange character k with character k+1

Example: security esuciryt

Transposition Ciphers are easy to break Suppose plaintext and ciphertext are known Matching of letters in plaintext and ciphertext will

reveal transposition mapping

Page 19: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

EK(.)

Key K Key K

Plaintext P Ciphertext C=EK(P) P

Encryption Decryption

DK(.)

Secret Key Cryptography

Sender encrypts P by applying mapping EK which depends on secret key K: C = EK(P)

Receiver decrypts C by applying inverse mapping DK which also depends on K: DK(EK(P)) = P

Page 20: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

What makes a good cipher? Algorithm should be easy to implement and deploy

on large scale Algorithm should be difficult to break:1. Number of keys should be very large

Attacker cannot try all possible keys2. The secret key should be very hard to derive from

intercepted messages Even if a large number of plaintext & corresponding

cyphertexts are known to the attacker Examples of secret key methods discussed later:

Data Encryption Standard (DES) and Triple DES Advanced Encryption Standard (AES)

Page 21: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Security using Secret Key Cryptography

Privacy: secret key renders messages confidential

Integrity: alteration of the cyphertext will be detected, because the decrypted message will be gibberish When privacy is not required, encryption of the

entire message is overkill because much processing involved

We will see that cryptographic checksums provide integrity and require less processing

Page 22: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Sender (John)

Receiver (Jane)Ek(r)

r

Ek(r´)

John to Jane, “let’s talk”

Authentication using Secret Key Cryptography

Send message identifying self Send response with

encrypted r Can now authenticate receiver

by issuing a challenge

Reply with challenge that contains random number r, nonce = number once

Apply secret key to decrypt message. If decrypted number is r then the transmitter is authenticated

Page 23: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Cryptographic Checksums and Hashes

Transmitter calculates a fixed number of bits (crypto checksum/hash) that depends on secret key K: HK(P)

Receiver recalculates hash from received message & compares to received hash

Message

CryptoChecksumCalculator

CrytoChk Message

K

P P

HK(P)

Page 24: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

What makes a Good Hash?

To be secure, it must be very difficult to find a message that generates a given hash If not difficult, an attacker could produce a message and

corresponding hash that would be accepted as valid Suppose message is M bits long and hash is m bits

long, and m<<M For each given hash value there are 2M/m messages that

give that hash How long does it take to find a match? Probability that a random message generates given hash is

2-m since there are 2m hashes Mean # tries to find given hash is: 2m

Page 25: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Example

M = 1000, m = 128 Number of possible messages: 21000

Number of possible hashes: 2128

For each hash value there are 21000/2128 = 2872 messages that generate the hash

A randomly selected message produces a desired hash value with probability 2-128

If each attempt requires 1 microsecond, time to find matching message to a hash is:2128x1 microsecond = 225 years

Page 26: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Some Hashing Algorithms Message Digest 5 (MD5)

Pad message to be multiple of 512 bits Initialize 128 buffer to given value Modify buffer content according to next 512 bits Repeat until all blocks done Buffer holds 128 bit hash

Keyed MD5 Pad message to be multiple of 512 bits Attach and append secret key to padded message prior to

performing hash function Could also append/attach other information such as sender ID

Secure Hash Algorithm 1 (SHA-1) Produce a 160-bit hash; more secure than MD5 Keyed version available

Page 27: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Hashed Message Authentication Code Method

HMAC improves strength of a hash code Pad secret key with zeros to length of 512 bits

and X-OR with 64 repetitions of 00110110 Pad message to multiple of 512 bits Calculate hash of padded key followed by padded

message, 128 bits for MD5, 160 bits for SHA-1 Pad hash to 512 bits Pad secret key with zeros to 512 bits and X-OR

with 64 repetitions of 01011010 Calculate hash of padded key and padded hash Result is final hash

Page 28: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

EK1(.)

Public key K1 Private key K2

Plaintext P Ciphertext C = EK1(P) P

Encryption Decryption

DK2(.)

Public Key Cryptography

Public key cryptography provides privacy using two different keys: Public key K1 available to all for encrypting

messages to a certain user: C = EK1(P) Private key K2 for user to decrypt messages:

P = DK2(EK1(P))

Page 29: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

What makes a good public key algorithm?

EK1 and DK2 should be readily implementable Inverse relationship should hold:

P = DK2(EK1(P)) and sometimes P = EK1(DK2(P))

K1 is a relatively small number of bits and K2 is usually a large number of bits

It is extremely difficult to decrypt EK1(P) without K2

It should not be possible to deduce K2 from K1 Example: RSA public key cryptography (discussed

later)

Page 30: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Integrity using Public Key Cryptography

Integrity: Any one can send messages using public key, so

integrity not assured directly For integrity, transmitter:

1. encodes P with its private key K2΄ to obtain P΄ = DK2΄ P)

2. encodes P΄ using receiver’s public key: C = EK1(P΄) Receiver:

1. decrypts C, DK2(EK1(P΄)) = P΄

2. decrypts P΄ using transmitters public key, EK1΄(DK2΄(P)) = P

3. Only the transmitter could have sent this message.

Page 31: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Sender Receiver

EK1(r)

r

John to Jane, “let’s talk”

Authentication using Public Key Cryptography

Transmitter identifies itself Receiver sends a nonce encoded using the sender’s

public key in a challenge message Transmitter uses its private key to recover the

nonce, and it returns the unencrypted nonce Only the holder of the private key can find the nonce

Page 32: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Digital Signatures using Public Key Cryptography

Digital signatures provide nonrepudiation User “signs” a message that cannot be repudiated

Digital signature obtained as follows: Transmitter obtains a hash of the message Transmitter encrypts the hash using its private key; result

is the digital signature Transmitter sends message and signature

To check the signature: Receiver obtains hash of message Receiver decrypts signature using sender’s public key Receiver compares hash computed from message and

hash obtained from signature Procedure also ensures message integrity

Page 33: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Secret Key vs. Public Key

Public key systems have more capabilities Secret key: privacy, integrity, authentication Public key: all of above + digital signature

Public key algorithms are more complex Require more processing and hence much slower than

secret key

Practice: Use public key method during session setup to establish a

session key Use secret key cryptography during session using the

session key

Page 34: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Example: Pretty Good Privacy (PGP)

PGP developed by Phillip Zimmerman to provide secure email http://www.philzimmermann.com/index.shtml http://www.pgpi.org

Notorious for becoming publicly available for download over Internet in violation of US export restrictions

Uses public key cryptography to provide Privacy, integrity, authentication, digital signature

De facto standard for email security Also provides privacy and integrity for stored files

Page 35: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Key Distribution in Secret Key Systems

Every pair of users requires a separate shared secret key N(N – 1) keys for N users; Grows quickly with N Similar to full-mesh connections for N users

Solution: Introduce Key Distribution Centers Each users has shared key with the KDC User A has shared key KKA with KDC User B has shared key KKB with KDC KDC provides shared key when A & B need to

communicate

Page 36: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

KDC

A B

C D

Key Distribution Center User A contacts the KDC to

request a key for use with user B.

KDC:

Authenticates user A

Selects a key KAB and encrypts it to produce EKA(KAB) and EKB(KAB).

KDC sends both versions of the encrypted key to A.

User A contacts user B and provides a ticket in the form of EKB(KAB)

Users A & B both have KAB

requestEKA(KAB), EKB(KAB)

challengeresponse

EKB(KAB)

Page 37: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Example: Kerberos Kerberos: authentication service for users

to access servers over network KDC has secret key with every user At login, user supplies ID and password

KDC authenticates user & generates session key

Session key & ticket-granting ticket (TGT) is sent to user encrypted using shared secret key

To access a particular server, user sends request to KDC with server name and TGT KDC decrypts TGT to recover session key

& then returns ticket to client for desired server

Page 38: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Key Distribution in Public Key Systems

In public key only one pair of keys per user Key distribution problem: How to determine whether

an advertised public key is not from an imposter? Certification Authority (CA)

Issues digitally signed certificate that provides User’s name & public key Certificate serial #, expiration date

Certificates can be stored in publicly accessible directories To communicate with B, a user contacts the CA to obtain

the certificate for B Users are configured to have the CA’s public key, which

they use to verify the digital signature

Page 39: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Transmitter A

Receiver B

T = gx

R = gy

K = Rx mod p

= gxy mod p

K = Ty mod p

= gxy mod p

Key Generation: Diffie-Hellman Exchange

Generate keys instead of distributing keys Diffie-Hellman exchange to create a shared key A & B pick p a large prime #, and generator g < p

A picks x and sends T = gx to B; B picks y and sends R = gy Secret key is K = (gx)y = (gy)x which are calculated by A & B

Eavesdropper that obtains p, g, T, R cannot obtain x and y because x = logT and y = logR are extremely difficult to solve

Page 40: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Transmitter A

Man in the

middle C

Receiver B

T

R'

T'

R

K1 = R´x

= gxy´

K1 = T y´

= gxy´

K2 = R x´ K2 = T´ y

= gx´ y = gx´ y

Man-in-the-Middle Attack

An intruder C can interpose itself between A & B C establishes a shared key K1 with A and a shared key K2 with

B C can then intercept, decipher, and re-encrypt all

communications Need mutual authentication between A & B Alternative: Community agrees on g & p; users publish their

T, R, …

Page 41: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Diffie-Hellman Complexity

Diffie-Hellman exchange involves computation of powers of large numbers Large number of multiplications implies heavy

computational burden Susceptible to denial-of-service attacks

Page 42: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Chapter 11Security Protocols

Network Security Protocols

Page 43: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Direct Connections to Internet

Computers A & B communicate across the Internet Exposure to eavesdropping, imposters, DoS Can encrypt some transmitted information

But IP headers need to be visible to routers & hence others Eavesdropper can gather variety of usage information & deduce

nature of interaction Choice of which layer to apply security: IP, transport, or

application layer

Internet

A B

Page 44: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Gateway-to-Gateway

Computers A and B have gateways interposed between their internal network and Internet

Gateway can be a firewall Controls external access to internal network Packet filtering according to various header fields

IP addresses, port numbers, ICMP types, fields within payload

Secure tunnels can be established between gateways All internal information including headers can be encrypted

Internet

A B

Page 45: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Remote user to Gateway

Mobile host needs access to internal network Gateway must provide user with access while

barring intruders from accessing internal network May also need to protect identity of mobile user IP-address of mobile user changes

Internet

Page 46: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Firewall Options

Firewalls can operate at different layers IP-layer filtering cannot operate on payload contents

Circuit-Level Gateways Direct client-to-server TCP connections not allowed Relays TCP segments between actual client & actual

server

Application-Level Gateways or Proxies Interposed between actual client and actual server Performs authentication and determines what features are

available to client Monitors, filters & relays messages

Page 47: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Protocol Layer Options

Security Services can be provided at different layers of the protocol stack

Data Link Layer security Point-to-point security between directly-connected devices,

e.g. wireless LAN security

IP-Layer security Security service between IP-layer & Transport layer End-to-end security across an internet, e.g. IPsec

Transport Layer security Security service between Transport & Application Layers E.g. Secure Sockets Layer & Transport Layer Security

Page 48: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Network Security Services

Integrity Service: information received from network has not been altered during transmission

Authentication Service: the receiver can authenticate that information came from purported sender

Privacy Service: information is readable only by intended recipient

In applications that require network security, integrity & authentication essential; privacy not always justified

Page 49: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

IP Security (IPsec).

IPsec defined in RFCs 2401, 2402, 2406 Provides authentication, integrity, confidentiality, and

access control at the IP layer Provides a key management protocol to provide

automatic key distribution techniques. Security service can be provided between a pair of

communication nodes, where the node can be a host or a gateway (router or firewall).

Two protocols & two modes to provide traffic security: Authentication Header and Encapsulating Security Payload Transport mode or tunnel mode

Page 50: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Security Association

A Security Association (SA) is a logical simplex connection between two network-layer entities

Two SA’s required for bidirectional secure communication

SA is specified by A unique identifier Security services to be used Cryptographic algorithms to be used How shared keys will be established Other attributes such as lifetime

SA negotiated before security service begins

Page 51: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Integrity & Authentication Service

Integrity can be ascertained by sending a cryptographic checksum or hash of message

Authentication also provided if hash covers: Shared secret key, sender’s identity & message Fields that are changed while packet traverses Internet are

set to zero in calculation of hash To protect against replay attacks, message should

carry a sequence number that is covered by the hash Receiver accepts a packet only once Receiver maintains a window of packets it accepts

Receiver recalculates hash and compares to hash in received packet

Page 52: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Authentication Header

Inserted between regular header & payload Packet header contains field indicating

presence of authentication header Authentication header includes:

Security association ID Sequence number Cryptographic hash

Packet header

Authentication header

Packet payload

Authenticated except for changeable fields

Page 53: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Tunneling

A tunnel can be created by encapsulating a packet within another packet Inner packet header carries original source address Entire contents of inner packet covered by hash Outer packet header carries gateway’s address

New header

Authentication header

Packet payload

Authenticated except for changeable fields in new header

Original header

In tunnel mode

Internet

Tunnel

Page 54: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Privacy Service

Privacy requires encryption of message Encryption header identifies security association &

sequence number Encryption can cover payload + padding:

Packet + pad payload

Packet header

Encryption header

Encrypted

Encrypted

Packet + pad payload

New header

Authentication header

Encryption header

Authentication header can be used to detect alteration of any non-changeable fields & protect against replay attacks

Page 55: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

In tunnel mode

New header

Encryption header

Original header

Encrypted

Packet payload

Privacy Service in Tunnel Mode

In tunnel mode, entire original packet is encrypted and unreadable to eavesdroppers All original packet header fields are unreadable Only gateway packet header is visible

It is also possible to use tunnel mode between trusted routers while traversing untrusted segments of the Internet Trusted routers can decrypt inner packet & perform routing

Page 56: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Setting up a Security Association

To setup security association, computers must: Agree on security services that will be provided Agree on cryptographic algorithms Authenticate each other Establish a shared secret key

Last two steps are difficult; possible approaches: Manual set up of shared key between pair of users Use Key Distribution Center Contact a Certificate Authority

Internet Key Exchange (RFC 2409) for IPsec Assumes parties have a name/identity for other party as

well as a pre-established shared secret (secret key or private key)

Page 57: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Internet Key Exchange (IKE)

Initiator Host Responder Host

HDR, SACookie Request

HDR, SACookie Response

Contains Ci

Proposes Security

Association options

Contains Ci & Cr

Selects SA options

Select random # Ci:initiator’s cookie

Check to see if Ci already in use; If not, generate Cr, responder’s cookie;Associate Cr with initiator’s address

Check Ci & address against list; Associate (Ci, Cr) with SA; record SA as “unauthenticated”

Page 58: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Internet Key Exchange

Initiator Host Responder Host

HDR, KE, NiKey Request

HDR, KE, Nr

Key Response

T=gx mod p Nonce NiInitiate Diffie-Hellman exchange

Check responder cookie, discard if not valid; If valid identify SA with (Ci, Cr) & record as “unauthenticated”R=gy mod p Nonce Nr

Calculate K=(gy)x mod p Calculate K=(gx)y mod p

Calculate secret string of bits SKEYID known only to initiator & responder

Calculate secret string of bits SKEYID known only to initiator & responder

Page 59: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Internet Key Exchange

Initiator Host Responder Host

HDR, {IDi, Sigi}Signature Request

HDR, {IDr, Sigr}Signature Request

Prepare signature based on SKEYID, T, R, Ci, Cr, the SA field, initiator ID

SKEYID, T, R, Ci,

Cr, SA, IDiHash of info

in HDR

encrypted

Authenticates initiator comparing decrypted hash to recalculated hash.If agree, SA declared authenticated.

Prepares signature based on SKEYID, T, R, Ci, Cr, the SA field, responder IDr

SKEYID, T, R, Ci, Cr, SA, IDr

Hash of info in HDR

Authenticate initiator. If successful, SA declared authenticated.

Page 60: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

SKEYID & Cookies

SKEYID for authentication, based on: Shared key that results from Diffie-Hellman Pre-shared key

Pre-configured secret key Private part of a public key pair

Nonces and/or cookies

Cookies To counteract denial-of-service attacks A user that wants to make a connection requests must first

request a cookie Connections requests are only accepted from users that

have a valid cookie, and hence that must receive packets at the IP address from which they sent the request

Page 61: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

IPv4 Header AH Upper Layer (e.g., TCP or UDP)

IPsec Authentication Header

Authentication header (AH) placed after headers that are examined at every hop

Presence of AH indicated by protocol value = 51 in IPv4 header

Authentication performed over all fields including IP header, except fields that change at every hop

Page 62: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Next Header Length Reserved

Security Parameters Index

0 8 16 31

Sequence Number

Authentication Data

Authentication Header Format

Format used in IPv4 and IPv6 Next Header indicates next payload after AH Length of Authentication data in multiples of 32 bits SPI = unique ID for security association Sequence number for anti-replay protection Authentication data contains result of authentication

computation

Page 63: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Encapsulating Security Payload

ESP provides: Integrity & authentication service Privacy service by encryption of payload

Authentication data at end is optional Placement at ends makes implementation simpler

IPv4 Header ESP Upper Layer (e.g., TCP or UDP) HMAC

Page 64: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Security Parameters Index

0 16 24 31

Sequence Number

Payload Data

Padding

Pad Length Next Header

Authentication Data

ESP Header Format

Authenticated coverage from SPI until next header field Encrypted coverage from payload data field until next header Protocol type = 50 Next header field is encrypted, so transport type not visible

Page 65: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Secure Sockets Layer (SSL)

SSL developed by Netscape Communications Operates on top of TCP Provides secure connections

HTTP, FTP, telnet, … Electronic ordering & payment; e-mail SSL 3.0 submitted to IETF for standardization

TLS standardized by IETF (RFC 2246) Slight differences with SSL 3.0

Page 66: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Transport Layer Security (TLS)

TLS protocols operate at two layers TLS Record Protocol operates on top of TCP Protocols on top of TLS Record Protocol

TLS Handshake Protocol TLS Change Cipher Specification Protocol TLS Alert Protocol

TCP

TLS Record Protocol

HandshakeProtocol

Change cipher spec Protocol

AlertProtocol

HTTPProtocol

IP

Page 67: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

TLS Record Protocol

TLS Record protocol provides Privacy service through secret key encryption

Encryption algorithm is negotiated at session setup Secret keys generated per connection using another

protocol such as Handshake protocol Reliability service through keyed message

authentication code Hash algorithm negotiated at session setup Operates without hash only during session negotiation

Page 68: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

TLS Handshake Protocol TLS Handshake protocol used by client & server

Negotiate protocol version, encryption algorithm, key generation method

Can authenticate each other using public key algorithm Client & server establish a shared secret Multiple secure connections can be set up after session

setup Session specified by following parameters

Session Identifier: byte sequence selected by server Peer Certificate: certificate of peer Compression method: used prior to encryption Cipher spec: encryption & message authentication code Master Secret: 48-byte secret shared by client & server Is resumable?: flag indicating if new connections can be

initiated

Page 69: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Server

ClientHello

TLS Handshake Process

ServerHello

Certificate*

ServerKeyExchange*

ServerHelloDone

Request connectionIncludes:Version #; Time & date;Session ID (if resuming);Ciphersuite (combinationsof key exchange, encryption, MAC, compression)

Send ServerHello if there is acceptable Ciphersuite combination; else, send failure alert & close connection.* Optional messages

Server Certificate

Server part of handshake done

Server part of key exchange:Diffie-Hellman, gx;; RSA, public key

ServerHello includes:Version #; Random number;Session ID ; Ciphersuite & compression selections

Compute shared key

May contain public key

New CipherSpec pending

TLS Record protocol initially specifies no compression or encryption

Page 70: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Server

ClientKeyExchange

[ChangeCipherSpec]

Finished

Client’s part of key agreement:Diffie-Hellman gy; RSA, random #s

Change Cipher protocol message notifies server that subsequent records protected under new CipherSpec & keys

Server changes CipherSpec

Hash using new CipherSpec; allows server to verify change in Cipherspec

Handshake Protocol continued

Compute shared key

Verify CipherSpec

Page 71: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Server

Application Data

Handshake Protocol completion

[ChangeCipherSpec]

Finished

Notify client that subsequent records protected under new CipherSpec & keys

Client changes CipherSpec

Hash using new CipherSpec; Client verifies new CipherSpec

TLS Record protocol encapsulates application-layer messages• Privacy through secret key cryptography• Reliability through MAC• Fragmentation of application messages into blocks for compression/encryption• Decompression/Decryption/Verification/Reassembly

Page 72: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client ServerClientHello

TLS Handshake with Client Authentication

ServerHello

Certificate*ServerKeyExchange*

CertificateRequest

ServerHelloDone

Certificate*

ClientKeyExchange

CertificateVerify*

[ChangeCipherSpec]

Finished

Application Data

[ChangeCipherSpec]

Finished

Server requests certificate if client needs to be authenticated

Client sends suitable certificate

If server finds certificate unacceptable; server can send fatal failure alert message & close connection

Client prepares digital signature based on messages sent using its private key

Server verifies client has private key

Page 73: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

TLS 1.0 & SSL 3.0 Compatibility

TLS 1.0 allows backwards compatibility with SSL 3.0

When TLS client sends ClientHello to SSL server: Client sends TLS message with {3, 1} in version field to

indicate it also supports SSL 3.0 Server that supports SSL 3.0 will respond with SSL 3.0

ServerHello message

A TLS server that handles SSL 3.0 clients Accepts SSL 3.0 ClientHello messages & responds with

SSL 3.0 Server Hello message if client message contains {3,0} in version field indicating that it only supports SSL 3.0

Page 74: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Client Hello Message

Page 75: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

ServerHello

Page 76: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

SSL Message Exchange

Page 77: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Chapter 11Security Protocols

Cryptographic Algorithms

Page 78: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Data Encryption Standard

DES adopted by U.S. National Bureau of Standards in 1977 Most widely-used secret key system Efficient hardware implementation

Encryption: Electronic Codebook (ECB) Mode Message broken into 64-bit blocks Each 64-bit plaintext block encrypted separtely into 64-bit

cyphertext Original version of DES uses a 56-bit key

Decryption: Encryption operations performed in reverse order

Page 79: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Initial permutation

Iteration 1

Iteration 2

Iteration 16

32-bit swap

Inverse permutation

64-bit plaintext

64-bit ciphertext

48-bit Key 1

Generate 16 per-iteration keys

56-bit key

48-bit Key 2

48-bit Key 16

DES Algorithm

Initial permutation is independent of key

Final permutation is inverse of initial permutation

Penultimate step swaps 32-bits on left with 32-bits on the right

Intermediate 16 iterations apply a different key that is derived from the original 56-bit key

Page 80: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

DES Iteration 64-bit block divided into Li –1

and Ri –1 halves Left output Li = Ri –1 Right output

Ri = Li –1 XOR f(Ri –1, Ki) bitwise XOR

f(.,.) as follows: Ri –1 expanded to 48 bits

using fixed re-ordering & duplication pattern

XORed with Ki Each resulting group of 6-

bits is mapped into 4-bit output according to substitution mapping

Li-1 Ri-1

L1 Ri

Li-1 f(Ri-1, K)

Page 81: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Cipher Block Chaining

ECB mode encrypts 64-bit blocks independently Attacker can use knowledge about pattern in

message to attack encrypted sequence of blocks Cipher Block Chaining (CBC) introduces

dependency between consecutive blocks Current plaintext block is XORed with preceding

ciphertext block First plaintext block XORed with an initialization

vector that is transmitted to receiver in ciphertext

Page 82: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Decrypt

P1

C1

IV

Decrypt

P2

C2

Decrypt

P3

C3(b) Decryption

Encrypt

P1

C1

Encrypt

P2

C2

Encrypt

P3

C3

IV

(a) Encryption

Cipher Block Chaining

Page 83: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

DES Security

DES vulnerable to brute-force attack 56-bit key is too short Has been broken in less than one day using a specially-

designed computer Triple-DES (3DES)

Provides better security Uses two 56-bit keys

C = EK1(DK2(EK1(P)))

P = DK1(EK2(DK1(P))) Instead of “triple encryption”, use encryption-decryption-

encryption If K1 = K2, reduces to original DES

Page 84: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Advanced Encryption Standard

AES selected in 2001 by U.S. NIST (National Institute of Standards & Technology) Developed by Rijmen and Daemen Secret key system Encryption of 128-bit blocks with keys of size 128, 192, or

256 bits Software & efficient hardware implementation 3.4x1038 keys vs. 7.2x1016 keys for 56-bit DES

AES is gradually replacing DES/3DES See:

http://csrc.nist.gov/CryptoToolkit/aes/

Page 85: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

RSA Public Key Algorithm

Named after Rivest, Shamir, and Adleman Modular arithmetic & factorization of large

numbers Let n = pq, where p & q are two large numbers

n typically several hundred bits long, i.e. 512 bits Plaintext must be shorter than n

Find e relatively prime to (p – 1)(q – 1) i.e. e has no common factors with (p – 1)(q – 1) Public key is {e,n}

Let d be multiplicative inverse of e de = 1 modulo (p – 1)(q – 1) Private key is {d,n}

Page 86: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

Encryption & Decryption

Fact: For P<n and n, p, q, d as above:Pde mod n = P mod n

Encryption:C = Pe mod n

Result is number less than n and is represented by same number of bits as key

Decryption:Cd mod n = Ped mod n = P mod n = P

Security stems from fact that it is very difficult to factor large numbers n, and with e to then determine d

Page 87: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

RSA Example

Let p = 5, q = 11 n = pq = 55 and (p – 1)(q – 1) = 40

Let e = 7, which is relatively prime to 40 7d mod 40 = 1, gives d = 23

Public key is {7, 55} Private key is {23, 55}

Page 88: Chapter 11 Security Protocols Network Security Threats Security and Cryptography Network Security Protocols Cryptographic Algorithms

RSA Example continued

Encrypt “RSA”: R=18, S=19, A=1C1 = 187 mod 55 = 184+2+1 mod 55

= (18 mod 55) (182 mod 55) (184 mod 55) mod 55 = (18) (324 mod 55) (184 mod 55) mod 55 = (18) (49) (492 mod 55) mod 55 = (18)(49)(36) mod

55 = 31752 mod 55 = 17

C2 = 197 mod 55 = 24

C3 = 17 mod 55 = 1 Decrypt

1723 mod 55 = 1716+4+2+1 mod 55 =182423 mod 55 = 19123 mod 55 = 1