Message Authentication Code



Similar documents
Message Authentication Codes 133

1 Message Authentication

Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

Authenticated encryption

Lecture 9 - Message Authentication Codes

Authentication and Encryption: How to order them? Motivation

1 Construction of CCA-secure encryption

Talk announcement please consider attending!

MACs Message authentication and integrity. Table of contents

Lecture 13: Message Authentication Codes

Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm By Mihir Bellare and Chanathip Namprempre

The Order of Encryption and Authentication for Protecting Communications (Or: How Secure is SSL?)

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

MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC

Provable-Security Analysis of Authenticated Encryption in Kerberos

MAC. SKE in Practice. Lecture 5

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

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

CSC474/574 - Information Systems Security: Homework1 Solutions Sketch

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

Identity-based Encryption with Post-Challenge Auxiliary Inputs for Secure Cloud Applications and Sensor Networks

CS 758: Cryptography / Network Security

Message Authentication Codes. Lecture Outline

Overview of Cryptographic Tools for Data Security. Murat Kantarcioglu

Computational Soundness of Symbolic Security and Implicit Complexity

Cryptographic Hash Functions Message Authentication Digital Signatures

Cryptography. Jonathan Katz, University of Maryland, College Park, MD

Ciphertext verification security of symmetric encryption schemes

CS155. Cryptography Overview

EXAM questions for the course TTM Information Security May Part 1

Symmetric Crypto MAC. Pierre-Alain Fouque

Introduction to Cryptography CS 355

CSCE 465 Computer & Network Security

Cryptosystems. Bob wants to send a message M to Alice. Symmetric ciphers: Bob and Alice both share a secret key, K.

Content Teaching Academy at James Madison University

1 Signatures vs. MACs

Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm

CIS 5371 Cryptography. 8. Encryption --

Cryptography and Network Security: Summary

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

Leakage-Resilient Authentication and Encryption from Symmetric Cryptographic Primitives

One-Way Encryption and Message Authentication

Vulnerabilità dei protocolli SSL/TLS

Table of Contents. Bibliografische Informationen digitalisiert durch

Capture Resilient ElGamal Signature Protocols

Lecture 15 - Digital Signatures

Lecture 9: Application of Cryptography

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

Message Authentication Codes

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

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

On the Security of CTR + CBC-MAC

Chapter 17. Transport-Level Security

Auditing for Distributed Storage Systems

Security Aspects of. Database Outsourcing. Vahid Khodabakhshi Hadi Halvachi. Dec, 2012

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

CIS433/533 - Computer and Network Security Cryptography

Post-Quantum Cryptography #4

Implementation Vulnerabilities in SSL/TLS

TinySec: A Link Layer Security Architecture for Wireless Sensor Networks

Overview. SSL Cryptography Overview CHAPTER 1

Chosen-Ciphertext Security from Identity-Based Encryption

SECURITY EVALUATION OF ENCRYPTION USING RANDOM NOISE GENERATED BY LCG

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

Reconsidering Generic Composition

CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631

1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.

Client Server Registration Protocol

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

Authentication, digital signatures, PRNG

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

Chapter 10. Network Security

Lecture 3: One-Way Encryption, RSA Example

Three attacks in SSL protocol and their solutions

Digital Signatures. What are Signature Schemes?

Victor Shoup Avi Rubin. Abstract

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

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

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

First Semester Examinations 2011/12 INTERNET PRINCIPLES

Lecture 5 - CPA security, Pseudorandom functions

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

Advanced Cryptography

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

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

Department Informatik. Privacy-Preserving Forensics. Technical Reports / ISSN Frederik Armknecht, Andreas Dewald

Chapter 3. Network Domain Security

Forward Secrecy: How to Secure SSL from Attacks by Government Agencies

Chair for Network Architectures and Services Department of Informatics TU München Prof. Carle. Network Security. Chapter 13

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

Cryptography Overview

Ch.9 Cryptography. The Graduate Center, CUNY.! CSc Theoretical Computer Science Konstantinos Vamvourellis

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

Cryptography and Network Security Chapter 9

Lukasz Pater CMMS Administrator and Developer

