您的位置 首页 5G

根据FPGA和单片机构成的电子加密体系的规划

基于FPGA和单片机构成的电子加密系统的设计-FPGA/CPLD技术是近年来计算机与电子技术领域的又一场新的革命,为了保护知识产权,出现了各种层次的针对FPGA的安全加密技术。常用的方法有:硬件加密法,软件加密法,可重构加密法等。然而在传统的许多加密技术中,人们通常能够通过对代码的跟踪、分析和PCB板的复制,而实现硬件和软件的非法拷贝。为了进一步提高数字系统的安全性,本文论述了一种基于SHA加密算法的,采用FPGA和DS2432实现的硬件加密技术。不但实现简单而且可有效降低硬件仿制的可能性。

1、 导言

FPGA/CPLD技能是近年来核算机与电子技能领域的又一场新的革新,为了维护知识产权,呈现了各种层次的针对FPGA的安全加密技能。常用的办法有:硬件加密法,软件加密法,可重构加密法等。然而在传统的许多加密技能中,人们一般可以经过对代码的盯梢、剖析和PCB板的拷贝,而完结硬件和软件的不合法拷贝。为了进一步进步数字体系的安全性,本文论说了一种依据SHA加密算法的,选用FPGA和DS2432完结的硬件加密技能。不光完结简略而且可有用下降硬件拷贝的或许性。

2、 IFF的概念

IFF(IdentificaTIon Friend or Foe)的字面含义为身份辨别,等效电路如图1所示:

依据FPGA和单片机构成的电子加密体系的规划

图1 身份辨别等效电路

在FPGA正式作业前,首要要完结与加密芯片的指令问答,共分如下几步:

(1)FPGA履行随机数发生器(RNG),发生一个随即数Q,并把它送往安全EEPROM中。

(2)安全EEPROM运用仅对规划者敞开的密钥,运用HASH函数,进行安全散列算法,对Q进行加密,发生一个信息A。

(3)FPGA运用相同的密钥发生希望的信息E,与来自安全EEPROM的实践信息A进行比较。

(4)假如希望的信息E和实践的信息A相同,则标明这个规划是一个Friend,不然这个规划是一个 Foe,因为这个体系的不合法拷贝或许现已发生。

(5)最终,FPGA必须按以下办法进行规划:假如Foe被检测到,体系中止运转,或许以削减的功用运转,只要体系被检测为Friend时,用户规划的功用才干正常的运转。

3、SHA-1算法

SHA-1算法便是安全散列算法,该算法选用十六个32位字 (0≤t≤15)作为输入数据,可用于核算读验证页指令,这十六个32位字来自于密钥、存储器等相关数据以必定的函数联系生成。SHA算法还涉及到一个称为 (0≤t≤79)的八十个32位字的序列,一个称为Kt (0≤t≤79)的八十个32位字的序列,一个布尔函数ft (B,C,D) (0≤t≤79),其间B、C和D为32位字,以及其他三个32位字,称为A,E和TEMP。它们的界说如下:

函数ft (B,C,D) = (B∧C)∨((B\)∧D) (0≤t≤19)

B C D (0≤t≤39)

(B∧C)∨(B∧D)∨(C∧D) (40≤t≤59)

B C D (0≤t≤79)

序列 = (0≤t≤15)

(16≤t≤79)

序列Kt = 5A827999h (0≤t≤19)

6ED9EBA1h (20≤t≤39)

8F1BBCDCh (40≤t≤59)

CA62C1D6h (60≤t≤79)

变量A、B、C、D、E初始化如下:

A = 67452301h

B = EFCDAB89h

C = 98BADCFEh

D = 10325476h

E = C3D2E1F0h

当t从0循环至79,履行了下面的的一系列核算后,160位的MAC是A、B、C、D和E的串联(不考虑任何进位):

主机经过读验证页指令读取MAC,与主机本身核算的MAC值进行比较,以判别是否有不合法拷贝发生。

4、DS2432的硬件装备和功用描绘

DS2432是一个具有SHA-1引擎、支撑1-wire总线的EEPROM存储器,首要用于数字体系的加密、计数等。

(1)硬件装备

DS2432与外界经过1-wire端口进行通讯,其内部等效电路如图2所示:

图2 硬件装备及内部等效电路

因为1-Wire总线只界说了一条数据线,所以,确保在恰当的时刻驱动总线上的每个器材十分重要,为了到达这一意图,接在1-Wire总线上的每个器材都必须漏极开路和三态输出。具体内容可参看DS2432的数据手册。

(2)功用描绘

DS2432有五个首要的数据部件:1)64位光刻ROM,2)64位暂存器,3)四个32字节的EEPROM页,4)64位寄存器,5)64位密钥存储器和一个512位的SHA-1(安全散列算法)引擎。DS2432依据自己的密钥、指定存储器页的一切数据、本身的注册码和一个3个字节的质询码来核算MAC,主机经过读验证页指令可以取得悉数或部分存储器页的数据和一个MAC。运用MAC,主机可以断定存储在DS2432中的密钥是否对某个特定的功用有用。

5、DS2432在Xilinx FPGA 中的运用

把IFF概念运用于DS2432的安全EEPROM中,一种高档其他安全加密办法便取得了实践的运用,如图3所示:

图3 DS2432在体系中的实践运用

DS2432安全EEPROM与一个Xilinx FPGA之间的衔接框图勾画了这种加密技能的思想办法。首要,FPGA从flash ROM中读取程序进行自我装备,当装备完结后,用户规划主动的处于禁止状态。然后,FPGA经过1-wire总线送给DS2432三个字节的随机质询码,并读取DS2432内部存储器的相关数据,DS2432和FPGA一起运用一个只要规划者自己知道的64位密钥,结合相关数据,运用SHA-1算法,别离核算出各自的MAC值。最终,FPGA从DS2432中读取MAC与自己核算的MAC进行比较来判别通讯是否成功。

其作业流程如图4所示:

图4 体系身份验证作业流程

因为质询码是由FPGA随机发生的,通讯是否成功的判别在FPGA的内部进行,使得体系具有较高的抗追寻性,也使一些运用拷贝DS2432来破解体系失去了理论上的可操作性。

6、结束语

运用FPGA内部的数据加密内核,使FPGA完结与DS2432通讯后的判别在FPGA内部进行,这样就避免了在一些小的体系规划中经过破译程序的机器码而取得程序的解密。而且,因为从FPGA装备信息中获取相应的硬件描绘言语代码是十分困难的工作,因此在一个由FPGA和单片机构成的电子体系中,这样的加密办法具有重要的含义和运用价值。

本文的立异点:运用FPGA内部的数据加密内核和由其发生的随机质询码,经过SHA-1算法核算出相应的MAC值,而且在FPGA内部完结指令问答的进程,有用下降了硬件拷贝的或许性。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/337461.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部