为 7 系列器件生成已加密文件和已经过身份验证的文件 - 2023.2 简体中文

Vivado Design Suite 用户指南: 编程和调试 (UG908)

Document ID
UG908
Release Date
2023-10-19
Version
2023.2 简体中文
注释: 如需了解更多信息,请参阅 使用加密确保 7 系列 FPGA 比特流的安全(XAPP1239)

要生成加密比特流,请在 Vivado IDE 中打开已实现的设计。在主工具栏中,依次选择Flow > Bitstream Settings(流程 > 比特流设置),这样即可显示“Settings”(设置)对话框。在此对话框顶部,单击Configure Additional Bitstream Settings(配置其他比特流设置)。

图 1. 7 系列设置

这样会显示“Edit Device Properties”(编辑器件属性)对话框。选择左侧窗格中的Encryption(加密)。

图 2. 7 系列配置加密设置

在“Edit Device Properties”对话框中,指定“Encryption Settings”(加密设置)和“Key Settings”(密钥设置):

  • Encryption Settings(加密设置)
    • Enable Bitstream Encryption(启用比特流加密)设为YES(是)。
    • Select location of encryption key(选择加密密钥位置)设为BBRAMEFUSE
      • 密钥位置会嵌入加密比特流中。
      • 当加密比特流下载至器件后,它会指令 FPGA 使用已加载到 BBR 或 eFUSE 密钥寄存器中的密钥来对加密的比特流进行解密。
  • Key Settings(密钥设置)
    • 指定 HMAC 身份验证密钥和密码分组链接 (CBC) 起始值。
      • 如果不指定这些值,则 Vivado 会为您生成随机值。
      • 这些值嵌入到加密比特流中,而无需编程到 FPGA 中。
      注释: 除非指定输入加密文件,否则这些值将存储在当前工程约束文件中。要避免将该值存储在约束文件中,请指定输入加密文件。
    • 指定加密比特流时要使用的AES encryption key (AES 加密密钥)。您可使用最多 64 个十六进制字符来指定 256 位密钥。
      • 此密钥将写入含 .nky 文件扩展名的文件中。将该密钥加载到 BBR 中时,或者将该密钥编程到 eFUSE 密钥寄存器中时,请使用此文件。
      注释: 除非指定输入加密文件,否则这些值将存储在当前工程约束文件中。要避免将该值存储在约束文件中,请指定输入加密文件。
    • 指定输入加密文件。
      • 指定现有 .nky 文件即可获取加密密钥设置。该字段为可选字段,如果手动指定 AES、HMAC 和 CBC,则可省略该字段。

    指定加密设置后,请单击OK(确定)以将这些设置应用于工程并重新生成比特流。完成 write_bitstream 操作后,您将获得一个编程文件和一个 .nky 加密文件。