Master Key Segmentation for White-Box Attack Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital content and software protection methods are ineffective against white-box attacks, where legitimate users can access and misuse digital data by observing and modifying software execution steps, making it difficult to secure secret keys from being exploited.

Innovation Solution

A method that uses a pseudo-random combination function to derive values from a master key, ensuring the master key remains hidden while allowing derived values to be used within a contractual framework, and employs a table-based system to generate and use these derived values securely.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If secret keys are stored in software for digital content protection, then the content can be protected against external hackers, but the keys become vulnerable to white-box attacks where legitimate users can access and misuse the content

Engineering Contradiction:
Improveprotection against external hackersVSAvoidvulnerability to white-box attacks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent segments the master key into multiple derived keys (K1, K2, K3, K4) that are distributed across different software modules. Each module uses a specific derived key for its cryptographic operations. This segmentation ensures that no single module contains the complete master key, making it impossible for attackers to retrieve the full key by examining individual modules, thus resolving the vulnerability to white-box attacks while maintaining protection against external hackers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a key derivation mechanism that acts as an intermediary between the master key and the actual cryptographic keys used in software modules. The master key is not directly stored or used, but rather serves as input to a key derivation function that generates multiple derived keys. This intermediary layer protects the master key from direct exposure to attackers while enabling legitimate use of the content, thereby resolving the contradiction between protection and vulnerability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If cryptographic keys are provided to users for authorized access, then users can legally use the digital content, but the keys can be located in memory and used for unauthorized purposes

Engineering Contradiction:
Improveauthorized access for usersVSAvoidexposure of secret keys
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent segments the key material into multiple derived keys distributed across different software modules. Each authorized operation requires access to specific derived keys that are only available through the legitimate software execution path. This prevents users from easily locating all key material in memory, as the keys are scattered and dynamically loaded only when needed, thus maintaining ease of authorized access while preventing key exposure for unauthorized use.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary key derivation actions during software initialization and execution, generating derived keys on-demand rather than storing them permanently. The key derivation function is pre-configured to generate keys based on the master key and module identifiers. This preliminary preparation allows users to access content smoothly while ensuring that keys are not statically stored, preventing unauthorized retrieval and use.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If a table of derived values is used to protect the master key, then the master key remains hidden, but the table itself becomes a target for attacks

Engineering Contradiction:
Improvemaster key protectionVSAvoidtable structure and management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the derived values into separate tables (T1, T2, T3, T4) corresponding to different software modules, rather than using a single comprehensive table. Each table contains only the derived keys relevant to its module. This segmentation reduces the size and complexity of individual tables, making them less attractive targets for attacks, while maintaining the overall protection of the master key through the distributed structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by creating module-specific derived key tables (T1 for module 1, T2 for module 2, etc.) with different structures and contents tailored to each module's requirements. Each table is optimized for its specific purpose rather than using a uniform structure. This local customization reduces the complexity of individual tables and makes them more resistant to attacks, while maintaining comprehensive master key protection through the collective security of all tables.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2153575B1Obtaining derived values depending on a secret master value
Publication Date: 2012.05.23 ORANGE SA
  • EP2153575B1 patent drawingFigure 1
  • EP2153575B1 patent drawingFigure 2
  • EP2153575B1 patent drawing

AI summary

The invention relates to a method of obtaining through a first entity a derived value Kr. on the basis of an input parameter r. Said method comprises the following steps: the determination, as a function of said input parameter r, of a list of indices (i1,i2,..., iu), where u ≥ l, in a predetermined list of indices, by means of a predetermined function for selecting indices E(r); and obtaining the said derived value Kr by applying, as a function of said input parameter r, a predetermined combining function Fr. to a set of blocks (Ti1,Ti2,...,Tiu) read from a predetermined table T of blocks Ti, where each of said blocks Ti has been generated by a second entity by means of a pseudo-random construction function GS(i) parameterized by a master value S that is not disclosed to said first entity. Application to encryption and authentication.