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



Similar documents
Network Security [2] Plain text Encryption algorithm Public and private key pair Cipher text Decryption algorithm. See next slide

CS 356 Lecture 27 Internet Security Protocols. Spring 2013

Communication Systems 16 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2009

Communication Systems SSL

Security. Contents. S Wireless Personal, Local, Metropolitan, and Wide Area Networks 1

Communication Security for Applications

Chapter 10. Network Security

Web Security Considerations

Network Security Part II: Standards

Chapter 7 Transport-Level Security

APNIC elearning: IPSec Basics. Contact: esec03_v1.0

INF3510 Information Security University of Oslo Spring Lecture 9 Communication Security. Audun Jøsang

Transport Level Security

Overview. SSL Cryptography Overview CHAPTER 1

Secure Sockets Layer

Chapter 17. Transport-Level Security

Real-Time Communication Security: SSL/TLS. Guevara Noubir CSU610

: Network Security. Name of Staff: Anusha Linda Kostka Department : MSc SE/CT/IT

7 Network Security. 7.1 Introduction 7.2 Improving the Security 7.3 Internet Security Framework. 7.5 Absolute Security?

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP

Security vulnerabilities in the Internet and possible solutions

How To Understand And Understand The Ssl Protocol ( And Its Security Features (Protocol)

Managing and Securing Computer Networks. Guy Leduc. Chapter 4: Securing TCP. connections. connections. Chapter goals: security in practice:

Network Security Web Security and SSL/TLS. Angelos Keromytis Columbia University

Lecture 9 - Network Security TDTS (ht1)

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

Network Security Essentials Chapter 5

CSC 474 Information Systems Security

CSC Network Security

Outline. INF3510 Information Security. Lecture 10: Communications Security. Communication Security Analogy. Network Security Concepts

Authentication applications Kerberos X.509 Authentication services E mail security IP security Web security

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Security Protocols HTTPS/ DNSSEC TLS. Internet (IPSEC) Network (802.1x) Application (HTTP,DNS) Transport (TCP/UDP) Transport (TCP/UDP) Internet (IP)

Chapter 8. Cryptography Symmetric-Key Algorithms. Digital Signatures Management of Public Keys Communication Security Authentication Protocols

Cryptography and Network Security Sicurezza delle reti e dei sistemi informatici SSL/TSL

Lecture 10: Communications Security

Authenticity of Public Keys

The Secure Sockets Layer (SSL)

Overview of CSS SSL. SSL Cryptography Overview CHAPTER

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

INTERNET SECURITY: FIREWALLS AND BEYOND. Mehernosh H. Amroli

Chapter 8. Network Security

Security in Computer Networks

Outline. Transport Layer Security (TLS) Security Protocols (bmevihim132)

WEB Security & SET. Outline. Web Security Considerations. Web Security Considerations. Secure Socket Layer (SSL) and Transport Layer Security (TLS)

Computer and Network Security

SECURE SOCKETS LAYER (SSL)

Secure Socket Layer. Security Threat Classifications

Today s Topics SSL/TLS. Certification Authorities VPN. Server Certificates Client Certificates. Trust Registration Authorities

Cryptography and network security CNET4523

Module 8. Network Security. Version 2 CSE IIT, Kharagpur

Transport Layer Security Protocols

Chapter 8 Network Security. Slides adapted from the book and Tomas Olovsson

What is network security?

Announcement. Final exam: Wed, June 9, 9:30-11:18 Scope: materials after RSA (but you need to know RSA) Open books, open notes. Calculators allowed.

Protocol Rollback and Network Security

Chapter 32 Internet Security

EXAM questions for the course TTM Information Security May Part 1

Network Security. HIT Shimrit Tzur-David

Network Security Fundamentals

Cornerstones of Security

CS5008: Internet Computing

Chapter 7: Network security

CPS Computer Security Lecture 9: Introduction to Network Security. Xiaowei Yang

ECE 428 Network Security

APNIC elearning: Network Security Fundamentals. 20 March :30 pm Brisbane Time (GMT+10)

13 Virtual Private Networks 13.1 Point-to-Point Protocol (PPP) 13.2 Layer 2/3/4 VPNs 13.3 Multi-Protocol Label Switching 13.4 IPsec Transport Mode

Network Security. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross 8-1

Client Server Registration Protocol

Chapter 5: Network Layer Security

Security Engineering Part III Network Security. Security Protocols (I): SSL/TLS

Security. Friends and Enemies. Overview Plaintext Cryptography functions. Secret Key (DES) Symmetric Key

Network Security Technology Network Management

Network Security. Outline of the Tutorial

SSL/TLS. What Layer? History. SSL vs. IPsec. SSL Architecture. SSL Architecture. IT443 Network Security Administration Instructor: Bo Sheng

Properties of Secure Network Communication

Part III-b. Universität Klagenfurt - IWAS Multimedia Kommunikation (VK) M. Euchner; Mai Siemens AG 2001, ICN M NT

3.2: Transport Layer: SSL/TLS Secure Socket Layer (SSL) Transport Layer Security (TLS) Protocol

Network Security. Network Security. Security in Computer Networks

12/3/08. Security in Wireless LANs and Mobile Networks. Wireless Magnifies Exposure Vulnerability. Mobility Makes it Difficult to Establish Trust

IP Security. Ola Flygt Växjö University, Sweden

Internet Security Architecture

CSCI 454/554 Computer and Network Security. Topic 8.1 IPsec

Cryptography and Network Security IPSEC

Network Security (2) CPSC 441 Department of Computer Science University of Calgary

Security Protocols/Standards

NETWORK ADMINISTRATION AND SECURITY

Lecture 17 - Network Security

Content Teaching Academy at James Madison University

12/8/2015. Review. Final Exam. Network Basics. Network Basics. Network Basics. Network Basics. 12/10/2015 Thursday 5:30~6:30pm Science S-3-028

IPsec Details 1 / 43. IPsec Details

Securing IP Networks with Implementation of IPv6

Secure Socket Layer (SSL) and Transport Layer Security (TLS)

Security issues with Mobile IP

CSCE 465 Computer & Network Security

Computer Networks - CS132/EECS148 - Spring

Network Security. Lecture 3

Transcription:

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

Chapter 11 Security Protocols Network Security Threats

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

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

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

Eavesdropping replay Client Request Response Server 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, nonrepudiation

Client Imposter Client Imposter Server 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

Denial of Service Attack Attacker Server 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

Server Imposter Client 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, nonrepudiation

Man-in-the-Middle Attack Client Man in the middle Server 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

Malicious Code Client Server Imposter 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

Countermeasures Secure communication channels Encryption Cryptographic checksums and hashes Authentication Digital Signatures

Countermeasures Secure borders Firewalls Virus checking Intrusion detection Authentication Access Control

Chapter 11 Security Protocols Security and Cryptography

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

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

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

Secret Key Cryptography Encryption Decryption Plaintext P Ciphertext C=E K (P) P E K (.) D K (.) Key K Key K Sender encrypts P by applying mapping E K which depends on secret key K: C = E K (P) Receiver decrypts C by applying inverse mapping D K which also depends on K: D K (E K (P)) = P

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 keys 2. 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)

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