Transcription:

Message Authentication Code Ali El Kaafarani Mathematical Institute Oxford University 1 of 44

Outline 1 CBC-MAC 2 Authenticated Encryption 3 Padding Oracle Attacks 4 Information Theoretic MACs 2 of 44

Basic CBC-MAC for fixed-length messages Definition Let F be a pseudorandom function. The basic CBC-MAC can be defined as follows: Mac(k {0, 1} n, m): it takes a key k and a message m of length n L where L = l(n) and does the following; parse m as m 1,, m L, where m i = n initialise t 0 0 n, and for i = 1,, L Do output the tag t L. t i F k (t i 1 m i ) Verify(k {0, 1} n, m, t): if m = n l(n) and t = Mac(k, m) output 1, output 0 otherwise. 3 of 44

CBC-MAC! The previous construction is only secure for fixed-length messages! There are ways to modify the construction to handle arbitrary-length messages. For example, one can change the key generation to choose two uniformly independent keys, k 1, k 2 {0, 1} n. The authentication will be done in two steps. First, it computes t 1 CBC-MAC(m, k 1 ), and then it outputs the final result as t F k2 (t 1 ). 4 of 44

Differences between CBC-MAC and CBC-mode encryption There are two main differences: CBC-mode encryption has a random IV whereas CBC-MAC has a fixed one (i.e. 0 n ) and they are only secure under these conditions CBC-mode encryption outputs all the intermediate values c i as parts of the ciphertext whereas CBC-MAC only outputs the final tag t L (and only secure in this case). 5 of 44

Outline 1 CBC-MAC 2 Authenticated Encryption 3 Padding Oracle Attacks 4 Information Theoretic MACs 6 of 44

Authenticated Encryption A way to achieve both secrecy and integrity at the same time. No standard terminology or definitions yet. CAESAR: Competition for Authenticated Encryption: Security, Applicability, and Robustness. http://competitions.cr.yp.to/caesar.html The level of secrecy that we want: CCA-secure The level of integrity: existential unforgeability under chosen-message attacks. 7 of 44

Unforgeable Encryption We define the unforgeable encryption experiment as follows: KeyGen(n): output a key k. Adversary s capabilities: access to an encryption oracle Enc(k, ). All his queries will be stored in Q Adversary s output: a ciphertext c. Winning conditions: compute m Dec(k, c) and output 1 if the following hold m m Q Definition A private key encryption scheme S is unforgeable if for all PPT adversaries A, we have Pr[PrivK Unforg A,S (n) = 1] negl(n) 8 of 44

Authenticated Encryption: A Definition Definition A private-key encryption scheme is an authenticated encryption scheme is it is both CCA-secure and Unforgeable. Does any random combination of a secure encryption scheme and a secure message authenticated code yield an authenticated encryption scheme? The answer is NO! Lesson: you can t just combine two secure cryptographic modules/tools and expect the combination to be automatically secure! 9 of 44

Authenticated Encryption: A Definition Definition A private-key encryption scheme is an authenticated encryption scheme is it is both CCA-secure and Unforgeable. Does any random combination of a secure encryption scheme and a secure message authenticated code yield an authenticated encryption scheme? The answer is NO! Lesson: you can t just combine two secure cryptographic modules/tools and expect the combination to be automatically secure! 9 of 44

Authenticated Encryption: A Definition Definition A private-key encryption scheme is an authenticated encryption scheme is it is both CCA-secure and Unforgeable. Does any random combination of a secure encryption scheme and a secure message authenticated code yield an authenticated encryption scheme? The answer is NO! Lesson: you can t just combine two secure cryptographic modules/tools and expect the combination to be automatically secure! 9 of 44

Authenticated Encryption: How to combine MAC and ENC? Mac and Enc: compute them in parallel, c Enc(k 1, m) and t Mac(k 2, m) Mac then Enc: t Mac(k 2, m) then c Enc(k 1, m t) Enc then Mac: c Enc(k 1, m) then t Mac(k 2, c) 10 of 44

