英特尔徽标

英特尔 Agilex 7 设备安全

Intel-Agilex-7-设备安全映像

产品信息

规格

  • 型号: UG-20335
  • 发布日期: 2023.05.23

产品使用说明

1. 产品安全承诺

英特尔致力于产品安全,并建议用户熟悉所提供的产品安全资源。这些资源应该在英特尔产品的整个生命周期中得到利用。

2. 计划的安全功能

未来版本的 Intel Quartus Prime Pro Edition 软件计划提供以下安全功能:

  • 部分重配置比特流安全验证:提供额外保证,确保部分重配置 (PR) 比特流无法访问或干扰其他 PR 角色比特流。
  • 物理抗T设备自杀amper:执行设备擦除或设备归零响应并对 eFuse 进行编程以防止设备再次配置。

3. 可用的安全文档

下表列出了有关英特尔 FPGA 和结构化 ASIC 设备上的设备安全功能的可用文档:

文档名称 目的
英特尔 FPGA 和结构化 ASIC 用户的安全方法
指导
提供详细描述的顶级文档
英特尔可编程解决方案中的安全功能和技术
产品。帮助用户选择必要的安全功能
满足他们的安全目标。
Intel Stratix 10 设备安全用户指南 Intel Stratix 10 器件用户实施说明
使用安全方法确定的安全功能
用户指南。
英特尔 Agilex 7 设备安全用户指南 Intel Agilex 7 设备用户实施说明
使用安全方法确定的安全功能
用户指南。
英特尔 eASIC N5X 设备安全用户指南 英特尔 eASIC N5X 设备用户实施说明
使用安全方法确定的安全功能
用户指南。
英特尔 Agilex 7 和英特尔 eASIC N5X HPS 加密服务
用户指南
为 HPS 软件工程师提供的实施信息
以及使用 HPS 软件库访问加密服务
由 SDM 提供。
AN-968 Black Key 配置服务快速入门指南 设置 Black Key 配置的完整步骤
服务。

常见问题

问:安全方法用户指南的目的是什么?

答:《安全方法用户指南》提供了英特尔可编程解决方案产品中安全功能和技术的详细说明。它帮助用户选择必要的安全功能来满足其安全目标。

问:在哪里可以找到《英特尔 Agilex 7 设备安全用户指南》?

答:英特尔 Agilex 7 设备安全用户指南可在英特尔资源和设计中心找到 web地点。

问:什么是 Black Key 配置服务?

答:Black Key Provisioning 服务提供一整套步骤来设置密钥配置以实现安全操作。

英特尔 Agilex® 7 设备安全用户指南
针对英特尔® Quartus® Prime 设计套件更新:23.1

在线版 反馈

UG-20335

683823 2023.05.23

英特尔 Agilex® 7 设备安全用户指南 2

发送反馈

英特尔 Agilex® 7 设备安全用户指南 3

683823 | 2023.05.23 反馈意见
1.英特尔Agilex®7

设备安全结束view

英特尔® 使用专用、高度可配置的安全硬件和固件设计英特尔 Agilex® 7 设备。
本文档包含帮助您使用英特尔 Quartus® Prime 专业版软件在英特尔 Agilex 7 设备上实现安全功能的说明。
此外,英特尔资源与设计中心还提供了《英特尔 FPGA 和结构化 ASIC 安全方法用户指南》。本文档包含通过英特尔可编程解决方案产品提供的安全功能和技术的详细说明,可帮助您选择满足安全目标所需的安全功能。请联系英特尔支持,参考号为 14014613136,以访问《英特尔 FPGA 和结构化 ASIC 安全方法用户指南》。
该文档的组织方式如下: · 身份验证和授权:提供创建说明
身份验证密钥和签名链、应用权限和撤销、签名对象以及英特尔 Agilex 7 设备上的程序身份验证功能。 · AES 比特流加密:提供创建 AES 根密钥、加密配置比特流以及向 Intel Agilex 7 设备配置 AES 根密钥的说明。 · 设备配置:提供使用 Intel Quartus Prime Programmer 和安全设备管理器 (SDM) 配置固件对 Intel Agilex 7 器件上的安全功能进行编程的说明。 · 高级功能:提供启用高级安全功能的说明,包括安全调试授权、硬处理器系统 (HPS) 调试和远程系统更新。
1.1. 产品安全承诺
英特尔对安全的长期承诺从未如此坚定。英特尔强烈建议您熟悉我们的产品安全资源,并计划在英特尔产品的整个生命周期中使用它们。
相关信息 · 英特尔的产品安全 · 英特尔产品安全中心公告

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

1. 英特尔 Agilex® 7 设备安全性view 683823 | 2023.05.23

1.2. 计划的安全功能

本节提到的功能计划用于未来版本的 Intel Quartus Prime Pro Edition 软件。

笔记:

本节中的信息是初步的。

1.2.1.部分重配置比特流安全验证
部分重配置 (PR) 比特流安全验证有助于提供额外的保证,确保 PR 角色比特流无法访问或干扰其他 PR 角色比特流。

1.2.2.物理抗T设备自杀amper
设备自杀执行设备擦除或设备归零响应,并另外对 eFuse 进行编程以防止设备再次配置。

1.3. 可用的安全文档

下表列出了有关英特尔 FPGA 和结构化 ASIC 器件上的器件安全功能的可用文档:

表 1.

可用的设备安全文档

文档名称
英特尔 FPGA 和结构化 ASIC 安全方法用户指南

目的
顶级文档,包含英特尔可编程解决方案产品中安全功能和技术的详细描述。旨在帮助您选择满足安全目标所需的安全功能。

文件 ID 721596

Intel Stratix 10 设备安全用户指南
英特尔 Agilex 7 设备安全用户指南

对于 Intel Stratix 10 器件的用户,本指南包含使用 Intel Quartus Prime Pro Edition 软件实现《安全方法用户指南》确定的安全功能的说明。
对于 Intel Agilex 7 器件的用户,本指南包含使用 Intel Quartus Prime Pro Edition 软件实现《安全方法用户指南》确定的安全功能的说明。

683642 683823

英特尔 eASIC N5X 设备安全用户指南

对于 Intel eASIC N5X 器件的用户,本指南包含使用 Intel Quartus Prime Pro Edition 软件实现《安全方法用户指南》确定的安全功能的说明。

626836

英特尔 Agilex 7 和英特尔 eASIC N5X HPS 加密服务用户指南

本指南包含帮助 HPS 软件工程师实施和使用 HPS 软件库来访问 SDM 提供的加密服务的信息。

713026

AN-968 Black Key 配置服务快速入门指南

本指南包含设置 Black Key Provisioning 服务的完整步骤。

739071

位置英特尔资源和
设计中心
英特尔网站
英特尔网站
英特尔资源与设计中心
英特尔资源与设计中心
英特尔资源与设计中心

发送反馈

英特尔 Agilex® 7 设备安全用户指南 5

683823 | 2023.05.23 反馈意见

身份验证和授权

要启用 Intel Agilex 7 器件的身份验证功能,您首先需要使用 Intel Quartus Prime Pro Edition 软件和相关工具来构建签名链。签名链由根密钥、一个或多个签名密钥以及适用的授权组成。您将签名链应用于您的 Intel Quartus Prime Pro Edition 项目和编译的编程 files。使用设备配置中的说明将根密钥编程到 Intel Agilex 7 设备中。
相关信息
设备配置第 25 页

2.1.创建签名链
您可以使用quartus_sign工具或agilex_sign.py参考实现来执行签名链操作。本文档提供了前amp使用 quartus_sign 的文件。
要使用参考实现,您可以调用 Intel Quartus Prime 软件附带的 Python 解释器并省略 –family=agilex 选项;所有其他选项都是等效的。对于前ample,本节后面的 quartus_sign 命令
quartus_sign –family=agilex –operation=make_root root_public.pem root.qky 可以转换为对参考实现的等效调用,如下所示
pgm_py Agilex_sign.py –operation=make_root root_public.pem root.qky

英特尔 Quartus Prime 专业版软件包括 quartus_sign、pgm_py 和 Agilex_sign.py 工具。您可以使用 Nios® II 命令 shell 工具,它会自动设置适当的环境变量来访问这些工具。

按照以下说明启动 Nios II 命令 shell。 1. 打开 Nios II 命令 shell。

选项窗口
Linux

描述
在开始菜单上,指向程序 Intel FPGA Nios II EDS ,然后单击 Nios II Command Shell。
在命令 shell 中更改为 /nios2eds 并运行以下命令:
./nios2_command_shell.sh

前任amp本节中的文件假设签名链和配置比特流 files 位于当前工作目录中。如果你选择追随前任amp关键所在 files 保留在 file 系统,那些前任amp莱斯假设钥匙 file是

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

2. 身份验证和授权683823 | 2023.05.23
位于当前工作目录中。您可以选择使用哪些目录,并且该工具支持相对 file 路径。如果您选择保留钥匙 file在 file 系统,您必须仔细管理这些系统的访问权限 files.
英特尔建议使用商用硬件安全模块 (HSM) 来存储加密密钥并执行加密操作。 quartus_sign 工具和参考实现包括公钥加密标准 #11 (PKCS #11) 应用程序编程接口 (API),用于在执行签名链操作时与 HSM 交互。 agilex_sign.py 参考实现包括一个接口抽象以及一个 exampSoftHSM 的文件接口。
您可以使用这些前amp文件接口来实现 HSM 的接口。有关实现 HSM 接口和操作 HSM 的更多信息,请参阅 HSM 供应商提供的文档。
SoftHSM 是具有 PKCS #11 接口的通用加密设备的软件实现,由 OpenDNSSEC® 项目提供。您可以在 OpenDNSSEC 项目中找到更多信息,包括有关如何下载、构建和安装 OpenHSM 的说明。前任amp本节中的文件使用 SoftHSM 版本 2.6.1。前任amp本节中的文件还使用 OpenSC 中的 pkcs11-tool 实用程序通过 SoftHSM 令牌执行其他 PKCS #11 操作。您可能会找到更多信息,包括有关如何从 OpenSC 下载、构建和安装 pkcs11tool 的说明。
相关信息
· OpenDNSSEC 项目基于策略的区域签名器,用于自动化 DNSSEC 密钥跟踪过程。
· SoftHSM 有关可通过 PKCS #11 接口访问的加密存储的实现的信息。
· OpenSC 提供一组能够与智能卡配合使用的库和实用程序。
2.1.1.本地创建认证密钥对 File 系统
您可以使用 quartus_sign 工具在本地创建身份验证密钥对 file 系统使用make_private_pem和make_public_pem工具操作。首先使用 make_private_pem 操作生成私钥。您指定要使用的椭圆曲线、私钥 file名称,以及是否使用密码保护私钥(可选)。英特尔建议使用 secp384r1 曲线并遵循行业最佳实践,为所有私钥创建强大的随机密码 files。英特尔还建议限制 file 私钥.pem 的系统权限 file仅供所有者阅读。您可以使用 make_public_pem 操作从私钥派生公钥。将密钥命名为 .pem 会很有帮助 file是描述性的。本文档在以下示例中使用约定 _.pemamp莱斯。
1. 在 Nios II 命令 shell 中,运行以下命令创建私钥。如下所示的私钥,在后面的ex中用作根密钥amp创建签名链的文件。英特尔 Agilex 7 设备支持多个根密钥,因此您

发送反馈

英特尔 Agilex® 7 设备安全用户指南 7

2. 身份验证和授权683823 | 2023.05.23

重复此步骤以创建所需数量的根密钥。前任amp尽管您可以使用任何根密钥以类似的方式构建签名链,但本文档中的文件均引用第一个根密钥。

带密码的选项

描述
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 root0_private.pem 当出现提示时输入密码。

没有密码

quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 –no_passphrase root0_private.pem

2. 运行以下命令,使用上一步生成的私钥创建公钥。您不需要保护公钥的机密性。
quartus_sign –family=agilex –operation=make_public_pem root0_private.pem root0_public.pem
3. 再次运行命令创建密钥对,用作签名链中的设计签名密钥。
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 design0_sign_private.pem

quartus_sign –family=agilex –operation=make_public_pem design0_sign_private.pem design0_sign_public.pem

2.1.2.在 SoftHSM 中创建身份验证密钥对
SoftHSM 前amp本章中的文件是自洽的。某些参数取决于您的 SoftHSM 安装以及 SoftHSM 中的令牌初始化。
quartus_sign 工具依赖于 HSM 中的 PKCS #11 API 库。
前任amp本节中的文件假定 SoftHSM 库安装到以下位置之一: · Linux 上的 /usr/local/lib/softhsm2.so · 2 位版本的 Windows 上的 C:SoftHSM2libsofthsm32.dll · C:SoftHSM2libsofthsm2-x64 64 位版本 Windows 上的 .dll。
使用 softhsm2-util 工具在 SoftHSM 中初始化令牌:
softhsm2-util –init-token –label Agilex-token –pin Agilex-token-pin –so-pin Agilex-so-pin –free
选项参数,特别是令牌标签和令牌 pin 是 examp本章中使用的文件。英特尔建议您按照 HSM 供应商的说明来创建和管理令牌和密钥。
您可以使用 pkcs11-tool 实用程序创建身份验证密钥对,以与 SoftHSM 中的令牌进行交互。而不是明确引用私钥和公钥 .pem file在 file 系统前amp在文件中,您可以通过标签引用密钥对,该工具会自动选择适当的密钥。

英特尔 Agilex® 7 设备安全用户指南 8

发送反馈

2. 身份验证和授权683823 | 2023.05.23

运行以下命令创建密钥对,用作后面示例中的根密钥amp文件以及用作签名链中设计签名密钥的密钥对:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label Agilex-token –login –pin Agilex-token-pin –keypairgen –机制 ECDSA-KEY-PAIR-GEN –密钥类型 EC :secp384r1 –usage-sign –label root0 –id 0
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label Agilex-token –login –pin Agilex-token-pin –keypairgen –机制 ECDSA-KEY-PAIR-GEN –密钥类型 EC :secp384r1 –usage-sign –label design0_sign –id 1

