<<

Message Codes

Reading: Chapter 4 of Katz & Lindell

1 • Bob receives a message m from Alice, he wants to know  (Data origin authentication) whether the message was really sent by Alice.  (Data integrity) whether the message has been modified. • Two solutions:  Alice attaches a message authentication code (MAC) to the message (using a symmetric to compute the MAC).  Or she attaches a signature to the message (using an asymmetric key to compute the signature).

2 Basic idea of MAC • Message : 1. Alice and Bob share a secret key k.

2. To send a message m , Alice computes a tag t := MACk ( m ) and sends (mt , ) to Bob.

3. On receiving (m′′ , t ) , Bob checks whether t′′= MACk ( m ). If so, he accepts the message; otherwise, he rejects it. • The tag t is called a message authentication code (MAC). • Security requirement: computationally infeasible to forge a

valid pair (x , MACk ( x )) without knowing the key k .

3 MAC Scheme (formal definition) • A MAC scheme is a triple (Gen , Mac , Vrfy ):  Key generation algorithm: On input 1n , outputs n a key k ←u {0,1} .  Tag generation algorithm Mac : On input a key k and a message

m∈← M , Mac outputs a tag t . We write t Mack ( m ). (M is the message space. Assume MM= {0,1}ln() or = {0,1}* .)  Verification algorithm Vrfy : On input a key k , a message m , and a tag t , algorithm Vrfy outputs 1 (meaning valid)

or 0 (inval id ). Vrfyk ( m , t )= 0 or 1.  Gen , Mac are probabilistic algorithms. Vrfy is deterministic. • Correctness requirement: for every kK∈∈ and mM ,

Vrfykk( m , Mac ( m )) = 1. 4 • Canonical verification (used when Mac is deterministic):

1 if Mack ( m ) = t Vrfyk ( m ,) t =  0 otherwise

• If M = {0,1}ln() , the scheme is said to be a fixed-length MAC scheme for messages of length ln() . • Fixed-length MAC schemes are easier to construct.

• General MAC schemes for M = {0,1}* can be constructed from fixed-length schemes.

5 Chosen-Message Attacks on MAC Schemes

Experiment MAC-ForgeA,Π (n):

1. A key kG← (1n ) is generated. n 2. The adversary A is given input 1 and oracle access to Mack (⋅ ). A may ask the oracle to compute tags for messages of its choice. Let QA be the set of all queries has made to the oracle. 3. A eventually outputs a pair (mt , ). (A tries to forge a valid pair of message and tag.)

4. MAC-ForgeA,Π (n )= 1 (A succeeds) if m∉ Q and Vrfyk ( m ,t )= 1. • Remarks:  Adversary: an adaptive chosen-message attacker.  Forgery: an existential forgery. 6 MAC security: existential unforgeability under an adaptive chosen-message attack Definition: A MAC scheme (Gen , Mac , Vrfy ) is existentially unforgeable under an adaptive chosen-message attack (or simply secure) if for all polynomial-time adversaries A , there exists a negligible function negl such that

Pr MAC-ForgeA,Π (n )= 1 ≤ negl ( n ) or

⋅ Pr Vrfy AMack ( ) 1nn=←≤ 1 : k {0,1}negl ( n ) ku( ( )) where the output of A , ( mt , ), satisfies m∉ Q .

7 Strong MAC security • If a MAC scheme is secure, the probability is negligible that A can forge a valid (mt , ) with m∉ Q . • However, it may be possible for A to forge a different valid tag tt′ ≠ for some message mQ∈ , where t is the tag returned by the oracle on m . • If no adversary is able to do so, the MAC scheme is strongly secure.

• To formally define strong security, modify the experiment as follows:

 Let Q′ ={ ( mt , ) : m ∈ Q , t is the tag returned by the oracle on m} .

 A succeeds if an only if it outputs a valid pair (mt , )∉ Q′ . • If MAC is deterministic, then "secure" ⇔ "strongly secure". 8 Constructing secure MAC schemes • Let F be a pseudorandom function. • We will use F to construct secure MAC schemes in several steps.  Secure fixed-length MAC schemes for messages of length n  Secure fixed-length MAC schemes for messages of length nln⋅ ()  Secure MAC schemes for arbitrary-length messages • For simplicity, assume message length is a multiple of n . (We can always do padding to make this assumption true.)

9 Secure MAC schemes for M = {0,1}n • Let F be a pseudorandom function.

• Fixed-length MAC scheme for messages of length n : nn  Key generation: On input 1 , k ←u {0,1} .  Tag generation: On input km∈ {0,1}nn and message ∈ {0,1} ,

output the tag t := Fmk ( ).

