Message Authentication Code Generation with Dual-Block Subkey Obfuscation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing message authentication code (MAC) methods, such as CMAC, remain vulnerable to Differential Power Analysis (DPA) attacks despite re-encrypting the last block of a message, as the first-block-input and last-block-output vectors are still visible, allowing attackers to extract cryptographic keys from cryptographic hardware devices like smart cards.

Innovation Solution

A device and method that generate a message authentication code by dividing the message into blocks and performing exclusive disjunction operations on the last block with a first key and optionally the first block with a second key, using a block cipher algorithm, which obscures the data vectors required for DPA attacks by inserting additional subkeys at both the input and output of the first and last blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If re-encryption of the last block is performed to prevent DPA attacks, then security against DPA attacks is improved, but the visibility of critical vectors (first-block-input and last-block-output) remains insufficient

Engineering Contradiction:
Improvesecurity against DPA attacksVSAvoidvisibility of critical vectors
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces additional subkeys as intermediary elements that are XORed with the first and last blocks of the message. These subkeys act as mediators that obscure the visibility of critical vectors (first-block-input and last-block-output) to DPA attackers while maintaining the authentication function. The subkeys are derived from the main key through a key derivation function, creating a layered security structure where the intermediaries (subkeys) prevent direct observation of sensitive data vectors.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If additional subkeys are inserted at input and output of blocks to obscure data vectors, then protection against DPA attacks is improved, but device complexity increases

Engineering Contradiction:
Improveprotection against DPA attacksVSAvoidcomplexity of MAC generation process
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary key derivation actions by pre-computing additional subkeys from the main key using a key derivation function before the actual MAC computation. This preliminary action of key derivation allows the main MAC computation to focus only on the XOR operations with the message blocks, rather than implementing a fully complex encryption scheme. The subkeys are prepared in advance and stored or computed on-demand, reducing the computational complexity during the critical authentication operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9497021B2Device for generating a message authentication code for authenticating a message
Publication Date: 2016.11.15 NXP BV
  • US9497021B2 patent drawing
  • US9497021B2 patent drawing
  • US9497021B2 patent drawing

AI summary

Device for generating a message authentication code for authenticating a message, wherein the message is divided in blocks (M) with a specified block length, the device comprising a generating unit for generating the message authentication code based on a message by using a block cipher algorithm, and an encrypting unit for performing an exclusive disjunction on the last block with a first key (K1, K2) and for performing an exclusive disjunction on the first and/or the last block additionally with a second key (K3, K4) for generating the message authentication code.