笔记:

此步骤中的 ID 选项对于每个密钥必须是唯一的,但仅由 HSM 使用。该ID选项与签名链中分配的密钥取消ID无关。

2.1.3.创建签名链根条目
将根公钥转换为签名链根条目,存储在本地 file Intel Quartus Prime 密钥 (.qky) 格式的系统 file,使用 make_root 操作。对您生成的每个根密钥重复此步骤。
运行以下命令,使用来自根条目的根公钥创建带有根条目的签名链 file 系统:
quartus_sign –family=agilex –operation=make_root –key_type=所有者 root0_public.pem root0.qky
运行以下命令,使用上一节中建立的 SoftHSM 令牌中的根密钥创建具有根条目的签名链:
quartus_sign –family=agilex –operation=make_root –key_type=owner –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so ” root0 root0.qky

2.1.4.创建签名链公钥条目
使用append_key操作为签名链创建一个新的公钥条目。您指定先前的签名链、先前签名链中最后一个条目的私钥、下一级公钥、分配给下一级公钥的权限和取消 ID,以及新的签名链 file.
请注意,softHSM 库不可随 Quartus 安装一起使用,而是需要单独安装。有关 softHSM 的更多信息,请参阅上面的创建签名链部分。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 9

2. 身份验证和授权683823 | 2023.05.23
根据您使用的按键 file 系统或 HSM 中,您可以使用以下其中一种ample 命令将 design0_sign 公钥附加到上一节中创建的根签名链:
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=6 –cancel=0 –input_pem=design0_sign_public.pem design0_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=6 –cancel=0 –input_keyname=design0_sign design0_sign_chain.qky
对于任一签名链中根条目和标头块条目之间最多三个公钥条目,您最多可以再重复append_key 操作两次。
以下示例amp文件假设您创建了另一个具有相同权限的身份验证公钥,并分配了名为 design1_sign_public.pem 的取消 ID 1,并且将此密钥附加到前一个 ex 的签名链中amp乐:
quartus_sign –family=agilex –operation=append_key –previous_pem=design0_sign_private.pem –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_pem=design1_sign_public.pem design1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= design0_sign –previous_qky=design0_sign_chain.qky –permission=6 –cancel=1 –input_keyname=design1_sign design1_sign_chain.qky
英特尔 Agilex 7 设备包括一个额外的密钥取消计数器,以方便使用可能在给定设备的整个生命周期中定期更改的密钥。您可以通过将 –cancel 选项的参数更改为 pts:pts_value 来选择此键取消计数器。
2.2.签署配置比特流
Intel Agilex 7 设备支持安全版本号 (SVN) 计数器,使您可以在不取消密钥的情况下撤销对象的授权。您可以在任何对象(例如比特流部分、固件 .zip)签名期间分配 SVN 计数器和适当的 SVN 计数器值 file,或紧凑证书。您可以使用 –cancel 选项和 svn_counter:svn_value 作为参数来分配 SVN 计数器和 SVN 值。 svn_counter 的有效值为 svnA、svnB、svnC 和 svnD。 svn_value 是 [0,63] 范围内的整数。

英特尔 Agilex® 7 设备安全用户指南 10

发送反馈

2. 身份验证和授权683823 | 2023.05.23
2.2.1. Quartus 密钥 File 任务
您在 Intel Quartus Prime 软件项目中指定签名链以启用该设计的身份验证功能。从Assignments菜单中,选择Device Device and Pin Options Security Quartus Key File,然后浏览到签名链.qky file 您创建此设计是为了签名。
图 1. 启用配置比特流设置

或者,您可以将以下赋值语句添加到 Intel Quartus Prime Settings 中 file (.qsf):
set_global_assignment -名称 QKY_FILE design0_sign_chain.qky
生成 .sof file 从先前编译的设计(包含此设置)中,从“处理”菜单中选择“启动”或“启动汇编器”。新的输出.sof file 包括使用提供的签名链启用身份验证的分配。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 11

2. 身份验证和授权683823 | 2023.05.23
2.2.2.共同签署 SDM 固件
您可以使用 quartus_sign 工具提取、签名并安装适用的 SDM 固件 .zip file。然后,共同签名的固件包含在编程中 file 转换 .sof 时的生成器工具 file 进入配置比特流.rbf file。您可以使用以下命令创建新的签名链并对 SDM 固件进行签名。
1. 创建新的签名密钥对。
A。在上创建一个新的签名密钥对 file 系统:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1firmware1_private.pem
quartus_sign –family=agilex –operation=make_public_pem 固件1_private.pem 固件1_public.pem
b.在 HSM 中创建新的签名密钥对:
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label Agilex-token –login –pin Agilex-token-pin –keypairgen -mechanism ECDSA-KEY-PAIR-GEN –密钥类型 EC :secp384r1 –usage-sign –标签固件1 –id 1
2. 创建包含新公钥的新签名链:
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x1 –cancel=1 –input_pem=firmware1_public.pemfirmware1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=1 –cancel=1 –input_keyname=firmware1firmware1_sign_chain.qky
3.复制固件.zip file 从 Intel Quartus Prime Pro Edition 软件安装目录 (/devices/programmer/firmware/agilex.zip) 到当前工作目录。
quartus_sign –family=agilex –get_firmware=。
4. 对固件 .zip 进行签名 file。该工具自动解压 .zip file 并单独签署所有固件.cmf files,然后重建 .zip file 供以下部分中的工具使用:
quartus_sign –family=agilex –operation=sign –qky=firmware1_sign_chain.qky –cancel=svnA:0 –pem=firmware1_private.pemAgilex.zipsigned_agilex.zip
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

英特尔 Agilex® 7 设备安全用户指南 12

发送反馈

2. 身份验证和授权683823 | 2023.05.23

–keyname=firmware1 –cancel=svnA:0 –qky=firmware1_sign_chain.qkyAgilex.zipsigned_agilex.zip

2.2.3.使用 quartus_sign 命令对配置比特流进行签名
要使用 quartus_sign 命令对配置比特流进行签名,首先将 .sof 转换为 file 到未签名的原始二进制文件 file (.rbf) 格式。您可以选择在转换步骤中使用 fw_source 选项指定共同签名的固件。
您可以使用以下命令生成 .rbf 格式的未签名原始比特流:
quartus_pfg c o fw_source=signed_agilex.zip -o sign_later=ON design.sof unsigned_bitstream.rbf
根据密钥的位置,运行以下命令之一,使用 quartus_sign 工具对比特流进行签名:
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_bitstream.rbfsigned_bitstream.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_bitstream.rbfsigned_bitstream.rbf
您可以转换签名的 .rbf files 到其他配置比特流 file 格式。
例如amp文件,如果您使用 Jam* 标准测试和编程语言 (STAPL) 播放器通过 J 对比特流进行编程TAG,您可以使用以下命令来转换 .rbf file 转换为 Jam STAPL Player 所需的 .jam 格式:
quartus_pfg -csigned_bitstream.rbfsigned_bitstream.jam

2.2.4.部分重配置多机构支持

英特尔 Agilex 7 设备支持部分重新配置多机构身份验证,其中设备所有者创建并签署静态比特流,而单独的 PR 所有者创建并签署 PR 角色比特流。 Intel Agilex 7 设备通过将第一个身份验证根密钥槽分配给设备或静态比特流所有者并将最终身份验证根密钥槽分配给部分重新配置角色比特流所有者来实现多权限支持。
如果启用身份验证功能,则必须对所有 PR 角色图像进行签名,包括嵌套的 PR 角色图像。 PR 角色图像可由设备所有者或 PR 所有者签名;但是,静态区域比特流必须由设备所有者签名。

笔记:

计划在未来版本中启用多机构支持时的部分重新配置静态和角色比特流加密。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 13

2. 身份验证和授权683823 | 2023.05.23

图 2.

实现部分重配置多权限支持需要几个步骤:
1. 设备或静态比特流所有者生成一个或多个身份验证根密钥,如第 8 页在 SoftHSM 中创建身份验证密钥对中所述,其中 –key_type 选项具有值所有者。
2. 部分重配置比特流所有者生成身份验证根密钥,但将 –key_type 选项值更改为 secondary_owner。
3. 静态比特流和部分重配置设计所有者均确保在“Assignments Device”和“Pin Options Security”选项卡中启用“Enable Multi-Authority support”复选框。
Intel Quartus Prime 启用多权限选项设置

4. 静态比特流和部分重配置设计所有者都根据各自的根密钥创建签名链,如第 6 页的创建签名链中所述。
5. 静态比特流和部分重配置设计所有者都将其编译设计转换为 .rbf 格式 files 并签署 .rbf files.
6.设备或静态比特流所有者生成并签署PR公钥程序授权紧凑证书。
quartus_pfg –ccert o ccert_type=PR_PUBKEY_PROG_AUTH oowner_qky_file=”root0.qky;root1.qky” unsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 unsigned_pr_pubkey_prog.ccertsigned_pr_pubkey_prog.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=s10-token –user_pin=s10-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_pr_pubkey_prog.ccertsigned_pr_pubkey_prog.ccert

英特尔 Agilex® 7 设备安全用户指南 14

发送反馈

2. 身份验证和授权683823 | 2023.05.23

7.设备或静态比特流所有者向设备提供其认证根密钥散列,然后对PR公钥程序授权紧凑证书进行编程,最后向设备提供部分重配置比特流所有者根密钥。设备配置部分描述了此配置过程。
8. Intel Agilex 7 设备配置有静态区域 .rbf file.
9. Intel Agilex 7 设备使用角色设计 .rbf 进行部分重新配置 file.
相关信息
· 创建签名链第 6 页
· 在 SoftHSM 中创建身份验证密钥对(第 8 页)
· 设备配置第 25 页

2.2.5。验证配置比特流签名链
创建签名链和签名比特流后,您可以验证签名比特流是否正确配置了使用给定根密钥编程的设备。首先使用quartus_sign命令的fuse_info操作将根公钥的散列打印到文本中 file:
quartus_sign –family=agilex –operation=fuse_info root0.qky hash_fuse.txt

然后,您可以使用 quartus_pfg 命令的 check_integrity 选项检查 .rbf 格式签名比特流每个部分的签名链。 check_integrity 选项打印以下信息:
· 整体比特流完整性检查的状态
· 附加到比特流 .rbf 中每个部分的每个签名链中每个条目的内容 file,
· 每个签名链的根公钥散列的预期熔断值。
fusion_info 输出中的值应与 check_integrity 输出中的 Fuse 行匹配。
quartus_pfg –check_integritysigned_bitstream.rbf

这是一个前任ampcheck_integrity 命令输出的文件:

信息:命令:quartus_pfg –check_integritysigned_bitstream.rbf 完整性状态:正常

部分

类型:CMF

签名描述符...

签名链#0(条目:-1,偏移量:96)

条目 #0

Fuse: 34FD3B5F 7829001F DE2A24C7 3A7EAE29 C7786DB1 D6D5BC3C 52741C79

72978B22 0731B082 6F596899 40F32048 AD766A24

生成密钥...

曲线:secp384r1

X

: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA

456FF53F5DBB3A69E48A042C62AB6B0

Y

: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2

2826F7E94A169023AFAE1D1DF4A31C2

生成密钥...

曲线:secp384r1

X

: 29C39C3064AE594A36DAA85602D6AF0B278CBB0B207C4D97CFB6967961E5F0ECA

发送反馈

英特尔 Agilex® 7 设备安全用户指南 15

2. 身份验证和授权683823 | 2023.05.23

456FF53F5DBB3A69E48A042C62AB6B0

Y

: 3E81D40CBBBEAC13601247A9D53F4A831308A24CA0BDFFA40351EE76438C7B5D2

2826F7E94A169023AFAE1D1DF4A31C2

条目 #1

生成密钥...

曲线:secp384r1

X

: 015290C556F1533E5631322953E2F9E91258472F43EC954E05D6A4B63D611E04B

C120C7E7A744C357346B424D52100A9

Y

: 68696DEAC4773FF3D5A16A4261975424AAB4248196CF5142858E016242FB82BC5

08A80F3FE7F156DEF0AE5FD95BDFE05

条目 #2 钥匙串权限:SIGN_CODE 钥匙串可以通过 ID 取消:3 签名链 #1(条目:-1,偏移量:648)

条目 #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

条目 #1

生成密钥...

曲线:secp384r1

X

: 1E8FBEDC486C2F3161AFEB028D0C4B426258293058CD41358A164C1B1D60E5C1D

74D982BC20A4772ABCD0A1848E9DC96

Y

: 768F1BF95B37A3CC2FFCEEB071DD456D14B84F1B9BFF780FC5A72A0D3BE5EB51D

0DA7C6B53D83CF8A775A8340BD5A5DB

条目 #2

生成密钥...

曲线:secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

条目 #3 钥匙串权限:SIGN_CODE 钥匙串可通过 ID 取消:15 签名链 #2(条目:-1,偏移量:0) 签名链 #3(条目:-1,偏移量:0) 签名链 #4(条目:-1,偏移量:0) -5,偏移量:1) 签名链#0(条目:-6,偏移量:1) 签名链#0(条目:-7,偏移量:1) 签名链#0(条目:-XNUMX,偏移量:XNUMX)

部分类型:IO 签名描述符 … 签名链 #0(条目:-1,偏移量:96)

条目 #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

英特尔 Agilex® 7 设备安全用户指南 16

发送反馈

2. 身份验证和授权683823 | 2023.05.23

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

条目 #1

生成密钥...

曲线:secp384r1

X

: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21

44758CA747B1A8315024A8247F12E51

Y

: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C

F4EA8B8E229218D38A869EE15476750

条目 #2

