[发明专利]一种基于硬件的嵌入式系统机密性保护方法有效
申请号: | 201810762746.4 | 申请日: | 2018-07-12 |
公开(公告)号: | CN108959129B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 王翔;王维克;郝强;张准;徐斌;张晓冰;田运通;杜培 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F12/14 | 分类号: | G06F12/14 |
代理公司: | 北京慧泉知识产权代理有限公司 11232 | 代理人: | 王顺荣;唐爱华 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种基于硬件的嵌入式系统机密性保护方法,步骤如下:1,生成目标代码;2,加密目标代码,存入非易失存储;3,上电复位;4,执行程序,如发生Cache失靶或数据Cache回写,执行步骤5;否则,执行步骤4,至程序结束;5,如写外存,则执行步骤6;否则执行步骤8;6,进行截断、填充,用硬件加密逻辑生成pad,异或Cache行的数据产生密文;7,将密文写入外存,执行步骤4;8,将Cache行对应的物理地址进行截断、填充,用硬件加密逻辑生成pad,并异或从外存读取的密文,得到指令或者数据;9,将指令或数据送入处理器,并写对应Cache行,执行步骤4;通过以上步骤,本发明能以较低的性能代价和实现代价实现对嵌入式系统的机密性保护。 | ||
搜索关键词: | 一种 基于 硬件 嵌入式 系统 机密性 保护 方法 | ||
【主权项】:
1.一种基于硬件的嵌入式系统机密性保护方法,其特征在于:该方法包括以下步骤:步骤1,根据选用的嵌入式处理器,选择对应的编译、链接工具链,将用户源程序经编译、链接生成嵌入式系统目标代码;步骤2,在上位机对目标代码进行预处理,将目标代码进行加密,并将加密后的目标代码下载到嵌入式系统的非易失存储器中;步骤3,对嵌入式系统进行上电复位,嵌入式系统开始进行初始化,处理器将自动从非易失存储器中存储的目标代码的系统复位地址处开始执行嵌入式程序;步骤4,嵌入式处理器进入运行状态,执行后续嵌入式程序,如果指令Cache及数据Cache中的任意一个发生失靶、及数据Cache向外部存储器进行回写操作两种情况中的一种情况发生,则执行步骤5;否则,则按照步骤4的方法继续执行后续的嵌入式程序,直到程序执行完毕;步骤5,如果数据Cache需要进行对外部存储器的回写操作、及嵌入式处理器访问数据Cache失靶且对应Cache行处于脏状态即dirty两种情况中的一种情况发生时,此时嵌入式处理器需要向外部存储器中写入数据,则执行步骤6;否则,即嵌入式处理器对于指令及数据的读取操作发生Cache失靶、及对于数据的写出操作发生数据Cache失靶且需要将写出地址对应的Cache行先读入数据Cache两种情况中的一种情况发生时,此时嵌入式处理器需要从外部存储器中读出数据,则执行步骤8;步骤6,以指令Cache及数据Cache中的一行为粒度,将Cache行对应的物理地址进行截断、填充,并使用硬件实现的加密逻辑进行加密生成密码序列即pad,将pad异或Cache行的数据产生密文;步骤7,将产生的密文根据嵌入式处理器计算出的存储地址,写入外部存储器中,然后按照步骤4的方法继续执行后续的嵌入式程序;步骤8,以指令Cache数据Cache中的一行为粒度,将Cache行对应的物理地址进行截断、填充,并使用硬件实现的加密逻辑进行加密生成pad,与此同时从外部存储器中读取出密文,然后将pad异或读取到的密文,得到嵌入式处理器需要的指令及数据;步骤9,将解密后的指令及数据送入嵌入式处理器,并写入到对应片上Cache的一行中,然后按照步骤4的方法继续执行后续的嵌入式程序;通过以上步骤,本发明提供的一种基于硬件的嵌入式系统机密性保护方法,能以较低的实现代价和性能损失实现对嵌入式系统中存储的程序代码和数据的机密性的保护,能有效的避免了恶意攻击对系统中存储、处理的程序和数据的非法访问和理解,能避免程序和数据信息的泄露,能防止基于返回导向编程和跳转导向编程方法的攻击。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810762746.4/,转载请声明来源钻瓜专利网。