MAC and Encrypt This combination violates the secrecy of the scheme even if Enc is secret. Why? Remember, MAC doesn t provide any secrecy, and yet you are sending the tag t in the clear! MAC can be deterministic (like most MACs used practice) The scheme is not even CPA-secure in this case! 11 of 44

MAC and Encrypt This combination violates the secrecy of the scheme even if Enc is secret. Why? Remember, MAC doesn t provide any secrecy, and yet you are sending the tag t in the clear! MAC can be deterministic (like most MACs used practice) The scheme is not even CPA-secure in this case! 11 of 44

MAC then Encrypt This combination is not guaranteed to be an authenticated encryption either! m t has to padded in a specific way to get a multiple of the block length. The decryption may now fail for two different reasons: incorrect padding or invalid tag! (Note that the padded part is not protected under the tag scheme!) What if the attacker can distinguish between the two errors? Okay, we return a single error message in both cases (even though it is not ideal!) What about the difference in time to return each of them? (Some attacks on Secure Socket Layer (SSL) were based on this idea!) Result: padding-oracle attack (in details soon)! 12 of 44

Encrypt then MAC The MAC should be strongly secure. This guarantees that the adversary can t produce any new valid ciphertext. (i.e. not obtained from the encryption oracle) This way, the adversary cannot benefit from the decryption oracle of the CCA game. Therefore, CPA security of the encryption scheme S is enough. in this case: CPA-secure S + strongly secure MAC = CCA-security+integrity 13 of 44

Encrypt then MAC The MAC should be strongly secure. This guarantees that the adversary can t produce any new valid ciphertext. (i.e. not obtained from the encryption oracle) This way, the adversary cannot benefit from the decryption oracle of the CCA game. Therefore, CPA security of the encryption scheme S is enough. in this case: CPA-secure S + strongly secure MAC = CCA-security+integrity 13 of 44

Encrypt then MAC: Generic construction Given a private-key encryption scheme S = (Enc, Dec) and a message authentication code MAC = (Mac, Verify), we define a private-key encryption scheme S = (KeyGen, Enc, Dec ) as follows: KeyGen (n) : choose independent, uniform keys k enc, k mac {0, 1} n. Enc (k enc, k mac, m): compute c Enc(k enc, m). Then compute t Mac(k mac, c). The ciphertext will then be (t, c). Dec (c, t, k enc, k mac ): if Verify(k mac, c, t) = 1 then output Dec(k enc, c) otherwise, output. 14 of 44

Authenticated Encryption: an Application and Potential attacks It is used to offer secure communication sessions. It is not enough on its own to provide secure sessions, here are some possible attacks: Re-ordering attack: change the order in which the message were supposed to be delivered (force c 2 to arrive before c 1 ) Replay attack: to replay a previously sent valid ciphertext Reflection attack: to change the direction of the message and resend to the sender instead of the receiver. Solutions: use counters for the first two problems, and different encryption keys for different directions, i.e. K A B K B A. 15 of 44

Outline 1 CBC-MAC 2 Authenticated Encryption 3 Padding Oracle Attacks 4 Information Theoretic MACs 16 of 44

A Padding Oracle Attack In CBC mode, messages have to be multiple of the block length if they are not, we pad them. PKCS#5 is a famous and standardized approach. Assume that m = n and block length= L (both in bytes). Let m = r L + d. Therefore, b = L d is the number of bytes that need to be padded to the message. Exceptionally, if b = 0, we pad L bytes, therefore 1 b L. We append to the message the integer b represented in either 1-byte or two hexadecimal digits. if 1 byte is needed, we append 0x01 to the end of the message. If 3 bytes are needed, we append 0x030303 The padded message which is called encoded data, will then be encrypted using CBC-mode encryption. 17 of 44

A Padding Oracle Attack Decryption in CBC mode: it first decrypts the ciphertext, it then checks on the correctness of the padding, and finally checks on the validity of the tag. You first read the values b of the last byte, and make sure it is the same value in the last b bytes. If the padding is correct, you drop the last b bytes and get the original plaintext, otherwise output padding error. This is a great source of information to the adversary, you can think of it as a limited decryption oracle. Adversaries can send ciphertexts to the server and learn whether or not they are padded correctly! This way the adversary can recover the whole message for any ciphertext of his choice. 18 of 44

