一种新型机密计算应用层度量方法及其系统与流程

文档序号:37416863发布日期:2024-03-25 19:04阅读:24来源:国知局
一种新型机密计算应用层度量方法及其系统与流程

本发明属于机密计算,尤其是涉及一种新型机密计算应用层度量方法及其系统。


背景技术:

1、基于cpu层级隐私计算或机密运算是指基于芯片层级的可信基的可信执行环境,不受系统层, kernel层控制(即拥有一台计算机系统最高管理权限或kernel层级控制权也无法查看,篡改,控制此安全环境内的数据和运行),从而来保证可信执行环境内数据隐私保护安全性和运行的可信性,相应的技术目前有intelsgx技术、intel txd技术、amd sev、海光csv技术等。

2、机密计算分为两类,一类是比较成熟的基于应用的机密计算,如intel sgx技术;第二类是较新一代的还在不断发展的基于虚拟机级的机密计算,如intel txd、amd sev、海光csv技术等。

3、机密计算核心--远程认证:机密计算可信执行环境内启动应用,并对可信执行环境和应用进行度量并由硬件(芯片)签名生成芯片级签名报告(report),报告发送给远端用户,远端用户基于相关验证机制核验报告合法性,在报告中提取度量值并与远程用户端保存的期望度量值进行比较,如果相符则继续与可信环境建立安全连接。

4、而目前基于虚拟机级的机密计算(intel tdx、amd sev、海光csv等)中,上述度量只度量到:tcb(可信计算基础)+firmware(固件)+虚拟机os(shim/grub(内核固件),kernel(内核),initrd(内存文件系统)),不涵盖应用层,所以远端用户无法判断可信执行环境中应用的合法性。出现这种情况的原因主要是,vm(虚拟机)级别机密计算是个虚拟机具有自己的os,上面可以运行不同应用,上面的应用可以随时启动或停止,基于这一背景,vm级别机密计算设计之初认为,虚拟机os上的应用过于庞大,因此没有覆盖应用层。但是该技术在落地过程中被发现还是有必要对应用度量辨别,因为如果在可信执行环境部署恶意应用,在远程认证度量值核验时刻无法有效的辨别,这将造成安全隐患。


技术实现思路

1、本发明的目的是针对上述问题,提出一种新型机密计算应用层度量方法及其系统,该方案基于已有的虚拟机级别机密计算底层组件静态度量的特性进行动态扩展,使其能更快,更可信地实行对应用层的高可信度量,既是对相对较新型机密计算应用—基于虚拟机的机密计算应用提出的应用层度量方案,又是对机密计算应用提出的一种新型的应用层度量方案。

2、一种新型机密计算应用层度量方法,包括机密计算虚拟机,所述机密计算虚拟机能够被度量到的底层组件中被部署有触发模块,且通过如下方式实现对基于虚拟机级机密计算应用层的度量:

3、机密计算虚拟机启动并加载底层组件;

4、基于机密计算对部署有触发模块的底层组件的原生芯片级可信度量完成对触发模块的可信度量;

5、使用触发模块触发用户态应用并对用户态应用进行可信度量得到可信度量值m;

6、将经过芯片级签名的可信度量值m提供于远程用户端以供远程用户端对用户态应用进行可信验证。

7、在上述的新型机密计算应用层度量方法中,通过如下方式将可信度量值m提供于远程用户端:

8、所述的触发模块通过触发机密计算原生api来生成经过芯片级签名且包括对底层组件进行度量得到的底层度量值,以及可信度量值m和所要建立的远程认证安全连接的公钥信息p的芯片级报告;

9、将所述的芯片级报告提供于远程用户端以供远程用户端对用户态应用进行可信验证,并在可信验证通过后基于p建立与触发模块的安全连接。

10、在上述的新型机密计算应用层度量方法中,所述的触发模块在底层组件加载时被触发运行;

11、所述机密计算虚拟机的底层组件包括vm内存文件系统、kernel内核层;

12、所述的触发模块被部署于vm内存文件系统或kernel内核层。

13、在上述的新型机密计算应用层度量方法中,触发模块对用户态应用的可信度量过程包括静态度量和/或动态度量;

14、所述的静态度量为,在用户态应用启动前对其应用文件进行度量,应用将在度量并验证通过后被触发启动;

15、所述的动态度量为,在用户态应用启动后,对应用运行态不同时刻的各个参数的度量。

16、在上述的新型机密计算应用层度量方法中,静态度量时,

17、远程用户端基于度量结果对用户态应用可信验证通过后,将用户态应用需要使用的原始数据的秘密数据s通过所述安全连接传输于触发模块;

18、触发模块接收到秘密数据s后触发相应用户态应用的启动,并将该秘密数据s以参数形式传输于用户态应用供其使用(如解密使用或访问加密数据库进行使用等);

19、本方法具体包括:

20、若所要启动的用户态应用被预先安装于机密计算虚拟机,触发模块对该用户态应用的应用文件进行度量,例如求应用文件哈希值;

21、若所要启动的用户态应用未被预先安装于机密计算虚拟机,触发模块根据指定的参数拉取应用,并对拉取的应用进行度量,度量方式为对用户态应用的应用文件进行度量或者解析并度量应用对应的配置文件(例如docker manifest配置文件,应用需要合法有效的配置文件才能正常启动)。

