使用xilinx7系列FPGA对比特流进行加密认证时如何确保密钥已经正确加载到FPGA中
序言
通常使用FPGA时,默认是不对比特流进行加密认证的。XIlinx 7系列FPGA支持采用AES-256-CBC模式和SHA256对比特流进行加密认证,采用软件进行认证加密,通过硬件进行解密验证。当使用加密认证模式时,首先应当将密钥下载到FPGA中,可以选择下载到BRAM中或者eFUSE寄存器中,如何确保密钥下载成功呢?通过查阅官方文档Xapp1239,找到了方法,供大家一起学习使用。
硬件验证
为验证AES密钥是否已正确编程到BBRAM或eFUSE寄存器中,有以下几步验证步骤
步骤1
使用Vivado Design Suite 2014.3.1或更高版本生成比特流流:包括未加密的位流,使用个性化密钥的加密位流,使用全1的加密位流,使用全0的加密位流.
步骤2
检查生成的比特流以验证是否进行了加密。
步骤3
在尚未对其eFUSE进行编程的FPGA上
a:检查硬件:使用Vivado设备编程器连接到FPGA,并通过JTAG下载未加密的BIT文件。设计是否按预期运行?
b:测试FPGA解密器:下载使用全零密钥加密的BIT文件(用于eFUSE)。
c:测试加密的比特流安全性:下载使用您的个性化密钥加密的BIT文件。预期配置失败。
步骤4
4.编程eFUSE密钥和选项:
a ÿ