A Padding Oracle Attack Decryption in CBC mode: it first decrypts the ciphertext, it then checks on the correctness of the padding, and finally checks on the validity of the tag. You first read the values b of the last byte, and make sure it is the same value in the last b bytes. If the padding is correct, you drop the last b bytes and get the original plaintext, otherwise output padding error. This is a great source of information to the adversary, you can think of it as a limited decryption oracle. Adversaries can send ciphertexts to the server and learn whether or not they are padded correctly! This way the adversary can recover the whole message for any ciphertext of his choice. 18 of 44

A Padding Oracle Attack We will take the example of a 3-block ciphertext, IV, c 1, c 2 that correspond to the message m 1, m 2 which is of course unknown to the attacker. By definition, m 2 = F 1 k (c 2 ) c 1. The block m 2 should end with } 0xb {{ 0xb } b times Key idea: if you let c 1 = c 1, for any string, and you try to decrypt the new cipher text IV, c 1, c 2 then you will get m 1, m 2, where m 2 = m 2. Exploiting this, the adversary can learn b, and consequently the length of the original plaintext. The attacker starts with modifying the first byte of c 1 and sends the modified ciphertext, IV, c 1, c 2 to the receiver... 19 of 44

A Padding Oracle Attack Step 1: find the length of the padded bytes b. IV c1 c2 F -1 k F -1 k m1 m2&pad 20 of 44

A Padding Oracle Attack IV c1 c2 F -1 k F -1 k m1 m2&pad 21 of 44

A Padding Oracle Attack IV c1 c2 F -1 k F -1 k m1 m2&pad 22 of 44

A Padding Oracle Attack IV c1 c2 F -1 k F -1 k m1 m2&pad 23 of 44

Second step, recover the plaintext byte by byte. IV c1 c c2 F -1 k F -1 k m1 m2&pad? 24 of 44

IV c1 c c2 F -1 k F -1 k m1 m2&pad? 5 25 of 44

IV c1 c c2 F -1 k F -1 k m1 m2&pad? 5 5 5 5 26 of 44

IV c1 1 c2 F -1 k F -1 k m1 m2&pad? 5 5 5 5 27 of 44

IV c1 2 c2 F -1 k F -1 k m1 m2&pad? 5 5 5 5 28 of 44

IV c1 n c2 F -1 k F -1 k m1 m2&pad 5? 5 5 5 5 No padding error, so this byte is now 5! 29 of 44

IV c1 n c2 F -1 k F -1 k m1 m2&pad 5? 5 5 5 5 No padding error, so this byte is now 5! Simple computation will lead to finding the byte? 30 of 44

Outline 1 CBC-MAC 2 Authenticated Encryption 3 Padding Oracle Attacks 4 Information Theoretic MACs 31 of 44

Information Theoretic MACs All the MACs we have talked about so far have computational security, i.e. the adversary s running time are bounded Can we build a MAC that is secure even in the presence of unbounded adversaries? Note that we cannot get a perfectly secure MACs. Why? Clearly because adversaries can guess a valid tag with probability 1/2 t, if t is the length of the scheme s tags. Back to unbounded adversaries: is information theoretic MACs achievable? Yes, BUT with a bound on the number of messages to be authenticated! 32 of 44

Information Theoretic MACs All the MACs we have talked about so far have computational security, i.e. the adversary s running time are bounded Can we build a MAC that is secure even in the presence of unbounded adversaries? Note that we cannot get a perfectly secure MACs. Why? Clearly because adversaries can guess a valid tag with probability 1/2 t, if t is the length of the scheme s tags. Back to unbounded adversaries: is information theoretic MACs achievable? Yes, BUT with a bound on the number of messages to be authenticated! 32 of 44

Information Theoretic MACs As we want to put a bound on the number of the messages to be authenticated, let s start with most basic case, i.e. only one message. Here is the one-time message authentication experiment. Notice that here we drop the security parameter n, as we are dealing with unbounded adversaries! KeyGen : returns a key k Single tag query: adversary A sends a message m and gets a tag on it t Adversary s output: (m, t) Experiment s output: 1 iff Verify(k, t) = 1 and m m 33 of 44

Information Theoretic MACs Definition A message authentication code S is one-time ɛ-secure, if for all adversaries A (including unbounded ones): Pr[Mac 1 time A,S = 1] ɛ 34 of 44

Information Theoretic MACs We need to first define strongly universal functions (also called pairwise-independent). Given a keyed function h : K M T, where h(k, m) is often written as h k (m). Informally speaking, we say that h is strongly universal if for any m m and uniform key k, the images h k (m) and h k (m ) are uniformly and independently distributed in T. Formally speaking, m m, and t, t T, we have Pr[h k (m) = t h k (m ) = t ] = 1/ T 2 where the probability is taken over uniform choice of k K. 35 of 44

Information Theoretic MAC: a construction from a strongly universal function Given a strongly universal function h : K M T, we define a messages authentication code MAC with message space M as follows: KeyGen : output a uniformly chosen key k K Mac(k, m): output the tag h k (m) Verify(k, m, t): if m M output 0, otherwise output 1 iff t = h k (m). 36 of 44

Information Theoretic MAC: a construction from a strongly universal function Theorem Given a strongly universal function h : K M T. A Message authentication code that is based on h with message space M is a one-time 1/ T -secure MAC. 37 of 44

Proof. Let A be an adversary against the MAC scheme. He queries m and gets t. He finally outputs the forgery (m, t). The probability that (m, t) is a valid forgery is the following: Pr[Mac 1 time A,S = 1] = t Pr[Mac 1 time A,S = 1 h k (m ) = t ] = t Pr[h k (m) = t h k (m ) = t ] = t 1 T 2 = 1 T 38 of 44

Strongly Universal Function: a Concrete Construction Example Give Z p for some prime p. Let M = T = Z p, and let K = Z p Z p. we define a keyed function h a,b as h a,b (m) = a m + b mod p Theorem For any prime p, the function h is strongly universal. 39 of 44

Strongly Universal Function Proof. We will compute the probability that h a,b (m) = t and h a,b (m ) = t, for m m, over uniform choice of the key (a, b) K. We have the following { system of linear equations in two variables a, b: a m + b = t mod p a m + b = t mod p { a = (t t ) (m m ) 1 mod p which has a solution when b = t a m mod p We can deduce that for any m, m, t, t for which m m, we have a unique key (a, b) K for which h a,b (m) = t and h a,b (m ) = t. Since there are exactly T 2 keys, therefore, the probability that h a,b (m) = t and h a,b (m ) = t is 1/ T 2 40 of 44

Information Theoretic MAC: its limitations Theorem If S is a one-time 2 n -secure MAC with constant size keys, then k 2n. Proof. Exercise. 41 of 44

Information Theoretic MAC: its limitations Theorem If S is a l-time 2 n -secure MAC with constant size keys, then k (l + 1)n. Corollary If the key-length of a given MAC is bounded, then it is not information-theoretic secure when authenticating an unbounded number of messages. 42 of 44

Further Reading (1) N.J. Al Fardan and K.G. Paterson. Lucky thirteen: Breaking the TLS and DTLS record protocols. In Security and Privacy (SP), 2013 IEEE Symposium on, pages 526 540, May 2013. J Lawrence Carter and Mark N Wegman. Universal classes of hash functions. In Proceedings of the ninth annual ACM symposium on Theory of computing, pages 106 112. ACM, 1977. Jean Paul Degabriele and Kenneth G Paterson. On the (in) security of IPsec in MAC-then-Encrypt configurations. In Proceedings of the 17th ACM conference on Computer and communications security, pages 493 504. ACM, 2010. 43 of 44

Further Reading (2) Ted Krovetz and Phillip Rogaway. The software performance of authenticated-encryption modes. In Fast Software Encryption, pages 306 327. Springer, 2011. Douglas R. Stinson. Universal hashing and authentication codes. Designs, Codes and Cryptography, 4(3):369 380, 1994. 44 of 44