為防止投入大量精力和財(cái)力開發(fā)的新技術(shù)的研發(fā)成果被復(fù)制,在開發(fā)階段就需要采取加密保護(hù)措施。武漢瑞納捷是一家專業(yè)從事加密芯片和安全芯片研發(fā)設(shè)計(jì)的芯片公司,設(shè)計(jì)了一種針對(duì)主控為FPGA 的加密方案。
瑞納捷電子提供一個(gè)基于Verilog 的算法模塊和一顆IIC 接口的邏輯加密芯片RJGT102,算法模塊作為FPGA 代碼工程的子模塊、與其他代碼一起進(jìn)行整體的編譯生成可執(zhí)行文件下載, RJGT102芯片通過IIC 接口與FPGA進(jìn)行通信。
1. 工作流程
1、開發(fā)階段移植關(guān)鍵參數(shù)數(shù)據(jù)。
2、在使用過程中,首先進(jìn)行雙向身份認(rèn)證。
3、認(rèn)證通過,密文讀回?cái)?shù)據(jù)參數(shù)。解密后還原重要參數(shù),應(yīng)用到程序代碼的下一步運(yùn)行中。
2. 芯片介紹
RJGT102是一顆自帶SHA256加密算法的芯片,其存儲(chǔ)容量為176Byte,包含指令寄存器、源地址寄存器、目的地址寄存器等,該芯片根據(jù)指令寄存器的值進(jìn)行譯碼,進(jìn)行SHA-256運(yùn)算和搬移等操作,完成認(rèn)證加密工作。
芯片具有一次可編程單元、對(duì)應(yīng)的用戶ID,并且內(nèi)部設(shè)有POR電路和LDO模塊,可提供可配置的看門狗定時(shí)器和對(duì)外復(fù)位功能,與MCU可通過IIC串行接口通信,支持低功耗模式。
該芯片存儲(chǔ)主要分為數(shù)據(jù)存儲(chǔ)區(qū)、密鑰存儲(chǔ)區(qū)和控制存儲(chǔ)區(qū)等三個(gè)區(qū)域,數(shù)據(jù)區(qū)中的一個(gè)PAGE數(shù)據(jù)和密鑰區(qū)的數(shù)據(jù)將會(huì)參與到SHA256的加密算法。
SHA-256加密模式輸入包括8Byte的密鑰,32Byte的PAGE數(shù)據(jù)(任意一個(gè)PAGE區(qū)),8Byte的UID,8Byte的隨機(jī)數(shù),8Byte的關(guān)鍵常數(shù)(芯片內(nèi)部固化了)。輸出32Byte的報(bào)文摘要(MAC)。由于SHA-256具有不可以從消息摘要中復(fù)原信息、兩個(gè)不同的消息不會(huì)產(chǎn)生同樣的消息摘要、修改消息中的一個(gè)比特即會(huì)引起雪崩效應(yīng)等特點(diǎn),因此SHA-256電路能以很高的安全性提供認(rèn)證功能。
3. 優(yōu)勢(shì)
1、加密芯片成為產(chǎn)品的一部分,數(shù)據(jù)的存儲(chǔ)與讀回的過程都是安全的。
2、盜版商極難破解,從根本上杜絕程序被破解的可能性。
3、結(jié)合雙向認(rèn)證與算法移植的優(yōu)點(diǎn),代碼改動(dòng)小,資源占用小,開發(fā)周期短。
4、無法使用線路跟蹤與監(jiān)聽,無法繞過加密芯片的安全防護(hù)進(jìn)行破解。
5、適用于產(chǎn)品開發(fā)周期短,實(shí)時(shí)性要求高,安全強(qiáng)度高的用戶。