生成密钥...

曲线:secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

条目 #3 钥匙串权限:SIGN_CORE 钥匙串可通过 ID 取消:15 签名链 #1(条目:-1,偏移量:0) 签名链 #2(条目:-1,偏移量:0) 签名链 #3(条目:-1,偏移量:0) -4,偏移量:1) 签名链#0(条目:-5,偏移量:1) 签名链#0(条目:-6,偏移量:1) 签名链#0(条目:-7,偏移量:1) 签名链#0(条目:-XNUMX,偏移量:XNUMX)

部分

类型:高压钠灯

签名描述符...

签名链#0(条目:-1,偏移量:96)

条目 #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

条目 #1

生成密钥...

曲线:secp384r1

X

: FAF423E08FB08D09F926AB66705EB1843C7C82A4391D3049A35E0C5F17ACB1A30

09CE3F486200940E81D02E2F385D150

Y

: 397C0DA2F8DD6447C52048CD0FF7D5CCA7F169C711367E9B81E1E6C1E8CD9134E

5AC33EE6D388B1A895AC07B86155E9D

条目 #2

生成密钥...

曲线:secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

发送反馈

英特尔 Agilex® 7 设备安全用户指南 17

2. 身份验证和授权683823 | 2023.05.23

条目 #3 钥匙串权限:SIGN_HPS 钥匙串可通过 ID 取消:15 签名链 #1(条目:-1,偏移量:0) 签名链 #2(条目:-1,偏移量:0) 签名链 #3(条目:-1,偏移量:0) -4,偏移量:1) 签名链#0(条目:-5,偏移量:1) 签名链#0(条目:-6,偏移量:1) 签名链#0(条目:-7,偏移量:1) 签名链#0(条目:-XNUMX,偏移量:XNUMX)

部分类型:核心签名描述符…签名链#0(条目:-1,偏移量:96)

条目 #0

Fuse: FA6528BE 9281F2DB B787E805 6BF6EE0E 28983C56 D568B141 8EEE4BF6

DAC2D422 0A3A0F27 81EFC6CD 67E973BF AC286EAE

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

生成密钥...

曲线:secp384r1

X

: 47A453474A8D886AB058615EB1AB38A75BAC9F0C46E564CB5B5DCC1328244E765

0411C4592FAFFC71DE36A105B054781

Y

: 6087D3B4A5C8646B4DAC6B5C863CD0E705BD0C9D2C141DE4DE7BDDEB85C0410D8

6B7312EEE8241189474262629501FCD

条目 #1

生成密钥...

曲线:secp384r1

X

: 646B51F668D8CC365D72B89BA8082FDE79B00CDB750DA0C984DC5891CDF57BD21

44758CA747B1A8315024A8247F12E51

Y

: 53513118E25E16151FD55D7ECDE8293AF6C98A74D52E0DA2527948A64FABDFE7C

F4EA8B8E229218D38A869EE15476750

条目 #2

生成密钥...

曲线:secp384r1

X

: 13986DDECAB697A2EB26B8EBD25095A8CC2B1A0AB0C766D029CDF2AFE21BE3432

76896E771A9C6CA5A2D3C08CF4CB83C

Y

: 0A1384E9DD209238FF110D867B557414955354EE6681D553509A507A78CFC05A1

49F91CABA72F6A3A1C2D1990CDAEA3D

条目 #3 钥匙串权限:SIGN_CORE 钥匙串可通过 ID 取消:15 签名链 #1(条目:-1,偏移量:0) 签名链 #2(条目:-1,偏移量:0) 签名链 #3(条目:-1,偏移量:0) -4,偏移量:1) 签名链#0(条目:-5,偏移量:1) 签名链#0(条目:-6,偏移量:1) 签名链#0(条目:-7,偏移量:1) 签名链#0(条目:-XNUMX,偏移量:XNUMX)

英特尔 Agilex® 7 设备安全用户指南 18

发送反馈

683823 | 2023.05.23 反馈意见

AES 比特流加密

高级加密标准 (AES) 比特流加密功能使设备所有者能够保护配置比特流中知识产权的机密性。
为了帮助保护密钥的机密性,配置比特流加密使用 AES 密钥链。这些密钥用于加密配置比特流中的所有者数据,其中第一个中间密钥使用 AES 根密钥进行加密。

3.1.创建 AES 根密钥

您可以使用 quartus_encrypt 工具或 stratix10_encrypt.py 参考实现以 Intel Quartus Prime 软件加密密钥 (.qek) 格式创建 AES 根密钥 file.

笔记:

stratix10_加密.py file 用于英特尔 Stratix® 10 和英特尔 Agilex 7 设备。

您可以选择指定用于派生 AES 根密钥和密钥派生密钥的基本密钥、直接 AES 根密钥的值、中间密钥的数量以及每个中间密钥的最大使用次数。

您必须指定设备系列,输出.qek file 位置和出现提示时的密码。
运行以下命令,使用基本密钥的随机数据以及中间密钥数量和最大密钥使用的默认值来生成 AES 根密钥。
要使用参考实现,您可以调用 Intel Quartus Prime 软件附带的 Python 解释器并省略 –family=agilex 选项;所有其他选项都是等效的。对于前ample,本节后面的 quartus_encrypt 命令

quartus_encrypt –family=agilex –operation=MAKE_AES_KEY aes_root.qek

可以转换为对参考实现的等效调用,如下所示 pgm_py stratix10_encrypt.py –operation=MAKE_AES_KEY aes_root.qek

3.2. Quartus 加密设置
要为设计启用比特流加密,您必须使用Assignments Device Device and Pin Options Security 面板指定适当的选项。您可以选择启用配置比特流加密复选框,并从下拉菜单中选择所需的加密密钥存储位置。

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

图 3. Intel Quartus Prime 加密设置

3. AES 比特流加密 683823 | 2023.05.23

或者,您可以将以下赋值语句添加到 Intel Quartus Prime 设置中 file .qsf:
set_global_assignment -name ENCRYPT_PROGRAMMING_BITSTREAM on set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_KEY_SELECT eFuse
如果您想要针对旁路攻击媒介启用额外的缓解措施,您可以启用加密更新率下拉列表和启用加扰复选框。

英特尔 Agilex® 7 设备安全用户指南 20

发送反馈

3. AES 比特流加密 683823 | 2023.05.23

.qsf 中相应的更改是:
set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_CNOC_SCRAMBLING 上 set_global_assignment -name PROGRAMMING_BITSTREAM_ENCRYPTION_UPDATE_RATIO 31

3.3.加密配置比特流
您可以在对比特流进行签名之前对配置比特流进行加密。英特尔 Quartus Prime 编程 File 生成器工具可以使用图形用户界面或命令行自动加密和签名配置比特流。
您可以选择创建部分加密的比特流,以便与 quartus_encrypt 和 quartus_sign 工具或等效参考实现一起使用。

3.3.1.使用编程配置比特流加密 File 生成器图形界面
您可以使用编程 File 用于加密和签名所有者图像的生成器。

图 4.

1. 在 Intel Quartus Prime 上 File 菜单选择编程 File 发电机。 2. 关于输出 Files 选项卡,指定输出 file 键入您的配置
方案。
输出 File 规格

配置方案输出 file 标签
输出 file 类型

3. 关于输入 Files 选项卡,单击添加比特流并浏览到您的 .sof。 4. 要指定加密和身份验证选项,请选择 .sof 并单击
特性。 A。打开启用签名工具。 b.对于私钥 file 选择您的签名密钥私有 .pem file。 C。打开最终加密。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 21

3. AES 比特流加密 683823 | 2023.05.23

图 5.

d.对于加密密钥 file,选择您的 AES .qek file。输入(.sof) File 身份验证和加密属性

启用身份验证指定私有根.pem
启用加密 指定加密密钥
5. 在输入上生成签名和加密的比特流 Files 选项卡,单击生成。将出现密码对话框,供您输入 AES 密钥 .qek 的密码 file 并签署私钥.pem file。编程 file 生成器创建加密和签名的输出_file.rbf。
3.3.2.使用编程配置比特流加密 File 生成器命令行界面
使用 quartus_pfg 命令行界面生成 .rbf 格式的加密和签名配置比特流:
quartus_pfg -c crypto_enabled.sof top.rbf -o Finalize_encryption=ON -o qek_file=aes_root.qek -o 签名=ON -o pem_file=design0_sign_private.pem
您可以将 .rbf 格式的加密和签名的配置比特流转换为其他配置比特流 file 格式。
3.3.3.使用命令行界面生成部分加密的配置比特流
您可以生成部分加密的节目 file 稍后完成加密并签署图像。生成部分加密的程序 file 采用 quartus_pfg 命令行界面的 .rbf 格式: quartus_pfg -c -o Finalize_encryption_later=ON -o sign_later=ON top.sof top.rbf

英特尔 Agilex® 7 设备安全用户指南 22

发送反馈

3. AES 比特流加密 683823 | 2023.05.23
您可以使用 quartus_encrypt 命令行工具来完成比特流加密:
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek top.rbf crypto_top.rbf
您可以使用 quartus_sign 命令行工具对加密的配置比特流进行签名:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem –cancel=svnA:0 加密_top.rbf 签名_加密_top.rbf
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 加密_top.rbf 签名_加密_top.rbf
3.3.4.部分重配置比特流加密
您可以在某些使用部分重新配置的英特尔 Agilex 7 FPGA 设计上启用比特流加密。
利用分层部分重配置 (HPR) 或静态更新部分重配置 (SUPR) 的部分重配置设计不支持比特流加密。如果您的设计包含多个 PR 区域,则必须加密所有角色。
要启用部分重配置比特流加密,请在所有设计修订中遵循相同的过程。 1. 在 Intel Quartus Prime 上 File 菜单中,选择分配设备设备
和 Pin 选项安全性。 2. 选择所需的加密密钥存储位置。
图 6. 部分重配置比特流加密设置

发送反馈

英特尔 Agilex® 7 设备安全用户指南 23

3. AES 比特流加密 683823 | 2023.05.23
或者,您可以在 Quartus Prime 设置中添加以下赋值语句 file .qsf:
set_global_assignment -name –ENABLE_PARTIAL_RECONFIGURATION_BITSTREAM_ENCRYPTION 上
编译基础设计和修订后,软件会生成 a.soffile 和一个或多个.pmsffiles,代表角色。 3. 创建加密和签名的程序 file来自.sof 和.pmsf file其方式与未启用部分重新配置的设计类似。 4. 转换编译好的persona.pmsf file 到部分加密的.rbf file:
quartus_pfg -c -o Finalize_encryption_later=ON -o sign_later=ON crypto_enabled_persona1.pmsf persona1.rbf
5. 使用 quartus_encrypt 命令行工具完成比特流加密:
quartus_encrypt –family=agilex –operation=ENCRYPT –key=aes_root.qek persona1.rbf crypto_persona1.rbf
6. 使用 quartus_sign 命令行工具对加密的配置比特流进行签名:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_sign_private.pem 加密_persona1.rbf 签名_加密_persona1.rbf
quartus_sign –family=agilex –operation=SIGN –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –qky= design0_sign_chain.qky –cancel=svnA:0 –keyname=design0_signencrypted_persona1.rbfsigned_encrypted_persona1.rbf

英特尔 Agilex® 7 设备安全用户指南 24

发送反馈

683823 | 2023.05.23 反馈意见

设备配置

初始安全功能配置仅在 SDM 配置固件中受支持。使用 Intel Quartus Prime Programmer 加载 SDM 配置固件并执行配置操作。
您可以使用任何类型的 JTAG 下载电缆,用于将 Quartus Programmer 连接到 Intel Agilex 7 器件以执行配置操作。
4.1.使用 SDM 配置固件
当您选择初始化操作和对配置比特流以外的内容进行编程的命令时,Intel Quartus Prime Programmer 会自动创建并加载工厂默认帮助程序映像。
根据指定的编程命令,出厂默认帮助程序映像是以下两种类型之一:
· 配置帮助程序映像——由一个比特流部分组成,其中包含 SDM 配置固件。
· QSPI 辅助映像——由两个比特流部分组成,一个包含 SDM 主固件,一个 I/O 部分。
您可以创建工厂默认帮助图像 file 在执行任何编程命令之前加载到您的设备中。对身份验证根密钥哈希进行编程后,由于包含 I/O 部分,您必须创建并签署 QSPI 出厂默认帮助程序映像。如果您另外对共同签名固件安全设置 eFuse 进行编程,则必须使用共同签名固件创建配置和 QSPI 出厂默认帮助程序映像。您可以在未配置的设备上使用共同签名的出厂默认帮助程序映像,因为未配置的设备会忽略 SDM 固件上的非 Intel 签名链。有关创建、签名和使用 QSPI 出厂默认帮助程序映像的更多详细信息,请参阅在自有设备上使用 QSPI 出厂默认帮助程序映像(第 26 页)。
配置工厂默认帮助程序映像执行配置操作,例如对身份验证根密钥哈希、安全设置熔丝、PUF 注册或黑密钥配置进行编程。您使用 Intel Quartus Prime 编程 File 用于创建配置帮助程序映像的生成器命令行工具,指定 helper_image 选项、您的 helper_device 名称、配置帮助程序映像子类型以及可选的共同签名固件 .zip file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=PROVISION -o fw_source=signed_agilex.zipsigned_provision_helper_image.rbf
使用 Intel Quartus Prime Programmer 工具对辅助映像进行编程:
quartus_pgm -c 1 -mjtag -o“p;signed_provision_helper_image.rbf”-force

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

4. 设备配置 683823 | 2023.05.23

笔记:

您可以省略命令中的初始化操作,包括 examp在对配置帮助程序映像进行编程或使用包含初始化操作的命令之后,将使用本章中提供的文件。