Authentication using Secret Key Cryptography John to Jane, let s talk Sender (John) r E k (r) Receiver (Jane) r E k (r ) 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

Cryptographic Checksums and Hashes Message CrytoChk Message P K Crypto Checksum Calculator H K (P) P Transmitter calculates a fixed number of bits (crypto checksum/hash) that depends on secret key K: H K (P) Receiver recalculates hash from received message & compares to received hash

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 2 M/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 2 m hashes Mean # tries to find given hash is: 2 m

Example M = 1000, m = 128 Number of possible messages: 2 1000 Number of possible hashes: 2 128 For each hash value there are 2 1000 /2 128 = 2 872 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: 2 128 x1 microsecond = 2 25 years

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

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

Public Key Cryptography Encryption Decryption Plaintext P Ciphertext C = E K1 (P) P E K1 (.) D K2 (.) Public key K1 Private key K2 Public key cryptography provides privacy using two different keys: Public key K1 available to all for encrypting messages to a certain user: C = E K1 (P) Private key K2 for user to decrypt messages: P = D K2 (E K1 (P))

What makes a good public key algorithm? E K1 and D K2 should be readily implementable Inverse relationship should hold: P = D K2 (E K1 (P)) and sometimes P = E K1 (D K2 (P)) K1 is a relatively small number of bits and K2 is usually a large number of bits It is extremely difficult to decrypt E K1 (P) without K2 It should not be possible to deduce K2 from K1 Example: RSA public key cryptography (discussed later)

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 = D K2 P) 2. encodes P using receiver s public key: C = E K1 (P ) Receiver: 1. decrypts C, D K2 (E K1 (P )) = P 2. decrypts P using transmitters public key, E K1 (D K2 (P)) = P Only the transmitter could have sent this message.

