Security User Guide: Intel® FPGA Programmable Acceleration Card N3000 Variants

ID 683519
Date 9/08/2020
Public
Document Table of Contents

2.3. Key Management

The Intel® MAX® 10 BMC RoT uses ECDSA with a key length of 256 bits to authenticate:
  • Intel® MAX® 10 BMC Nios® firmware and Intel® MAX® 10 FPGA images
  • FPGA static region (SR) user image
The Intel® MAX® 10 BMC RoT supports separate key chains for each image, and each key chain must consist of a root key and a CSK.
The Intel® MAX® 10 BMC RoT does not support a signature of any image with a root key. You must use a key designated as a CSK to sign your image. Steps you are responsible for when creating keys, root entry hashes and programming your image on the Intel® FPGA PAC are:
  • You must manage assigning CSK IDs to CSKs and consistently using the same ID for a given CSK. Neither an Intel® FPGA PAC nor the PACSign tool associate a particular key's value with its ID. It is possible to assign a given CSK multiple IDs, or multiple CSKs to a given ID. This may result in unintended consequences when attempting to cancel a CSK. Intel recommends exclusive ID assignments for each CSK.
  • You are responsible for creating the appropriate key cancellation bitstreams. You must use the same ID number for key cancellation as the one you assigned to the CSK at key creation. Key cancellation bitstreams must be signed with the applicable root key. This helps avoid denial of service through an unintended cancellation of all key values.
  • You are responsible for generating and managing your FPGA static region image root key and CSKs. You generate the FPGA SR user image root entry hash bitstream using your root key.

  • You are also responsible for programming this root entry hash bitstream on the Intel® FPGA PAC. If your Intel® FPGA PAC does not have a programmed FPGA SR user image root entry hash bitstream stored, it executes any signed or unsigned image.
    Note: Intel strongly recommends programming an image root entry hash bitstream. You must protect the confidentiality of the root private key throughout the life of the Intel FPGA PAC.
The Intel® MAX® 10 BMC RoT bitstreams in the on-board flash for:
  1. BMC Nios® firmware and Intel® MAX® 10 FPGA images
  2. FPGA SR user image

The BMC is architected so that all root entry hashes cannot be revoked, changed, or erased once programmed.

In the future, Intel-provided updates to the Intel® MAX® 10 BMC firmware or Intel® MAX® 10 images may necessitate an Intel key cancellation in order to help prevent an unintended rollback to a prior version. In this case, Intel provides the update with a signed CSK that has a different ID than all prior updates. Intel provides a separate key cancellation bitstream to cancel the appropriate Intel keys. You may test an update by applying it before programming the key cancellation bitstream. The prior BMC firmware or update images continue to be accepted as valid updates until the new key cancellation bitstream is applied.