White-Box Cryptographic Implementation Fingerprinting

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing white-box cryptographic implementations face challenges in tracing the original owner of a leaked implementation, as existing methods require analyzing the code, which can be time-consuming and difficult due to obfuscation techniques, and there is a need to embed a fingerprint that can be identified through functional behavior without affecting normal functioning.

Innovation Solution

A method is introduced to determine a fingerprint identification by performing a keyed cryptographic operation using a network of lookup tables within the AES operation, where a specific message causes incorrect outcomes, allowing for unique identification of the original owner without code analysis, by modifying the output of S-boxes and using user-specific values, and incorporating finite state machines for obfuscation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If code obfuscation techniques are used to hide embedded knowledge and prevent reverse engineering, then tamper resistance is improved, but the ability to trace the original owner deteriorates

Engineering Contradiction:
Improvetamper resistanceVSAvoidtraceability
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent embeds a fingerprint identifier into the white-box implementation during the compilation or generation phase, before the implementation is distributed. This preliminary embedding ensures that even though the code is later obfuscated, the fingerprint remains embedded in the functional behavior and can be used for traceability without requiring code analysis.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses a fingerprint identifier as an intermediary element that connects the obfuscated implementation to its origin. This fingerprint is embedded in a way that it manifests through the functional behavior of the implementation, serving as a mediator that enables traceability without exposing the obfuscated code structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If a fingerprint is embedded in the code to enable tracing, then traceability is improved, but the complexity of code analysis increases

Engineering Contradiction:
ImprovetraceabilityVSAvoidcode analysis complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts the traceability function from the code structure itself and embeds it as a separate fingerprint identifier that manifests through functional behavior. This allows tracing to be performed by observing input-output relationships rather than analyzing the obfuscated code, thereby reducing code analysis complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical approach of embedding visible markers in the code with a functional approach where the fingerprint is embedded in the behavioral characteristics. Instead of analyzing code structure (mechanical analysis), tracing is performed by observing functional behavior, substituting one method for another.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Loss of information

If the fingerprint identification method affects normal cryptographic operations, then tracing capability is improved, but cryptographic functionality deteriorates

Engineering Contradiction:
ImprovetraceabilityVSAvoidcryptographic functionality
Core Design Contradiction:
Loss of informationVSReliability

Solution Approach 1:

The patent embeds the fingerprint identifier in a localized manner within the white-box implementation such that it only affects specific behavioral characteristics under certain conditions (specific input messages), while leaving the normal cryptographic operations unchanged. This ensures that tracing capability is improved without compromising cryptographic functionality.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements the fingerprint identification mechanism in a partial manner, where it only activates or manifests under specific conditions (when particular input messages are provided), rather than continuously affecting all operations. This allows tracing to be performed without interfering with normal cryptographic operations during typical use.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP2940917B1Behavioral fingerprint in a white-box implementation
Publication Date: 2019.02.20 NXP BV
  • EP2940917B1 patent drawingFigure 1~2
  • EP2940917B1 patent drawingFigure 3~4
  • EP2940917B1 patent drawingFigure 5~6

AI summary

A method of determining a fingerprint identification of a cryptographic implementation in a cryptographic system, including: receiving, by the cryptographic system, an input message that is a fingerprint identification message; performing, by the cryptographic system, a keyed cryptographic operation mapping the fingerprint identification message into an output message that includes a fingerprint identification; and outputting the output message.