一种抗攻击的仲裁器的制造方法

文档序号:9751227阅读:221来源:国知局
一种抗攻击的仲裁器的制造方法
【技术领域】
[0001]本发明涉及计算机处理器,特别涉及一种抗攻击的仲裁器。
【背景技术】
[0002]现有的仲裁器是基于可能出现的多个输入请求和一个输出响应选择的实现。如果输入请求只有一个,则输出响应必定是对应的输入;如果有多个输入请求同时存在,则输出响应的选择是依赖于某种算法函数得到的。
[0003]图1是现有仲裁器的实现结构示意图。其中,请求数据1、请求数据2、……、请求数据η 101组成仲裁器的η个输入请求,响应数据1、响应数据2、……、响应数据η 105组成仲裁器的η个输出响应,复用器102负责在请求应答周期内根据仲裁算法选择某个请求作为共享资源模块103的输入,解复用器104负责在输出响应周期内根据复用器102的仲裁结果将共享资源模块103的输出进行解复用返回相应的响应数据105,即请求数据I经过仲裁器最后返回响应数据I,而不会返回响应数据2或其他。共享资源模块103在请求应答周期启动运算,在输出响应周期返回运算结果。
[0004]在一些涉及安全的应用场合,共享资源模块103可能涉及某些密码算法,如高级加密标准(Advanced Encrypt1n Standard,AES),这时可能就要求请求x的响应只能返回到响应X,不能返回到除响应X以外的响应,那么一旦解复用器104遭到黑客攻击,请求X的响应就有可能被返回到其它响应,密码运算的结果就存在泄露的风险。
[0005]噪声攻击是一种简单实用的攻击手段,通过快速改变被攻击信号的状态,以影响电路的正常运行。噪声攻击通常是将噪声叠加在电源或时钟信号上,也可以外加短暂电场或电磁脉冲。如果用时钟噪声(比正常的时钟脉冲要短得多)或电源噪声(电源电压的快速波动)对仲裁器进行攻击,仲裁器中的某些晶体管可能会受到影响,导致一个或多个触发器进入错误状态,进而执行完全不同的错误选择,尽管无法预知何种噪声会导致何种错误,但它能相当简单地进行系统的搜索,达到故障注入的效果。
[0006]因此,在一些涉及安全的仲裁器设计中,针对故障注入等攻击手段有必要对现有技术下的仲裁器进行一些改进,增强其抗攻击的能力以适应更复杂的应用。

【发明内容】

[0007]本发明为了解决上述现有技术的问题,提出一种抗攻击的仲裁器,在现有技术下仲裁器实现的基础上,在解复用器之前增加异或运算,实现对原始响应数据的加扰,在解复用器之后增加异或运算,实现对加扰响应数据的解扰,有效减小仲裁器响应数据被泄露的风险。
[0008]该仲裁器具体包括:复用器,用于接收多路请求,根据仲裁算法选择一路请求的请求数据输出;共享资源模块,接收所述复用器选择输出的请求数据,在请求应答周期内启动运算,在输出响应周期内输出运算结果;加扰器,用于将所述运算结果和所述被应答的请求数据进行加扰后输出至解复用器;解复用器,用于接收加扰后的运算结果,并在输出响应周期内将运算结果进行解复用得到对应的加扰后的响应数据;解扰器,与请求一一对应,用于将加扰后的响应数据和被应答的请求数据进行解扰后得到响应数据返回至对应的请求。
[0009]当仲裁器的请求应答和输出响应不在同一个时钟周期内完成时,还需要增加加扰寄存器,用来寄存被应答的请求数据,然后在输出响应周期内与原始响应数据完成异或操作。
[0010]当仲裁器的请求应答和输出响应在同一个时钟周期内完成时,加扰寄存器就不是必需的。
[0011]本发明在现有技术下仲裁器实现的基础上,在解复用器前后分别增加加、解扰器实现对仲裁器响应数据的加解扰,有效减小仲裁器响应数据被泄露的风险,以少许的逻辑冗余,换来更高的安全性。
【附图说明】
[0012]图1是现有技术的结构示意图;
图2是本发明的结构示意图;
图3是本发明一具体实施例的结构示意图。
【具体实施方式】
[0013]如图2所示,本发明在现有技术的基础上,提出了新的仲裁器的结构,该仲裁器包括复用器102、共享资源模块103、解复用器104、加扰器107和解扰器108。
[0014]其中复用器102用来接收多路请求数据,根据仲裁算法选择多路请求数据中的一路请求数据输出。共享资源模块103用来接收复用器选择输出的请求数据,在请求应答周期内启动运算,在输出响应周期内输出运算结果。一般,共享资源模块103适用于一些资源密集型的模块或者执行复杂运算的算法模块。资源密集型的模块如一次性可编程存储器(OneTime Programmable、OTP):假设存在多路请求对OTP进行读操作,请求数据就是读地址,响应数据就是OTP返回的读数据。执行复杂运算的算法模块如循环冗余校验码电路(CyclicRedundancy Check,CRC):假设存在多路请求完成CRC运算,请求数据就是输入信息,响应数据就是CRC值;又或者是AES加解密引擎:假设存在多路请求完成AES加密,请求数据就是明文和密钥,响应数据就是密文。
[0015]新增加的加扰器107可以将共享资源模块得出的运算结果与被应答的请求数据进行加扰后再输出至解复用器104。然后解复用器104接收加扰后的运算结果,并在输出响应周期内将运算结果进行解复用得到对应的加扰后的响应数据。新增加的解扰器108,与请求数据一一对应,将被应答的请求数据和加扰后的响应数据进行解扰后得到响应数据。
[0016]上述加扰器107用来实现对原始响应数据的加扰,同时加扰过程需引入被应答的请求数据,实现加扰结果对请求数据的强相关。之后为了实现各个通道能通过各自的请求数据解扰出各自的响应数据,加扰器107通常应采用对称算法,简单的如异或、移位异或、加减法运算等,复杂的如数据加密标准(Data Encrypt1n Standard、DES)、AES、RC5算法等。实际应用中,可根据资源和安全性进行权衡来选择具体的算法。其中,被应答的请求数据将作为算法的输入之一参与对原始响应数据的加扰。例如,对于异或运算,可直接将原始响应数据与被应答的请求数据异或;
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1