一种基于RISC-V架构的轻量化内存保护方法及系统与流程

文档序号:36898688发布日期:2024-02-02 21:30阅读:23来源:国知局
一种基于RISC-V架构的轻量化内存保护方法及系统与流程

本发明涉及安全防护,尤其涉及一种基于risc-v架构的轻量化内存保护方法及系统。


背景技术:

1、目前面对非安全内核可能带来的安全隐患,可以利用arm提供trustzone进行安全隔离,但trust zone并非安全可信的执行环境。已有的基于arm trust zone的可信执行环境构建方案,大多是在假定启动安全的前提下进行的,当设备启动时加载、运行的系统镜像有可能遭到恶意篡改,从而跳过系统的安全防护机制;基于软件的可信执行环境构建方法安全性不够且系统开销过大,而完全依赖于硬件的可信执行环境构建方法又不够灵活。且代码完整性保护只能确保自身的代码是完整的,对数据型攻击、代码复用攻击则无效;数据完整性保护主要考虑了静态的数据,对动态的数据和非控制数据的研究较少;现有的基于虚拟化的检测方法均假设虚拟机监控器是安全的,未考虑虚拟机监控器本身存在的漏洞,缺乏对非控制数据的完整性保护;已有的实现方案缺乏方法与模型方面的理论支撑及验证工作,使得安全策略的确定性难以保证;一些方法抽象层次较高,虽然可以辅助分析或验证系统的安全性,但缺少在真实系统上的应用。


技术实现思路

1、本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。

2、鉴于上述现有存在的问题,提出了本发明。因此,本发明提供了一种基于risc-v架构的轻量化内存保护方法,用来解决背景技术中提出的问题。

3、为解决上述技术问题,本发明提供如下技术方案:一种基于risc-v架构的轻量化内存保护方法,包括:

4、基于硬件可信根的硬件安全启动机制,对risc-v指令集进行扩展,新增设置数据位、设置密钥位、生成密钥、内存数据传输和发送、生成和设置密钥指令;

5、为申请内存的用户进程生成默认密钥,并为用户本身设置一个私有密钥,利用两种密钥对所述用户进程进行签名验算;

6、申请内存空间,设置所述申请内存空间的加密标志位和密钥编号,将一般内存转换成安全的加密空间;

7、调用硬件内存加密系统中的加解密引擎进行加密输出,利用xored掩码对内存进行完整性检查。

8、作为本发明所述的基于risc-v架构的轻量化内存保护方法的一种优选方案,其中:所述基于硬件可信根的硬件安全启动机制,包括:

9、使用所述基于硬件的信任根,验证将要加载和执行的所有代码,建立rot的rom代码用于计算引导所述所有代码内容的哈希值并验证其内容;

10、计算出散列与不可变的散列进行比较;

11、在初始安全启动阶段内置配置信息,同时允许启动序列验证后续启动阶段;该阶段会经过并计算引导加载程序上的验签,并在该阶段建立信任;

12、验证和执行引导加载程序;

13、其中,在运行应用程序之前需要通过并验证其应用程序映像的安全性。

14、作为本发明所述的基于risc-v架构的轻量化内存保护方法的一种优选方案,其中:对risc-v指令集进行扩展,还包括:添加risc-v的k扩展部分;

15、所述扩展部分包括,压缩、sm3、sm4算法的加速指令,设置数据位,设置密钥位,生成密钥、内存数据传输和发送,生成和设置密钥指令;

16、其中,根据以上指令构成k扩展指令集。

17、作为本发明所述的基于risc-v架构的轻量化内存保护方法的一种优选方案,其中:为申请内存的用户进程生成默认密钥,并为用户本身设置一个私有密钥,包括:

18、通过编程接口,调用用于内存加密的生成密钥指令,为用户进程生成一个默认密钥,调用设置密钥的指令,为用户设置一个指定的私有密钥。

19、作为本发明所述的基于risc-v架构的轻量化内存保护方法的一种优选方案,其中:申请内存空间,设置所述申请内存空间的加密标志位和密钥编号,包括:

20、验签后调用编程接口,执行设置数据位和设置密钥位指令,分别设置已申请的内存空间的加密标志位和密钥编号,将内存空间设置为加密空间;

21、当触发从内存中读取或写入数据时,通过可信通道获取数据所在当前内存页面的虚拟机编号、进程编号、核编号和加密标志位;根据所述加密标志位,确定数据是否需要加密。

22、作为本发明所述的基于risc-v架构的轻量化内存保护方法的一种优选方案,其中:调用硬件内存加密系统中的加解密引擎进行加密输出,包括:

23、调用k扩展指令集的sm4加速指令和硬件内存加密系统中的加解密引擎,进行sm4加密输出。

24、作为本发明所述的基于risc-v架构的轻量化内存保护方法的一种优选方案,其中:对内存进行完整性检查,包括:

25、将内存中的各数据位进行分组,并对每组数据位执行异或操作;对所有组中的每个对应位进行异或运算,生成校验和值;

26、当完成内存空间的申请之后,再次计算内存的校验和值;如果内存没有发生错误或损坏,则计算得到的校验和值与预期的校验和值一致;将计算得到的校验和值与初始时计算的校验和值进行比较;如果两个校验和值匹配,说明内存没有发生错误或损坏;如果不匹配,说明内存已被损坏或发生了错误。

27、一种基于risc-v架构的轻量化内存保护系统,包括:

28、指令扩展模块,基于硬件可信根的硬件安全启动机制,对risc-v指令集进行扩展,新增设置数据位、设置密钥位、生成密钥、内存数据传输和发送、生成和设置密钥指令;

29、密钥生成与验算模块,为申请内存的用户进程生成默认密钥,并为用户本身设置一个私有密钥,利用两种密钥对所述用户进程进行签名验算;

30、内存转换模块,申请内存空间,设置所述申请内存空间的加密标志位和密钥编号,将一般内存转换成安全的加密空间;

31、完整性检查模块,调用硬件内存加密系统中的加解密引擎进行加密输出,利用xored掩码对内存进行完整性检查。

32、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中:所述处理器执行所述计算机程序时实现上述方法的任一步骤。

33、一种计算机可读存储介质,其上存储有计算机程序,其中:所述计算机程序被处理器执行时实现上述方法的任一步骤。

34、与现有技术相比,发明有益效果为:本发明通过基于硬件可信根的硬件安全启动机制,对risc-v指令集进行扩展,新增设置数据位、设置密钥位、生成密钥、内存数据传输和发送、生成和设置密钥指令;为申请内存的用户进程生成默认密钥,并为用户本身设置一个私有密钥,利用两种密钥对用户进程进行签名验算;申请内存空间,设置申请内存空间的加密标志位和密钥编号,将一般内存转换成安全的加密空间;调用硬件内存加密系统中的加解密引擎进行加密输出,利用xored掩码对内存进行完整性检查;本发明通过对risc-v指令集进行扩展得到risc-v k指令集,可以在risc-v架构处理器中实现硬件支持的加密算法,从而提升加密执行效率和提高系统的安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1