Network Security. Modes of Operation. Steven M. Bellovin February 3, 2009 1



Similar documents
Network Security - ISA 656 Introduction to Cryptography

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Message Authentication Codes

Modes of Operation of Block Ciphers

Authentication requirement Authentication function MAC Hash function Security of

How To Attack A Block Cipher With A Key Key (Dk) And A Key (K) On A 2Dns) On An Ipa (Ipa) On The Ipa 2Ds (Ipb) On Pcode)

Table of Contents. Bibliografische Informationen digitalisiert durch

Cryptography and Network Security Chapter 12

Network Security. Chapter 3 Symmetric Cryptography. Symmetric Encryption. Modes of Encryption. Symmetric Block Ciphers - Modes of Encryption ECB (1)

IT Networks & Security CERT Luncheon Series: Cryptography

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

Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs

Message Authentication Codes. Lecture Outline

Talk announcement please consider attending!


EXAM questions for the course TTM Information Security May Part 1

Error oracle attacks and CBC encryption. Chris Mitchell ISG, RHUL

Designing Hash functions. Reviewing... Message Authentication Codes. and message authentication codes. We have seen how to authenticate messages:

IPsec Details 1 / 43. IPsec Details

The Misuse of RC4 in Microsoft Word and Excel

GCM-SIV: Full Nonce Misuse-Resistant Authenticated Encryption at Under One Cycle per Byte. Yehuda Lindell Bar-Ilan University

MAC. SKE in Practice. Lecture 5

Overview of Symmetric Encryption

Authenticated encryption

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

Message Authentication

Chapter 8. Network Security

Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths

Cryptography: Motivation. Data Structures and Algorithms Cryptography. Secret Writing Methods. Many areas have sensitive information, e.g.

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

Security (WEP, WPA\WPA2) 19/05/2009. Giulio Rossetti Unipi

Lecture Objectives. Lecture 8 Mobile Networks: Security in Wireless LANs and Mobile Networks. Agenda. References

CRYPTOGRAPHY IN NETWORK SECURITY

CS 758: Cryptography / Network Security

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

CS155. Cryptography Overview

SPINS: Security Protocols for Sensor Networks

SAMPLE EXAM QUESTIONS MODULE EE5552 NETWORK SECURITY AND ENCRYPTION ECE, SCHOOL OF ENGINEERING AND DESIGN BRUNEL UNIVERSITY UXBRIDGE MIDDLESEX, UK

CSC474/574 - Information Systems Security: Homework1 Solutions Sketch

Cryptographic mechanisms

Cryptographic Algorithms and Key Size Issues. Çetin Kaya Koç Oregon State University, Professor

CIS433/533 - Computer and Network Security Cryptography

Recommendation for Applications Using Approved Hash Algorithms

Lecture 9 - Message Authentication Codes

Common Pitfalls in Cryptography for Software Developers. OWASP AppSec Israel July The OWASP Foundation

Developing and Investigation of a New Technique Combining Message Authentication and Encryption

Network Security Technology Network Management

Massachusetts Institute of Technology Handout : Network and Computer Security October 9, 2003 Professor Ronald L. Rivest.

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Message authentication

Lecture 4 Data Encryption Standard (DES)

1 Data Encryption Algorithm

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

Client Server Registration Protocol

SPC5-CRYP-LIB. SPC5 Software Cryptography Library. Description. Features. SHA-512 Random engine based on DRBG-AES-128

Password-based encryption in ZIP files

Secure Sockets Layer

How To Understand And Understand The History Of Cryptography

Cryptographic Hash Functions Message Authentication Digital Signatures

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

lundi 1 octobre 2012 In a set of N elements, by picking at random N elements, we have with high probability a collision two elements are equal

TinySec: A Link Layer Security Architecture for Wireless Sensor Networks

Cryptography Lecture 8. Digital signatures, hash functions

SECURITY IN NETWORKS