4.2.在自有设备上使用 QSPI 出厂默认帮助程序映像
当您选择 QSPI 闪存编程的初始化操作时,Intel Quartus Prime Programmer 会自动创建并加载 QSPI 出厂默认帮助程序映像 file。对身份验证根密钥哈希进行编程后,您必须创建并签署 QSPI 工厂默认帮助程序映像,并在对 QSPI 闪存进行编程之前单独对签名​​的 QSPI 工厂帮助程序映像进行编程。 1. 您使用 Intel Quartus Prime 编程 File 生成器命令行工具
创建 QSPI 帮助程序映像,指定 helper_image 选项、您的 helper_device 类型、QSPI 帮助程序映像子类型以及可选的共同签名固件 .zip file:
quartus_pfg –helper_image -o helper_device=AGFB014R24A -o subtype=QSPI -o fw_source=signed_agilex.zip qspi_helper_image.rbf
2. 对 QSPI 出厂默认帮助程序映像进行签名:
quartus_sign –family=agilex –operation=sign –qky=design0_sign_chain.qky –pem=design0_sign_private.pem qspi_helper_image.rbfsigned_qspi_helper_image.rbf
3.您可以使用任何QSPI flash编程 file 格式。以下前amp文件使用转换为 .jic 的配置比特流 file 格式:
quartus_pfg -csigned_bitstream.rbfsigned_flash.jic -o 设备=MT25QU128 -o flash_loader=AGFB014R24A -o 模式=ASX4
4. 使用 Intel Quartus Prime Programmer 工具对签名的帮助程序映像进行编程:
quartus_pgm -c 1 -mjtag -o “p;signed_qspi_helper_image.rbf” –force
5. 使用 Intel Quartus Prime Programmer 工具将 .jic 映像编程到闪存:
quartus_pgm -c 1 -mjtag -o“p;signed_flash.jic”

4.3.身份验证根密钥配置
要将所有者根密钥哈希值编程到物理熔丝,首先必须加载配置固件,接下来编程所有者根密钥哈希值,然后立即执行加电重置。如果将根密钥哈希编程到虚拟熔丝,则不需要上电复位。

英特尔 Agilex® 7 设备安全用户指南 26

发送反馈

4. 设备配置 683823 | 2023.05.23
要对身份验证根密钥哈希进行编程,请对配置固件帮助程序映像进行编程,并运行以下命令之一来对根密钥 .qky 进行编程 files.
// 对于物理(非易失性)eFuse quartus_pgm -c 1 -m jtag -o “p;root0.qky;root1.qky;root2.qky” –non_volatile_key
// 对于虚拟(易失性)eFuses quartus_pgm -c 1 -m jtag -o“p;root0.qky;root1.qky;root2.qky”
4.3.1.部分重配置多权限根密钥编程
配置设备或静态区域比特流所有者根密钥后,您再次加载设备配置帮助程序映像,对签名的 PR 公钥程序授权紧凑证书进行编程,然后配置 PR 角色比特流所有者根密钥。
// 对于物理(非易失性)eFuse quartus_pgm -c 1 -m jtag -o “p;root_pr.qky” –pr_pubkey –non_volatile_key
// 对于虚拟(易失性)eFuses quartus_pgm -c 1 -m jtag -o “p;p;root_pr.qky” –pr_pubkey
4.4.对钥匙取消 ID 保险丝进行编程
从 Intel Quartus Prime Pro Edition 软件版本 21.1 开始,对 Intel 和所有者密钥取消 ID 熔丝进行编程需要使用签名的紧凑证书。您可以使用具有 FPGA 部分签名权限的签名链来签署密钥取消 ID 紧凑证书。您可以通过编程创建紧凑的证书 file 生成器命令行工具。您可以使用 quartus_sign 工具或参考实现对未签名的证书进行签名。
英特尔 Agilex 7 设备支持每个根密钥的单独的所有者密钥取消 ID 库。当所有者密钥取消 ID 紧凑证书被编程到英特尔 Agilex 7 FPGA 中时,SDM 会确定哪个根密钥签署了紧凑证书,并熔断与该根密钥对应的密钥取消 ID 熔丝。
以下示例amp这些文件为英特尔密钥 ID 7 创建英特尔密钥取消证书。您可以将 7 替换为适用的英特尔密钥取消 ID(0-31)。
运行以下命令创建未签名的 Intel 密钥取消 ID 紧凑证书:
quartus_pfg –ccert -o ccert_type=CANCEL_INTEL_KEY -o cancel_key=7 unsigned_cancel_intel7.ccert
运行以下命令之一来签署未签名的 Intel 密钥取消 ID 紧凑证书:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_intel7.ccertsigned_cancel_intel7.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

发送反馈

英特尔 Agilex® 7 设备安全用户指南 27

4. 设备配置 683823 | 2023.05.23
–keyname=design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_intel7.ccertsigned_cancel_intel7.ccert
运行以下命令创建未签名的所有者密钥取消 ID 紧凑证书:
quartus_pfg –ccert -o ccert_type=CANCEL_OWNER_KEY -o cancel_key=2 unsigned_cancel_owner2.ccert
运行以下命令之一来签署未签名的所有者密钥取消 ID 紧凑证书:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_cancel_owner2.ccertsigned_cancel_owner2.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_cancel_owner2.ccertsigned_cancel_owner2.ccert
创建签名密钥取消 ID 紧凑型证书后,您可以使用 Intel Quartus Prime Programmer 通过 J 将紧凑型证书编程到器件TAG.
//对于物理(非易失性)eFuses quartus_pgm -c 1 -m jtag -o “pi;signed_cancel_intel7.ccert” –non_volatile_key quartus_pgm -c 1 -mjtag -o “pi;signed_cancel_owner2.ccert” –non_volatile_key
//对于虚拟(易失性)eFuses quartus_pgm -c 1 -m jtag -o “pi;signed_cancel_intel7.ccert” quartus_pgm -c 1 -mjtag -o“pi;signed_cancel_owner2.ccert”
您还可以使用 FPGA 或 HPS 邮箱接口将紧凑型证书发送到 SDM。
4.5.取消根密钥
当存在另一个未取消的根密钥哈希时,英特尔 Agilex 7 设备允许您取消根密钥哈希。您可以通过首先使用签名链植根于不同根密钥哈希的设计来配置设备来取消根密钥哈希,然后编写签名的根密钥哈希取消紧凑证书。您必须使用植根于要取消的根密钥的签名链来签署根密钥哈希取消紧凑证书。
运行以下命令生成未签名的根密钥哈希取消紧凑证书:
quartus_pfg –ccert -o –ccert_type=CANCEL_KEY_HASH unsigned_root_cancel.ccert

英特尔 Agilex® 7 设备安全用户指南 28

发送反馈

4. 设备配置 683823 | 2023.05.23

运行以下命令之一来签署未签名的根密钥哈希取消紧凑证书:
quartus_sign –family=agilex –operation=SIGN –qky=design0_sign_chain.qky –pem=design0_private.pem –cancel=svnA:0 unsigned_root_cancel.ccertsigned_root_cancel.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –keyname= design0_sign –qky=design0_sign_chain.qky –cancel=svnA:0 unsigned_root_cancel.ccertsigned_root_cancel.ccert
您可以通过 J 编写根密钥哈希取消紧凑证书TAG、FPGA 或 HPS 邮箱。

4.6.编程计数器熔断器
您更新安全版本号 (SVN) 和伪时间 Stamp (PTS) 使用签名紧凑证书的计数器保险丝。

笔记:

SDM跟踪给定配置期间看到的最小计数器值,并且当计数器值小于最小值时不接受计数器增量证书。在对计数器增量紧凑型证书进行编程之前,必须更新分配给计数器的所有对象并重新配置设备。

运行与要生成的计数器增量证书相对应的以下命令之一。
quartus_pfg –ccert -o ccert_type=PTS_COUNTER -o counter= unsigned_pts.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_A -o counter= unsigned_svnA.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_B -o counter= unsigned_svnB.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_C -o 计数器= unsigned_svnC.ccert

quartus_pfg –ccert -o ccert_type=SVN_COUNTER_D -o 计数器= unsigned_svnD.ccert

计数器值为 1 创建计数器增量授权证书。对计数器增量授权紧凑证书进行编程使您能够对更多未签名的计数器增量证书进行编程以更新相应的计数器。您可以使用 quartus_sign 工具以与密钥取消 ID 紧凑证书类似的方式对计数器紧凑证书进行签名。
您可以通过 J 编写根密钥哈希取消紧凑证书TAG、FPGA 或 HPS 邮箱。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 29

4. 设备配置 683823 | 2023.05.23

4.7.安全数据对象服务根密钥配置
您可以使用 Intel Quartus Prime Programmer 来配置安全数据对象服务 (SDOS) 根密钥。编程器自动加载配置固件帮助程序映像以配置 SDOS 根密钥。
quartus_pgm c 1 m jtag –service_root_key –non_volatile_key

4.8.安全设置 保险丝配置
使用 Intel Quartus Prime Programmer 检查器件安全设置熔丝并将其写入基于文本的 .fuse file 如下:
quartus_pgm -c 1 -mjtag -o“ei;编程_file.保险丝;AGFB014R24B”

选项· i:编程器将配置固件帮助程序映像加载到设备。 · e:程序员从设备读取熔丝并将其存储在.fuse中 file.

.fuse file 包含保险丝名称-值对的列表。该值指定保险丝是否已熔断或保险丝字段的内容。

以下示例ample 显示了 .fuse 的格式 file:

# 联合签名固件

=“没有被吹”

# 设备允许杀死

=“没有被吹”

# 设备不安全

=“没有被吹”

# 禁用 HPS 调试

=“没有被吹”

# 禁用内在 ID PUF 注册

=“没有被吹”

# 禁用 JTAG

=“没有被吹”

# 禁用 PUF 包装的加密密钥

=“没有被吹”

# 禁用 BBRAM 中的所有者加密密钥 =“未损坏”

# 禁用 eFuses 中的所有者加密密钥 = “未熔断”

# 禁用所有者根公钥哈希 0

=“没有被吹”

# 禁用所有者根公钥哈希 1

=“没有被吹”

# 禁用所有者根公钥哈希 2

=“没有被吹”

# 禁用虚拟 eFuse

=“没有被吹”

# 强制 SDM 时钟为内部振荡器 =“未熔断”

# 强制更新加密密钥

=“没有被吹”

# Intel 显式按键取消

=“0”

# 锁定安全电子保险丝

=“没有被吹”

# 所有者加密密钥程序完成

=“没有被吹”

# 所有者加密密钥程序启动

=“没有被吹”

# 所有者显式密钥取消 0

=“”

# 所有者显式密钥取消 1

=“”

# 所有者显式密钥取消 2

=“”

# 业主保险丝

=

“0x00000000000000000000000000000000000000000000000000000

00000000000000000000000000000000000000000000000000000

0000000000000000000000”

# 所有者根公钥哈希 0

=

“0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# 所有者根公钥哈希 1

=

“0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# 所有者根公钥哈希 2

=

“0x00000000000000000000000000000000000000000000000000000

0000000000000000000000000000000000000000000”

# 所有者根公钥大小

=“无”

#PTS计数器

=“0”

# PTS 柜台基地

=“0”

英特尔 Agilex® 7 设备安全用户指南 30

发送反馈

4. 设备配置 683823 | 2023.05.23

# QSPI 启动延迟 # RMA 计数器 # SDMIO0 为 I2C # SVN 计数器 A # SVN 计数器 B # SVN 计数器 C # SVN 计数器 D

= “10ms” = “0” = “未熔断” = “0” = “0” = “0” = “0”

修改.fuse file 设置您想要的安全设置保险丝。以 # 开头的行被视为注释行。要对安全设置保险丝进行编程,请删除前导 # 并将值设置为熔断。对于前ample,要启用Co-signed Firmware安全设置fuse,修改fuse第一行 file 到以下内容:
联合签名固件=“失败”

您还可以根据您的要求分配和编程所有者保险丝。
您可以使用以下命令执行空白检查、编程并验证所有者根公钥:
quartus_pgm -c 1 -mjtag -o “ibpv;root0.qky”

选项 · i:将配置固件帮助程序映像加载到设备。 · b:执行空白检查以验证所需的安全设置保险丝是否未
已经吹了。 · p:对熔丝进行编程。 · v:验证设备上的编程密钥。
对 .qky 进行编程后 file,您可以通过再次检查熔丝信息来检查熔丝信息,以确保所有者公钥哈希和所有者公钥大小都具有非零值。
虽然以下字段不可通过 .fuse 写入 file 方法,它们包含在检查操作输出中以进行验证: · 设备不安全 · 设备允许终止 · 禁用所有者根公钥哈希 0 · 禁用所有者根公钥哈希 1 · 禁用所有者根公钥哈希 2 · 英特尔密钥取消 ·所有者加密密钥程序开始 · 所有者加密密钥程序完成 · 所有者密钥取消 · 所有者公钥哈希 · 所有者公钥大小 · 所有者根公钥哈希 0 · 所有者根公钥哈希 1 · 所有者根公钥哈希 2

发送反馈

英特尔 Agilex® 7 设备安全用户指南 31

4. 设备配置 683823 | 2023.05.23
· PTS 计数器 · PTS 计数器基址 · QSPI 启动延迟 · RMA 计数器 · SDMIO0 为 I2C · SVN 计数器 A · SVN 计数器 B · SVN 计数器 C · SVN 计数器 D
使用 Intel Quartus Prime Programmer 对 .fuse 进行编程 file 返回到设备。如果添加 i 选项,编程器会自动加载配置固件以对安全设置熔断器进行编程。
//对于物理(非易失性)eFuses quartus_pgm -c 1 -m jtag -o“pi;编程_file.fuse” –non_volatile_key
//对于虚拟(易失性)eFuses quartus_pgm -c 1 -m jtag -o“pi;编程_file。保险丝”
您可以使用以下命令来验证设备根密钥哈希是否与命令中提供的 .qky 相同:
quartus_pgm -c 1 -mjtag -o“v;root0_another.qky”
如果密钥不匹配,编程器将失败并显示操作失败错误消息。
4.9。 AES 根密钥配置
您必须使用签名的 AES 根密钥紧凑证书将 AES 根密钥编程到 Intel Agilex 7 设备。
4.9.1. AES 根密钥紧凑型证书
您可以使用 quartus_pfg 命令行工具来转换 AES 根密钥 .qek file 转换为紧凑证书 .ccert 格式。您在创建紧凑证书时指定密钥存储位置。您可以使用 quartus_pfg 工具创建未签名的证书以供以后签名。您必须使用启用了 AES 根密钥证书签名权限(权限位 6)的签名链,才能成功签署 AES 根密钥紧凑证书。

