System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于虚拟机管理器的可信执行环境设计方法及系统技术方案_技高网

一种基于虚拟机管理器的可信执行环境设计方法及系统技术方案

技术编号:41335890 阅读:6 留言:0更新日期:2024-05-20 09:55
一种基于虚拟机管理器的可信执行环境设计方法及系统,包括:基于特权软件的地址空间和内核功能进行设计,得到与外界隔离的可信执行环境;基于可信启动链进行机器上电到运行操作系统过程中加载软件完整性的验证;本发明专利技术申请基于形式化验证的软件实现一个不依赖于硬件,可以跨平台的虚拟机级的可信执行环境,解决了现有方案信任根完全由CPU厂商掌控、可信执行环境应用的软件开发复杂度高、CPU硬件设计复杂同时会带来额外的性能开销、可信执行环境应用难以跨平台使用的问题。

【技术实现步骤摘要】

本专利技术涉及计算机系统安全领域,具体涉及一种基于虚拟机管理器的可信执行环境设计方法及系统


技术介绍

1、可信执行环境(trusted execution environment,tee)技术,用于保护敏感程序和代码不受其它应用以及特权软件的访问和修改。随着云计算的普及和移动社交网络的扩张,用户越来越关注对隐私数据的保护,这种状况推动了隐私计算、机密计算等领域的快速发展。

2、目前的主流的tee技术主要存在于商用cpu中,由intel sgx和arm trustzone占用了主要的市场份额。同时新的tee技术正在不断涌现,tdx(trusted domain extensions)是intel在2020年推出的新一代tee;amd也发布了sev(secure encrypted virtualization)tee的技术方案;arm在2021年3月发布了新的机密计算架构cca(confidential computearchitecture);在开源cpu中,国内外学者和企业提出了基于risc-v的tee方案,如sanctum、keystone、蓬莱(penglai)、cure、timberv、ap-tee、cvm、world guard、rvm-tee等。

3、虽然当前各个硬件厂商纷纷推出了各自的tee技术,但是tee的形态多种多样,而且都有着不同的编程框架,这在安全性、性能、易用性和资源利用率等方面都存在着不同的程度的问题。可信执行环境作为机密计算中的一项重要技术基础目前被广泛部署到各类计算平台中,如何设计好可信执行环境已经成为学术界和产业界亟待解决的中重要问题。

4、目前的tee设计主要可以概况为三类模式:应用级、物理机级、虚拟机级,分别以intel sgx、arm trustzone和amd sev为代表,在性能、安全性、软硬件复杂度等方面都有各自的利弊,没有一种类型有绝对的优势。同时这些闭源cpu中由厂商发布的tee方案不允许公众进行代码审计,难以确定其正确性、安全性和完备性能达到厂商声称的标准。不同厂商提供的不同的编程和使用模式(例如intel sgx需要对应用进行可信部分和不可信部分的分割)使得tee应用与硬件平台长期绑定,无法实现跨平台兼容。最后,厂商完全掌控了可信根,系统启动构建的信任链基于厂商的秘钥,而这委托给一个权威机构进行管控。

5、下面分别对几种现有tee技术进行优缺点分析。

6、1.应用级tee:intel sgx

7、sgx(software guard extensions)是intel公司2013年发布的tee技术,利用处理器扩展指令和新的执行模式(enclave模式)实现了对寄存器和内存的隔离。sgx主要关注如何在不信任操作系统中保护用户态程序,并将程序分为可信部分和不可信部分,可信的部分运行在enclave中。enclave(飞地)实质上是一块硬件保护的加密内存区域,可以保障运行其中的代码和数据的完整性和机密性不受恶意软件甚至是操作系统的攻击和破坏。

8、优点:

9、同时采用了隔离和加密两个技术保证可信应用的机密性和完整性;

10、轻量级,保护对象是应用中需要可信执行的片段;

11、推出时间早,sgx应用生态较完善,商业化成熟。

12、缺点:

13、硬件设计过于复杂,同时带来不小的性能开销;

14、内存资源的静态划分,资源利用率低;

15、提高了软件设计的复杂度:需要划分机密数据和非机密数据,依赖于操作系统提供的各种服务;

16、安全问题:依赖于不可信的操作系统提供服务,攻击面大;同时面临着微架构共享资源的侧信道攻击和基于自身硬件设计漏洞的攻击。

17、2.物理机级tee:arm trustzone