Cryptography and Network Security, PART IV: Reviews, Patches, and Theory 1 / 53

IronKey Data Encryption Methods

Security+ Guide to Network Security Fundamentals, Third Edition. Chapter 6. Wireless Network Security

Chapter 6 CDMA/802.11i

Chapter 11 Security+ Guide to Network Security Fundamentals, Third Edition Basic Cryptography

Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2010

Cryptographic Engine

AES Cipher Modes with EFM32

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

Public Key Cryptography Overview

Three attacks in SSL protocol and their solutions

Transport Level Security

Introduction. Where Is The Threat? Encryption Methods for Protecting Data. BOSaNOVA, Inc. Phone: Web:

Introduction to Computer Security

Chapter 7: Network security

Lecture 9: Application of Cryptography

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

On the Security of CTR + CBC-MAC

Provable-Security Analysis of Authenticated Encryption in Kerberos

How To Encrypt With A 64 Bit Block Cipher

Advanced Cryptography

Key Hopping A Security Enhancement Scheme for IEEE WEP Standards

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

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

Symmetric Crypto MAC. Pierre-Alain Fouque

CSci 530 Midterm Exam. Fall 2012

Overview. SSL Cryptography Overview CHAPTER 1

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Symmetric and Public-key Crypto Due April , 11:59PM

UM0586 User manual. STM32 Cryptographic Library. Introduction

Fundamentals of Computer Security

Chapter 10. Network Security

Network Security - ISA 656 Security

CS Final Exam

Computer Networks. Network Security 1. Professor Richard Harris School of Engineering and Advanced Technology

Transcription:

Modes of Operation Steven M. Bellovin February 3, 2009 1

Using Cryptography As we ve already seen, using cryptography properly is not easy Many pitfalls! Errors in use can lead to very easy attacks You don t go through strong cryptography, you go around it Steven M. Bellovin February 3, 2009 2

Modes of Operation Direct use of a block cipher is inadvisable Enemy can build up code book of plaintext/ciphertext equivalents Beyond that, direct use only works on messages that are a multiple of the cipher block size in length Solution: five standard Modes of Operation: Electronic Code Book (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB), and Counter (CTR). Steven M. Bellovin February 3, 2009 3

Electronic Code Book Direct use of the block cipher Used primarily to transmit encrypted keys Very weak if used for general-purpose encryption; never use it for a file or a message. Attacker can build up codebook; no semantic security We write {P } k C to denote encryption of plaintext P with key k to produce ciphertext C Steven M. Bellovin February 3, 2009 4

Cipher Block Chaining Network Security P 1 P 2 P 3 IV Encrypt Encrypt Encrypt C 1 C 2 C 3 {P i C i 1 } k C i {C i } k 1 C i 1 P i Steven M. Bellovin February 3, 2009 5

Properties of CBC The ciphertext of each encrypted block depends on the IV and the plaintext of all preceeding blocks. There is a dummy initial ciphertext block C 0 known as the Initialization Vector (IV); the receiver must know this value. Consider a 4-block message: C 1 = {P 1 IV } k C 2 = {P 2 C 1 } k C 3 = {P 3 C 2 } k C 4 = {P 4 C 3 } k If C 2 is damaged during transmission, what happens to the plaintext? Steven M. Bellovin February 3, 2009 6

Error Propagation in CBC Mode Network Security Look at the decryption process, where C is a corrupted version of C: P 1 = {C 1 } k 1 IV P 2 = {C 2 } k 1 C 1 P 3 = {C 3 } k 1 C 2 P 4 = {C 4 } k 1 C 3 P 1 depends only on C 1 and IV, and is unaffected P 2 depends on C 2 and C 1, and hence is corrupted P 3 depends on C 3 and C 2, and is also corrupted. The enemy can control the change to P 3. P 4 depends on C 4 and C 3, and not C 2 ; it thus isn t affected. Conclusion: Two blocks change, one of them predicatably Steven M. Bellovin February 3, 2009 7

