一种异构可信执行环境下飞地的跨平台度量验证方法及系统

文档序号:36796323发布日期:2024-01-23 12:19阅读:17来源:国知局
一种异构可信执行环境下飞地的跨平台度量验证方法及系统

【】本发明涉及计算机,具体涉及的是一种异构可信执行环境下飞地的跨平台度量验证方法及系统。

背景技术

0、
背景技术:

1、随着人们对隐私保护的日益重视和云计算的普及,许多隐私保护应用程序已经部署在云服务器上的可信执行环境(trusted execution environment,缩写为tee)中。tee是cpu内部的一个安全隔区(通常称为飞地/enclave),能够在安全区域外的特权软件(如操作系统)不可信的情况下保护内部加载的代码和数据的机密性和完整性。飞地通常通过其初始代码和数据的哈希摘要来识别,该哈希摘要也称为飞地的度量。同时,tee提供了一种远程认证的机制,以授权远程用户验证通信飞地的度量以建立对其的信任,进而向其传输隐私数据。目前较为成功且已商业化的tee包括intel sgx、amd sev、arm trustzone。此外,各种基于risc-v的tee也已经出现,例如penglai和keystone。

2、由于不同的tee的设计通常基于不同的指令集架构,针对特定架构tee开发的应用一般不能在其他架构的tee上执行。然而,随着云服务器开始支持各种异构tee,跨平台tee应用的支持将同时利好云服务提供商以及开发者。为解决tee与硬件平台强耦合所带来的应用部署困难,有大量工作尝试将tee应用程序开发与底层硬件分离,例如,通过使用跨平台编程语言或中间表示(缩写为ir)开发应用程序。具体而言,开发者使用跨平台语言开发应用程序,或将原程序代码编译为跨平台的ir,再部署到与底层平台相关的tee运行时容器中运行。

3、然而,基于tee运行时容器的tee应用程序的远程认证与普通飞地略有不同。在传统的远程认证中,飞地度量的计算由tee执行,因此,当远程认证成功时,远程用户可以确信目标飞地为预期的应用程序。然而对于基于tee运行时容器的应用程序,传统远程认证流程只适用于验证的tee运行时容器(不包括目标应用程序),而对目标应用程序的认证则要依赖tee运行时容器来间接进行。然而,当tee运行时容器和应用程序处于相同的地址空间时,间接认证的方式可能会引入新的安全问题。具体而言,攻击者可以提供恶意的应用程序,攻击tee运行时容器并获得其控制权,进而恶意操纵间接认证。由于tee运行时容器的度量只是其初始数据和代码的哈希摘要,用户无法通过远程认证区分真正的和受篡改的tee运行时容器,从而可能导致隐私数据泄露。

4、针对上述问题,一个现有的解决方案是利用沙盒技术隔离tee运行时容器和作为载荷的目标应用程序,例如软件故障隔离(sfi)。然而,这不仅会来带额外的性能和内存开销,如何验证sfi的正确实现也是一个难题。另一方面,此前也已经有相关攻击表示,沙盒技术并不能完全抵御载荷程序对tee运行时容器的攻击。

5、综上所述,现有的解决方案依然存在缺陷,我们的发明针对异构tee下飞地的跨平台度量验证提出新的解决方案。


技术实现思路

0、
技术实现要素:

1、本发明的目的是,提供一种异构可信执行环境(trusted executionenvironment,缩写为tee)下飞地的跨平台度量验证方法,旨在解决现有技术间接验证飞地内的载荷程序所带来的安全问题。

2、为实现上述目的,本发明采用的技术方案是一种异构tee下飞地的跨平台度量验证方法,应用于直接验证异构tee下的飞地,所述飞地利用tee运行时容器运行跨平台的载荷程序,所述验证各方包括独立软件供应商(independent software vendor,简称isv),云服务提供商,异构云平台,可信度量映射,验证方,其中,所述isv开发跨平台应用程序,所述云服务提供商通过所述跨平台应用程序构建飞地,所述异构云平台运行所述飞地,所述可信度量映射可通过tee飞地实现,用于维护跨平台度量与原生度量的映射信息,所述验证方需要对目标飞地进行验证,所述方法包括:

3、m1所述云服务提供商对跨平台应用程序构建生成载荷程序并构建飞地;

4、m2所述可信度量映射对跨平台应用程序计算跨平台度量与异构tee下飞地的原生度量;

5、m3所述验证方利用预先持有的目标跨平台应用程序的跨平台度量,通过可信度量映射对目标飞地进行远程认证。

6、优选的,所述异构tee下飞地的跨平台度量验证方法,所述可信度量映射服务有多种实现形式,除基于tee飞地实现之外,具体还包括:

7、验证方本地编译和计算:分别生成跨平台应用程序的跨平台度量和利用原生度量的生成机制编译和计算原生度量,从而生成二者映射;

8、区块链上的智能合约:利用智能合约模拟原生度量的生成,在区块链上记录跨平台度量与原生度量的可信映射。

9、优选的,所述异构tee下飞地的跨平台度量验证方法,m1所述云服务提供商对跨平台应用程序构建飞地,具体包括:

10、s11所述isv将跨平台应用程序上传云服务提供商;

