赞
踩
使用xilinx7系列FPGA对比特流进行加密认证时如何确保密钥已经正确加载到FPGA中
通常使用FPGA时,默认是不对比特流进行加密认证的。XIlinx 7系列FPGA支持采用AES-256-CBC模式和SHA256对比特流进行加密认证,采用软件进行认证加密,通过硬件进行解密验证。当使用加密认证模式时,首先应当将密钥下载到FPGA中,可以选择下载到BRAM中或者eFUSE寄存器中,如何确保密钥下载成功呢?通过查阅官方文档Xapp1239,找到了方法,供大家一起学习使用。
为验证AES密钥是否已正确编程到BBRAM或eFUSE寄存器中,有以下几步验证步骤
使用Vivado Design Suite 2014.3.1或更高版本生成比特流流:包括未加密的位流,使用个性化密钥的加密位流,使用全1的加密位流,使用全0的加密位流.
检查生成的比特流以验证是否进行了加密。
在尚未对其eFUSE进行编程的FPGA上
a:检查硬件:使用Vivado设备编程器连接到FPGA,并通过JTAG下载未加密的BIT文件。设计是否按预期运行?
b:测试FPGA解密器:下载使用全零密钥加密的BIT文件(用于eFUSE)。
c:测试加密的比特流安全性:下载使用您的个性化密钥加密的BIT文件。预期配置失败。
4.编程eFUSE密钥和选项:
a )对电路板加电,以确保上述测试中的所有错误均已从FPGA中清除,并且未配置FPGA。
b)通过JTAG编程AES密钥。 (如果使用eFUSE,请首先使用BBRAM密钥执行步骤3b和3c作为验证检查,然后对eFUSE进行编程以进行最终测试。)
c)检查密钥无法读取:使用Vivado工具检查硬件设备>属性>寄存器> eFUSE> FUSE_CNTL,并将位3编程为1。此外,检查其他FUSE_CNTL位是否在编程操作期间被编程。
在带有已编程的eFUSE密钥和选项的FPGA上:
a)测试密钥:下载使用您的个性化密钥加密的BIT文件。
b)测试密钥:下载与全零密钥关联的加密BIT文件。预期配置失败。
c)测试密钥设置:下载未加密的BIT文件。结果取决于安全设置。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。