Cutting and Pasting CBC Messages Network Security Consider the encrypted message IV, C 1, C 2, C 3, C 4, C 5 The shortened message IV, C 1, C 2, C 3, C 4 appears valid The truncated message C 2, C 3, C 4, C 5 is valid: C 2 acts as the IV. Even C 2, C 3, C 4 is valid, and will decrypt properly. Any subset of a CBC message will decrypt cleanly. If we snip out blocks, leaving IV, C 1, C 4, C 5, we only corrupte one block of plaintext. Conclusion: if you want message integrity, you have to do it yourself. Steven M. Bellovin February 3, 2009 8

The IV The IV provides semantic security: identical messages have different ciphertexts Common message start is also hidden The IV must be unpredictable by the enemy Good strategy: have a random key lying around; encrypt a counter to produce the IV Note: since the IV is transmitted unencrypted, the other side need not know this key Steven M. Bellovin February 3, 2009 9

CBC Padding CBC mode requires the input to be a multiple of the cipher s block size. Must (somehow) handle other lengths Usual strategy: (securely) transmit explicit input length Option: Cipher-Text Steaing (see RFC 2040). Does not increase message size Steven M. Bellovin February 3, 2009 10

CBC MAC Recall that for CBC encryption, the last block of ciphertext depends on all of the plaintext Do a second encryption (using a different key), but only send the last block If you use the same key, a CBC cut-and-paste attack will work Query: what IV should you use? (It doesn t matter; a constant IV will suffice.) Warning: if message sizes can vary, prepend the length NIST standard CMAC uses slightly more complex scheme that avoids needing to know the length in advance Steven M. Bellovin February 3, 2009 11

n-bit Cipher Feedback Network Security IV b n bits n bits b n bits n bits of prev of data of prev of data Encrypt Encrypt P 1 n bits P 2 n bits C 1 C 2 P i {C i 1 } k C i {C i 1 } k C i P i Steven M. Bellovin February 3, 2009 12

Properties of Cipher Feedback Mode Network Security Underlying block cipher used only in encryption mode Feedback path actually incorporates a shift register: shift old cipher input left by n bits; insert first n bits of previous ciphertext output 8-bit CFB is good for asynchronous terminal traffic but requires one encryption for each byte of plaintext Errors propagate while bad data is in the shift register 17 bytes for CFB 8 when using AES. Copes gracefully with deletion of n-bit unit Interesting uses: CFB 1, CFB 8, CFB 1 28 IV selected the same way as in CBC mode Steven M. Bellovin February 3, 2009 13

n-bit Output Feedback Network Security IV Encrypt Encrypt Encrypt P 1 P 2 P 3 C 1 C 2 C 3 Steven M. Bellovin February 3, 2009 14

Properties of Output Feedback Mode No error propagation Active attacker can make controlled changes to plaintext OFB is a form of stream cipher Steven M. Bellovin February 3, 2009 15

Counter Mode Network Security T T + 1 T + 2 Encrypt Encrypt Encrypt P 1 P 2 P 3 C 1 C 2 C 3 Steven M. Bellovin February 3, 2009 16

Properties of Counter Mode Another form of stream cipher Frequently split the counter into two sections: message number and block number within the message Active attacker can make controlled changes to plaintext Highly parallelizable; no linkage between stages Vital that counter never repeat for any given key Steven M. Bellovin February 3, 2009 17

Which Mode for What Task? General file or packet encryption: CBC. Input must be padded to multiple of cipher block size Risk of byte or bit deletion: CFB 8 or CFB 1 Bit stream; noisy line and error propagation is undesirable: OFB Very high-speed data: CTR In most situations, an integrity check is needed Steven M. Bellovin February 3, 2009 18

