Posted Below

profileDrunkenCheetha
chap12.pdf

Cryptography and Network Security:

Principles and Practice Eighth Edition

Chapter 12

Message Authentication Codes

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Message Authentication

Requirements (1 of 2) • Disclosure

– Release of message contents to any person or process not

possessing the appropriate cryptographic key

• Traffic analysis

– Discovery of the pattern of traffic between parties

• Masquerade

– Insertion of messages into the network from a fraudulent

source

• Content modification

– Changes to the contents of a message, including insertion,

deletion, transposition, and modification

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Message Authentication

Requirements (2 of 2) • Sequence modification

– Any modification to a sequence of messages between

parties, including insertion, deletion, and reordering

• Timing modification

– Delay or replay of messages

• Source repudiation

– Denial of transmission of message by source

• Destination repudiation

– Denial of receipt of message by destination

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Message Authentication Functions

• Two levels of functionality:

• Lower level

– There must be some sort of

function that produces an

authenticator

• Higher-level

– Uses the lower-level function

as a primitive in an

authentication protocol that

enables a receiver to verify the authenticity of a message

• Hash function

– A function that maps a message

of any length into a fixed-length

hash value which serves as the

authenticator

• Message encryption

– The ciphertext of the entire

message serves as its

authenticator

• Message authentication code (M A C)

– A function of the message and a

secret key that produces a

fixed-length value that serves as

the authenticator

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.1 Basic Uses of Message

Encryption

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.2 Internal and External

Error Control

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.3 T C P Segment

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Public-Key Encryption

• The straightforward use of public-key encryption provides

confidentiality but not authentication

• To provide both confidentiality and authentication, A can

encrypt M first using its private key which provides the

digital signature, and then using B’s public key, which

provides confidentiality

• Disadvantage is that the public-key algorithm must be

exercised four times rather than two in each

communication

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.4 Basic Uses of Message

Authentication code (M A C)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Requirements for M A Cs

• Taking into account the types of attacks, the M A C needs to

satisfy the following:

• The first requirement deals with message replacement

attacks, in which an opponent is able to construct a new

message to match a given M A C, even though the

opponent does not know and does not learn the key

• The second requirement deals with the need to thwart a

brute-force attack based on chosen plaintext

• The final requirement dictates that the authentication

algorithm should not be weaker with respect to certain

parts or bits of the message than others

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Brute-Force Attack

• Requires known message-tag pairs

– A brute-force method of finding a collision is to pick a

random bit string y and check if H(y) = H(x)

• Two lines of attack:

– Attack the key space

▪ If an attacker can determine the M A C key then it is

possible to generate a valid M A C value for any input

x

– Attack the M A C value

▪ Objective is to generate a valid tag for a given

message or to find a message that matches a given

tag

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Cryptanalysis

• Cryptanalytic attacks seek to exploit some property of the

algorithm to perform some attack other than an exhaustive

search

• An ideal M A C algorithm will require a cryptanalytic effort

greater than or equal to the brute-force effort

• There is much more variety in the structure of M A Cs than

in hash functions, so it is difficult to generalize about the

cryptanalysis of M A Cs

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

M A Cs Based on Hash Functions:

H M A C • There has been increased interest in developing a M A C

derived from a cryptographic hash function

• Motivations:

– Cryptographic hash functions such as M D5 and S H A

generally execute faster in software than symmetric

block ciphers such as D E S

– Library code for cryptographic hash functions is widely

available

• H M A C has been chosen as the mandatory-to-implement

M A C for I P security

• Has also been issued as a N I S T standard (F I P S 198)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

H M A C Design Objectives

• R F C 2104 lists the following objectives for H M A C:

– To use, without modifications, available hash functions

– To allow for easy replaceability of the embedded hash

function in case faster or more secure hash functions

are found or required

– To preserve the original performance of the hash

function without incurring a significant degradation

– To use and handle keys in a simple way

– To have a well understood cryptographic analysis of

the strength of the authentication mechanism based on

reasonable assumptions about the embedded hash

function

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.5 H M A C Structure

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.6 Efficient Implementation

of H M A C

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Security of H M A C

• Depends in some way on the cryptographic strength of the

underlying hash function

• Appeal of H M A C is that its designers have been able to

prove an exact relationship between the strength of the

embedded hash function and the strength of H M A C

• Generally expressed in terms of the probability of

successful forgery with a given amount of time spent by

the forger and a given number of message-tag pairs