Authentication using Public Key Cryptography Sender John to Jane, let s talk E K1 (r) Receiver r 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

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

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

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

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 K KA with KDC User B has shared key K KB with KDC KDC provides shared key when A & B need to communicate

Key Distribution Center A E KB (K AB ) challenge request E KA (K response AB ), EKB(KAB) KDC C B D User A contacts the KDC to request a key for use with user B. KDC: Authenticates user A Selects a key K AB and encrypts it to produce E KA (K AB ) and E KB (K AB ). KDC sends both versions of the encrypted key to A. User A contacts user B and provides a ticket in the form of E KB (K AB ) Users A & B both have KAB

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

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

Key Generation: Diffie-Hellman Exchange T = g x Transmitter A R = g y Receiver B K = R x mod p = g xy mod p K = T y mod p = g xy mod p 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 = g x to B; B picks y and sends R = g y Secret key is K = (g x ) y = (g y ) 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

Man-in-the-Middle Attack Transmitter A K 1 = R x = g xy T R' K 1 = T y = g xy Man in the middle C T' R K 2 = R x An intruder C can interpose itself between A & B Receiver B K 2 = T y = g x y = g x y C establishes a shared key K 1 with A and a shared key K 2 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,

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

Chapter 11 Security Protocols Network Security Protocols

Direct Connections to Internet Internet A B 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

Gateway-to-Gateway Internet A B 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

Remote user to Gateway Internet 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

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

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

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

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

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

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

Authentication Header Packet Authentication header header Packet payload Authenticated except for changeable fields Inserted between regular header & payload Packet header contains field indicating presence of authentication header Authentication header includes: Security association ID Sequence number Cryptographic hash

Tunneling New Authentication Original header header header Packet payload Authenticated except for changeable fields in new header 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 In tunnel mode Internet Tunnel

Privacy Service Privacy requires encryption of message Encryption header identifies security association & sequence number Encryption can cover payload + padding: Packet header Encryption header Packet + pad payload Encrypted Authentication header can be used to detect alteration of any non-changeable fields & protect against replay attacks New Authentication Encryption header header header Packet + pad payload Encrypted

Privacy Service in Tunnel Mode New header Encryption header Original header Packet payload In tunnel mode Encrypted 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

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)

Internet Key Exchange (IKE) Initiator Host Select random # C i : initiator s cookie Cookie Request Contains C i Contains C i & C r HDR, SA Proposes Security Association options Selects SA options Responder Host Check to see if C i already in use; If not, generate C r, responder s cookie; Associate C r with initiator s address Check C i & address against list; Associate (C i, C r ) with SA; record SA as unauthenticated HDR, SA Cookie Response

Internet Key Exchange Initiator Host Responder Host Initiate Diffie- Hellman exchange T=g x mod p Nonce N i Key Request R=g y mod p HDR, KE, N i Nonce N r Check responder cookie, discard if not valid; If valid identify SA with (C i, C r ) & record as unauthenticated HDR, KE, N r Key Response Calculate K=(g y ) x mod p Calculate K=(g x ) 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

Internet Key Exchange Initiator Host Responder Host Prepare signature based on SKEYID, T, R, C i, C r, the SA field, initiator ID Signature Request SKEYID, T, R, C i, C r, SA, ID i HDR, {ID i, Sig i } encrypted Hash of info in HDR Authenticates initiator comparing decrypted hash to recalculated hash. If agree, SA declared authenticated. SKEYID, T, R, C i, C r, SA, ID r Hash of info in HDR Prepares signature based on SKEYID, T, R, C i, C r, the SA field, responder ID r Authenticate initiator. If successful, SA declared authenticated. HDR, {ID r, Sig r } Signature Request

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

IPsec Authentication Header IPv4 Header AH Upper Layer (e.g., TCP or UDP) 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

Authentication Header Format 0 8 16 31 Next Header Length Reserved Security Parameters Index Sequence Number Authentication Data 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

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

ESP Header Format 0 16 24 31 Security Parameters Index Sequence Number Payload Data Padding Authentication Data Pad Length Next Header 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

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

Transport Layer Security (TLS) Handshake Protocol Change cipher spec Protocol Alert Protocol HTTP Protocol TLS Record Protocol TCP IP 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

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

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