英特尔 Agilex® 7 设备安全用户指南 32

发送反馈

4. 设备配置 683823 | 2023.05.23
1. 使用以下命令之一创建用于签署 AES 密钥紧凑证书的附加密钥对amp莱斯:
quartus_sign –family=agilex –operation=make_private_pem –curve=secp384r1 aesccert1_private.pem
quartus_sign –family=agilex –operation=make_public_pem aesccert1_private.pem aesccert1_public.pem
pkcs11-tool –module=/usr/local/lib/softhsm/libsofthsm2.so –token-label Agilex-token –login –pin Agilex-token-pin –keypairgen 机制 ECDSA-KEY-PAIR-GEN –key-type EC: secp384r1 –使用标志 –标签 aesccert1 –id 2
2. 使用以下命令之一创建具有正确权限位设置的签名链:
quartus_sign –family=agilex –operation=append_key –previous_pem=root0_private.pem –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_pem=aesccert1_public.pem aesccert1_sign_chain.qky
quartus_sign –family=agilex –operation=append_key –module=softHSM -module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so” –previous_keyname= root0 –previous_qky=root0.qky –permission=0x40 –cancel=1 –input_keyname=aesccert1 aesccert1_sign_chain.qky
3. 为所需的 AES 根密钥存储位置创建未签名的 AES 紧凑证书。提供以下 AES 根密钥存储选项:
· EFUSE_WRAPPED_AES_KEY
· IID_PUF_WRAPPED_AES_KEY
· UDS_IID_PUF_WRAPPED_AES_KEY
· BBRAM_WRAPPED_AES_KEY
· BBRAM_IID_PUF_WRAPPED_AES_KEY
· BBRAM_UDS_IID_PUF_WRAPPED_AES_KEY
//创建eFuse AES根密钥未签名证书 quartus_pfg –ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY -o qek_file=aes.qek unsigned_efuse1.ccert
4. 使用 quartus_sign 命令或参考实现对紧凑型证书进行签名。
quartus_sign –family=agilex –operation=sign –pem=aesccert1_private.pem –qky=aesccert1_sign_chain.qky unsigned_1.ccertsigned_1.ccert
quartus_sign –family=agilex –operation=sign –module=softHSM –module_args=”–token_label=agilex-token –user_pin=agilex-token-pin –hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so”

发送反馈

英特尔 Agilex® 7 设备安全用户指南 33

4. 设备配置 683823 | 2023.05.23

–keyname=aesccert1 –qky=aesccert1_sign_chain.qky unsigned_1.ccertsigned_1.ccert
5. 使用 Intel Quartus Prime Programmer 通过 J 将 AES 根密钥压缩证书编程到 Intel Agilex 7 器件TAG。当使用 EFUSE_WRAPPED_AES_KEY 紧凑证书类型时,Intel Quartus Prime Programmer 默认对虚拟 eFuse 进行编程。
您添加 –non_volatile_key 选项来指定编程物理熔丝。
//对于物理(非易失性)eFuse AES 根密钥 quartus_pgm -c 1 -m jtag -o “pi;signed_efuse1.ccert” –non_volatile_key

//对于虚拟(易失性)eFuse AES 根密钥 quartus_pgm -c 1 -m jtag -o“pi;signed_efuse1.ccert”

//对于 BBRAM AES 根密钥 quartus_pgm -c 1 -m jtag -o“pi;signed_bbram1.ccert”

SDM配置固件和主固件支持AES根密钥证书编程。您还可以使用 FPGA 结构或 HPS 中的 SDM 邮箱接口来编程 AES 根密钥证书。

笔记:

quartus_pgm 命令不支持紧凑证书 (.ccert) 的选项 b 和 v。

4.9.2.内在 ID® PUF AES 根密钥配置
实现内在* ID PUF 包装的 AES 密钥包括以下步骤: 1. 通过 J 注册内在 ID PUFTAG。 2. 包装 AES 根密钥。 3. 将辅助数据和包装密钥编程到四路 SPI 闪存中。 4. 查询Intrinsic ID PUF激活状态。
使用固有 ID 技术需要与固有 ID 签订单独的许可协议。 Intel Quartus Prime Pro Edition 软件在没有适当许可的情况下限制 PUF 操作,例如注册、密钥包装和对 QSPI 闪存的 PUF 数据编程。

4.9.2.1.固有 ID PUF 注册
要注册 PUF,您必须使用 SDM 配置固件。配置固件必须是重启后加载的第一个固件,并且您必须在任何其他命令之前发出 PUF 注册命令。配置固件在 PUF 注册后支持其他命令,包括 AES 根密钥包装和编程四 SPI,但是,您必须重新启动设备才能加载配置比特流。
您使用 Intel Quartus Prime Programmer 触发 PUF 注册并生成 PUF 帮助程序数据 .puf file.

英特尔 Agilex® 7 设备安全用户指南 34

发送反馈

4. 设备配置 683823 | 2023.05.23

图 7.

固有 ID PUF 注册
quartus_pgm PUF 注册

注册 PUF 帮助程序数据

安全设备管理器 (SDM)

wrapper.puf 辅助数据
当您指定 i 操作和 .puf 参数时,程序员会自动加载配置固件帮助程序映像。
quartus_pgm -c 1 -mjtag -o“ei;help_data.puf;AGFB014R24A”
如果您使用共同签名固件,请在使用 PUF 注册命令之前对共同签名固件帮助程序映像进行编程。
quartus_pgm -c 1 -mjtag -o “p;signed_provision_helper_image.rbf” –force quartus_pgm -c 1 -mjtag -o“e;help_data.puf;AGFB014R24A”
UDS IID PUF 在设备制造期间注册,并且不可重新注册。相反,您可以使用程序员来确定 IPCS 上 UDS PUF 帮助程序数据的位置,下载 .puf file 直接,然后使用UDS .puf file 与 .puf 一样 file 从 Intel Agilex 7 设备中提取。
使用以下程序员命令生成文本 file 包含一个列表 URLs 指向特定于设备的 fileIPCS 上的:
quartus_pgm -c 1 -mjtag -o“e;ipcs_urls.txt;AGFB014R24B” –ipcs_urls
4.9.2.2.包装 AES 根密钥
您生成 IID PUF 包装的 AES 根密钥 .wkey file 通过将签名的证书发送到SDM。
您可以使用 Intel Quartus Prime Programmer 自动生成、签名和发送证书来包装 AES 根密钥,或者您也可以使用 Intel Quartus Prime Programmer File 生成器生成未签名的证书。您可以使用自己的工具或 Quartus 签名工具对未签名的证书进行签名。然后,您使用 Programmer 发送签名证书并包装 AES 根密钥。签名的证书可用于对可以验证签名链的所有设备进行编程。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 35

4. 设备配置 683823 | 2023.05.23

图 8.

使用 Intel Quartus Prime 编程器封装 AES 密钥
.pem 私有
钥匙

.qky

quartus_pgm

封装 AES 密钥

AES.QSKigYnature RootCPhuabilnic 密钥

生成 PUF 包装密钥

封装的 AES 密钥

星载数字多模光纤

.qek 加密
钥匙

.wkey PUF 包装
AES 密钥

1. 您可以使用以下参数通过程序员生成 IID PUF 包装的 AES 根密钥 (.wkey):
· .qky file 包含具有 AES 根密钥证书权限的签名链
· 私有.pem file 签名链中的最后一个密钥
· .qek file 持有 AES 根密钥
· 16 字节初始化向量 (iv)。

quartus_pgm -c 1 -mjtag –qky_file=aes0_sign_chain.qky –pem_file=aes0_sign_private.pem –qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF -o “ei;aes.wkey;AGFB014R24A”

2. 或者,您可以使用编程生成未签名的 IID PUF 包装 AES 根密钥证书 File 使用以下参数的生成器:

quartus_pfg –ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY -o qek_file=aes.qek –iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert

3. 使用以下命令使用您自己的签名工具或 quartus_sign 工具对未签名的证书进行签名:

quartus_sign –family=agilex –operation=sign –qky=aes0_sign_chain.qky –pem=aes0_sign_private.pem unsigned_aes.ccertsigned_aes.ccert

4. 然后,您使用 Programmer 发送签名的 AES 证书并返回包装的密钥 (.wkey) file:

quarts_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o “ei;aes.wkey;AGFB014R24A”

注意:如果您之前加载了配置固件帮助程序映像,则不需要 i 操作,例如ample,注册 PUF。

4.9.2.3。将辅助数据和封装密钥编程到 QSPI 闪存
您使用 Quartus 编程 File 生成器图形界面,用于构建包含 PUF 分区的初始 QSPI 闪存映像。您必须生成并编程整个闪存编程映像,才能将 PUF 分区添加到 QSPI 闪存。 PUF的创建

英特尔 Agilex® 7 设备安全用户指南 36

发送反馈

4. 设备配置 683823 | 2023.05.23

图 9.

数据分区以及 PUF 辅助数据和包装密钥的使用 file不支持通过编程生成闪存映像 File 生成器命令行界面。
以下步骤演示了使用 PUF 帮助程序数据和包装密钥构建闪存编程映像:
1. 关于 File 菜单,单击编程 File 发电机。关于输出 Files 选项卡进行以下选择:
A。对于设备系列,选择 Agilex 7。
b.对于配置模式,选择 Active Serial x4。
C。对于输出目录,浏览到您的输出 file 目录。这个前任ample 使用output_files.
d.对于名称,指定编程的名称 file 待生成。这个前任ample 使用output_file.
e.在描述下选择编程 files 来生成。这个前任ample 生成 JTAG 间接配置 File (.jic) 用于设备配置和原始二进制文件 File 设备帮助程序映像的编程帮助程序映像 (.rbf)。这个前任ample 还选择可选的内存映射 File (.map) 和原始编程数据 File (.rpd)。原始编程数据 file 仅当您计划将来使用第三方程序员时才有必要。
编程 File 发生器 – 输出 Files 选项卡 – 选择 JTAG 间接配置

器件系列配置模式
输出 file 标签
输出目录
JTAG 间接 (.jic) 内存映射 File 编程助手原始编程数据
关于输入 Files 选项卡,进行以下选择: 1. 单击“添加比特流”并浏览至您的 .sof。 2. 选择您的.sof file 然后单击属性。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 37

4. 设备配置 683823 | 2023.05.23
A。打开启用签名工具。 b.对于私钥 file 选择您的 .pem file。 C。打开完成加密。 d.对于加密密钥 file 选择您的.qek file。 e.单击“确定”返回到之前的窗口。 3. 指定您的 PUF 辅助数据 file,单击添加原始数据。改变 FileQuartus Physical Unclonable Function 的类型下拉菜单 File (*.puf)。浏览到您的 .puf file。如果您同时使用 IID PUF 和 UDS IID PUF,请重复此步骤,以便 .puf file每个 PUF 的 s 添加为输入 files。 4. 指定您的封装 AES 密钥 file,单击添加原始数据。改变 FileQuartus Wrapped Key 的类型下拉菜单 File (*.wkey)。浏览到您的 .wkey file。如果您已使用 IID PUF 和 UDS IID PUF 封装 AES 密钥,请重复此步骤,以便 .wkey file每个 PUF 的 s 添加为输入 files.
图 10. 指定输入 File用于配置、身份验证和加密

添加比特流 添加原始数据
特性
私钥 file
完成加密 加密密钥
在“配置设备”选项卡上,进行以下选择: 1. 单击“添加设备”并从可用闪存列表中选择您的闪存设备
设备。 2. 选择刚刚添加的配置设备,然后单击“添加分区”。 3. 在编辑分区对话框中输入 file 并从以下位置选择您的 .sof
下拉列表。您可以保留默认值或在“编辑分区”对话框中编辑其他参数。

英特尔 Agilex® 7 设备安全用户指南 38

发送反馈

4. 设备配置 683823 | 2023.05.23
图 11. 指定 .sof 配置比特流分区

配置设备
编辑分区添加.sof file

添加分区

4. 当您添加 .puf 和 .wkey 作为输入时 files、编程 File 生成器会自动在您的配置设备中创建 PUF 分区。要将 .puf 和 .wkey 存储在 PUF 分区中,请选择 PUF 分区并单击编辑。在“编辑分区”对话框中,选择您的 .puf 和 .wkey file从下拉列表中选择 s。如果删除PUF分区,则必须删除并重新添加用于编程的配置设备 File 用于创建另一个 PUF 分区的生成器。您必须确保选择正确的 .puf 和 .wkey file 分别用于 IID PUF 和 UDS IID PUF。
图 12. 添加 .puf 和 .wkey files 到 PUF 分区

PUF分区

编辑

编辑分区

闪存加载器

选择生成

5. 对于 Flash Loader 参数,选择与您的 Intel Agilex 7 OPN 匹配的 Intel Agilex 7 设备系列和设备名称。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 39

