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

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

2.2.4. 验证配置比特流签名链

创建签名链和签署的比特流后,您可以验证签署的比特流是否正确配置了一个使用给定根密钥编程的器件。首先使用quartus_sign命令的fuse_info操作将根公钥的哈希打印到文本文件:
quartus_sign --family=stratix10 --operation=fuse_info public_root.qky hash_fuse.txt
然后使用quartus_pfg命令的check_integrity选项检查.rbf格式的签名比特流的每个部分的签名链。 check_integrity选项打印以下信息:
  • 整体比特流完整性检查的状态
  • 附加到比特流.rbf文件中每个部分的每个签名链中每个条目的内容
  • 每个签名链的根公钥散列的预期熔断值
fuse_info输出的值应与check_integrity输出中的Fuse行匹配。
quartus_pfg --check_integrity signed_bitstream.rbf
以下是check_integrity命令输出的一个示例:
Info: Command: quartus_pfg --check_integrity output_file_signed.rbf 
Integrity status: OK 

Section 
Type: CMF 
Signature Descriptor ... 
Signature chain #0 (entries: 3, offset: 96) 
Entry #0 
Fuse: A1B9545C CAC4152D 9511A9AB 321778ED 1180A280 6DC58F2C 
5607433E 02A872E3 F52B2AE5 F7B8BDE0 53FA000D 8FC7AC04 
Generate key ... 
Curve : secp384r1 
X: FC28C88662DF1437DD98E61336467DC9CDA788F22F949D8F488DA755A9F8CC11AEC10006E2 
   6490B3EAB8148E6C8AA8A1 
Y: 95D1EA0FF4C7374B350FDF39CFAE3AD8D0AEA9451EA66B5B1DFD4084DA68BC4DAD3AF5CF37 
   8D7C6FB62A10BA7C512276 
Entry #1 
Generate key ... 
Curve : secp384r1 
X: B11534AA67A30EF884B89819281522F1D0326BBAFF108BC483946717A14F9630C682ECDAE5 
   40FECBADF3E66BC92A110A 
Y: 0ED5F19E6A38D97148CE6F53B679227311198105BD9E1912AD41C075711F6185E1B095DE7F 
   E2F4855851E78F9BF3D2C6 
Entry #2 
Keychain permission: SIGN_CODE 
Keychain can be cancelled by ID: 5 
Signature chain #1 (entries: 0, offset: 0) 
Signature chain #2 (entries: 0, offset: 0) 
Signature chain #3 (entries: 0, offset: 0) 

Section 
Type: IO 
Signature Descriptor ... 
Signature chain #0 (entries: 5, offset: 96) 
Entry #0 
Fuse: 46D2D1CD 666F6FA3 8CA6DF11 F09F1E84 41162254 D5E811F0 0B72B678 52D29F2F 
Generate key ... 
Curve : prime256v1 
X: DD4E3FB89EC29E0F2C9435A8D74E0780F2282367EABF4F84FD207A80EFDA1552 
Y: 9A8A74E440002AE72FF67716FE889C49DD5D0FD4FBC7195324DE267BFF06FF49 

Entry #1 
Generate key ... 
Curve : prime256v1 
X: 7EF9D2C6D246339E6D58B937D4127F83FF590B64663FEC316A418847AAA82505 
Y: 29EE71EAFC4CDBB99414C2673EA7AD44B4EE4442E803D350590DA0D95A0F2EF5 

Entry #2 
Generate key ... 
Curve : prime256v1 
X: 3A9083FF4B91136EAC43041916C2E1FC887397ABCEA017DE42AF143DBEA17ED8 
Y: 4DDDD1670C3F846EFFC4B071BC8D291FD9477EE035AD9C46B696DD20F5702809 

Entry #3 
Generate key ... 
Curve : prime256v1 
X: 8A1FBB3D3F0E5961E7FFF7D8E94AFD1836752169A9E66B79BB5861BBDA79E53F 
Y: 361FE17E8C73DE0FB4277480FAED32363A3C134DD27D6961E6F046222F06D600 

