Symmetric Block Cipher Side-Channel Attack Protection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Symmetric block ciphers, such as AES, are vulnerable to side-channel attacks like SPA and DPA, which exploit power consumption and electromagnetic emissions to extract encryption keys, posing a significant threat, especially at client devices that are more exposed and less secured compared to server environments.
Innovation Solution
Implementing key manipulation using a master encryption key and key manipulation secret derived from a client-server shared secret via an asymmetric key exchange mechanism, and obfuscating ciphertext blocks before transmission to obscure input and output, making it difficult for attackers to perform successful side-channel attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If symmetric block cipher (AES) is used for encryption, then encryption speed and efficiency are improved, but vulnerability to side-channel attacks increases
Solution Approach 1:
The encryption process is segmented into multiple operations using different keys. Instead of using a single key for all encryption operations, the system divides the encryption tasks across multiple key instances, making it difficult for attackers to correlate power consumption patterns across operations to extract the master key.
Solution Approach 2:
The system dynamically changes encryption keys during operation. Rather than using a static key, the encryption keys are varied based on operation type or sequence, preventing attackers from using static analysis of power consumption patterns to compromise the security of the AES implementation.
2Ease of operation
If the same encryption key is used for extended periods, then key management simplicity is improved, but security against key extraction attacks deteriorates
Solution Approach 1:
The system implements dynamic key usage where encryption keys change based on the operation being performed or the sequence of operations. This dynamic key management maintains simplicity from the user perspective while significantly improving security against long-term key extraction attacks.
Solution Approach 2:
The system changes cryptographic parameters (specifically the encryption key) based on operational context. Different keys are used for different encryption operations or sequences of operations, preventing attackers from accumulating enough data to successfully perform differential power analysis attacks.
3Reliability
If additional key manipulation and obfuscation operations are implemented, then security against side-channel attacks is improved, but device complexity increases
Solution Approach 1:
The system uses a universal key derivation mechanism that generates multiple encryption keys from a single master key through a standardized process. This multi-functional approach allows the same hardware resources to be used for both the base encryption and the key manipulation operations, reducing overall complexity.
Solution Approach 2:
The system introduces an intermediary key derivation process that sits between the master key and the actual encryption keys. This intermediary layer (key manipulation circuitry) adds security by preventing direct exposure of the master key while maintaining a relatively simple overall architecture through the use of a standardized derivation mechanism.
Data Source
AI summary
In one embodiment, a processing device includes a symmetric block cipher configured to encrypt plaintext blocks yielding respective ciphertext blocks, obfuscation circuitry configured to obfuscate the respective ciphertext blocks responsively to an obfuscation secret yielding respective obfuscated ciphertext blocks and an interface to send the respective obfuscated ciphertext blocks to at least one remote processing device. In one embodiment, the processing device provides side-channel attack protection within a symmetric key scheme by data obfuscation and by changing encryption/decryption keys using key manipulation so that different blocks or group of blocks of data are encrypted/decrypted using respective encryption/decryption keys.


