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

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

4.6.2.2. 封装AES根秘钥

通过发送一个签署的证书到SDM,生成IID PUF封装的AES根秘钥(.wkey)文件。

您可以使用 Intel® Quartus® Prime Programmer自动生成,签署和发送证书来封装AES根秘钥,或者使用 Intel® Quartus® Prime Programming File Generator生成一个未签署的证书。您可以使用您自己的工具或者Quartus签署工具对未签署的证书进行签署。然后使用Programmer发送签署的证书并封装AES根秘钥。签署的证书可用于对能够验证签名链的所有器件进行编程。

图 7. 使用 Intel® Quartus® Prime Programmer封装AES秘钥
  1. 您可以通过Programmer使用以下参数生成IID PUF封装的AES根秘钥(.wkey):
    • .qky文件,包含一个具有AES根秘钥证书权限的签名链
    • 私有.pem文件,用于签名链中最后一个秘钥
    • .qek文件,保存ADE根秘钥
    • 16-byte初始化向量(iv)
    quartus_pgm -c 1 -m jtag --qky_file=aes0_sign_chain.qky \
    --pem_file=aes0_sign_private.pem --qek_file=aes.qek \
    --iv=1234567890ABCDEF1234567890ABCDEF -o "ei;aes.wkey;1SX280LH2"
  2. 或者,通过Programming File Generator使用以下参数生成一个未签署的IID PUF封装AES根秘钥证书:
    quartus_pfg --ccert -o ccert_type=IID_PUF_WRAPPED_AES_KEY \
    -o qek_file=aes.qek --iv=1234567890ABCDEF1234567890ABCDEF unsigned_aes.ccert
  3. 您可以使用以下命令通过您自己的签署工具或者quartus_sign工具对未签署的证书进行签署:
    quartus_sign --family=stratix10 --operation=sign \
    --qky=aes0_sign_chain.qky --pem=aes0_sign_private.pem \
    unsigned_aes.ccert signed_aes.ccert
  4. 然后使用Programmer发送签署的AES证书并返回封装的秘钥(.wkey)文件:
    quarts_pgm -c 1 -m jtag --ccert_file=signed_aes.ccert \
    -o "ei;aes.wkey;1SX280LH2"
    注: 如果您之前加载了provision firmware helper映像(例如注册PUF),那么就不需要I操作。