Secure Element Authentication for Programmable IC Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Programmable integrated circuits (ICs) are vulnerable to unauthorized modifications and data breaches due to their reconfigurable nature, with existing encryption methods failing to securely protect the configuration bitstream from attackers who can retrieve or reset the decryption key, allowing Trojan horse logic to be introduced.
Innovation Solution
A method that calculates a signature value from the configuration bitstream and stores it in a write-once memory, ensuring that only authorized bitstreams can complete configuration by comparing the calculated signature with a stored signature, preventing unauthorized configuration and tampering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the decryption key is stored in non-volatile memory of the programmable IC, then the configuration bitstream can be decrypted and used to configure programmable resources, but the decryption key can be retrieved by attackers through physical inspection or chemical treatment, allowing them to decrypt and modify the circuit design
Solution Approach 1:
The decryption key is extracted from the programmable IC and stored in an external secure element. This separation removes the key from the vulnerable environment of the IC, preventing attackers from retrieving it through physical inspection or chemical treatment of the IC's memory cells.
Solution Approach 2:
A secure element acts as an intermediary between the encrypted configuration bitstream and the programmable IC. The secure element stores the decryption key and performs authenticated decryption, mediating the security-critical operations while keeping the key isolated from direct access by the IC or external attackers.
2Loss of information
If the configuration bitstream is encrypted using standard encryption algorithms, then the design privacy is protected during transmission, but the decryption key must be communicated securely to the programmable IC, creating additional security vulnerabilities
Solution Approach 1:
The key management functionality is extracted from the programmable IC and placed in a dedicated secure element. This external secure element handles all key storage and decryption operations, eliminating the need to communicate decryption keys to the IC and thereby removing the associated security vulnerabilities.
Solution Approach 2:
The secure element performs self-service by autonomously managing the decryption key and performing authenticated decryption of the configuration bitstream. The IC receives only the decrypted configuration data without ever needing to know or handle the decryption key, making the system self-securing.
3Adaptability or versatility
If the programmable IC allows reconfiguration after deployment, then bugs can be corrected and additional functionality can be added, but attackers can modify the circuit design to add unauthorized logic (Trojan horse logic) or bypass security features
Solution Approach 1:
Authentication of the configuration bitstream is performed in advance before the IC is configured. The secure element verifies the authenticity and integrity of the bitstream using cryptographic signatures before decryption, preventing attackers from introducing Trojan horse logic while still allowing legitimate reconfiguration.
Solution Approach 2:
The system implements cryptographic signature verification that provides feedback on the authenticity of configuration attempts. Only bitstreams with valid signatures authenticated by the secure element are decrypted and loaded, creating a feedback mechanism that blocks unauthorized modifications while permitting authorized reconfiguration.
Data Source
AI summary
Approaches for restricting the use of an integrated circuit (IC) are described. In response to receiving an encrypted configuration bitstream, a cryptographic key is retrieved from an internal memory of the IC and the encrypted configuration bitstream is decrypted using the cryptographic key to produce a decrypted configuration bitstream. A first signature value of the decrypted configuration bitstream is calculated. A second signature value is retrieved from a write-once memory of the IC. In response to the first signature value being different from the second signature value, configuration of the IC with the bitstream is prevented. In response to the first signature value being equal to the second signature value, configuration of the IC with the bitstream is permitted.


