Secure Key Storage for Programmable ICs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for protecting programmable integrated circuit designs from unauthorized access and configuration are inadequate, as they either expose decryption keys during configuration or require battery backup for key storage, which is inefficient and vulnerable to reverse engineering.
Innovation Solution
A method involving a registration circuit on the programmable IC generates a black key from a red key using a soft PUF, storing it externally, and then using a pre-configuration circuit to decrypt ciphertext designs into plaintext, erasing the red key from internal memory after configuration, ensuring secure and efficient key management without battery backup.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the decryption key is stored in non-volatile memory of the programmable IC, then the design can be decrypted before being used to configure the programmable logic, but the decryption key can be obtained from the memory cells through reverse engineering
Solution Approach 1:
A secure element acts as an intermediary component that stores the decryption key in a tamper-resistant manner. The secure element is physically separated from the main programmable logic fabric, creating a security boundary. The key never leaves the secure element in plaintext form, and decryption operations are performed through authenticated interfaces that prevent direct memory access and reverse engineering attacks on the key storage.
2Duration of action of stationary object
If a battery is required for backup power to maintain the decryption key in the IC, then the key can be maintained, but maintenance issues and complexity increase
Solution Approach 1:
The system uses volatile memory for key storage without requiring battery backup, accepting that the key will be lost when power is removed. This is resolved by implementing a key regeneration mechanism where the secure element can re-generate or re-import the decryption key through authenticated communication channels, eliminating the need for expensive and complex non-volatile memory with battery backup while maintaining operational continuity.
3Ease of operation
If configuration data is stored external to the programmable logic and transmitted through a configuration access port, then the device can be configured, but the design can easily be revealed to an attacker by monitoring the data
Solution Approach 1:
The configuration process is segmented into two distinct phases: a secure authentication phase where the secure element verifies the legitimacy of the configuration data using the decryption key, and a separate data transfer phase where only authenticated data is loaded into the programmable logic. This segmentation ensures that even if configuration data is transmitted externally, attackers cannot intercept and reuse it without the decryption key, which remains protected within the secure element.
Data Source
AI summary
The disclosure describes approaches for protecting a circuit design for a programmable integrated circuit (IC). A black key is generated from an input red key by a registration circuit implemented on the programmable IC, and the black key is stored in a memory circuit external to the programmable IC. The programmable IC is configured to implement a pre-configuration circuit, which inputs the black key from the memory circuit and generates the red key from the black key. A ciphertext circuit design is decrypted into a plaintext circuit design by the programmable IC using the red key, and the red key is erased from the programmable IC. The programmable IC is reconfigured with the plaintext circuit design.


