Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 5
Physically Unclonable Function (PUF) Overview on page 9 for more information. These security features are available in Intel Stratix 10 devices that support advanced security. The following table lists the security features that Intel Stratix 10 devices support. Intel Stratix 10...
UG-S10SECURITY | 2020.01.15 1.1. Intel Stratix 10 Secure Device Manager (SDM) The Secure Device Manager (SDM) is a triple-redundant processor-based module that manages the configuration and security features of Intel Stratix 10 devices. The SDM authenticates and decrypts configuration data. Figure 1.
Intel and by you, the device owner. An eFuse on the Intel Stratix 10 device enables this feature. For a full list of available eFuse security options, refer to Using eFuses.
Stratix 10 Device Security Overview UG-S10SECURITY | 2020.01.15 The following side channel mitigation features are available in Intel Stratix 10 devices: • Authentication first: The device authenticates the bitstream before decrypting it. Attackers cannot perform differential attacks on the AES encrypted data without breaking authentication.
The Intel Quartus Prime Programmer also includes an Encryption Key Select option with two choices: Battery Backup RAM or eFuses. This option is available for Intel Stratix 10 and later devices that include the SDM when you program a Intel Quartus Prime encryption key .qek...
Black key provisioning creates a direct secure channel between your hardware security module (HSM) and the Intel Stratix 10 device. This secure channel ensures that your HSM can provision the AES key and other confidential information without exposure to an intermediate party.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 12
2. Design Authentication UG-S10SECURITY | 2020.01.15 on the device. When you enable co-signed firmware you must co-sign the firmware before generating bitstreams. The SDM validates both the Intel signature and your signature before loading and running the SDM firmware. Figure 4.
Up to 4 Signature Chains 3rd Signature Chain Public Key Entry 2 (Optional) Dynamic Sector Pointers 4th Signature Chain Public Key Entry 3 (Optional) 32-bit CRC Header Block Entry ® ® Intel Stratix 10 Device Security User Guide Send Feedback...
Page 14
PR, HPS I/O, and FSBL sections of the design. • Cancellation ID: Specifies the number that cancels a key that is no longer valid. Intel Stratix 10 devices support 32 cancellation IDs. Cancellation IDs 0-31 cancel owner keys. Once you cancel a key, any previous designs signed by the canceled key are unusable.
Page 15
You cannot cancel the root key. Consequently, the root key does not have a cancellation ID. However, you can cancel a signature chain that includes two or more signature levels. Intel strongly recommends that you create a signature chain with at least two levels to retain the ability to update your signature keychain.
IDs for older versions of firmware to help ensure the device can only loads the most current firmware. This section describes when and how Intel firmware IDs are canceled. As of Intel Quartus Prime Pro Edition Version 19.3, Intel has used the following firmware IDs. Table 3.
If you are using an SoC device, the HPS Boot Code is part of the bitstream that is authenticated by the SDM during configuration. After you successfully load the HPS Boot Code on the Intel Stratix 10 device, you may need to ensure that the following boot stages of the HPS Software are also authenticated.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
You may need one or more design signing keys. You can create separate signing keys for the HPS and FPGA in Intel Stratix 10 SX devices. Creating multiple keys gives you the flexibility to cancel keys if you detect an error, uncover a vulnerability, or need to update the design.
1. Run the following command to create the first design signature private key. You use the design signature private key to create the design signature public key. Note: Intel recommends following industry best practices to use a strong, random passphrase on all private key files. The...
.qky bitstream. There are two options for bitstream signing: • You use Intel Quartus Prime Programming File Generator to generate the signed bitstream from a file. You specify the required format for your configuration .sof scheme.
Page 22
UG-S10SECURITY | 2020.01.15 Figure 9. Specifying the Quartus Key File Specify Quartus Key File Security Category — Alternatively, you can add the following assignment statement to your Intel Quartus Prime Settings File ( .qsf set_global_assignment -name QKY_FILE design1_sign_keychain.qky 2. To generate a...
( ), a private signing key quartus_sign .qky ), and the unsigned raw binary file ( ) as inputs to generate the .pem .rbf signed . ® ® Intel Stratix 10 Device Security User Guide Send Feedback...
Values stored in eFuses clear each time you power cycle the Intel Stratix 10 device. You can use the Intel Quartus Prime Software to program the public root key for authentication. Alternatively, you can use a command-line command to accomplish this task.
Page 25
Note: Once you have specified the QKY file, the programmer displays the compatible version of firmware that you use to program the device. The version of the Intel Quartus Prime Programmer and the firmware must match. 4. You can choose to program the non-volatile eFuses or simulate the actual hardware using virtual eFuses.
To validate the owner root public key hash, you can compare the value of to the value you observe when turn on the Examine option hash_fuse.txt while configuring the Intel Stratix 10 device in the Intel Quartus Prime Pro Edition Programmer. Related Information...
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
<install_dir>/quartus/ directory. This file includes common/devinfo/programmer/firmware/ the SDM firmware. 3. Programming the Co-Signed Firmware eFuses in the the Intel Stratix 10 device using the signed firmware (Signed FW ) and signed_nadder.zip owner.fuse as inputs.
4.1.4. Powering On In JTAG Mode After Implementing Co-Signed Firmware After you program the co-signed firmware eFuse, the Intel Stratix 10 FPGA requires all configuration bitstreams to include co-signed firmware on every subsequent power-on. The existing helper image containing the SDM firmware is now out-of-date because it does not specify co-signed firmware.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
5.1. Enabling HPS JTAG Debugging Use this procedure to enable HPS JTAG debugging after configuring the Intel Stratix 10 SX device with a signed bitstream. You should already have created a first-level signature chain by completing the instructions in the following topics: Step 2: Creating the Design Signing Key on page 19.
Page 32
Find the list of Intel Stratix 10 devices, in the Intel Quartus Prime Programmer, by select Add Device. b. In the Device family list, select Intel Stratix 10. In the Device name list, find the part number that matches your device.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Output file Private PEM file Arguments This command includes 1 required argument and 1 optional argument: • : Selects the Elliptic Curve Digital Signature Algorithm (EDCSA) 256 or 384. Intel curve recommends using if possible because may be vulnerable to attacks...
• Uses the private part of the last-appended public key to sign the new public key • Appends the specified design signing key to the root public Intel Quartus Prime keychain • Assigns specified permissions and cancellation ID to the appended public key...
Input file : This is the root public key. input QKY Output file : Manufacturing uses this text file to program the specified eFuses of the Intel fuse output text Stratix 10 device. Arguments This command has no additional arguments.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 38
The section key decrypts the keys block which contains up to 128 keys. Each key is 256 bits and decrypts subsequent encrypted data or another keys block. Figure 16. Bitstream Decryption Intel Stratix 10 Header Block Owner AES Root Key IVs & Intermediate Keys IV &...
Step 3: Programming the AES key and configuring the encrypted owner image The following flow diagram shows the processes required for each step. Figure 17. Design Flow for Owner Image Encryption in Intel Stratix 10 Devices Stage #3 Program owner AES root key (.qek) to the device (physical...
.pof • Raw Programming Data File ( .rpd 1. On the Intel Quartus Prime File menu select Programming File Generator. 2. On the Output Files tab, specify the output file type for your configuration scheme. Figure 18. Output File Specification...
Device Device and Pin Options. In the current release, you can select Battery Backup RAM (BBRAM) or eFuses. After you make this selection, the Intel Quartus Prime Pro Edition Software identifies the file as .sof encryption enabled and records your settings for the Encryption key select and Encryption update ratio.
Page 42
Specify Quartus Prime Key File Select Key Storage Location 1. Bring up the Intel Quartus Prime Programmer. 2. Right click the Intel Stratix 10 device and select Add QKY/QEK/FUSE File file. Navigate to your file and select it. .qky Figure 21.
Page 43
7. Encryption and Decryption Overview UG-S10SECURITY | 2020.01.15 4. Right click the Intel Stratix 10 device and select Add QKY/QEK/FUSE File. Navigate to your file and select it. .qek 5. Enable the Program/Configure option for the file. Disable the Program/ .qek...
7.1.5. Step 3b: Programming the AES Key and Configuring the Encrypted Image Using the Command Line You use the Intel Quartus Prime Programmer to program the owner AES key into the device. Then, configure the device using the encrypted bitstream.
SDM firmware wraps the AES root key and stores the wrapped value in eFuses. You must upgrade to version 19.3 and cancel all prior Intel Firmware IDs in order to store your AES root key in physical eFuses.
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
: Specifies an optional file path that a contains passphrase to protect the . If passphrase .qek you do not specify this argument, the command prompts you to enter the quartus_encrypt passphrase ® ® Intel Stratix 10 Device Security User Guide Send Feedback...
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 49
Legal Values Description Co-signed firmware 1-bit boolean When you program this fuse, both you and Intel must sign the device firmware. Intel signs the device firmware with the root public key during the manufacturing process. Device not secure 1-bit boolean If you receive a device and this fuse is programmed do not use the device and contact Intel.
Quartus Prime Programmer. When you select this option the Intel Quartus Prime Pro Edition stores the eFuse values in firmware registers. 2. In the Intel Quartus Prime Programmer click Add File and browse to your signed bitstream. 3. In the Intel Quartus Prime Programmer turn on the Program/Configure and Examine options.
1. To find the list of helper devices, in the Intel Quartus Prime Programmer, select Add Device. 2. In the Device family list, select Intel Stratix 10. In the Device name list, identify the find the part number that matches your device.
Page 52
//For virtual (volatile) eFuses programming_file.fuse quartus_pgm -c 1 -m jtag -o "p; " Related Information Intel Stratix 10 GX/SX Device Overview For an explanation of Intel Stratix 10 device ordering codes. ® ® Intel Stratix 10 Device Security User Guide...
Jam Standard Test and Programming Language (STAPL) Format File .fuse ) and Jam Byte Code File ( ). You can use these files to program Intel .jam .jbc FPGAs using the Jam STAPL Player and the Jam STAPL Byte-Code Player, respectively.
Page 54
// To program the AES Encryption key into BBRAM quartus_jli -c 1 -a AESKEY_PROGRAM -e DO_UNI_ACT_DO_BBRAM_FLAG EncKey.jam Related Information AN 425: Using the Command-Line Jam STAPL Solution for Device Programming ® ® Intel Stratix 10 Device Security User Guide Send Feedback...
Intel's standard warranty, but reserves the right to make changes to any products and services Registered at any time without notice. Intel assumes no responsibility or liability arising out of the application or use of any information, product, or service described herein except as expressly agreed to in writing by Intel. Intel customers are advised to obtain the latest version of device specifications before relying on any published information and before placing orders for products or services.
Page 56
10. Document Revision History for Intel Stratix 10 Device Security User Guide UG-S10SECURITY | 2020.01.15 Document Version Intel Quartus Changes Prime Version • Added the following topics: — Step 4a: Protecting the AES Key when Storing the AES in eFuses —...
Need help?
Do you have a question about the Stratix 10 and is the answer not in the manual?
Questions and answers