4. 设备配置 683823 | 2023.05.23
6.点击Generate生成输出 file您在输出中指定的 s Files标签。
7. 编程 File 生成器读取您的 .qek file 并提示您输入密码。输入您的密码以响应输入 QEK 密码提示。单击 Enter 键。
8. 编程完成后点击确定 File 生成器报告生成成功。
您使用 Intel Quartus Prime Programmer 将 QSPI 编程映像写入 QSPI 闪存。 1. 在 Intel Quartus Prime Tools 菜单中选择 Programmer。 2. 在 Programmer 中,单击 Hardware Setup,然后选择已连接的 Intel
FPGA 下载电缆。 3. 单击“添加” File 并浏览到您的 .jic file.
图 13. 程序 .jic

编程 file

编程/配置

JTAG 扫描链
4. 取消选择与助手图像关联的框。 5. 选择 .jic 输出的程序/配置 file。 6. 打开“开始”按钮对您的四路 SPI 闪存进行编程。 7. 重新启动主板。该设计已编程至四路 SPI 闪存
器件随后加载到目标 FPGA 中。
您必须生成并编程整个闪存编程映像,以将 PUF 分区添加到四路 SPI 闪存。
当闪存中已存在 PUF 分区时,可以使用 Intel Quartus Prime Programmer 直接访问 PUF 辅助数据和包装密钥 file例如amp文件中,如果激活不成功,可以重新注册 PUF,重新包装 AES 密钥,然后仅对 PUF 进行编程 files 而不必覆盖整个闪存。

英特尔 Agilex® 7 设备安全用户指南 40

发送反馈

4. 设备配置 683823 | 2023.05.23
Intel Quartus Prime Programmer 支持以下 PUF 操作参数 file位于预先存在的 PUF 分区中:
· p:程序
· v:验证
· r:擦除
· b:空白支票
即使存在 PUF 分区,您也必须遵循相同的 PUF 注册限制。
1. 使用 i 操作参数加载第一个操作的配置固件帮助程序映像。对于前amp在文件中,以下命令序列重新注册 PUF、重新包装 AES 根密钥、擦除旧的 PUF 帮助程序数据和包装密钥,然后编程并验证新的 PUF 帮助程序数据和 AES 根密钥。
quartus_pgm -c 1 -mjtag -o “ei;new.puf;AGFB014R24A” quartus_pgm -c 1 -mjtag –ccert_file=signed_aes.ccert -o “e;new.wkey;AGFB014R24A” quartus_pgm -c 1 -mjtag -o “r;old.puf” quartus_pgm -c 1 -mjtag -o “r;old.wkey” quartus_pgm -c 1 -mjtag -o “p;new.puf” quartus_pgm -c 1 -mjtag -o “p;new.wkey” quartus_pgm -c 1 -mjtag -o “v;new.puf” quartus_pgm -c 1 -mjtag -o“v;new.wkey”
4.9.2.4。查询固有ID PUF激活状态
注册固有 ID PUF 后,包装 AES 密钥,生成闪存编程 files,并更新四路 SPI 闪存,您可以重新启动设备以从加密的比特流触发 PUF 激活和配置。 SDM 报告 PUF 激活状态以及配置状态。如果 PUF 激活失败,SDM 会报告 PUF 错误状态。使用quartus_pgm命令查询配置状态。
1、使用以下命令查询激活状态:
quartus_pgm -c 1 -mjtag –status –status_type=”配置”
这是amp成功激活的文件输出:
信息 (21597):CONFIG_STATUS 的响应设备正在用户模式下运行 00006000 RESPONSE_CODE=OK,LENGTH=6 00000000 STATE=IDLE 00160300 版本 C000007B MSEL=QSPI_NORMAL,nSTATUS=1,nCONFIG=1,VID=1,
CLOCK_SOURCE=INTERNAL_PLL 0000000B CONF_DONE=1, INIT_DONE=1, CVP_DONE=0, SEU_ERROR=1 00000000 错误位置 00000000 错误详细信息 PUF_STATUS 的响应 00002000 RESPONSE_CODE=OK, LENGTH=2 00000500 USER_IID STATUS= PUF_激活_成功,
RELIABILITY_DIAGNOSTIC_SCORE=5,TEST_MODE=0 00000500 UDS_IID STATUS=PUF_ACTIVATION_SUCCESS,
RELIABILITY_DIAGNOSTIC_SCORE=5,TEST_MODE=0

发送反馈

英特尔 Agilex® 7 设备安全用户指南 41

4. 设备配置 683823 | 2023.05.23

如果您仅使用 IID PUF 或 UDS IID PUF,并且尚未编程辅助数据 .puf file 对于 QSPI 闪存中的任一 PUF,该 PUF 不会被激活,并且 PUF 状态反映 PUF 辅助数据无效。以下前amp文件显示未针对任一 PUF 编程 PUF 辅助数据时的 PUF 状态:
PUF_STATUS 的响应 00002000 RESPONSE_CODE=OK, LENGTH=2 00000002 USER_IID STATUS=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0,TEST_MODE=0 00000002 UDS_IID STATUS=PUF_DATA_CORRUPTED,
RELIABILITY_DIAGNOSTIC_SCORE=0,TEST_MODE=0

4.9.2.5。 PUF 在闪存中的位置
PUF的位置 file 支持 RSU 的设计和不支持 RSU 功能的设计是不同的。

对于不支持 RSU 的设计,您必须包含 .puf 和 .wkey file当您创建更新的 Flash 图像时。对于支持 RSU 的设计,SDM 在工厂或应用程序映像更新期间不会覆盖 PUF 数据部分。

表 2.

不支持 RSU 的闪存子分区布局

闪存偏移量(以字节为单位)

大小(以字节为单位)

内容

描述

0K 256K

256K 256K

配置管理固件 配置管理固件

在 SDM 上运行的固件。

512万

256万

配置管理固件

768万

256万

配置管理固件

1M

32万

PUF数据副本0

用于存储 PUF 辅助数据和 PUF 包装的 AES 根密钥副本 0 的数据结构

1万+32万

32万

PUF数据副本1

用于存储 PUF 辅助数据和 PUF 包装的 AES 根密钥副本 1 的数据结构

表 3.

支持 RSU 的闪存子分区布局

闪存偏移量(以字节为单位)

大小(以字节为单位)

内容

描述

0K 512K

512K 512K

决策固件 决策固件

用于识别和加载最高优先级图像的固件。

1万1.5M

512K 512K

决策固件 决策固件

2M

8K + 24K

决策固件数据

填充

保留供决策固件使用。

2M+32K

32万

为SDM保留

为SDM 保留。

2M+64K

多变的

工厂形象

当所有其他应用程序映像无法加载时,您创建作为备份的简单映像。该映像包括在 SDM 上运行的 CMF。

下一个

32万

PUF数据副本0

用于存储 PUF 辅助数据和 PUF 包装的 AES 根密钥副本 0 的数据结构
持续…

英特尔 Agilex® 7 设备安全用户指南 42

发送反馈

4. 设备配置 683823 | 2023.05.23

闪存偏移量(以字节为单位)

大小(以字节为单位)

下一页 +32K 32K

内容 PUF 数据副本 1

下一个 + 256K 4K 下一个 +32K 4K 下一个 +32K 4K

子分区表复制 0 子分区表复制 1 CMF 指针块复制 0

下一个 +32K _

CMF指针块复制1

变量 变量

变量 变量

应用图1 应用图2

4.9.3.黑键配置

描述
用于存储 PUF 辅助数据和 PUF 包装的 AES 根密钥副本 1 的数据结构
方便闪存存储管理的数据结构。
按优先级顺序指向应用程序映像的指针列表。当您添加图像时,该图像将变为最高。
指向应用程序映像的指针列表的第二个副本。
您的第一个应用程序图像。
您的第二个应用程序图像。

笔记:

Intel Quartus PrimeProgrammer 协助在 Intel Agilex 7 器件和黑键配置服务之间建立相互验证的安全连接。安全连接通过 https 建立,需要使用文本标识的多个证书 file.
使用 Black Key Provisioning 时,英特尔建议您避免在外部连接 TCK 引脚来上拉或下拉电阻,同时仍将其用于 JTAG。但是,您可以使用 10 k 电阻将 TCK 引脚连接到 VCCIO SDM 电源。引脚连接指南中包含将 TCK 连接到 1 k 下拉电阻的现有指南,以抑制噪声。 10 k 上拉电阻指导的变化不会影响器件的功能。有关连接 TCK 引脚的更多信息,请参阅 Intel Agilex 7 引脚连接指南。
bkp_tls_ca_certcertificate 向您的黑键配置程序员实例验证您的黑键配置服务实例。 bkp_tls_* 证书向您的黑键配置服务实例验证您的黑键配置编程器实例。
您创建一个文本 file 包含 Intel Quartus Prime Programmer 连接到黑键配置服务所需的信息。要启动黑键配置,请使用程序员命令行界面指定黑键配置选项文本 file。然后黑键配置会自动进行。要访问黑键配置服务和相关文档,请联系英特尔支持。
您可以使用 quartus_pgm 命令启用黑键配置:
quartus_pgm -c -m –device –bkp_options=bkp_options.txt
命令参数指定以下信息:

发送反馈

英特尔 Agilex® 7 设备安全用户指南 43

4. 设备配置 683823 | 2023.05.23

· -c:电缆编号 · -m:指定编程模式,如JTAG · –device:指定J上的设备索引TAG 链。默认值为 1。· –bkp_options:指定文本 file 包含黑键配置选项。
相关链接 Intel Agilex 7 设备系列引脚连接指南

4.9.3.1.黑键配置选项
黑键配置选项是文本 file 通过 quartus_pgm 命令传递给程序员。这 file 包含触发黑键配置所需的信息。
以下是一个示例ampbkp_options.txt 文件 file:
bkp_cfg_id = 1 bkp_ip = 192.167.1.1 bkp_port = 10034 bkp_tls_ca_cert = root.cert bkp_tls_prog_cert = prog.cert bkp_tls_prog_key = prog_key.pem bkp_tls_prog_key_pass = 1234 bkp_proxy_address = https://192.167.5.5。 5000:XNUMX bkp_proxy_user = proxy_user bkp_proxy_password = proxy_password

表 4.

黑键配置选项
此表显示触发黑键配置所需的选项。

选项名称

类型

描述

bkp_ip

必需的

指定运行黑键配置服务的服务器IP地址。

bkp_端口

必需的

指定连接到服务器所需的黑键配置服务端口。

参数

必需的

标识黑键供应配置流程ID。
黑键配置服务创建黑键配置配置流程,包括 AES 根密钥、所需的 eFuse 设置和其他黑键配置授权选项。在黑键配置服务设置期间分配的号码标识黑键配置配置流程。
注意:多个设备可能引用相同的黑键配置服务配置流程。

验证

必需的

用于识别 Intel Quartus Prime Programmer (Programmer) 的黑密钥配置服务的根 TLS 证书。黑密钥配置服务实例的受信任证书颁发机构颁发此证书。
如果您在装有 Microsoft® Windows® 操作系统 (Windows) 的计算机上运行 Programmer,则必须在 Windows 证书存储中安装此证书。

证书

必需的

为黑密钥配置程序员(BKP 程序员)实例创建的证书。这是用于识别此 BKP 程序员实例的 https 客户端证书
持续…

英特尔 Agilex® 7 设备安全用户指南 44

发送反馈

4. 设备配置 683823 | 2023.05.23

选项名称

类型

复制代码

必需的

bkp_tls_prog_key_pass 可选

bkp_proxy_地址 bkp_proxy_用户 bkp_proxy_密码

可选 可选 可选

描述
到黑键配置服务。在启动黑密钥配置会话之前,您必须在黑密钥配置服务中安装并授权此证书。如果您在 Windows 上运行 Programmer,则此选项不可用。在这种情况下,bkp_tls_prog_key 已包含此证书。
BKP程序员证书对应的私钥。该密钥向黑密钥配置服务验证 BKP Programmer 实例的身份。如果您在 Windows 上运行 Programmer,则 .pfx file 结合了 bkp_tls_prog_cert 证书和私钥。 bkp_tlx_prog_key 选项传递 .pfx file 在 bkp_options.txt 中 file.
bkp_tls_prog_key 私钥的密码。黑键配置配置选项 (bkp_options.txt) 文本中不需要 file.
指定代理服务器 URL 地址。
指定代理服务器用户名。
指定代理验证密码。

4.10.转换所有者根密钥、AES 根密钥证书和 Fuse files 到 Jam STAPL File 格式

您可以使用 quartus_pfg 命令行命令来转换 .qky、AES 根密钥 .ccert 和 .fuse files 至 Jam STAPL 格式 File (.jam) 和 Jam 字节代码格式 File (.jbc)。你可以使用这些 file分别使用 Jam STAPL Player 和 Jam STAPL Byte-Code Player 对 Intel FPGA 进行编程。

单个 .jam 或 .jbc 包含多种功能,包括固件帮助程序映像配置和程序、空白检查以及密钥和熔丝编程验证。

警告:

当您转换 AES 根密钥 .ccert 时 file 为 .jam 格式,将 .jam file 包含明文但混淆形式的 AES 密钥。因此,您必须保护 .jam file 存储 AES 密钥时。您可以通过在安全环境中配置 AES 密钥来实现此目的。

这里有前ampquartus_pfg 转换命令的文件:

quartus_pfg -c -o helper_device=AGFB014R24A “root0.qky;root1.qky;root2.qky” RootKey.jam quartus_pfg -c -o helper_device=AGFB014R24A “root0.qky;root1.qky;root2.qky” RootKey.jbc quartus_pfg - c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jam quartus_pfg -c -o helper_device=AGFB014R24A aes.ccert aes_ccert.jbc quartus_pfg -c -o helper_device=AGFB014R24A settings.fuse settings_fuse.jam quartus_pfg -c -o helper_device=AGFB014 24RXNUMXA 设置。保险丝设置_fuse.jbc

有关使用 Jam STAPL Player 进行设备编程的更多信息,请参阅 AN 425:使用命令行 Jam STAPL 解决方案进行设备编程。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 45

