Intel® Stratix® 10器件安全用户指南

ID 683642
日期 12/15/2021
Public
文档目录

3.3.4. 部分重配置比特流加密

您可以在某些使用部分重配置的Intel Stratix 10 FPGA设计上使能比特流加密。

使用Hierarchical Partial Reconfiguration (HPR)或Static Update Partial Reconfiguration (SUPR)的部分重配置设计不支持比特流加密。除非使能多权限支持,否则您必须使用同一加密密钥对静态区域和所有角色进行加密。如果设计包含多个PR区域,那么必须加密所有角色。

如要使能部分重配置比特流加密,请在所有设计版本中使用相同的步骤。

  1. Intel® Quartus® Prime File菜单上选择Assignments > Device > Device and Pin Options > Security
  2. 选择所需的加密密钥存储位置。
    图 5. 部分重配置比特流加密设置

    编译基本设计和修订版本后,软件会生成一个.sof文件和一个或多个代表角色的.pmsf文件。

  3. .sof.pmsf文件以与未使能部分重配置的设计类似的方式创建加密和签署的编程文件。
  4. 将编译的角色.pmsf文件转换成部分加密的.rbf文件:
    quartus_pfg -c -o finalize_encryption_later=ON \ 
    -o sign_later=ON encryption_enabled_persona1.pmsf persona1.rbf
  5. 使用quartus_encrypt命令行工具完成比特流加密:
    quartus_encrypt --family=stratix10 \  
    --operation=ENCRYPT --key=aes_root.qek persona1.rbf encrypted_persona1.rbf
  6. 使用quartus_sign命令行工具签署加密的配置比特流:
    quartus_sign --family=stratix10 --operation=SIGN \ 
    --qky=design0_sign_chain.qky \ 
    --pem=design0_sign_private.pem encrypted_persona1.rbf \ 
    signed_encrypted_persona1.rbf 
    quartus_sign --family=stratix10 --operation=SIGN \ 
    --module=softHSM --module_args="--token_label=s10-token \
    --user_pin=s10-token-pin --hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so" \
    --qky=design0_sign_chain.qky --keyname=design0_sign encrypted_persona1.rbf \
    signed_encrypted_persona1.rbf