您的位置 首页 软件

抗毛病进犯的专用芯片存储单元规划

在复用检测和线性校验码检测的基础上,提出互补存储、奇偶校验和汉明码校验三种存储单元的抗故障攻击防护方案。应用这三种方案,用硬件描述语言Verilog设计了三种抗故障攻击双端口RAM存储器,在Alter

自1996年由Boneh等人[1]提出毛病进犯办法由简略毛病进犯发展为差分毛病进犯、安全毛病进犯,进犯的目标包含功用运算单元、存储单元和状态机,已对智能卡、暗码器材等专用芯片的安全形成很大要挟。其间,以存储单元为目标树立的毛病模型最为常用。Bar-El等人[2]树立向RSA暗码算法的私钥存储器中导入单比特毛病的模型;Berzati等人[3]经过向模数N中导入毛病成功取得RSA暗码算法的私钥。怎么防护专用芯片中的存储单元,反抗毛病进犯成为专用芯片规划的一个重要方面。付小兵等人[4]使用奇偶校验码对128 bit的存放器进行毛病查验,经过比较输入数据与输出数据中0的个数是否持平来检测毛病,这种办法对芯片功用影响较大,实时存放数据时易形成误判。Ocheretnij等人[5]使用奇偶校验码对ROM完成的S盒进行毛病检测,归于固定表方法。Bar-El等人[2]提出复用比较的抗毛病进犯计划,可是不可以检测出同步对称毛病。

1 存储单元的防护技能布景

在抗毛病进犯的芯片规划中,存储单元的常用防护办法是复用检测和奇偶校验码检测。复用检测是指仿制存储单元,存储数据时,把数据别离存储在2个或多个存储单元中;读取数据时,把各个存储单元中的数据读出,经过比较读取数据是否共同来检测毛病。奇偶校验码检测是指为存储数据添加奇偶校验位,读取数据时,从头核算数据的奇偶位,经过与原校验位比对检测毛病。

Ocheretnij等人[5] 把S盒规划为8进9出的查找表,附加位是奇偶校验位。在毛病监测进程中,核算输入的校验和,并与一切S盒的附加位“异或”,即得经S盒批改的奇偶校验值。在此根底上进一步规划了监测AES轮运算的奇偶校验机制,奇偶校验码原理简略,使用方便,可是只能检测奇数个毛病,检测概率低。跟着数据位数的添加,只简略的进行奇偶校验编码将下降规划的功用。本文首要针对大数存储器进行规划,可是防护办法相同适用于存放器、缓存器等存储单元。

2 抗毛病进犯的存储单元规划

2.1 互补存储单元规划

复用检测是重要的抗毛病进犯规划技能,具有毛病检测率高、规划简略的长处。互补存储单元在复用的根底,存储的内容是互反的,一起各自的存储方位也是互反的,其结构如图1所示。


毛病检测函数EDF(Error Detection Function)是互补存储器两个输出的函数,函数关系式为:

明显,当输出XA和XA互反时,两者每位的“异或”值恒为1,因而逐位相“与”的值恒为1。当两者不互反时,判定位check值为0,标明存储单元产生毛病。互补存储结构避免了简略复用易受同步毛病导入的进犯,即向复用存储单元的同一方位一起导入比特翻转毛病。

2.2 奇偶校验存储单元规划

依据参考文献[5]对S盒防护的战略,规划“在线”奇偶校验编码的大数存储器。存储单元的每个方位规划存储一个字和一个校验位,即33 bit。存储数据时,数据先输入校验位编码器PDC(Parity Detection Coder),取得输入字的校验位,输入字与校验位兼并存储在存储单元的一个方位。读取数据时,输出字和校验位一起输入PDC,核算所读取数据(33 bit)的校验值,取得判定位check,由check检测存储器的毛病。奇偶查验存储单元结构如图2所示。

奇偶校验编码进程为逐位“异或”,PDC的输入输出函数为:

输出check=1,标明读取数据与原数据不相符,即产生毛病;若check=0,标明存储单元或许无毛病产生。奇偶校验码的毛病检测规模仅限于奇数个毛病位。因为码间的最小间隔越大,纠检错才能越强[6]。添加校验位数可以加大码的最小间隔,也就可以进步毛病检测才能。结合字节毛病模型,采纳分组奇偶校验办法,把输入字分为4个字节,设置8个奇偶校验位,每个校验位检测4个字节中的一个比特,可以有用反抗毛病进犯。

编码时,按校验关系式核算出P0、P1、P2、P3,置于信息位之后;译码时,用监督矩阵乘以码字,得S值,若S不等于0,则码字中存在毛病比特;反之,或许无毛病产生。

汉明码的监测规模是8 bit,选用分组汉明码检测的规划办法,把输入字分为4个字节,对每一个字节别离进行汉明编码,共得四组16 bit监督位。为了减小所需存储空间,把四组监督位的对应位别离“异或”,取得一组总监督位(4 bit),并与输入字兼并存储在一个地址中。汉明码检测器HDC(Hamming Detection Coder)的规划结构如图3所示。

设:汉明编码函数为P=H(x),x∈[0,28-1],P∈[0,11],P′为存储单元中存储的总监督位,对输入字进行汉明编码后的总监督位和读取数据的校验子、判定位别离为:

输出check=1,标明存储单元中的某个字节产生毛病;若check=0,则或许无毛病产生。假设4个字节中产生对称毛病时,则check=0,不能正确反映毛病产生状况。

3 功用验证与剖析

规划完成了抗毛病进犯双端口RAM存储器,按字存储,存储深度为32 B。在均衡速度和面积的条件下,Quartus II6.0归纳成果如表1所示。

 在互补检测、1位奇偶码校验、4位奇偶码校验和汉明码查验防护计划中,互补检测RAM的毛病检测概率最高。当奇偶校验位添加时,毛病检测概率也会随之增大,以一个字节的毛病检测状况进行仿真计算,4位奇偶校验位数的毛病检测率是0.937 2,比1位奇偶位的毛病检测率进步了80%,可是仅添加了约0.9%的存储担负。权衡两者利害,4位奇偶校验位检测计划更可取。汉明码的毛病检测才能与4位奇偶校验码相同,可是汉明码可以检测单个字节中的两个恣意毛病和接连产生的毛病,毛病检测规模更具有针对性,适用于以字节毛病为模型的抗毛病进犯规划。汉明码检测RAM在Modesim中的仿真波形如图4所示,check是高电平时表明产生毛病,单个字节中的接连毛病及其他不归于对称毛病的多比特毛病都可以检测出来。

依据以上剖析,存储单元的抗毛病进犯规划,合适选用复用或线性校验码的方法完成,不只具有较高的毛病检测概率,并且对规划的功用影响不大。本文提出的互补检测、奇偶码查验和汉明码查验三种抗毛病进犯计划具有较广的使用规模,互补存储单元适用于毛病检测率要求高和安全级别高的方位,奇偶校验存储单元适用于安全级别较低和随机毛病类型,汉明码校验存储器适用于毛病产生较会集、接连的场合。并且,一起存储校验位与数据位,完成了实时的毛病检测功用,避免了数据存储读取改换时的误判行为。

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

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

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

微信扫一扫关注我们

返回顶部