White-Box Cryptography Patching Without Key Rotation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In white-box cryptography implementations, adversaries can illegitimately distribute cryptographic keys by distributing functionality instead of extracting and distributing the key, and existing patching methods require changing cryptographic keys, leading to system downtime and user annoyance.
Innovation Solution
Implement k-refreshable white-box cryptographic systems where the same underlying key is used, but unused portions of the implementation are activated, forcing adversaries to restart their efforts, and messages are routed through specific message groups to prevent key exposure and system compromise.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If existing patching methods are used to patch cryptographic implementations, then security vulnerabilities can be addressed, but cryptographic keys must be changed causing system downtime and user annoyance
Solution Approach 1:
The cryptographic implementation is divided into multiple segments or portions, each handling different message groups. This segmentation allows selective patching of specific portions without requiring changes to the entire cryptographic key or complete system downtime, as other portions can continue to function during the patching process.
Solution Approach 2:
The system dynamically routes messages to different portions of the cryptographic implementation based on the message group identifier. This dynamic routing enables the system to activate unused portions for patching while maintaining functionality through other portions, thereby reducing system downtime and avoiding the need to change cryptographic keys.
2Reliability
If cryptographic keys are changed to patch security vulnerabilities, then security can be improved, but system functionality is interrupted and users are annoyed
Solution Approach 1:
By segmenting the cryptographic implementation into multiple portions that can be independently activated, the system allows security patches to be applied to specific portions without requiring global key changes. This maintains system continuity and ease of operation while improving security.
Solution Approach 2:
The cryptographic implementation is designed with multi-functionality where different portions can handle different message groups. This universality allows the system to maintain operational continuity by routing messages through functional portions even while other portions are being patched, thus preserving ease of operation while enhancing security.
3Loss of time
If the same cryptographic key is reused to avoid downtime, then system continuity is maintained, but adversaries can isolate and distribute the implementation illegitimately
Solution Approach 1:
The cryptographic implementation is segmented into multiple portions, each associated with different message groups. This segmentation prevents adversaries from isolating the entire implementation by distributing only part of it, as each portion alone is insufficient without the corresponding message group routing logic. The same cryptographic key can be reused across portions without compromising security.
Solution Approach 2:
The message group identifier acts as an intermediary that routes messages to appropriate cryptographic portions. This intermediary mechanism ensures that even if the same cryptographic key is reused across multiple portions, adversaries cannot legitimately distribute or isolate individual portions without the routing logic, thereby preventing key exposure while maintaining system continuity.
Data Source
AI summary
A method of patching a cryptographic implementation without changing a key in a cryptographic system, including: sending a message from a first message set to the cryptographic implementation, wherein the first message uses a first portion of the cryptographic implementation; deciding to patch the cryptographic implementation; sending a second message from a second message set to the cryptographic implementation after deciding to patch the cryptographic implementation, wherein the second message use a second portion of the cryptographic implementation that is not used for any messages in the first message set.


