DisplayPort 英特尔® Stratix® 10 FPGA IP设计实例用户指南

ID 683887
日期 9/14/2022
Public
文档目录

3.5. FPGA设计中嵌入的加密密钥保护

很多FPGA设计实现加密,并且经常需要在FPGA比特流中嵌入密钥。在较新的器件系列中(例如 英特尔® Stratix® 10英特尔Agilex)有一个Secure Device Manager模块可以安全地提供和管理这些密钥。在没有这些功能的情况下,您可以通过加密来保护FPGA比特流的数据内容,包括任何嵌入的秘密用户密钥。

可以在您的设计环境中保持用户密钥安全,并且最好使用自动安全进程将其添加到设计中。以下步骤显示了如何使用 英特尔® Quartus® Prime工具来实现该进程。
  1. 在非安全环境下,在 英特尔® Quartus® Prime中开发和优化HDL。
  2. 将设计转移到安全环境并实现自动化进程来更新密钥。片上存储器嵌入密钥值。更新密钥时,存储器初始化文件(.mif)可以更改,并且“quartus_cdb --update_mif”汇编程序流程可以更改HDCP保护密钥而无需重新编译。此步骤运行速度非常快,并保留了原始时序。
  3. 然后, 英特尔® Quartus® Prime比特流使用FPGA密钥加密,最后才将加密的比特流传输回非安全环境以进行最终测试和部署。
建议禁用所有能够从FPGA恢复密钥的调试访问。您可以通过禁用JTAG端口来完全禁用调试功能,或者有选择地禁用并查看没有调试功能(例如在系统存储器编辑器或Signal Tap)能够恢复密钥。有关使用FPGA安全功能的更多信息,包括如何加密FPGA比特流和配置安全选项(例如禁用JTAG访问)的具体步骤,请参阅Intel Stratix 10 Device Security User Guide
注: 您可以考虑使用MIF存储中密钥的另一个密钥进行混淆或加密的附加步骤。