White Box Cipher Key Protection via Linear Permutation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cryptographic solutions, such as those using AES, are insecure in the White Box threat model where an attacker has full access to the system, allowing them to extract the secret key by observing memory operations, especially when key derivation processes are unknown at code compilation time or when distributing software to multiple users with unique cipher keys.

Innovation Solution

The method involves using a linear permutation to create a dual world where operations are performed using dual values of ciphertext and subkeys, hiding the key through table lookups and XOR operations, allowing for secure key injection using an exclusive OR operation, even when the cipher key is unknown at compilation time, and enhancing security by making reverse engineering more complex.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If software cryptographic implementations are used in White Box environment, then ease of operation is improved, but security is worsened because attackers can extract keys by observing memory operations

Engineering Contradiction:
Improveease of operationVSAvoidsecurity
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediary transformation layer that converts the secret key into a transformed key through a known transformation function. This transformed key is then used in cryptographic operations instead of the original key, preventing direct key extraction while maintaining operational functionality. The intermediary transformation acts as a barrier between the attacker and the actual secret key.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the parameter representation by transforming the key from its original form to a transformed form through a mathematical transformation function. This parameter change ensures that the transformed key values do not directly reveal the original secret key, thereby maintaining security while allowing cryptographic operations to proceed.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If key derivation processes are used dynamically, then adaptability is improved, but security is worsened because the key cannot be concealed at compilation time

Engineering Contradiction:
ImproveadaptabilityVSAvoidsecurity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-defining the transformation function that will be applied to the key, even though the actual key value is not known at compilation time. The transformation function is embedded in the code, and when the key is derived dynamically, it is immediately transformed using this pre-defined function, ensuring security without limiting adaptability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent accommodates dynamic key derivation by designing the transformation mechanism to work with keys generated at runtime. The transformation function is applied to whatever key value is produced by the dynamic derivation process, allowing the system to adapt to different keys while maintaining the security transformation throughout.

Inventive Principle:
Principle #15Dynamics

3Reliability

If table lookups are used to obscure key operations, then security is improved, but device complexity is worsened

Engineering Contradiction:
ImprovesecurityVSAvoiddevice complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses table lookups as a copying mechanism where pre-computed transformation values are stored in lookup tables. Instead of performing complex transformations at runtime, the system copies pre-computed values from tables based on intermediate results, simplifying the runtime operation while maintaining security through the obscured transformation process.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS8718280B2Securing keys of a cipher using properties of the cipher process
Publication Date: 2014.05.06 APPLE INC
  • US8718280B2 patent drawing
  • US8718280B2 patent drawing
  • US8718280B2 patent drawing

AI summary

In the field of computer enabled cryptography, such as a block cipher, the cipher is hardened against an attack by protecting the cipher key, by applying to it a predetermined linear permutation before using one key to encrypt or decrypt a message. This is especially advantageous in a “White Box” environment where an attacker has full access to the cipher algorithm, including the algorithm's internal state during its execution. This method and the associated computing apparatus are useful where the key is derived through a process and so is unknown when the software code embodying the cipher is compiled. This is typically the case where there are many users of the cipher and each has his own key, or where each user session has its own key.