18、从物理上隔离cpu、内存、总线互联结构和外围设备,从系统启动时将资源划分为安全世界(secure world)和普通世界(normal world)两部分,普通世界不能访问安全世界内的资源且任何一个资源都只能被划分到两个世界中的一个。两个世界拥有从hypervisor、操作系统到上层应用的完全独立的软件栈,世界切换通过一条硬件指令smc实现,在最底层软件中引入了“monitor模式”来实现两个世界切换时状态的保护和恢复。

19、优点:

20、tee抽象为整个物理机,不需要对应用做出可信和不可信区域的划分,不依赖于不可信操作系统的服务。相较于应用级tee,软件设计复杂度下降;

21、当前已经在移动端被广泛部署和使用。

22、缺点:

23、系统资源的静态划分,资源利用率不高;

24、仅提供了隔离手段,无法对内存数据进行加密,容易受到物理层面的攻击。

25、3.虚拟机级tee:amd sev,intel tdx,arm cca

26、虚拟机级tee的思路是将将整个虚拟机作为一个隔离对象,保证外部的hypervisor无法直接读写虚拟机内的任何信息。

27、优点:

28、非常适合云平台:云厂商提供hypervisor,云用户上传自己的虚拟机运行,不需要信任云厂商;理论上说,在不考虑侧信道攻击的前提下,使用了虚拟机级tee后,用户虚拟机运行在云端的安全性与运行在本地的安全性可以是等价的。

29、以虚拟机为安全隔离的单位,不需要像sgx那样对应用程序进行重构,应用可以不经修改直接移植到tee中运行。

30、缺点:

31、是比较新的方案,不够成熟,目前很少有落地的商业产品。

32、所以,可信执行环境技术闭源无法审计、无法跨平台兼容性差是目前亟需解决的问题。


技术实现思路

1、为了解决现有技术中可信执行环境技术闭源无法审计、无法跨平台兼容性差的问题,本专利技术申请提出了一种基于虚拟机管理器的可信执行环境设计方法,包括:

2、基于特权软件的地址空间和内核功能进行设计,得到与外界隔离的环境;

3、基于可信启动链进行机器上电到运行操作系统过程中加载软件完整性的验证。

4、优选的,所述基于特权软件的地址空间和内核功能进行设计,得到与外界隔离的环境,包括:

5、基于所述特权软件的地址空间进行设计;

6、基于所述特权软件的内核功能进行设计;

7、基于所述特权软件进行形式化验证,得到与外界隔离的环境。

8、优选的,所述基于所述特权软件的地址空间进行设计,包括:

9、将高地址部分划分给特权软件,低地址部分划分给虚拟机。

10、优选的,所述基于所述特权软件的内核功能进行设计,包括:

11、基于虚拟机进程控制块设置虚拟机进程的状态信息、寄存器内容、栈指针、优先级和调度信息;

12、基于虚拟机中页表、虚拟机配置的第二阶本文档来自技高网...

【技术保护点】

1.一种基于虚拟机管理器的可信执行环境设计方法,其特征在于,包括:

2.根据权利要求1所述方法,其特征在于,所述基于特权软件的地址空间和内核功能进行设计,得到与外界隔离的环境,包括:

3.根据权利要求2所述方法,其特征在于,所述基于所述特权软件的地址空间进行设计,包括:

4.根据权利要求2所述方法,其特征在于,所述基于所述特权软件的内核功能进行设计,包括:

5.根据权利要求1所述方法,其特征在于,所述基于可信启动链进行机器上电到运行操作系统过程中加载软件完整性的验证,包括:

6.一种基于虚拟机管理器的可信执行环境设计方系统,其特征在于,包括:

7.根据权利要求6所述系统,其特征在于,所述特权软件模块,包括:

8.根据权利要求7所述系统,其特征在于,所述地址空间子模块,具体用于:

9.根据权利要求7所述系统,其特征在于,所述内核功能子模块,具体用于:

10.根据权利要求6所述系统,其特征在于,所述可信启动链模块,具体用于:

【技术特征摘要】

1.一种基于虚拟机管理器的可信执行环境设计方法,其特征在于,包括:

2.根据权利要求1所述方法,其特征在于,所述基于特权软件的地址空间和内核功能进行设计,得到与外界隔离的环境,包括:

3.根据权利要求2所述方法,其特征在于,所述基于所述特权软件的地址空间进行设计,包括:

4.根据权利要求2所述方法,其特征在于,所述基于所述特权软件的内核功能进行设计,包括:

5.根据权利要求1所述方法,其特征在于,所述基于可信启动链进行...

【专利技术属性】
技术研发人员:黄文思杨超徐长斌李桐章隆兵肖俊华杨舒钧李军孙峰刘扬任帅陈剑陈得丰杨智斌耿洪碧刘芮彤
申请(专利权)人:国网信息通信产业集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1