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

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

3.6. Root Entry Hash Bitstream Creation

In order to program the root entry hash bitstream to an Intel® FPGA PAC, you must use PACSign to create a root entry hash bitstream.

  1. In your PACSign command, specify the type RK_256 and select the appropriate HSM manager and configuration.
    • To create a root entry hash bitstream using OpenSSL and the key generated in the OpenSSL Key Creation topic, type:
      [PACSign_Demo]$ PACSign SR -t RK_256 -H openssl_manager -r key_fim_root_public_key.pem -o root_public_program_ssl.bin
    • To create a root entry hash bitstream using a SoftHSM and the root key generated in the HSM Key Creation topic, type:
      [PACSign_Demo]$ PACSign SR -t RK_256 -H pkcs11_manager -C softhsm.json -r root_key -o root_public_program_hsm.bin
      Note: PACSign requires an HSM configuration *.json file to request the correct key from the HSM. For more information about the structure and contents of the *.json file, refer to the PACSign PKCS11 Manager .json Reference topic.
  2. After creating the root entry hash bitstream, program the bitstream to an Intel® FPGA PAC using the fpgasupdate command.
    [PACSign_Demo]$ sudo fpgasupdate <root entry hash bitstream> b2:00.0
    

    This operation is permanent and irreversible. After a FPGA SR user image root entry hash bitstream is programmed, the Intel® FPGA PAC validates a FPGA SR user image signature prior to loading. For more details on key management, see the Key Management topic. For more information on how to use fpgasupdate, refer to the Using fpgasupdate section.

  3. After you program the root entry hash bitstream, power cycle your Intel® FPGA PAC.
    [PACSign_Demo]$ sudo rsu bmcimg b2:00.0