TLS Handshake Process Client TLS Record protocol initially specifies no compression or encryption Server Request connection Includes: Version #; Time & date; Session ID (if resuming); Ciphersuite (combinations of key exchange, encryption, MAC, compression) New CipherSpec pending May contain public key Compute shared key ClientHello * Optional messages ServerHello Certificate* ServerKeyExchange* Send ServerHello if there is acceptable Ciphersuite combination; else, send failure alert & close connection. ServerHello includes: Version #; Random number; Session ID ; Ciphersuite & compression selections Server Certificate Server part of key exchange: Diffie-Hellman, g x; ; RSA, public key ServerHelloDone Server part of handshake done

Handshake Protocol continued Client Server Client s part of key agreement: Diffie-Hellman g y ; RSA, random #s Change Cipher protocol message notifies server that subsequent records protected under new CipherSpec & keys ClientKeyExchange [ChangeCipherSpec] Compute shared key Server changes CipherSpec Hash using new CipherSpec; allows server to verify change in Cipherspec Finished Verify CipherSpec

Handshake Protocol completion Client Server Client changes CipherSpec Client verifies new CipherSpec [ChangeCipherSpec] Finished Notify client that subsequent records protected under new CipherSpec & keys Hash using new CipherSpec; Application Data 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

TLS Handshake with Client Authentication Client Client sends suitable certificate Client prepares digital signature based on messages sent using its private key ClientHello ServerHello Certificate* ServerKeyExchange* CertificateRequest ServerHelloDone Certificate* ClientKeyExchange CertificateVerify* [ChangeCipherSpec] Finished [ChangeCipherSpec] Finished Application Data Server Server requests certificate if client needs to be authenticated If server finds certificate unacceptable; server can send fatal failure alert message & close connection Server verifies client has private key

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

Client Hello Message

ServerHello

SSL Message Exchange

Chapter 11 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

DES Algorithm 64-bit plaintext 56-bit key Initial permutation Generate 16 per-iteration keys Iteration 1 Iteration 2 Iteration 16 32-bit swap Inverse permutation 64-bit ciphertext 48-bit Key 1 48-bit Key 2 48-bit Key 16 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

DES Iteration L i-1 R i-1 L i-1 f(r i-1, K) 64-bit block divided into L i 1 and R i 1 halves Left output L i = R i 1 Right output R i = L i 1 XOR f(r i 1, K i ) bitwise XOR f(.,.) as follows: R i 1 expanded to 48 bits using fixed re-ordering & duplication pattern L 1 R i XORed with K i Each resulting group of 6- bits is mapped into 4-bit output according to substitution mapping

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

Cipher Block Chaining (a) Encryption P1 P2 P3 IV Encrypt Encrypt Encrypt C1 C2 C3 (b) Decryption C1 C2 C3 Decrypt Decrypt Decrypt IV P1 P2 P3

DES Security DES vulnerable to brute-force attack 56-bit key is too short Has been broken in less than one day using a speciallydesigned computer Triple-DES (3DES) Provides better security Uses two 56-bit keys C = E K1 (D K2 (E K1 (P))) P = D K1 (E K2 (D K1 (P))) Instead of triple encryption, use encryption-decryptionencryption If K1 = K2, reduces to original DES

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.4x10 38 keys vs. 7.2x10 16 keys for 56-bit DES AES is gradually replacing DES/3DES See: http://csrc.nist.gov/cryptotoolkit/aes/

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}

Encryption & Decryption Fact: For P<n and n, p, q, d as above: P de mod n = P mod n Encryption: C = P e mod n Result is number less than n and is represented by same number of bits as key Decryption: C d mod n = P ed 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

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}

RSA Example continued Encrypt RSA : R=18, S=19, A=1 C 1 = 18 7 mod 55 = 18 4+2+1 mod 55 = (18 mod 55) (18 2 mod 55) (18 4 mod 55) mod 55 = (18) (324 mod 55) (18 4 mod 55) mod 55 = (18) (49) (49 2 mod 55) mod 55 = (18)(49)(36) mod 55 = 31752 mod 55 = 17 C 2 = 19 7 mod 55 = 24 C 3 = 1 7 mod 55 = 1 Decrypt 17 23 mod 55 = 17 16+4+2+1 mod 55 =18 24 23 mod 55 = 19 1 23 mod 55 = 1