22、在上述的新型机密计算应用层度量方法中,动态度量时,触发模块触发相应用户态应用的启动,并与用户态应用建立通信机制;

23、触发模块于至少一个特定时间节点对用户态应用展开动态度量,有几个特定时间节点就有几次动态度量;度量的时间节点可以由远端用户或其他相关方来指定或者按照特定规则确定等。

24、将每次动态度量的可信度量值m均提供于远程用户端;

25、远程用户端基于至少一次动态度量结果对用户态应用可信验证通过后,将用户态应用需要使用的原始数据的秘密数据s通过所述安全连接传输于触发模块;

26、触发模块接收到秘密数据s后通过所述通信机制将秘密数据s传输于用户态应用以供其对所需要的原始数据进行使用;

27、度量方式为,度量用户态应用运行态相关信息mi,且所述的可信度量值m为mi的原生信息(m=mi),或者mi原生信息的哈希值(m=hash(mi)),对于后者将mi信息发送给远程用户端,优选通过芯片级报告外的其他传输方式传输。

28、在上述的新型机密计算应用层度量方法中,本方法还包括:

29、被提供于机密计算且将被用户态应用使用的原始数据被划分为n份,并被对应于不同的秘密数据s1~sn,每份数据di对应于秘密数据si,i=1……n,表示第i份数据及第i个密钥;

30、触发模块按设定(如基于相关方选定的时间节点)对用户态应用依次进行n次度量;第一次可以为静态度量(应用启动前的度量)或动态度量(应用启动后的度量),后续n-1次为对用户态应用运行过程中的度量。

31、远程用户端基于第i次度量验证结果决定将第i阶段pi对应的秘密数据si发送或拒绝发送于机密计算用户(若si为数据的密钥,则也就是将第i阶段pi对应的第i份数据di的秘密数据si发送或拒绝发送于机密计算用户)。

32、在上述的新型机密计算应用层度量方法中,用户态应用被划分为n个阶段,并被对应于不同的秘密数据s1~sn,每个阶段pi对应于秘密数据si,i=1……n,表示第i阶段,第i个秘密数据;可以由触发模块划分,也可以由应用自己划分,还可以由远程用户端进行划分,不在此限制,划分依据则可以是人为划分,或者按照设定的某些规则进行划分等。此处优选由提供原始数据的一端来进行划分,被提供于机密计算且将被所述用户态应用使用的原始数据被按照用户态应用对数据的使用阶段划分为n份,并为n份数据分别生成n个加密密钥或n个数据库授权域密码等秘密数据。除此之外, si也可以指n个密钥用来解锁应用n个不同的运行阶段等各类应用需要秘密数据si的情况,如解锁应用下一步的执行。

33、触发模块于每一阶段起点进行一次度量;一个阶段的起点多为上一阶段的终点;

34、远程用户端基于第i次度量验证结果决定将第i阶段对应的第i份数据di的秘密数据si发送或拒绝发送于机密计算用户。

35、一种机密计算系统,用于实现上述机密计算应用层度量方法,包括机密计算虚拟机,所述的机密计算虚拟机能够被度量到的底层组件中被部署有触发模块,所述的触发模块在底层组件加载时被启动,并基于机密计算对底层组件的静态度量特性实现被机密计算的可信度量;

36、且所述的触发模块用于触发需运行于机密计算环境中的用户态应用,并对用户态应用进行可信度量,将可信度量值m嵌入将被发送给远程用户端的芯片级签名报告内。

37、在上述的机密计算系统中,所述的触发模块被部署于的机密计算虚拟机的vm内存文件系统或kernel内核层中;

38、所述的触发模块根据设定对用户态应用进行静态度量和/或动态度量。

39、本发明的优点在于:

40、1、本方案利用虚拟机级别机密计算已有的底层组件(例如内存文件系统initrd)的静态度量的特性,实现在底层度量层面对触发模块tg_app的可信度量,然后利用经过可信度量的tg_app来对用户态应用进行可信度量,通过利用本身被机密计算芯片层度量过的可信tg_app来实现对应用层的可信度量,既避免了机密计算度量庞大的问题,又能够实现对应用层精准应用的度量,很好地解决了基于虚拟机的机密计算的应用层度量问题;

41、2、本方案首次提出了对应用层的动态度量,并提供了能够支持应用启动后的动态(甚至多次)动态度量的策略,可以防范机密计算应用启动后的可信性,防范机密计算应用启动后被同在可信执行环境里运行的其它潜在攻击应用注入病毒篡改或偷取相关数据的攻击;

42、3、本方案基于虚拟机级别机密计算已有的度量机制进行高效扩展,实现支持应用层级别的芯片级度量和远程认证,同时实现了支持静态与动态度量,使其能更快,更可信地实行对应用层静态和动态的高可信度量,并完成机密计算远程认证流程;

43、4、不但可以防范机密计算应用启动时的可信性,也可以防范机密计算应用启动后的可信的,通过本发明方法可以实时监控机密计算应用运行态安全,并将秘密信息根据实际情况以一次或多批次发送给机密计算应用,实现基于动态度量的数据安全目的。

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