White Box Cryptographic Algorithm Hardening via Statistical Correlation Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Commercially available 'white box' implementations of cryptographic algorithms can be vulnerable to attacks that derive the secret key, compromising the security of digital transactions.

Innovation Solution

A method for testing and hardening 'white box' implementations of cryptographic algorithms involves statistically evaluating register contents and intermediate results to find correlations, and randomizing the implementation by permuting lookup tables and introducing randomness to break correlations between input and output bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a 'white box' implementation of a cryptographic algorithm is used to hide secret keys, then the security against unauthorized access is improved, but the implementation becomes vulnerable to statistical correlation attacks that can derive the secret key

Engineering Contradiction:
ImprovesecurityVSAvoidvulnerability to key extraction attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary action by performing statistical analysis on register contents and intermediate results before the actual key extraction attack can occur. By pre-computing and storing the statistical relationships between register states and the secret key, the system prepares defense mechanisms in advance that can detect and prevent key extraction attempts

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer of statistical evaluation that mediates between the cryptographic algorithm's internal state and potential attackers. By analyzing register contents through statistical methods and comparing them against expected correlations, the system creates a buffer that prevents direct key extraction while maintaining the white-box implementation's functionality

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If register contents and intermediate results are statistically evaluated to detect key extraction attempts, then the detection capability is improved, but the processing time and computational overhead increase

Engineering Contradiction:
Improvedetection capabilityVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by performing statistical evaluation only on specific register contents and intermediate results that are most indicative of key extraction attempts, rather than analyzing all internal states. This selective approach maintains detection precision while reducing the overall computational overhead and processing time

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

By pre-computing statistical profiles of normal operation versus attack conditions, the system prepares reference data in advance that enables faster real-time detection. This preliminary preparation reduces the computational burden during actual transaction processing, thereby minimizing time loss

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3686871A1Method for hardening software applications
Publication Date: 2020.07.29 GIESECKE & DEVRIENT EPAYMENTS GMBH
  • EP3686871A1 patent drawingFigure 1
  • EP3686871A1 patent drawingFigure 2
  • EP3686871A1 patent drawingFigure 3

AI summary

Methods are provided for both testing and hardening software applications for conducting digital transactions, which include a "white box" implementation of a cryptographic algorithm. The method for testing a "white box" implementation of a cryptographic algorithm, which generates a ciphertext from a plaintext using a secret key and exists on a processor with at least one register in the form of machine instructions, comprises the following steps: (a) feeding a plaintext or a plurality of plaintexts into the "white box" implementation; (b) stepwise reading and storing the contents of the processor's at least one register while executing the machine instructions of the "white box" implementation, whereby intermediate results may be generated during the stepwise execution of the machine instructions of the "white box" implementation.(c) repeating steps (a) and (b) N times with another plaintext from the multitude of plaintexts; and (d) statistically evaluating the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts generated from the plaintexts by searching for correlations between the contents of the registers and the plaintexts, the intermediate results and/or the ciphertexts in order to determine the secret key.