Cryptoprocessor Register Protection Against Unidirectional Laser Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing mechanisms for protecting encryption keys in cryptoprocessors are vulnerable to unidirectional disturbances, where attackers can force bits to a single state, making it difficult to detect and counter such attacks without revealing key information, and current solutions require frequent key reloading or hardware modifications.
Innovation Solution
A method involving submitting the key to a first function and storing the result in multiple registers, with a second function applied when the key is needed, using a selection value to ensure the key is correctly provided to the algorithm without storing the result, thus masking the key's state and location, making it harder for attackers to determine the key's value.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the key is stored in a register and accessed directly, then the encryption algorithm can operate efficiently, but the key becomes vulnerable to unidirectional laser attacks that force bits to a single state
Solution Approach 1:
The key is divided into multiple representations across different registers (first register with key bits, second register with transformed key bits). This segmentation ensures that a laser attack on one register cannot compromise the entire key, as the attacker cannot simultaneously force all key bit representations to the same state.
Solution Approach 2:
A transformation function acts as an intermediary between the original key and the registers. The transformation creates a relationship where the key bits and transformed key bits are dependent on each other, allowing the system to detect when a laser attack has modified the key, as the transformation would no longer hold.
2Reliability
If the key is reloaded frequently to check integrity, then the key can be protected against modification during transfer, but the system complexity and time consumption increase
Solution Approach 1:
The transformation of the key into multiple representations is performed in advance before the key is used for encryption. This preliminary action establishes the protective structure once, eliminating the need for frequent reloading and integrity checks during subsequent encryption operations.
3Reliability
If integrity checking mechanisms are implemented, then key modification can be detected, but the mechanism may reveal information about key bit values to the attacker
Solution Approach 1:
Different registers store different transformations of the key with different properties. The first register stores the original key bits while the second register stores transformed bits. This local differentiation means that attacks on one register do not provide information about the other register, preventing information leakage.
Data Source
AI summary
A device includes one or more registers and circuitry. The circuitry subjects a key having a number of bits to a first function which takes a selection value into account, generating a result having a number of bits which is twice the number of bits of the key, and stores the result in the one or more registers. In response to a call for the key, the circuitry subjects the result stored in the one or more registers to a second function which takes the selection value into account to generate a response having a same value as the key.