11、s12所述云服务提供商确定飞地的配置信息,所述飞地的配置信息可由isv指定,若无指定则由云服务提供商确定;

12、s13可选的,若所述飞地的配置信息中指定程序需经过进一步编译,则由云服务提供商对跨平台应用程序进行编译得到(对应平台的)载荷程序,若无需进一步编译,载荷程序为原跨平台应用程序;

13、s14所述云服务提供商载入载荷程序并建立飞地,所述飞地将在异构云平台运行;

14、s15所述云服务提供商返回目标飞地的配置信息。

15、优选的,所述异构tee下飞地的跨平台度量验证方法,s12异构tee下飞地的配置信息,具体包括:具体tee架构,处理器安全版本号,飞地版本号,程序是否经过进一步编译等

16、优选的,所述异构tee下飞地的跨平台度量验证方法,m2所述可信度量映射对跨平台应用程序计算跨平台度量与异构tee下飞地的原生度量的映射,以基于tee飞地实现的可信度量映射为例,具体包括以下步骤:

17、s21所述可信度量映射预先产生异构tee下飞地的中间哈希摘要;

18、s22所述isv对可信度量映射进行远程认证,并将跨平台应用程序和飞地的配置信息上传可信度量映射;

19、s23可信度量映射用哈希摘要算法对跨平台应用程序计算摘要,记录摘要结果作为跨平台度量;

20、s24可选的,若所述飞地的配置信息中指定程序需经过进一步编译,则所述可信度量映射根据飞地的配置信息可选地进一步编译跨平台应用程序,得到(对应平台的)载荷程序,若无需进一步编译,载荷程序为原跨平台应用程序;

21、s25所述可信度量映射以载荷程序为输入,从中间哈希摘要继续哈希摘要过程,最终得到异构tee下飞地的原生度量,所述哈希摘要过程使用的算法对应异构tee生成原生度量的算法;

22、s26所述可信度量映射存储跨平台度量、异构tee的原生度量、异构tee的飞地的配置信息的映射到数据库,以供远程认证过程中进行查询。

23、优选的,所述异构tee下飞地的跨平台度量验证方法,s21所述可信度量映射预先产生异构tee下飞地的中间哈希状态,具体包括:在异构tee的飞地中预留区域(payloadsection,称为载荷节)用于存储载荷程序代码,执行异构tee加载和度量飞地的过程,在即将加载和度量所述载荷节时停止摘要,并输出已计算得出的中间哈希状态。

24、优选的,所述异构tee下飞地的跨平台度量验证方法,m3所述验证方利用预先持有的目标跨平台应用程序的跨平台度量,通过可信度量映射对目标飞地进行远程认证,具体包括以下步骤:

25、s31所述验证方遵循传统远程认证协议,获取目标飞地的quote;

26、s32a所述验证方从quote中提取飞地的原生度量,向所述可信度量映射发起查询请求并发送原生度量和飞地的配置信息;

27、s33a所述可信度量映射处理查询请求,在数据库中查找飞地对应跨平台应用程序的跨平台度量,发送msg1给验证方,所述msg1包含查询结果;

28、s34所述可信度量映射发送msg2给验证方,所述msg2包含自身quote和查询结果的摘要值以供验证msg1完整性;

29、s35所述验证方通过msg2对可信度量映射进行远程认证,通过查询结果的摘要值验证msg1查询结果的完整性;

30、s36a验证通过后,所述验证方通过对比msg1查询结果与期望的跨平台度量确定是否为目标飞地。

31、优选的,所述异构tee下飞地的跨平台度量验证方法,除基于对比期望跨平台度量之外,验证方法还包括基于对比期望原生度量,与权利要求6区别在于s32a,s33a,s35a,具体包括:

32、s32b验证方向所述可信度量映射发起查询请求并发送期望跨平台度量和飞地的配置信息;

33、s33b所述可信度量映射在数据库中查找飞地对应跨平台应用程序的原生度量,发送msg1给验证方,所述msg1包含查询结果;

34、s36b验证通过后,所述验证方通过对比msg1查询结果与飞地quote中的原生度量确定其真实身份。

35、本发明第二方面提供一种异构tee下飞地的跨平台度量验证系统,所述异构tee下飞地的跨平台度量验证系统包括:

36、可信度量映射:包括映射生成模块和数据库模块,分别用于产生和储存跨平台度量与原生度量的映射;

37、目标飞地:包括目标应用程序模块、目标应用程序的运行时模块、验证服务模块,用于运行目标应用和实现远程认证的功能。

38、由上可见,本发明提供了一种异构tee下飞地的跨平台度量验证方法、系统,应用于直接验证跨平台应用程序在异构tee下实现的飞地,所述方法包括:云服务提供商对跨平台应用程序构建飞地;可信度量映射对跨平台应用程序计算跨平台度量与异构tee下飞地的原生度量;验证方利用预先持有的目标跨平台应用程序的跨平台度量,通过可信度量映射对目标飞地进行远程认证。本发明有益效果是简化异构tee间的飞地的验证模式,推动异构tee互联互通,并为载荷程序提供了基于tee硬件特性的度量手段,从而实现更加安全可靠的验证方案。

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