Updating hardware libraries for use by applications on a computer system with an FPGA coprocessor
US-9424019-B2 · Aug 23, 2016 · US
US12189777B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12189777-B2 |
| Application number | US-202017093582-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 9, 2020 |
| Priority date | May 11, 2018 |
| Publication date | Jan 7, 2025 |
| Grant date | Jan 7, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A secure programmable logic device (PLD) secure booting system, comprising: a secure PLD, wherein the secure PLD comprises a plurality of 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 first 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, wherein the secure PLD is configured to perform a computer-implemented method comprising: retrieving a first pre-authentication status associated with the first configuration image from the NVM; determining the first retrieved pre-authentication status associated with the first configuration image is valid; booting the PLD fabric of the secure PLD using the first configuration image; receiving an update configuration image over the configuration I/O or a programmable I/O of the secure PLD; performing an update pre-authentication process associated with the update configuration image to determine an update pre-authentication status associated with the update configuration image; selectively storing the update configuration image in the NVM in place of the first configuration image if the update pre-authentication status associated with the update configuration image is valid; and booting the PLD fabric of the secure PLD using the stored update configuration image without requiring performance of an additional authentication process for the stored update configuration image. 2. The secure PLD secure booting system of claim 1 , wherein the computer-implemented method further comprises performing a first pre-authentication process associated with the first configuration image prior to the retrieving the first pre-authentication status associated with the first configuration image, the pre-authentication process comprising: determining an authentication engine result comprises a pass result based, at least in part, on the first configuration image; determining a design version corresponding to the first configuration image and/or a pre-authentication hash signature associated with the first configuration image; and storing the authentication engine result, the design version corresponding to the first configuration image, and/or the pre-authentication hash signature as the first pre-authentication status in the NVM. 3. The secure PLD secure booting system of claim 2 , wherein the determining the authentication engine result comprises a pass result comprises: authenticating the first configuration image, wherein the first configuration image is signed using a private key associated with a secure PLD customer for the secure PLD or a secure PLD manufacturer of the secure PLD, a corresponding public key is stored in the NVM, and the authenticating comprises using the public key to verify that the first configuration image is signed using the private key associated with the secure PLD customer or the secure PLD manufacturer; determining the first configuration image comprises a complete configuration image for the secure PLD; and/or validating the first configuration image with respect to the secure PLD. 4. The secure PLD secure booting system of claim 1 , wherein the determining the pre-authentication status associated with the first configuration image comprises a first valid status comprises: determining an authentication engine result associated with the first configuration image comprises a pass result; and/or determining a pre-boot hash signature associated with the first configuration image and verifying that the pre-boot hash signature matches a pre-authentication hash signature prior to the booting the PLD fabric using the first configuration image, wherein the first pre-authentication status comprises the pre-authentication hash signature associated with the first configuration image. 5. The secure PLD secure booting system of claim 1 , wherein a secure boot mode is associated with the secure PLD. 6. The secure PLD secure booting system of claim 5 , wherein the performing the update pre-authentication process associated with the update configuration image comprises: determining a design version corresponding to the update configuration image; and validating the design version corresponding to the update configuration image based, at least in part, on a rollback protection ruleset stored in the NVM, the secure boot mode associated with the secure PLD, and/or first and/or update design versions corresponding to the respective first and/or update configuration images. 7. The secure PLD secure booting system of claim 5 , wherein the secure boot mode associated with the secure PLD comprises a golden boot mode. 8. The secure PLD secure booting system of claim 5 , wherein the secure boot mode associated with the secure PLD comprises a ping pong boot mode, and wherein the selectively storing the update configuration image in the NVM comprises: identifying the first configuration image as an updateable configuration image. 9. A secure programmable logic device (PLD) secure booting system, comprising: a secure PLD, wherein the secure PLD comprises a plurality of 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 first 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, wherein the secure PLD is configured to perform a computer-implemented method comprising: receiving an update configuration image over the configuration I/O or a programmable I/O of the secure PLD; performing an update pre-authentication process associated with the update configuration image to determine a pre-authentication status associated with the update configuration image; selectively storing the update configuration image in the NVM in place of the first configuration image if the update pre-authentication status associated with the update configuration image is valid; and booting the PLD fabric of the secure PLD using the stored update configuration image without requiring performance of an additional authentication process for the stored update configuration image. 10. The secure PLD secure booting system of claim 9 , wherein the performing the update pre-authentication process associated with the update configuration image comprises: determining an authentication engine result based, at least in part, on the update configuration image; and selectively storing the authentication engine result as the pre-authentication status in the NVM based, at least in part, on the authentication engine result. 11. The secure PLD secure booting system of claim 9 , wherein the performing the update pre-authentication process associated with the update configuration image comprises: determining a design version corresponding to the update configuration image; and selectively validating the design version corresponding to the update configuration image based, at least in part, on a rollback protection ruleset stored in the NVM, a secure boot mode associated with the secure PLD, and/or first and/or update design versions corresponding to the respective first and/or update configuration images. 12. The secure PLD secure booting system of claim 9 , wherein the computer-implemented method further comprises: retrieving the update pre-authentication status associated with the update configuration image from the NVM; and verifying the retrieved update pre-authentication status
License processing; Key processing · CPC title
Details relating to cryptographic hardware or logic circuitry · CPC title
using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM] · CPC title
Secret sharing or secret splitting, e.g. threshold schemes · CPC title
using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.