HDMI Intel® Stratix 10 FPGA IP设计示例用户指南

ID 683701
日期 11/12/2021
Public
文档目录

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

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

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