4. 设备配置 683823 | 2023.05.23
运行以下命令对所有者根公钥和 AES 加密密钥进行编程:
//将辅助比特流加载到FPGA中。 // 辅助比特流包括配置固件 quartus_jli -c 1 -a CONFIGURE RootKey.jam
//将所有者根公钥编程到虚拟 eFuses quartus_jli -c 1 -a PUBKEY_PROGRAM RootKey.jam
//将所有者根公钥编程到物理 eFuse quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG RootKey.jam
//将 PR 所有者根公钥编程到虚拟 eFuse quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG pr_rootkey.jam
//将 PR 所有者根公钥编程到物理 eFuse quartus_jli -c 1 -a PUBKEY_PROGRAM -e DO_UNI_ACT_DO_PR_PUBKEY_FLAG -e DO_UNI_ACT_DO_EFUSES_FLAG pr_rootkey.jam
//将 AES 加密密钥 CCERT 编程到 BBRAM quartus_jli -c 1 -a CCERT_PROGRAM EncKeyBBRAM.jam
//将 AES 加密密钥 CCERT 编程到物理 eFuse quartus_jli -c 1 -a CCERT_PROGRAM -e DO_UNI_ACT_DO_EFUSES_FLAG EncKeyEFuse.jam
相关链接 AN 425:使用命令行 Jam STAPL 解决方案进行设备编程

英特尔 Agilex® 7 设备安全用户指南 46

发送反馈

683823 | 2023.05.23 反馈意见

高级功能

5.1.安全调试授权
要启用安全调试授权,调试所有者需要生成身份验证密钥对并使用 Intel Quartus Prime Pro Programmer 生成设备信息 file 对于运行调试映像的设备:
quartus_pgm -c 1 -mjtag -o “ei;device_info.txt;AGFB014R24A” –dev_info
设备所有者使用 quartus_sign 工具或参考实现将条件公钥条目附加到签名链,用于使用调试所有者的公钥、必要的授权、设备信息文本进行调试操作 file,以及适用的进一步限制:
quartus_sign –family=agilex –operation=append_key –previous_pem=debug_chain_private.pem –previous_qky=debug_chain.qky –permission=0x6 –cancel=1 –dev_info=device_info.txt –restriction=”1,2,17,18” –input_pem= debug_authorization_public_key.pem secure_debug_auth_chain.qky
设备所有者将完整的签名链发送回调试所有者,调试所有者使用签名链及其私钥对调试映像进行签名:
quartus_sign –family=agilex –operation=sign –qky=secure_debug_auth_chain.qky –pem=debug_authorization_private_key.pem unsigned_debug_design.rbfauthorized_debug_design.rbf
您可以使用 quartus_pfg 命令检查此签名的安全调试比特流的每个部分的签名链,如下所示:
quartus_pfg –check_integrityauthorized_debug_design.rbf
此命令的输出打印用于生成签名比特流的条件公钥的限制值 1,2,17,18。
然后,调试所有者可以对安全授权的调试设计进行编程:
quartus_pgm -c 1 -mjtag -o“p;authorized_debug_design.rbf”
设备所有者可以通过取消在安全调试授权签名链中分配的显式密钥取消ID来撤销安全调试授权。
5.2. HPS 调试证书
仅允许通过 J 对 HPS 调试访问端口 (DAP) 进行授权访问TAG 接口需要几个步骤:

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

5. 高级功能 683823 | 2023.05.23
1. 单击 Intel Quartus Prime 软件Assignments 菜单并选择Device Device and Pin Options Configuration 选项卡。
2. 在“配置”选项卡中,通过从下拉菜单中选择 HPS 引脚或 SDM 引脚来启用 HPS 调试访问端口 (DAP),并确保未选中“允许在没有证书的情况下进行 HPS 调试”复选框。
图 14. 为 HPS DAP 指定 HPS 或 SDM 引脚

HPS 调试访问端口 (DAP)
或者,您可以在 Quartus Prime Settings .qsf 中设置以下分配 file:
set_global_assignment -name HPS_DAP_SPLIT_MODE “SDM 引脚”
3. 使用这些设置编译并加载设计。 4. 创建具有适当权限的签名链来签署 HPS 调试
证书:
quartus_sign –family=agilex –operation=append_key –previous_pem=root_private.pem –previous_qky=root.qky –permission=0x8 –cancel=1 –input_pem=hps_debug_cert_public_key.pem hps_debug_cert_sign_chain.qky
5. 从加载调试设计的设备请求未签名的 HPS 调试证书:
quartus_pgm -c 1 -mjtag -o“e;unsigned_hps_debug.cert;AGFB014R24A”
6. 使用 quartus_sign 工具或参考实现以及 HPS 调试签名链对未签名的 HPS 调试证书进行签名:
quartus_sign –family=agilex –operation=sign –qky=hps_debug_cert_sign_chain.qky –pem=hps_debug_cert_private_key.pem unsigned_hps_debug.certsigned_hps_debug.cert

英特尔 Agilex® 7 设备安全用户指南 48

发送反馈

5. 高级功能 683823 | 2023.05.23
7. 将签名的 HPS 调试证书发送回设备以启用对 HPS 调试访问端口 (DAP) 的访问:
quartus_pgm -c 1 -mjtag -o“p;signed_hps_debug.cert”
HPS 调试证书仅从生成之日起有效,直到设备的下一个电源周期或加载不同类型或版本的 SDM 固件为止。在重新启动设备之前,您必须生成、签署和编程已签名的 HPS 调试证书,并执行所有调试操作。您可以通过重新启动设备来使签名的 HPS 调试证书失效。
5.3.平台认证
您可以生成参考完整性清单 (.rim) file 使用编程 file 生成器工具:
quartus_pfg -csigned_encrypted_top.rbf top_rim.rim
请按照以下步骤确保您的设计中的平台认证: 1. 使用 Intel Quartus Prime Pro Programmer 配置您的器件
您为其创建了参考完整性清单的设计。 2. 使用平台证明验证程序通过向平台发出命令来注册设备
SDM通过SDM邮箱在重新加载时创建设备ID证书和固件证书。 3. 使用 Intel Quartus Prime Pro Programmer 根据设计重新配置您的器件。 4. 使用平台证明验证器向 SDM 发出命令以获取证明设备 ID、固件和别名证书。 5. 使用证明验证者发出SDM邮箱命令来获取证明证据,验证者检查返回的证据。
您可以使用 SDM 邮箱命令实施自己的验证程序服务,或使用 Intel 平台证明验证程序服务。有关英特尔平台证明验证程序服务软件、可用性和文档的更多信息,请联系英特尔支持。
相关链接 Intel Agilex 7 设备系列引脚连接指南
5.4.物理抗Tamper
您启用物理防tamper 功能使用以下步骤: 1. 选择对检测到的事件所需的响应amper 事件 2. 配置所需的 tamper检测方法及参数3.包括抗tamp在您的设计逻辑中加入 IP 来帮助管理抗干扰amper
事件

发送反馈

英特尔 Agilex® 7 设备安全用户指南 49

5. 高级功能 683823 | 2023.05.23
5.4.1.抗T细胞amp呃回应
您启用物理防amp呃,通过从 Anti-t 选择一个响应amp错误响应:Assignments Device Device and Pin Options Security Anti-T 上的下拉列表amp呃选项卡。默认情况下,防tamp呃响应被禁用。五类防amp呃回复可用。当您选择所需的响应时,将启用启用一种或多种检测方法的选项。
图 15. 可用的抗 Tamp呃响应选项

Quartus Prime 设置.gsf 中的相应分配 file 如下:
set_global_assignment -名称 ANTI_TAMPER_RESPONSE“通知设备擦除设备锁定和归零”
当您启用反tamp响应后,您可以选择两个可用的 SDM 专用 I/O 引脚来输出 tamp使用分配器件器件和引脚选项配置配置引脚选项窗口了解事件检测和响应状态。

英特尔 Agilex® 7 设备安全用户指南 50

发送反馈

5. 高级功能 683823 | 2023.05.23
图 16. T 可用的 SDM 专用 I/O 引脚amp错误事件检测

您还可以在设置中进行以下引脚分配 file:设置全局分配-名称USE_TAMPER_DETECT SDM_IO15 设置全局分配-名称 ANTI_TAMPER_RESPONSE_FAILED SDM_IO16

5.4.2.抗T细胞amp检测

您可以单独启用频率、温度和体积tagSDM 的检测功能。 FPGA 检测依赖于包含 Anti-Tamp您设计中的 er Lite 英特尔 FPGA IP。

笔记:

SDM频率和音量tag等amp错误检测方法取决于内部参考和测量硬件,这些参考和测量硬件可能因设备而异。英特尔建议您描述 t 的行为特征amp呃检测设置。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 51

5. 高级功能 683823 | 2023.05.23
频率Tamper 检测在配置时钟源上运行。启用频率 tamp为了进行检测,您必须在“Assignments Device”(分配器件)和“Pin Options”(引脚选项)“General”(常规)选项卡上的“Configuration Clock Source”(配置时钟源)下拉列表中指定除“Internal Oscillator”(内部振荡器)之外的选项。您必须确保在启用频率 t 之前启用从内部振荡器运行配置 CPU 复选框。amp呃检测。图 17. 将 SDM 设置为内部振荡器
启用频率 tamper检测,选择启用频率tamper 检测复选框并选择所需的频率 tamp从下拉菜单中选择检测范围。图 18. 使能频率 Tamp检测

英特尔 Agilex® 7 设备安全用户指南 52

发送反馈

5. 高级功能 683823 | 2023.05.23
或者,您可以启用频率 Tamp通过对 Quartus Prime 设置 .qsf 进行以下更改进行检测 file:
设置全局分配-名称 AUTO_RESTART_CONFIGURATION 关闭 设置全局分配-名称 DEVICE_INITIALIZATION_CLOCK OSC_CLK_1_100MHZ 设置全局分配-名称 RUN_CONFIG_CPU_FROM_INT_OSC 打开 设置全局分配-名称 ENABLE_FREQUENCY_TAMPset_global_assignment -name FREQUENCY_T 上的 ER_DETECTIONAMP错误检测范围 35
启用温度 tamper检测,选择启用温度tamper 检测复选框并在相应字段中选择所需的温度上限和下限。默认情况下,上限和下限填充为设计中所选器件的相关温度范围。
启用音量tag等amp检测后,您可以选择启用 VCCL 卷中的一个或两个tag等amper 检测或启用 VCCL_SDM 卷tag等amper 检测复选框并选择所需的 Voltag等amper 检测触发百分比tage 在相应的字段中。
图 19. 启用音量tagTamp检测

或者,您可以启用 VoltagTamper 通过在 .qsf 中指定以下分配进行检测 file:
设置全局分配-名称ENABLE_TEMPERATURE_TAMPset_global_assignment -name TEMPERATURE_T 上的 ER_DETECTIONAMPER_UPPER_BOUND 100 设置全局分配-名称 ENABLE_VCCL_VOLTAG时间AMPER_DETECTION ON 设置全局分配 -名称 ENABLE_VCCL_SDM_VOLTAG时间AMPER_DETECTION 开启
5.4.3.抗T细胞amper Lite 英特尔 FPGA IP
抗Tamper Lite Intel FPGA IP 可在 Intel Quartus Prime Pro Edition 软件的 IP 目录中找到,可促进您的设计与 SDM 之间的双向通信,以实现amp呃事件。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 53

图 20. 抗 Tamper Lite 英特尔 FPGA IP

5. 高级功能 683823 | 2023.05.23

IP 提供以下信号,您可以根据需要连接到您的设计:

表 5.

抗Tamper Lite Intel FPGA IP I/O 信号

信号名称

方向

描述

请参阅 gpo_sdm_at_event 以获取更多信息。

输出输入

SDM 向 FPGA 结构逻辑发出信号,表示 SDM 已检测到 tamp呃事件。 FPGA 逻辑有大约 5ms 的时间来执行任何所需的清理并通过 gpi_fpga_at_response_done 和 gpi_fpga_at_zeroization_done 响应 SDM。 SDM 继续进行 tamp当 gpi_fpga_at_response_done 置位或在指定时间内未收到响应时执行响应操作。
FPGA中断到SDM,您设计的反tamper 检测电路检测到 tamper 事件和 SDM tamp应该触发呃响应。

gpi_fpga_at_response_done

输入

FPGA 中断至 SDM,表明 FPGA 逻辑已执行所需的清理。

gpi_fpga_at_zeroization_d 一

输入

FPGA 向 SDM 发出信号,告知 FPGA 逻辑已完成任何所需的设计数据归零。这个信号是amp当 gpi_fpga_at_response_done 置位时导致。

5.4.3.1. 发布信息

IP 版本控制方案 (X.Y.Z) 编号从一个软件版本更改为另一个软件版本。变化:
· X 表示IP 的主要修订。如果更新 Intel Quartus Prime 软件,则必须重新生成 IP。
· Y 表示该 IP 包含新功能。 重新生成您的 IP 以包含这些新功能。
· Z 表示IP 包含微小的变化。 重新生成您的 IP 以包含这些更改。

表 6.

抗Tamper Lite 英特尔 FPGA IP 发布信息

IP版本

物品

描述 20.1.0

英特尔 Quartus Prime 版本

21.2

发布日期

2021.06.21

英特尔 Agilex® 7 设备安全用户指南 54

发送反馈

