You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vivado生成加密比特流时如何获取eFUSE存储的FPGA加密密钥

问题解答

Vivado没有从FPGA eFUSE回读已存储比特流加密密钥的能力,生成新加密比特流时也不会自动从目标器件拉取密钥,相关机制逻辑如下:

  • 硬件层面的安全设计决定了eFUSE中存储的比特流加密密钥不可被回读。Xilinx全系列支持eFUSE加密的FPGA,都在硬件电路上阻断了用户侧(包括JTAG接口、官方调试工具、第三方读写工具)访问eFUSE密钥存储区的读通路,这是比特流加密方案的核心安全前提——从根源上避免密钥被恶意窃取,密钥一旦烧入eFUSE,不存在任何公开、官方支持的读取路径。
  • Vivado生成加密比特流的全流程在本地主机侧完成,不会和目标FPGA建立交互拉取密钥。你需要在比特流生成配置阶段,手动传入和eFUSE内已存储值完全一致的密钥,工具仅使用本地提供的密钥完成比特流加密运算;加密后的比特流下载到板卡时,FPGA硬件会自动调用eFUSE内存储的密钥做匹配校验,校验通过才会正常加载比特流。
  • 本地向Vivado传入加密密钥的常用方式有两种:
    • 打开比特流配置页,在Edit Device Properties > Configuration > Encryption选项栏手动输入对应AES密钥值
    • 在配置项中指定本地留存的.nky格式密钥文件路径,由工具自动读取文件内存储的密钥完成加密
  • 实操注意事项:如果密钥烧入eFUSE后,你弄丢了本地留存的密钥副本,将永远无法生成可被这块FPGA识别加载的新加密比特流。如果没有同时烧录eFUSE的强制加密位,器件还可以加载运行未加密的普通比特流;如果已经开启强制加密,丢失密钥会直接导致器件永久无法加载任何比特流,等同于硬件报废。不要尝试通过任何手段读取eFUSE内的已存储密钥,硬件读阻断机制只会返回无效的全0数据,误操作eFUSE的保留配置位还有可能直接锁死器件。

内容的提问来源于stack exchange,提问作者Tanvir Hossain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:09:23