Integrity Checks Network Security Actually, integrity checks are almost always needed Frequently, attacks on integrity can be used to attack confidentiality Usual solution: use separate integrity check along with encryption Simple solutions don t work Choices: HMAC, CBC MAC, CMAC, combined modes of operation, lesser-known schemes One bad idea: append a cryptographic hash to some plaintext, and encrypt the whole thing with, say, CBC mode {P H(P)} K This can fall victim to a chosen plaintext attack Steven M. Bellovin February 3, 2009 19

Chosen Plaintext Attack The enemy picks some plaintext P and tricks you into encrypting it This has happened in the real world! You transmit {prefix P suffix H(prefix P suffix)} K But P is of the form prefix P suffix H(prefix P suffix) An ordinary CBC subset will have the checksum! Steven M. Bellovin February 3, 2009 20

CCM Mode Inputs: nonce N, additional data A (e.g., network packet headers), plaintext P Authenticates A and P ; encrypts P Calculate T CBC-MAC K (N A P) Ciphertext is CTR K (P); MAC is CTR K (T) Note: the first counter value is used to encrypt T Note: N acts as an IV; it must be non-repeating but need not be secret or unpredictable Steven M. Bellovin February 3, 2009 21

Stream Ciphers Key stream generator produces a sequence S of pseudo-random bytes; key stream bytes are combined (generally via XOR) with plaintext bytes P i S i C i Stream ciphers are very good for asynchronous traffic Best-known stream cipher is RC4; commonly used with SSL Key stream S must never be reused for different plaintexts: C = A K C = B K C C = A K B K = A B Guess at A and see if B makes sense; repeat for subsequent bytes Steven M. Bellovin February 3, 2009 22

RC4 Extremely efficient After key setup, it just produces a key stream No way to resynchronize except by rekeying and starting over Internal state is a 256-byte array plus two integers Note: weaknesses if used in ways other than as a stream cipher. Steven M. Bellovin February 3, 2009 23

The Guts of RC4 for(counter = 0; counter < buffer_len; counter ++) { x = (x + 1) % 256; y = (state[x] + y) % 256; swap_byte(&state[x], &state[y]); xorindex = (state[x] + state[y]) % 256; buffer_ptr[counter] ˆ= state[xorindex]; } Steven M. Bellovin February 3, 2009 24

Order of Encryption and MACing Network Security If we want to encrypt and MAC a message, what order do we do it in? Three choices: {P } K M K (P) {P M K (P)} K {P } K M K ({P } K ) The last is the most secure (provably so) always calculate a MAC on the ciphertext Besides, since MACs are often cheaper than decryption, we can verify the integrity of ciphertext first, and discard the message if bogus Steven M. Bellovin February 3, 2009 25

What to MAC? Obviously, the MAC includes all of the ciphertext Frequently, the MAC should include plaintext metadata Example: suppose you supply a plaintext message length, in plaintext, to go along with CBC encryption of a padded message Example: for network data, may wish to MAC the packet headers Steven M. Bellovin February 3, 2009 26

Key Lifetimes A confidentiality key is useful as long as the data is sensitive; that may be many years A digital signature private key is useful as long as you need to prove authorship think of a digitally-signed, 30-year mortgage A MAC key is useful only while the session is alive; once the session is over, the key is useless Steven M. Bellovin February 3, 2009 27

Birthday Attacks and Block Ciphers Network Security How many blocks can you encrypt with one key before you start getting collisions? The same rule applies: 2 B/2 blocks, where B is the cipher s block size Thus: 2 32 blocks for DES or 3DES; 2 64 blocks for AES 2 32 64-bit blocks is 2 35 bytes. That s 34GB smaller than most modern drives It s also 275Gb; on a 1Gb/sec network, it s less than 5 minutes Conclusion: the block size of DES and 3DES is too small for high-speed networks or large disks Steven M. Bellovin February 3, 2009 28