5. 高级功能 683823 | 2023.05.23
5.5.将设计安全功能与远程系统更新结合使用
远程系统更新 (RSU) 是一项英特尔 Agilex 7 FPGA 功能,可帮助更新配置 file以一种稳健的方式。 RSU 与身份验证、固件联合签名和比特流加密等设计安全功能兼容,因为 RSU 不依赖于配置比特流的设计内容。
使用 .sof 构建 RSU 映像 Files
如果您将私钥存储在本地 file系统,您可以使用 .sof 的简化流程生成具有设计安全功能的 RSU 映像 files 作为输入。使用 .sof 生成 RSU 映像 file,您可以按照生成远程系统更新映像部分中的说明进行操作 File使用编程 File Intel Agilex 7 配置用户指南的生成器。对于每个 .sof file 在输入上指定 File选项卡上,单击属性...按钮并为签名和加密工具指定适当的设置和密钥。编程 file 生成器工具在创建 RSU 编程时自动对工厂和应用程序映像进行签名和加密 files.
或者,如果您将私钥存储在 HSM 中,则必须使用 quartus_sign 工具,因此使用 .rbf files。本节的其余部分详细介绍了使用 .rbf 生成 RSU 映像的流程的变化 files 作为输入。您必须对 .rbf 格式进行加密和签名 file在选择它们作为输入之前 files 表示 RSU 映像;但是,RSU 启动信息 file 不得加密,而只能签名。编程 File 生成器不支持修改 .rbf 格式的属性 files.
以下示例amp文件演示了对生成远程系统更新映像部分中的命令的必要修改 File使用编程 File Intel Agilex 7 配置用户指南的生成器。
使用 .rbf 生成初始 RSU 映像 Files:命令修改
使用 .rbf 生成初始 RSU 映像 Files 部分,修改步骤 1 中的命令,以使用本文档前面部分中的说明根据需要启用设计安全功能。
例如amp文件,您将指定一个签名的固件 file 如果您使用固件共同签名,则使用 Quartus 加密工具加密每个 .rbf file,最后使用quartus_sign工具对每一个进行签名 file.
在步骤 2 中,如果您启用了固件共同签名,则必须在从工厂映像创建启动 .rbf 时使用附加选项 file:
quartus_pfg -c factory.sof boot.rbf -o rsu_boot=ON -o fw_source=signed_agilex.zip
创建启动信息 .rbf 后 file,使用quartus_sign工具对.rbf进行签名 file。您不得加密启动信息 .rbf file.

发送反馈

英特尔 Agilex® 7 设备安全用户指南 55

5. 高级功能 683823 | 2023.05.23
生成应用镜像:命令修改
要生成具有设计安全功能的应用程序映像,请修改生成应用程序映像中的命令以使用启用了设计安全功能的 .rbf(包括共同签名的固件(如果需要)),而不是原始应用程序 .sof file:
quartus_pfg -c cosigned_fw_signed_encrypted_application.rbf secure_rsu_application.rpd -o 模式=ASX4 -o 位交换=ON
生成出厂更新镜像:命令修改
创建启动信息 .rbf 后 file,您使用 quartus_sign 工具对 .rbf 进行签名 file。您不得加密启动信息 .rbf file.
要生成 RSU 出厂更新映像,请修改生成出厂更新映像中的命令以使用 .rbf file 启用设计安全功能并添加选项以指示共同签名的固件使用情况:
quartus_pfg -c cosigned_fw_signed_encrypted_factory.rbf secure_rsu_factory_update.rpd -o mode=ASX4 -o bitswap=ON -o rsu_upgrade=ON -o fw_source=signed_agilex.zip
相关链接 Intel Agilex 7 配置用户指南
5.6. SDM 加密服务
Intel Agilex 7 设备上的 SDM 提供 FPGA 结构逻辑或 HPS 可以通过相应 SDM 邮箱接口请求的加密服务。有关所有 SDM 加密服务的邮箱命令和数据格式的更多信息,请参阅《Intel FPGA 和结构化 ASIC 安全方法用户指南》中的附录 B。
要访问 SDM 邮箱接口到 FPGA 结构逻辑以实现 SDM 加密服务,您必须在设计中实例化邮箱客户端 Intel FPGA IP。
从 HPS 访问 SDM 邮箱接口的参考代码包含在 Intel 提供的 ATF 和 Linux 代码中。
相关链接 邮箱客户端 Intel FPGA IP 用户指南
5.6.1.供应商授权启动
英特尔为 HPS 软件提供了一个参考实现,该实现利用供应商授权的启动功能从第一个版本开始对 HPS 启动软件进行身份验证tage 引导加载程序一直到 Linux 内核。
相关链接 Intel Agilex 7 SoC 安全启动演示设计

英特尔 Agilex® 7 设备安全用户指南 56

发送反馈

5. 高级功能 683823 | 2023.05.23
5.6.2.安全数据对象服务
您通过SDM邮箱发送命令来执行SDOS对象加密和解密。配置 SDOS 根密钥后,您可以使用 SDOS 功能。
相关信息 安全数据对象服务根密钥配置第 30 页
5.6.3. SDM 加密原语服务
您通过 SDM 邮箱发送命令来启动 SDM 加密原语服务操作。一些加密原语服务要求向SDM传输或从SDM传输的数据多于邮箱接口可以接受的数据。在这些情况下,格式命令会更改以提供指向内存中数据的指针。此外,您必须更改邮箱客户端 Intel FPGA IP 的实例化,才能使用来自 FPGA 结构逻辑的 SDM 加密原语服务。您还必须将启用加密服务参数设置为 1,并将新公开的 AXI 启动器接口连接到设计中的存储器。
图 21. 在邮箱客户端 Intel FPGA IP 中启用 SDM 加密服务

5.7.比特流安全设置 (FM/S10)
FPGA 比特流安全选项是一组策略,用于在定义的时间段内限制指定的功能或操作模式。
Bitstream Security 选项由您在 Intel Quartus Prime Pro Edition 软件中设置的标志组成。这些标志会自动复制到配置比特流中。
您可以通过使用相应的安全设置 eFuse 在设备上永久实施安全选项。
要使用配置比特流或设备 eFuse 中的任何安全设置,您必须启用身份验证功能。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 57

5. 高级功能 683823 | 2023.05.23
5.7.1.选择并启用安全选项
要选择并启用安全选项,请执行以下操作: 从“Assignments”菜单中,选择“Device”、“Device and Pin Options”、“Security”、“更多选项”… 图 22. 选择并启用安全选项

然后从下拉列表中选择要启用的安全选项的值,如下例所示amp乐:
图 23. 选择安全选项的值

英特尔 Agilex® 7 设备安全用户指南 58

发送反馈

5. 高级功能 683823 | 2023.05.23
以下是Quartus Prime Settings.qsf中的相应更改 file:
set_global_assignment -名称 SECU_OPTION_DISABLE_JTAG “ON CHECK” set_global_assignment -name SECU_OPTION_FORCE_ENCRYPTION_KEY_UPDATE “ON STICKY” set_global_assignment -name SECU_OPTION_FORCE_SDM_CLOCK_TO_INT_OSC ON set_global_assignment -name SECU_OPTION_DISABLE_VIRTUAL_EFUSES ON set_global_assignment -name SECU_OPTION_LOCK_SECURITY_EFUSES ON set_global _分配-名称 SECU_OPTION_DISABLE_HPS_DEBUG 打开 set_global_分配 -名称 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES 打开 set_global_分配 -名称 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES 打开 set_global_分配 -名称 SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES 打开 set_global_分配 -名称SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_EFUSES ON set_global_assignment -name SECU_OPTION_DISABLE_ENCRYPTION_KEY_IN_BBRAM ON set_global_assignment -name SECU_OPTION_DISABLE_PUF_WRAPPED_ENCRYPTION_KEY ON

发送反馈

英特尔 Agilex® 7 设备安全用户指南 59

683823 | 2023.05.23 反馈意见

故障排除

本章介绍您在尝试使用设备安全功能时可能遇到的常见错误和警告消息以及解决这些问题的措施。
6.1.在 Windows 环境中使用 Quartus 命令出现错误
错误 quartus_pgm:未找到命令 说明 当尝试使用 WSL 在 Windows 环境中的 NIOS II Shell 中使用 Quartus 命令时,会显示此错误。解决方法 该命令适用于Linux环境;对于 Windows 主机,使用以下命令: quartus_pgm.exe -h 同样,将相同的语法应用于其他 Quartus Prime 命令,例如 quartus_pfg、quartus_sign、quartus_encrypt 等命令。

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

6. 故障排除 683823 | 2023.05.23

6.2.生成私钥警告

警告:

指定的密码被认为是不安全的。英特尔建议至少使用 13 个字符的密码。建议您使用 OpenSSL 可执行文件更改密码。

openssl ec -in -out -aes256

描述
此警告与密码强度有关,并在尝试通过发出以下命令生成私钥时显示:

quartus_sign –family=agilex –operation=make_private_pem –curve=secp3841 root.pem

解决方法 使用 openssl 可执行文件指定更长、更强的密码。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 61

6. 故障排除 683823 | 2023.05.23
6.3.将签名密钥添加到 Quartus 项目错误
错误 …File 包含根密钥信息...
描述
添加签名密钥.qky后 file 到Quartus工程中,需要重新编译.sof file。当你添加这个重新生成的.sof file 使用 Quartus Programmer 到所选器件时,出现以下错误消息表明 file 包含根密钥信息:
添加失败<file-路径名称> 到程序员。这 file 包含根密钥信息 (.qky)。但是,Programmer 不支持比特流签名功能。您可以使用编程 File 生成器来转换 file 到签名的原始二进制文件 file (.rbf) 用于配置。
解决
使用 Quartus 编程 file 生成器来转换 file 转换为签名的原始二进制文件 File .rbf 用于配置。
相关链接 使用 quartus_sign 命令对配置比特流进行签名(第 13 页)

英特尔 Agilex® 7 设备安全用户指南 62

发送反馈

6. 故障排除 683823 | 2023.05.23
6.4.生成 Quartus Prime 编程 File 不成功
错误
错误 (20353):QKY 中的公钥 X 与 PEM 中的私钥不匹配 file.
错误(20352):无法通过Python脚本agilex_sign.py对比特流进行签名。
错误:Quartus Prime 编程 File 生成器不成功。
说明 如果您尝试使用不正确的私钥 .pem 对配置比特流进行签名 file 或 .pem file 与添加到项目中的 .qky 不匹配,会显示上述常见错误。解决方法 确保使用正确的私钥 .pem 对比特流进行签名。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 63

6. 故障排除 683823 | 2023.05.23
6.5.未知参数错误
错误
错误(23028):未知参数“ûc”。请参阅 –help 了解法律依据。
错误 (213008):编程选项字符串“ûp”非法。请参阅 –help 了解合法的编程选项格式。
说明 如果从 .pdf 复制并粘贴命令行选项 file 在 Windows NIOS II Shell 中,您可能会遇到如上所示的未知参数错误。解决方法 在这种情况下,您可以手动输入命令,而不是从剪贴板粘贴。

英特尔 Agilex® 7 设备安全用户指南 64

发送反馈

6. 故障排除 683823 | 2023.05.23
6.6.比特流加密选项禁用错误
错误
无法完成加密 file 设计.sof,因为它是在禁用比特流加密选项的情况下编译的。
描述 如果在禁用比特流加密选项的情况下编译项目后尝试通过 GUI 或命令行加密比特流,Quartus 将拒绝该命令,如上所示。
解决方法 确保在通过 GUI 或命令行启用比特流加密选项的情况下编译项目。要在 GUI 中启用此选项,您必须选中此选项的复选框。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 65

6. 故障排除 683823 | 2023.05.23
6.7.指定密钥的正确路径
错误
错误 (19516):检测到编程 File 生成器设置错误:找不到“key_”file’。确保 file 位于预期位置或更新setting.sec
错误 (19516):检测到编程 File 生成器设置错误:找不到“key_”file’。确保 file 位于预期位置或更新设置。
描述
如果您使用存储在 file 系统中,您需要确保它们为用于比特流加密和签名的密钥指定正确的路径。如果编程 File 生成器无法检测到正确的路径,显示上述错误消息。
解决
请参阅 Quartus Prime 设置 .qsf file 找到密钥的正确路径。确保使用相对路径而不是绝对路径。

英特尔 Agilex® 7 设备安全用户指南 66

发送反馈

6. 故障排除 683823 | 2023.05.23
6.8。使用不支持的输出 File 类型
错误
quartus_pfg -c design.sof 输出_file.ebf -o Finalize_operation=ON -o qek_file=ae.qek -o 签名=ON -o pem_file=sign_private.pem
错误 (19511):不支持的输出 file 类型(ebf)。使用“-l”或“-list”选项显示支持的 file 类型信息。
描述 使用 Quartus 编程时 File 生成器生成加密和签名的配置比特流,如果不支持的输出,您可能会看到上述错误 file 类型已指定。解决方法 使用 -l 或 –list 选项查看支持的列表 file 类型。

发送反馈

英特尔 Agilex® 7 设备安全用户指南 67

683823 | 2023.05.23 反馈意见
7. Intel Agilex 7 设备安全用户指南档案
有关本用户指南的最新版本和先前版本,请参阅 Intel Agilex 7 设备安全用户指南。如果未列出 IP 或软件版本,则适用先前 IP 或软件版本的用户指南。

英特尔公司。 版权所有。 英特尔、英特尔徽标和其他英特尔标志是英特尔公司或其子公司的商标。 英特尔根据英特尔的标准保修保证其 FPGA 和半导体产品的性能符合当前规格,但保留随时更改任何产品和服务的权利,恕不另行通知。 英特尔不承担因应用或使用此处描述的任何信息、产品或服务而产生的任何责任或义务,除非英特尔明确书面同意。 建议英特尔客户在依赖任何已发布信息和下订单购买产品或服务之前获取最新版本的设备规格。 *其他名称和品牌可能被认为是他人的财产。

ISO 9001:2015注册

683823 | 2023.05.23 反馈意见

8. Intel Agilex 7 设备安全用户指南的修订历史记录

文档版本 2023.05.23
2022.11.22 2022.04.04 2022.01.20
2021.11.09

文件/资源

英特尔 Agilex 7 设备安全 [pdf] 用户手册
Agilex 7 设备安全、Agilex 7、设备安全、安全

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *