为防止投入大量精力和财力开发的新技术的研发成果被复制,在开发阶段就需要采取加密保护措施。武汉瑞纳捷是一家专业从事加密芯片和安全芯片研发设计的芯片公司,设计了一种针对主控为FPGA 的加密方案。
瑞纳捷电子提供一个基于Verilog 的算法模块和一颗IIC 接口的逻辑加密芯片RJGT102,算法模块作为FPGA 代码工程的子模块、与其他代码一起进行整体的编译生成可执行文件下载, RJGT102芯片通过IIC 接口与FPGA进行通信。
-
工作流程
1、开发阶段移植关键参数数据。
2、在使用过程中,首先进行双向身份认证。
3、认证通过,密文读回数据参数。解密后还原重要参数,应用到程序代码的下一步运行中。 -
芯片介绍
RJGT102是一颗自带SHA256加密算法的芯片,其存储容量为176Byte,包含指令寄存器、源地址寄存器、目的地址寄存器等,该芯片根据指令寄存器的值进行译码,进行SHA-256运算和搬移等操作,完成认证加密工作。
芯片具有一次可编程单元、唯一对应的用户ID,并且内部设有POR电路和LDO模块,可提供可配置的看门狗定时器和对外复位功能,与MCU可通过IIC串行接口通信,支持低功耗模式。
该芯片存储主要分为数据存储区、密钥存储区和控制存储区等三个区域,数据区中的一个PAGE数据和密钥区的数据将会参与到SHA256的加密算法。
SHA-256加密模式输入包括8Byte的密钥,32Byte的PAGE数据(任意一个PAGE区),8Byte的UID,8Byte的随机数,8Byte的关键常数(芯片内部固化了)。输出32Byte的报文摘要(MAC)。由于SHA-256具有不可以从消息摘要中复原信息、两个不同的消息不会产生同样的消息摘要、修改消息中的一个比特即会引起雪崩效应等特点,因此SHA-256电路能以很高的安全性提供认证功能。 -
优势
1、加密芯片成为产品的一部分,数据的存储与读回的过程都是安全的。
2、盗版商极难破解,从根本上杜绝程序被破解的可能性。
3、结合双向认证与算法移植的优点,代码改动小,资源占用小,开发周期短。
4、无法使用线路跟踪与监听,无法绕过加密芯片的安全防护进行破解。
5、适用于产品开发周期短,实时性要求高,安全强度高的用户。