1 if Fmk ( )= t  Verification: On input (mt , ), Vrfyk ( mt , ) :=  0 otherwise

• Theorem: Such a MAC scheme is secure.

10 Basic CBC-MAC • Let F be a pseudorandom function. • Basic CBC-MAC works as follows: n  Key generation: k ←u {0,1} .  Tag generation: For key km∈∈ {0,1}n and message {0,1}nq⋅ ,

− parse mmm as = (1 , , mq ) // q blocks // −= apply CBC to m with IV 0n , i.e., let n t01 := 0 and ti : = Fm ki ( ⊕ t i− ) for 1 ≤≤ i q

− output tq as the tag  Verification: canonical

• Theorem: For any fixed length function l , basic CBC-MAC is secure

for messages of length nln⋅ (.) 11 Remarks

• It is important that t0 ( IV ) is fixed, or the scheme would be insecure. • Also, the scheme would be insecure if message length is variable .

 Suppose t:= Mackk ( m123 m m ) and t′:= Mac ( m4 ).

 Let m44′′ be such that tm⊕=4 m .

 Then Mack ( m1 mm23m4′ ).= t′

IV = 0n

12 CBC-MAC for arbitrary-length messages • A FIPS and ISO standard. • There are several variants of CBC-MAC.

One variant of CBC-MAC:

• Prepend the message m with its length mn (as an -bit string) and then compute basic CBC-MAC on the result.

• Remarks:  There is a limitation on m .  It would be insecure if mm is appended to the end of .

13 14 Another variant of CBC-MAC

n •← Generate two keys kk12 , u {0,1} . • To authenticate a message m , let the tag be

tF := kk( basic-CBC-MAC (m )) . 21

• One may use only one key kk and generate 1, kk2 from :

kF12 := kk (1) and kF := (2)

15 Security of CBC-MAC (for arbitrary length)

Theorem: CBC-MAC is secure if F is a pseudorandom function.

• In practice, block ciphers (such as DES, AES) are used.

16 Authenticated

To ensure both secrecy and integrity

17 Unforgeable encryption

• Experiment Enc-ForgeA,Π (n ) :  Run Gen (1n ) to obtain a key k . n  The adversary A is given 1 and access to oracle Enck (⋅ ), and outputs a c.

 Let m := Decck (). Let QA be the set of all messages that has asked the oracle for encryption.  The output of the experiment is 1 (A succeeds) if and only if m is a valid message (m∈ M ) and mQ∉ . • Definition: An encryption scheme Π= (Gen , Enc , Dec ) is unforgeable

if for every A , Pr Enc-ForgeA,Π (n ) =1 ≤ negl ( n ).

18 scheme • Definition: A symmetric-key encryption scheme is an authenticated encryption scheme if it is CCA-secure and unforgeable. • We will construct an authenticated encryption scheme from a CPA-secure encryption scheme and a strongly secure MAC scheme. • Three natural ways:  Encrypt and authenticate (insecure)  Authenticate then encrypt (insecure)  Encrypt then authenticate (secure)

• In the following slides, let mk be a message, E an encryption key,

and kM a MAC key.

19 Encrypt and Authenticate • Sender: encrypt and authenticate m independently. That is,

the ciphertext is ct, where

c←← Enc (), m t Mac () m kkEM

• Receiver: given ciphertext ct , , do

m←= Dec ( c ), and then check if Vrfy ( m , t ) 1. kkEM • Security:  Not necessarily EAV-secure, since tm might leak info about .  If Mac is deterministic (e.g., CBC-MAC), then the scheme is not CPA-secure.

20 Authenticate then Encrypt • Sender: authenticate mm first and then encrypt and the tag. Thus, the ciphertext is c computed as:

t←← Mac ( m ), c Enc ( m t ) kkME • Receiver: given ciphertext c , do

m t←= Dec( c ) and then check if Vrfy ( m , t ) 1.  kkEM • A potential attack:  Suppose PKCS#5 padding is used. Suppose the receiver does: if the padding is incorrect then return a "bad padding" error elseif the tag is incorrect then return a "bad mac" error.  The padding attack can be conducted to recover the entire mt .

21 Encrypt then Authenticate • Sender: encrypt m first and then authenticate the result. Thus, the ciphertext is c,t where

c←← Enc ( m ), t Mac ( c ) kkEM

• Receiver: on receiving c ,tV , if rfy( c , t )= 1 then m ← Dec ( c ). kkME • Theorem: If the encryption scheme is CPA-secure and the MAC scheme is strongly secure, then the encryption-then-authenticate construction yields an authenticated encryption scheme.

CPA-secure encryption + strongly secure MAC ⇒ CCA-secure and unforgeable encryption

22