created with the same key

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.7 Data Authentication

Algorithm (F I P S P U B 113)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.8 Cipher-based Message

Authentication Code (C M A C)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Authenticated Encryption (A E)

• A term used to describe encryption systems that

simultaneously protect confidentiality and authenticity of

communications

• Approaches:

– Hashing followed by encryption

– Authentication followed by encryption

– Encryption followed by authentication

– Independently encrypt and authenticate

• Both decryption and verification are straightforward for

each approach

• There are security vulnerabilities with all of these

approaches

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Counter with Cipher Block Chaining-

Message Authentication Code (C CM) • Was standardized by N I S T specifically to support the security

requirements of I E EE 802.11 W iFi wireless local area networks

• Variation of the encrypt-and-M A C approach to authenticated

encryption

– Defined in N I S T S P 800-38C

• Key algorithmic ingredients:

– A E S encryption algorithm

– C T R mode of operation

– C M A C authentication algorithm

• Single key K is used for both encryption and M A C algorithms

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

The input to the C CM encryption

process consists of three elements: • Data that will be both authenticated and encrypted

– This is the plaintext message P of the data block

• Associated data A that will be authenticated but not encrypted

– An example is a protocol header that must be transmitted in

the clear for proper protocol operation but which needs to be

authenticated

• A nonce N that is assigned to the payload and the associated

data

– This is a unique value that is different for every instance

during the lifetime of a protocol association and is intended

to prevent replay attacks and certain other types of attacks

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.9 Counter with Cipher

Block Chaining-Message

Authentication Code (C CM)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Galois/Counter Mode (G C M)

• N I S T standard S P 800-38D

• Designed to be parallelizable so that it can provide high

throughput with low cost and low latency

– Message is encrypted in variant of C T R mode

– Resulting ciphertext is multiplied with key material and

message length information over G F (2128) to generate the

authenticator tag

– The standard also specifies a mode of operation that

supplies the M A C only, known as G M A C

• Makes use of two functions:

– G H A S H - a keyed hash function

– G C T R – C T R mode with the counters determined by simple

increment by one operation

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.10 G C M Authentication and

Encryption Functions

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.11 Galois Counter—

Message Authentication Code (G C M)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Key Wrap (K W)

• Most recent block cipher mode of operation defined by

N I S T

– Uses A E S or triple D E A as the underlying encryption

algorithm

• Purpose is to securely exchange a symmetric key to be

shared by two parties, using a symmetric key already

shared by those parties

– The latter key is called a key encryption key (K E K)

• Robust in the sense that each bit of output can be

expected to depend in a nontrivial fashion on each bit of

input

• Only used for small amounts of plaintext

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.12 Key Wrapping Operation

for 256-Bit Key

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.13 Key Wrapping Operation

for 256-Bit Key: Stage t

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Pseudorandom Number Generation

Using Hash Functions and M A Cs • Essential elements of any pseudorandom number

generator (P R N G) are a seed value and a deterministic

algorithm for generating a stream of pseudorandom bits

– If the algorithm is used as a pseudorandom function

(P R F) to produce a required value, the seed should

only be known to the user of the P R F

– If the algorithm is used to produce a stream encryption

function, the seed has the role of a secret key that must

be known to the sender and the receiver

• A hash function or M A C produces apparently random

output and can be used to build a P R N G

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.14 Basic Structure of Hash-

Based P R N Gs (S P 800-90)

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Figure 12.15 Three P R N G s Based on

H M A C

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Summary

• List and explain the possible

attacks that are relevant to

message authentication

• Define the term message

authentication code

• List and explain the

requirements for a message

authentication code

• Present an overview of H M A C

• Present an overview of C M A C

• Explain the concept of

authenticated encryption

• Present an overview of C CM

• Present an overview of G C M

• Discuss the concept of key

wrapping and explain its use

• Understand how a hash function

or a message authentication

code can be used for

pseudorandom number

generation

Copyright © 2020 Pearson Education, Inc. All Rights Reserved.

Copyright

This work is protected by United States copyright laws and is

provided solely for the use of instructors in teaching their

courses and assessing student learning. Dissemination or sale of

any part of this work (including on the World Wide Web) will

destroy the integrity of the work and is not permitted. The work

and materials from it should never be made available to students

except by instructors using the accompanying text in their

classes. All recipients of this work are expected to abide by these

restrictions and to honor the intended pedagogical purposes and

the needs of other instructors who rely on these materials.