Secure boot systems and methods for programmable logic devices

US12189777B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12189777-B2
Application numberUS-202017093582-A
CountryUS
Kind codeB2
Filing dateNov 9, 2020
Priority dateMay 11, 2018
Publication dateJan 7, 2025
Grant dateJan 7, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12189777B2 cover?
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 th…
Who is the assignee on this patent?
Lattice Semiconductor Corp
What technology area does this patent fall under?
Primary CPC classification G06F21/575. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 07 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).