Entry #4 
Keychain permission: SIGN_CORE, SIGN_HPS 
Keychain can be cancelled by ID: 0, 0, 0 
Signature chain #1 (entries: 0, offset: 0) 
Signature chain #2 (entries: 0, offset: 0) 
Signature chain #3 (entries: 0, offset: 0) 

Section 
Type: HPS 
Signature Descriptor ... 
Signature chain #0 (entries: 5, offset: 96) 

Entry #0 
Fuse: 46D2D1CD 666F6FA3 8CA6DF11 F09F1E84 41162254 D5E811F0 0B72B678 52D29F2F 
Generate key ... 
Curve : prime256v1 
X: DD4E3FB89EC29E0F2C9435A8D74E0780F2282367EABF4F84FD207A80EFDA1552 
Y: 9A8A74E440002AE72FF67716FE889C49DD5D0FD4FBC7195324DE267BFF06FF49 

Entry #1 
Generate key ... 
Curve : prime256v1 
X: 7EF9D2C6D246339E6D58B937D4127F83FF590B64663FEC316A418847AAA82505 
Y: 29EE71EAFC4CDBB99414C2673EA7AD44B4EE4442E803D350590DA0D95A0F2EF5 

Entry #2 
Generate key ... 
Curve : prime256v1 
X: 3A9083FF4B91136EAC43041916C2E1FC887397ABCEA017DE42AF143DBEA17ED8 
Y: 4DDDD1670C3F846EFFC4B071BC8D291FD9477EE035AD9C46B696DD20F5702809 

Entry #3 
Generate key ... 
Curve : prime256v1 
X: 8A1FBB3D3F0E5961E7FFF7D8E94AFD1836752169A9E66B79BB5861BBDA79E53F 
Y: 361FE17E8C73DE0FB4277480FAED32363A3C134DD27D6961E6F046222F06D600 

Entry #4 
Keychain permission: SIGN_CORE, SIGN_HPS 
Keychain can be cancelled by ID: 0, 0, 0 
Signature chain #1 (entries: 0, offset: 0) 
Signature chain #2 (entries: 0, offset: 0) 
Signature chain #3 (entries: 0, offset: 0) 

Section 
Type: CORE 
Signature Descriptor ... 
Signature chain #0 (entries: 5, offset: 96) 

Entry #0 
Fuse: 46D2D1CD 666F6FA3 8CA6DF11 F09F1E84 41162254 D5E811F0 0B72B678 52D29F2F 
Generate key ... 
Curve : prime256v1 
X: DD4E3FB89EC29E0F2C9435A8D74E0780F2282367EABF4F84FD207A80EFDA1552 
Y: 9A8A74E440002AE72FF67716FE889C49DD5D0FD4FBC7195324DE267BFF06FF49 

Entry #1 
Generate key ... 
Curve : prime256v1 
X: 7EF9D2C6D246339E6D58B937D4127F83FF590B64663FEC316A418847AAA82505 
Y: 29EE71EAFC4CDBB99414C2673EA7AD44B4EE4442E803D350590DA0D95A0F2EF5 

Entry #2 
Generate key ... 
Curve : prime256v1 
X: 3A9083FF4B91136EAC43041916C2E1FC887397ABCEA017DE42AF143DBEA17ED8 
Y: 4DDDD1670C3F846EFFC4B071BC8D291FD9477EE035AD9C46B696DD20F5702809 

Entry #3 
Generate key ... 
Curve : prime256v1 
X: 8A1FBB3D3F0E5961E7FFF7D8E94AFD1836752169A9E66B79BB5861BBDA79E53F 
Y: 361FE17E8C73DE0FB4277480FAED32363A3C134DD27D6961E6F046222F06D600 

Entry #4 
Keychain permission: SIGN_CORE, SIGN_HPS 
Keychain can be cancelled by ID: 0, 0, 0 
Signature chain #1 (entries: 0, offset: 0) 
Signature chain #2 (entries: 0, offset: 0) 
Signature chain #3 (entries: 0, offset: 0)