易灵思钛金系列加密方案-V1

描述

硬件设计要求 

在之前的版本中,加密是通过VCC_AUX来供电的。在新的版本中已经通过单独的VQPS管脚来供电来实现。

对于Ti35/Ti60F225,VQPS供电管脚是G6,对于Ti35/Ti60F100S3F2,VQPS供电管脚是A5,这两个脚在之前的版本中都直接接地的。所以对于新设置的硬件或者改版的硬件,如果要使用加密功能就需要注意。

如果需要烧写密钥,可以单独给VQPS供1.8V的电源,VQPS的供电波形如下。可以考虑把VQPS拉到一个排针上或者座子上,烧写密钥时就给VQPS供电1.8V,烧写完成之后再拉低即可。

加密方案

如果不需要烧写密钥只要把VQPS管脚拉低即可以。

 

 

易灵思的钛金系列支持加密特性,包括使用AES-GCM-256算法的比特流加密知识产权保护和使用RSA-4096算法的非对称比特流认证。这两种方式既可以单独使用,也可以同时使用,下面来详细了解下。

 

1)、对称比特流加密

使用256位的密钥和AES-CGM-256加密算法。

(1)生成密钥,

(2)用生成的密钥加密比特流(通过bin文件);

(3)把生成的密钥存储到FPGA的熔丝中,即下图中的Blow Fuses工具,密钥在svf文件中。

(4)在FPGA配置过程,FPGA通过内部的AES-GCM-256引擎和密钥解密加密的数据流。

需要补充的是FPGA通过Blow Fuses工具烧写了熔丝之后,也是可以配置不加密比特流的。

加密方案

 

 

2)、比特流认证

对于比特流认证,需要使用公钥和私钥对及RSA-4096算法。

(1)生成公钥和私钥;

(2)用私钥对数据流签名,私钥存储在.pem文件中。

(3)将公钥的哈希值存储到FPGA内部的熔丝中,即下图中的Blow Fuses工具。,公钥在svf文件中。

(4)在配置过程中,FPGA通过公钥对比特流进行签名验证;如果签名有效,FPGA就知道位流来自可信的源,并且没有被第三方修改过则进入用户模式;否则停止配置;

(5)私钥要保存好。

需要补充的是FPGA通过Blow Fuses工具烧写了熔丝之后,必须要用.pem文件对比特流进行签名。

加密方案

 

3)、JTAG阻断

 

钛金系列FPGA还支持通过烧断熔丝的方式阻断JTAG功能。阻断之后JTAG只能执行读取ID和器件状态和使能旁路模式;因为JTAG阻断之后就没有办法再操作JTAG,所以要确保在最后一步使用。

 

四、软件操作

 

在Efinity菜单Tool- >Open Key Generator打开密钥生成器。

(1)ASE-256 Key用于生成ASE 256位的密钥文件,可以随机生成,也支持手动输入,文件后缀为.bin。

(2)生成RSA-4096的私钥文件,后缀为.pem。支持手动添加文件也支持自动生成。

(3)指定是否阻断JTAG.

 (4)点击Generate生成相应的文档。会生成以.bin,.pem和.svf为后缀的三个文件。

数值要保存

加密方案

 

烧写熔丝。

在Efinity菜单Tool- >Open JTAG SVF Player。

添加svf文件。svf文件中包含JTAG命令和密钥信息。

(1)读取JTAG IDCODE与.svf内的ID进行比对,确认是否为目标型号PFGA。

(2)对于AES加密,发送8个32位的key;

(3)对于RAS认证,发送12个32位的Key;

(4)发送熔断JTAG熔丝的指令;

 

(1)RAS密钥熔断熔丝后,FPGA只能接受通过正确的私钥签名的比特流文件。

(2)AES-256密钥熔丝后,FPGA只能接受未加密文件或者通过正确的密钥加密的比特流文件。

注意烧写后复位CRESET_N才会生效。

加密方案

已经被熔断的熔丝再次熔断时,或者FPGA的型号与密钥生成器中的型号不对应时会发送TDO Mismatch。如下图。

 

 

加密方案

 

 

在Project Editor中把上面生成的生成加密文件根据需要添加起来,重新生成比特流即可,不需要重新编译。

如果只用AES-256,则不需要勾选Bitstream Authentication.

 

加密方案

 

5)熔丝的熔断顺序

对于AES-256、RSA和JTAG熔丝熔断顺序要求是:可以同时AES-256和RSA的熔丝和熔断JTAG熔丝;但在不同时熔断的情况下,只能把JTAG熔丝熔断操作放在最后。对于AES-256和RSA熔丝熔断顺序不做要求。

6)验证加密选项。

通过Programmer工具的Advanced Device Configuration Status中的RSA_ACTIVE和AES_ACTIVE可以判断是否使能了RSA和AES,当为1时表示使能。

加密方案

 

补充说明:

(1)加密时不能使用数据流压缩功能。

(2)加密功能必须要接REF_RES_3A电阻


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分