White-Box Cryptographic Module Routing for Protected Intermediate Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic white box implementations are vulnerable to attacks, particularly code lifting and exposure of intermediate data, due to attackers having full access to software components and control over execution platforms, leading to potential extraction of cryptographic keys and manipulation of intermediate data.

Innovation Solution

Implementing cryptographic processing modules with additional encryption layers and dynamic routing mechanisms to protect intermediate data by encrypting it and determining subsequent modules based on encrypted data, using decryption and encryption keys derived from a master key.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If cryptographic operations are implemented using standard cryptographic libraries or keys stored in memory, then cryptographic functionality is provided, but the secret key will be discovered by attackers with full access to software implementation

Engineering Contradiction:
Improvesecurity of cryptographic operationsVSAvoidcomplexity of protecting against white box attacks
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The cryptographic system is divided into multiple separate white box components, each implementing a specific cryptographic primitive (e.g., S-box, P-box, key schedule). These components are distributed across different memory locations and executed in a controlled sequence, preventing attackers from analyzing the complete cryptographic algorithm in one location.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A controller component acts as an intermediary that manages the execution of cryptographic primitives and handles the passing of intermediate data between white box components. The controller orchestrates the computation flow and ensures that sensitive intermediate data is properly managed, preventing direct access to the complete cryptographic processing chain.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If intermediate data is transmitted between cryptographic processing modules, then cryptographic functions can be executed in sequence, but intermediate data becomes vulnerable to interception and misuse by attackers

Engineering Contradiction:
Improveefficiency of cryptographic function executionVSAvoidexposure of intermediate data to attackers
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The vulnerable intermediate data is extracted from the main computation flow and replaced with reference pointers or encrypted representations. Instead of directly passing sensitive intermediate values between modules, the system uses indirect references that point to the actual data locations, preventing attackers from capturing meaningful intermediate values during transmission.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system dynamically changes parameters such as memory addresses, data formats, and encryption keys between different cryptographic operations. By varying these parameters according to the execution context and secret values, the system ensures that even if attackers intercept data transmissions, the captured information becomes meaningless without the corresponding decryption keys and context.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If white box features are exploited directly for code lifting attacks, then attackers can use the application as a passport to implement cryptographic functions, but security is compromised

Engineering Contradiction:
Improveflexibility of white box cryptographic implementationVSAvoidprotection against code lifting attacks
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system implements dynamic control flow and data routing where the execution path between cryptographic primitives is determined by secret values and runtime conditions rather than fixed program logic. This dynamic behavior prevents attackers from statically analyzing and lifting the cryptographic code, as the execution pattern changes based on the actual cryptographic operations being performed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Instead of directly exposing the original cryptographic implementation to potential attackers, the system uses obfuscated copies and indirect references to the cryptographic primitives. The actual cryptographic logic is protected through layering and indirection, where attackers would need to reverse-engineer multiple layers of abstraction to access the core cryptographic functions.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12526131B2Device, method and program for secure communication between white boxes
Publication Date: 2026.01.13 BANKS & ACQUIRERS INT HLDG SAS
  • US12526131B2 patent drawing
  • US12526131B2 patent drawing
  • US12526131B2 patent drawing

AI summary

A cryptographic data processing method for implementing a cryptographic function, implemented within an electronic data processing device including a processor, a memory and a set of cryptographic processing modules, the method including the following steps implemented by a current cryptographic processing module of the set: receiving incoming data; determining a decryption key to be applied to the incoming data according to a master key and a position of the current cryptographic processing module; decrypting the incoming data, with the key, delivering unencrypted incoming data; implementing at least one cryptographic operation on the unencrypted incoming data, delivering unencrypted outgoing data; optionally, determining a subsequent cryptographic processing module to be executed on the unencrypted outgoing data; obtaining an encryption key for the unencrypted outgoing data; encrypting the unencrypted outgoing data with the previously determined encryption key for the outgoing data, delivering the encrypted outgoing data, which may be intermediate data.