White-Box Key Authentication with Masked Key Demasking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cryptographic algorithms in open devices are vulnerable to attacks, particularly white-box attacks, and adapting these algorithms to enhance security is constrained by limited implementation options and the need to minimize impact on the protocol or application configuration.
Innovation Solution
A method involving a first device that cooperates with a second device to authenticate using a white-box decryption algorithm, where an encrypted cryptographic key is masked and unmasked with specific functions, allowing flexible adaptation of the cryptographic implementation without affecting the second device's configuration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If white-box cryptography is implemented to protect cryptographic keys in open devices, then security against attacks is improved, but implementation flexibility and adaptability are reduced
Solution Approach 1:
The cryptographic key is segmented into multiple components: an encrypted cryptographic key and a masking key. The encrypted cryptographic key is stored in a restricted area of memory that is protected from direct access, while the masking key is stored in a general area. This segmentation allows the system to maintain security through protected storage while enabling flexibility in how the keys are managed and applied during cryptographic operations.
Solution Approach 2:
A masking function acts as an intermediary between the encrypted cryptographic key and the actual cryptographic operations. The masking key is combined with the encrypted cryptographic key through this intermediary function to produce the final cryptographic key when needed. This intermediary mechanism provides a flexible layer that can be adjusted without changing the core protected storage structure.
2Reliability
If cryptographic algorithms are secured against attacks, then security is improved, but the ability to adapt software implementation is constrained
Solution Approach 1:
The system implements dynamic key management where the masking key can be changed independently of the encrypted cryptographic key. The masking function allows the system to adapt the cryptographic implementation by updating the masking key without needing to modify or re-encrypt the cryptographic key stored in restricted memory. This dynamic approach enables software updates and security improvements while maintaining the core protected structure.
Solution Approach 2:
The system allows changes in cryptographic parameters through the masking key, which can be modified to adapt to different security requirements or attack scenarios. By changing the masking key parameter, the system can implement different cryptographic behaviors or countermeasures without altering the fundamental key storage architecture or requiring complex software reconfiguration.
3Reliability
If cryptographic keys are protected through white-box implementation, then security is improved, but the complexity of key management increases
Solution Approach 1:
The masking key is extracted from the restricted protected area and placed in the general memory area, separate from the encrypted cryptographic key. This extraction simplifies key management by allowing the masking key to be accessed and manipulated more easily while the encrypted cryptographic key remains protected. The separation reduces the complexity of managing protected memory operations while maintaining security through the masking mechanism.
Data Source
Figure 1
Figure 2
Figure 3~4
AI summary
The invention relates to a processing method in a first device (DV1), said method comprising: receiving initial data including challenge data; obtaining key data (CEC) including an encrypted cryptographic key (DEC) which is masked by executing a cryptographic masking function (F1); receiving a demasking key; determining the encrypted cryptographic key (DEC) by executing a cryptographic demasking function (F2) from the demasking key; determining a decrypted cryptographic key (KEC) by decryption by executing a decryption algorithm (pdec) implemented in a white box from the encrypted cryptographic key (DEC); determining a response data by a cryptographic operation by executing a predetermined cryptographic algorithm (ALp) from the decrypted cryptographic key (KEC) and the challenge data (CH1);and sending the response data to authenticate the first device.