Configurable Hardware Self-Attestation via Static Partition Checksum
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Configurable hardware devices like FPGAs lack a mechanism for hardware-based self-attestation without a tamper-resistant hardware module, making it difficult to ensure the integrity and freshness of configuration updates, especially in scenarios where immutable ROM is not available.
Innovation Solution
A configurable hardware device architecture that includes a static partition for receiving and processing a cryptographic nonce, calculating a checksum of the entire configuration memory, and sending it back to the verifier, utilizing partial reconfiguration and configuration memory readback, without relying on external memory or tamper-proof connections, and incorporating a Message Authentication Code core for secure computation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If configurable hardware devices use standard FPGAs without tamper-resistant hardware modules, then device complexity and cost are reduced, but the ability to perform hardware-based self-attestation is lost
Solution Approach 1:
The configurable fabric is divided into a static partition containing the read/write mechanism and control logic, and dynamic partitions that can be reconfigured. This segmentation allows the attestation mechanism to remain intact while enabling configuration updates in other areas.
Solution Approach 2:
The configurable hardware device performs self-attestation by computing its own checksum using the cryptographic nonce and configuration memory readback mechanism, eliminating the need for external tamper-resistant hardware modules.
2Adaptability or versatility
If the configuration memory is updated with new bit streams, then adaptability and functionality are improved, but the integrity and freshness of the configuration cannot be verified
Solution Approach 1:
The device computes a checksum of its configuration memory content and sends it back to the verifier, creating a feedback loop that allows verification of configuration integrity and freshness without preventing future updates.
Solution Approach 2:
The cryptographic nonce is provided to the device before configuration updates occur, enabling the device to compute a checksum that proves the freshness of its configuration relative to a specific challenge from the verifier.
3Reliability
If a tamper-resistant hardware module is added for self-attestation, then security and reliability are improved, but device complexity and cost increase
Solution Approach 1:
The configurable fabric and configuration memory are used for multiple purposes: both for running application logic and for performing self-attestation, eliminating the need for dedicated tamper-resistant hardware modules.
Solution Approach 2:
The configurable device uses its own existing resources (configuration memory, read/write mechanism, logic circuits) to perform self-attestation, rather than relying on external or dedicated security hardware.
4Reliability
If external memory or tamper-proof connections are used for attestation, then verification reliability is improved, but ease of manufacture and deployment are worsened
Solution Approach 1:
The device uses its internal configuration memory and read/write mechanism for self-attestation, eliminating the need for external memory components or special tamper-proof connection infrastructure.
Solution Approach 2:
The configuration memory serves dual purposes: storing the operational bit stream for the configurable fabric and providing the data source for checksum computation during self-attestation.
Data Source
Figure 1~3
Figure 4~5b
Figure 6~7
AI summary
The present invention relates to a configurable hardware device comprising: - a configuration memory of a known total size, - a configurable fabric arranged for being configured according to information from said configuration memory and segmented in a static partition and at least one dynamic partition, said static partition arranged for receiving a bit stream and a cryptographic nonce and comprising a read/write mechanism for interacting with said configuration memory, whereby said received bit stream is stored in said configuration memory and used to configure an intended application in said dynamic partition, and whereby said static partition is arranged for computing, based on said cryptographic nonce, a checksum of the entire configuration memory and for outputting said checksum.