仅对英特尔可见 — GUID: xkd1616589001214
Ixiasoft
4.6.1. AES根秘钥紧凑型证书
使用quartus_pfg命令行工具将AES根秘钥.qek文件转换成紧凑型证书.ccert格式。在创建紧凑型证书的同时指定秘钥存储位置。您可以使用quartus_pfg工具创建一个未签署的证书,稍后进行签署。您必须使用一个AES根秘钥证书签署权限(权限比特6)使能的签名链才能成功签署AES根密钥紧凑型证书。
- 使用下面其中一个命令示例来创建一个额外的秘钥对,用于签署AES秘钥紧凑型证书:
quartus_sign --family=stratix10 --operation=make_private_pem \ --curve=secp384r1 aesccert1_private.pem
quartus_sign --family=stratix10 --operation=make_public_pem \ aesccert1_private.pem aesccert1_public.pem
pkcs11-tool --module=/usr/local/lib/softhsm/libsofthsm2.so \ --token-label s10-token --login --pin s10-token-pin \ --keypairgen –mechanism ECDSA-KEY-PAIR-GEN \ --key-type EC:secp384r1 --usage-sign --label aesccert1 --id 2
- 使用下面其中一个命令创建一个具有正确权限比特设置的签名链:
quartus_sign --family=stratix10 --operation=append_key \ --previous_pem=root_private.pem \ --previous_qky=root.qky \ --permission=0x40 --cancel=1 \ --input_pem=aesccert1_public.pem \ aesccert1_sign_chain.qky
quartus_sign --family=stratix10 --operation=append_key --module=softHSM \ -–module_args="--token_label=s10-token \ --user_pin=s10-token-pin \ --hsm_lib=/usr/local/lib/softhsm/libsofthsm2.so" \ --previous_keyname=root \ --previous_qky=root.qky \ --permission=0x40 --cancel=1 \ --input_keyname=aesccert1 \ aesccert1_sign_chain.qky
- 对所需的AES根秘钥存储位置创建一个未签署的AES紧凑型证书。可使用以下AES根秘钥存储选项:
- EFUSE_WRAPPED_AES_KEY
- IID_PUF_WRAPPED_AES_KEY
- BBRAM_WRAPPED_AES_KEY
//Create eFuse AES root key unsigned certificate quartus_pfg --ccert -o ccert_type=EFUSE_WRAPPED_AES_KEY \ -o qek_file=aes.qek unsigned_efuse1.ccert
- 使用quartus_sign命令或者参考实现来签署紧凑型证书。
quartus_sign --family=stratix10 --operation=sign \ --pem=aesccert1_private.pem \ --qky=aesccert1_sign_chain.qky \ unsigned_<location>1.ccert signed_<location>1.ccert
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" \ --keyname=aesccert1 \ --qky=aesccert1_sign_chain.qky \ unsigned_<location>1.ccert signed_<location>1.ccert
- 使用 Intel® Quartus® Prime Programmer通过JTAG将AES根秘钥紧凑型证书编程到Intel Stratix 10器件中。当使用EFUSE_WRAPPED_AES_KEY紧凑型证书类型时, Intel® Quartus® Prime Programmer默认对虚拟eFuses进行编程。通过添加--non_volatile_key选项来指定编程物理熔断器。
//For physical (non-volatile) eFuse AES root key quartus_pgm -c 1 -m jtag -o "pi;signed_efuse1.ccert" --non_volatile_key
//For virtual (volatile) eFuse AES root key quartus_pgm -c 1 -m jtag -o “pi;signed_efuse1.ccert”
//For BBRAM AES root key quartus_pgm -c 1 -m jtag -o “pi;signed_bbram1.ccert”
SDM供应固件和主固件支持AES根密钥证书编程。您还可以使用FPGA架构或HPS的SDM mailbox界面对AES根密钥证书进行编程。