Configuration-Based Cryptographic Key Generation in Programmable Logic
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programmable logic devices face security vulnerabilities as attackers can reconfigure them to access cryptographic keys generated by key generation logic, allowing unauthorized decryption of encrypted information.
Innovation Solution
Incorporating key generation logic within programmable logic devices that generates cryptographic keys based on configuration data, ensuring that any reconfiguration results in an invalid key, thereby preventing unauthorized access.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If configuration data is stored in the programmable logic device to enable decryption of encrypted critical information, then the device can perform its intended function, but the configuration data becomes vulnerable to unauthorized access through reconfiguration attacks
Solution Approach 1:
The key generation logic generates the cryptographic key in advance during the configuration phase, using the configuration data as input. This key is then used to decrypt encrypted critical information before it is stored or processed. By performing the key generation action preliminarily and tying it to the configuration data, the system ensures that any modification to the configuration data will result in a different key, thereby protecting the encrypted information from unauthorized access through reconfiguration attacks.
2Adaptability or versatility
If the programmable logic is made reconfigurable to adapt to different functionalities, then the device versatility is improved, but the security of cryptographic keys is compromised
Solution Approach 1:
The system generates the cryptographic key preliminarily during the configuration phase, using the configuration data as input to the key generation logic. This ensures that the key is bound to the specific configuration state of the device. When the device is reconfigured for different functionalities, the configuration data changes, which in turn changes the generated key, thereby maintaining cryptographic security despite the reconfigurability of the device.
Solution Approach 2:
The key generation logic changes its output (the cryptographic key) based on changes in the input configuration data. By making the key generation process dependent on the configuration parameters, the system ensures that any change in device configuration results in a different cryptographic key, thereby maintaining security while allowing device versatility through reconfiguration.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some examples, a programmable device may load configuration data into a configuration storage to configure programmable logic of the programmable device. The programmable device may include a key generation logic that may read at least a portion of the configuration data from the configuration storage. The key generation logic may generate a cryptographic key based at least in part on the at least a portion of the configuration data read from the configuration storage.