White-Box Cryptography Authorization via State Machine
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In the context of digital content distribution, existing technologies face challenges in securely managing access and authorization across user devices, particularly in hostile networks where not all devices can be trusted, and white-box cryptography is needed to prevent unauthorized access and tampering.
Innovation Solution
A method and system for implementing separate authorization for different input message groups using a single cryptographic key, where the cryptographic system produces correct outputs for authorized groups and incorrect or terminated operations for unauthorized groups, leveraging a network of lookup tables and finite state machines within a white-box implementation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If multiple cryptographic keys are used to manage authorization for different input message groups, then authorization control precision is improved, but device complexity increases
Solution Approach 1:
The patent implements a single cryptographic key that serves multiple authorization functions by integrating it with a state machine and lookup tables. The key is used across different authorization levels and message groups without requiring separate keys, achieving multi-functionality that reduces key management complexity while maintaining precise authorization control through the state machine's transition logic.
Solution Approach 2:
The patent segments the authorization control function into distinct states within a state machine (e.g., STATE_A, STATE_B, STATE_C) rather than using multiple keys. Each state represents a different authorization level, and transitions between states are controlled by lookup tables that map input messages to appropriate states. This segmentation allows precise authorization control through state transitions while keeping key management simple.
2Reliability
If white-box cryptography is implemented to prevent unauthorized access in hostile networks, then security is improved, but ease of operation deteriorates due to complete attacker control
Solution Approach 1:
The patent converts the harmful effect of complete attacker control in white-box environments into a benefit by designing the cryptographic implementation to be inherently resistant to such control. The state machine and lookup tables are constructed so that even with full visibility into the software, attackers cannot extract secret information or bypass authorization checks. The system's security model accepts and works within the hostile environment rather than trying to prevent it.
Solution Approach 2:
The patent introduces intermediate structures (state machine, lookup tables, state transitions) that mediate between the cryptographic key and the authorization decisions. These intermediaries obscure the direct relationship between the key and authorization outcomes, making it difficult for attackers to reverse-engineer the system even with complete control. The lookup tables act as intermediaries that map inputs to states without revealing the underlying key material.
3Reliability
If cryptographic functions are obfuscated using lookup tables to prevent reverse engineering, then security is improved, but manufacturing precision deteriorates due to difficulty in modifying algorithms
Solution Approach 1:
The patent uses a dynamic state machine where the authorization behavior can be modified by changing state transition definitions in lookup tables without altering the core cryptographic algorithm. The system transitions between different states based on input messages, and these transitions can be configured to implement different authorization policies. This dynamic approach allows flexible modification of authorization logic while maintaining the security of the underlying cryptographic functions.
Solution Approach 2:
The patent pre-computes and stores authorization logic in lookup tables that map input messages to state transitions. This preliminary action allows the system to make authorization decisions based on pre-defined rules without requiring complex real-time computations or modifications to the cryptographic algorithm. The lookup tables are prepared in advance, enabling easy modification of authorization policies by simply updating the table contents rather than changing the algorithm itself.
Data Source
Figure 1~2
Figure 3~4
Figure 5
AI summary
A method of authorization in a cryptographic system that provides separate authorization for a plurality of different input message groups using a single cryptographic key, including: receiving, by the cryptographic system, a first input message from a first input message group; performing, by the cryptographic system, a keyed cryptographic operation mapping the first input message into a first output message, wherein the keyed cryptographic operation produces a correct output message when the cryptographic system is authorized for the first input message group, wherein the keyed cryptographic operation does not produce a correct output when the cryptographic system is not authorized for the first input message group, and wherein each of the plurality of input message groups has an associated set of input messages wherein the sets of input messages do not overlap.