Secure PLD Boot Using Pre-Authenticated Configuration Images
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing programmable logic devices (PLDs) face challenges in securing configuration data and protecting against subversion of desired operations, particularly in trusted computing applications, requiring efficient methods for manufacturing, protecting, distributing, and upgrading PLD configurations.
Innovation Solution
A secure boot mechanism for PLDs involves pre-authenticating configuration images using an on-chip authentication engine, storing the authentication status, and selectively programming the PLD fabric based on this status, allowing secure booting with minimal performance impact, while using lock statuses to secure assets and prevent data loss or reprogramming.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If configuration data is protected using traditional authentication methods, then security is improved, but boot time increases and performance is degraded
Solution Approach 1:
The authentication engine pre-authenticates configuration images before they are programmed into the PLD fabric. The authentication status is stored in authentication status bits, so that during boot, the device can quickly verify the pre-stored authentication status without performing resource-intensive authentication operations, thereby reducing boot time while maintaining security
Solution Approach 2:
The authentication function is extracted as a separate on-chip authentication engine that operates independently from the main PLD fabric. This allows authentication to be performed in parallel with configuration programming, and the authentication status to be cached separately, preventing authentication overhead from blocking the boot process
2Reliability
If configuration data is protected against subversion, then security is improved, but device complexity increases
Solution Approach 1:
The PLD includes an on-chip authentication engine that performs self-verification of configuration images. The authentication status bits are automatically set during configuration programming, and the boot process automatically checks these status bits without requiring external authentication hardware or complex verification procedures, thereby providing robust security with minimal added complexity
Solution Approach 2:
The authentication engine is integrated directly into the PLD chip, merging the authentication function with the configuration programming and boot processes. This integration allows authentication to be performed using the same hardware resources already present in the PLD, avoiding the need for separate authentication hardware and reducing overall system complexity
3Reliability
If configuration data is protected with authentication mechanisms, then security is improved, but manufacturing and distribution complexity increases
Solution Approach 1:
Configuration images are pre-authenticated during the manufacturing or distribution process, and the authentication status is stored in the configuration data itself. This allows the configuration to be distributed in an authenticated state, eliminating the need for complex post-distribution authentication procedures and simplifying both manufacturing and deployment processes
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods for secure booting of secure programmable logic devices (PLDs) are disclosed. An example system includes a secure PLD including programmable logic blocks (PLBs) arranged in a PLD fabric of the secure PLD, and a configuration engine configured to program the PLD fabric according to a configuration image stored in a non-volatile memory (NVM) of the secure PLD and/or coupled through a configuration input/output (I/O) of the secure PLD to the configuration engine. The secure PLD is configured to retrieve a pre-authentication status associated with the configuration image from the NVM, determine or verify the retrieved pre-authentication status associated with the configuration image includes a valid status, and boot the PLD fabric of the secure PLD using the configuration image.