The invention relates to a soft hard cooperative timer implementation method and system which can resist cache attack based on flush operation. The system includes initialization software module, hardware module and runtime software module. In the initialization phase, the initialization software module and hardware module cooperate with each other to test the highest time resolution within the safe range, and adjust the safe low resolution timer in the hardware module to this time resolution; in the runtime phase, when there is a flush operation, it can temporarily reduce its resolution, but when there is no flush operation, it can restore its high resolution \u3002 Through the cooperation mechanism of flush operation and timer resolution, we can effectively resist the cache attack based on flush operation. At the same time, the invention ensures high security through optimized design, and its own performance loss is very low, so it is an efficient and safe timer implementation method.
【技术实现步骤摘要】
一种可抵抗基于flush操作的cache攻击的软硬协同计时器实现方法和系统
本专利技术属于信息安全软硬件协同设计
,具体为基于ARM-FPGA嵌入式SoC的软硬协同计时器的实现方法和系统。本专利技术在保证了高安全性和低性能损失的情况下,可抵御基于flush操作的cache攻击,是一种高效、安全的计时器实现方法。
技术介绍
近年来,随着市场对高性能小型电子设备的需求越来越大,SoC(SystemonChip,片上系统)商品的功能也变得越来越强大、复杂并且个性化。其中,把ARM和FPGA(Field-ProgrammableGateArray,现场可编程门阵列)结合到一起的ARM-FPGA嵌入式SoC,为系统架构师和ARM开发工程师提供了一个弹性的平台以满足消费者的个性化需求。该类型SoC以Xilinx公司的Zynq系列为代表,已经被广泛应用到无人机以及高性能嵌入式和物联网设备中。但是,与Intel和AMD的芯片产品一样,ARM-FPGA嵌入式SoC同样面临着多种多样的安全威胁,以cache攻击为代表的微体系架构攻击就是其中不可忽略的一种类型。在过去的十几年里,越来越多的研究人员以cache(高速缓冲存储器)为突破口成功的实现了微体系架构攻击。Cache攻击已经成为了现代处理器和操作系统的重要安全威胁。更吸引人注意的是,2018年初,Meltdown(见M.Lipp,M.Schwarz,D.Gruss,T.Prescher,W.Haas,A.Fogh,J.Horn,S.Mangard,P.Koche ...
【技术保护点】
1.一种可抵抗基于flush操作的cache攻击的软硬协同计时器实现方法,其特征在于,包括初始化阶段和运行时阶段,其中:/n在初始化阶段,初始化软件模块与硬件模块之间相互协同,以测试安全范围内最高的时间分辨率,并将硬件模块中的安全低分辨率计时器调整到该时间分辨率;/n在运行时阶段,运行时软件模块和硬件模块根据系统进程是否调用了flush操作来自适应的转换时间分辨率。/n
【技术特征摘要】
1.一种可抵抗基于flush操作的cache攻击的软硬协同计时器实现方法,其特征在于,包括初始化阶段和运行时阶段,其中:
在初始化阶段,初始化软件模块与硬件模块之间相互协同,以测试安全范围内最高的时间分辨率,并将硬件模块中的安全低分辨率计时器调整到该时间分辨率;
在运行时阶段,运行时软件模块和硬件模块根据系统进程是否调用了flush操作来自适应的转换时间分辨率。
2.根据权利要求1所述的方法,其特征在于,所述初始化阶段的步骤包括:
循环发起选定的基于flush操作的cache攻击,根据每次循环的攻击结果,不断调节硬件模块的安全分辨率;
当循环攻击成功时,初始化软件模块和硬件模块之间协同工作,使硬件模块结束初始化阶段,开始进入运行时阶段。
3.根据权利要求2所述的方法,其特征在于,所述步骤1中选定的基于flush操作的cache攻击按照以下步骤运行:
分别对在cache内和不在cache内的数据进行多次访问并记录时间,然后分别计算出两种数据的平均访问时间;
计算两种平均访问时间的差值,当差值小于1个比特时,判定为攻击失败,当差值大于等于1时,判定为攻击成功。
4.根据权利要求2所述的方法,其特征在于,所述步骤1中根据每次循环结果调节硬件模块的安全分辨率,其操作分别为:
攻击失败时:初始化软件模块向硬件模块发送升高分辨率信号,使硬件模块的安全低分辨率增大1个比特,然后重新开始攻击;
攻击成功时:初始化软件模块向硬件模块发送降低分辨率信号,使硬件模块的安全分辨率降低1个比特。
5.根据权利要求2所述的方法,其特征在于,所述的攻击成功时,初始化软件模块和硬件模块之间协同工作,按照以下步骤运行:
第一步,初始化软件模块向硬件模块发送降低分辨率信号,使硬件模块的安全分辨率减低1个比特;
第二步,初始化软件模块向硬件模块发送初始化完成信号;
第三步,硬件模块接收初始化完成信号,对信号进行认证;
第四步,认证通过后,硬件模块接收初始化完成命令,...
【专利技术属性】
技术研发人员:屠晨阳,高能,葛景全,彭佳,李敏,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。