Cryptographic Device Key Update Mechanism for Side-Channel Attack Mitigation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cryptographic devices are vulnerable to side-channel attacks, such as differential power analysis, due to their reliance on standardized algorithms and protocols, which can be compromised through power signature variations, and existing countermeasures are costly and require detailed side-channel investigations.
Innovation Solution
A method that involves obtaining a key from memory, providing it with a constant input to an encryption module, and using a key update module to derive an updated key based on an input vector, reducing the need for attack countermeasures and preventing side-channel attacks by creating a dependency between side-channel information and the key, thus making it difficult to derive the original master key.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If standardized cryptographic algorithms and protocols are used, then device complexity is reduced and ease of manufacture is improved, but security is worsened due to vulnerability to side-channel attacks like differential power analysis
Solution Approach 1:
The input data is divided into multiple chunks that are processed sequentially through the block cipher multiple times. Each chunk is used to update the encryption key in sequence, creating a segmented processing approach that prevents attackers from analyzing the complete input-output relationship in a single trace, thereby mitigating differential power analysis attacks while using standardized algorithms
Solution Approach 2:
The encryption key is updated in advance before the actual encryption operation based on previously processed input chunks. This preliminary key update ensures that when the final encryption occurs, the key has already been transformed by prior processing steps, making power trace analysis ineffective for recovering the original key while maintaining standardized algorithm implementation
2Reliability
If re-keying methods are used to prevent side-channel attacks, then security is improved, but device complexity increases and implementation cost rises
Solution Approach 1:
The system performs self-service key updates by automatically transforming the encryption key through processing input chunks with the block cipher. The key update mechanism is integrated into the normal encryption flow, where the same block cipher instance is used to both encrypt data and update keys, eliminating the need for separate key management hardware or complex key derivation functions
Solution Approach 2:
The encryption key parameters are dynamically changed during operation based on the processing of input chunks. The key transformation is achieved by using the block cipher in a key-update mode where intermediate results are fed back into the key material, creating a parameter change mechanism that adapts the key without requiring additional cryptographic primitives or increasing device complexity
3Speed
If complete input vectors are used for encryption, then encryption speed is improved, but security is worsened because attackers can obtain more power traces for analysis
Solution Approach 1:
The complete input vector is segmented into multiple smaller chunks that are processed sequentially. Each chunk triggers a key update and partial encryption operation, breaking down what would otherwise be a single high-speed encryption operation into multiple smaller steps. This segmentation reduces the amount of information available in any single power trace while maintaining overall encryption throughput
Solution Approach 2:
The encryption process incorporates periodic key updates at intermediate stages rather than performing a single continuous encryption. This periodic action inserts key transformation steps between encryption operations, creating temporal gaps in the processing flow that reduce the correlation between power traces and the original key, thereby enhancing security without significantly impacting overall encryption speed
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Methods of securing a cryptographic device against implementation attacks, are described. A disclosed method comprises the steps of obtaining a key (230) from memory of the cryptographic device; providing the key and a constant input (210) to an encryption module (240); deriving an output (250) of encrypted data bits using the encryption module (240); providing the output (250), the key (230) and an input vector (270) to a key update module (260); and using said key update module (260) to modify the key based on at least a part (270a) of the input vector (270) to derive an updated key (230a). This prevents the value of the key from being derived using the updated key or by using side-channel attacks because the input is constant for all keys. Additionally, by altering the input vector, the updated key is also altered.