Cipher Strengths A cipher is no stronger than its key length: if there are too few keys, an attacker can enumerate all possible keys DES has 56 bits arguably too few in 1976; far too few today. Strength of cipher depends on how long it needs to resist attack. No good reason to use less than 128 bits NSA rates 128-bit AES as good enough for SECRET traffic; 256-bit AES is good enough for TOP-SECRET traffic. But a cipher can be considerably weaker! (A monoalphabetic cipher over all 256 byte values has a 1684-bit key (log 2 256! 1684), but is trivially solvable.) Steven M. Bellovin February 3, 2009 29

CPU Speed versus Key Size Adding one bit to the key doubles the work factor for brute force attacks The effect on encryption time is often negligible or even free It costs nothing to use a longer RC4 key Going from 128-bit AES to 256-bit AES takes (at most) 40% longer, but increases the attacker s effort by a factor of 2 128 Using triple DES costs 3 more to encrypt, but increases the attacker s effort by a factor of 2 112 Moore s Law favors the defender Steven M. Bellovin February 3, 2009 30

Moore s Law and Public Key Cryptography For RSA, doubling the modulus length increases encryption time by 4 and decryption time by 8 Attack time against RSA is based on factoring algorithms, not brute force: there are far too many possible primes for brute force to be ever be possible For number field sieve, complexity is approximately proportional to.02e 1.92 3 ln n (lnln n) 2 Sub-linear, but space complexity goes up much faster There is a paper design for a $10M machine (TWIRL) to factor a single 1024-bit number in one year Steven M. Bellovin February 3, 2009 31

Rough Table of Key Length Equivalences Symmetric Key Size (bits) RSA or DH Modulus Size (bits) 70 947 80 1228 90 1553 100 1926 150 4575 200 8719 250 14596 Add 11 bits to the public key size if TWIRL can be built (Numbers by Orman and Hoffman, RFC 3766) Steven M. Bellovin February 3, 2009 32

Public versus Symmetric Key Sizes Network Security 16000 14000 12000 RSA modulus size 10000 8000 6000 4000 2000 0 60 80 100 120 140 160 180 200 220 240 260 Symmetric cipher key size Steven M. Bellovin February 3, 2009 33

Current Key Length Recommendations For most purposes, 128-bit symmetric keys are sufficient For data that must be protected for many years, use 192 bits or 256 bits 1024-bit public keys are marginal; new keys should probably be 1536 bits or longer Keys for certificate authorities should be at leat 2048 bits and perhaps 3072 bits As always, consider your adversary s powers Attacks always get better; they never get worse Steven M. Bellovin February 3, 2009 34

Cipher Design is Hard Never design your own cipher Never trust a product that uses a custom cipher design Design of ciphers is a difficult, arcane speciality. It takes years of scrutiny by experts to validate a design Most of the submissions to the AES competition were cryptanalyzed within a year or two Steven M. Bellovin February 3, 2009 35

Hash Function Design is Hard Hash functions are harder to design Even NSA can get it wrong: SHA-0 was replaced after two years by SHA-1, but they differ only in a single circular shift SHA-0 has been cracked; SHA-1 is (as stated) weak, but no collisions have been found yet Steven M. Bellovin February 3, 2009 36

Modes of Operation are Hard There have been many published and implemented modes that have been broken Obviously stronger modes may not be (a variant on DES CBC MAC that should have had 112 bit strength had 57-bit strength) Some variations are better, but most are not Steven M. Bellovin February 3, 2009 37

A Note on Random Numbers Random numbers are very important in cryptography. They need to be as random as possible an attacker who can guess these numbers can break the cryptosystem. (This is a a common attack!) To the extent possible, use true-random numbers, not pseudo-random numbers but watch out for low-assurance generators Where do true-random numbers come from? Physical processes are best radioactive decay, thermal noise in amplifiers, oscillator jitter, etc. Often, a true-random number is used to seed a cipher modern cryptographic functions are very good pseudo-random numbers. Steven M. Bellovin February 3, 2009 38