一种基于DICE和pKVM的隐私数据保护系统和方法与流程

专利检索2026-01-22  7


本发明涉及数据处理,具体提供一种基于dice和pkvm的隐私数据保护系统和方法。


背景技术:

1、在当前隐私数据保护与处理技术中,基于密码学加密算法的数据处理方法和基于可信执行环境(tee,trusted execution environment)的数据处理方法都在各自擅长的领域中实现对隐私数据的处理与保护。

2、基于密码学加密算法的处理方法通常使用在可信度较低的开放系统内,当该系统遭受恶意攻击并获得读取系统内存等高级权限时,内存中待加密处理的明文很有可能被窃取,隐私数据在系统运行过程中得不到应有的保护。

3、为防止此类问题的发生,硬件厂商给出trustzone等隔离安全域方案,衍生出了多种基于可信执行环境(tee)的隐私计算方法。通过软硬件配合形成安全隔离的运行环境,结合加密算法,为隐私数据处理提供有力支持。但该方案与硬件结合过于紧密,不同硬件厂商推出的tee技术各异,标准及系统不统一,使得进行安全应用开发时效率较低,不易进行开发与升级维护。

4、隔离执行环境方案解决了常规密码学算法的执行环境安全问题。但是由于上述trustzone安全隔离方案中的tee执行权限最高,可以访问设备所有资源,在tee被攻陷后,整个设备都面临较大的安全风险。而同样可以提供隔离执行环境的虚拟化技术则可以解决trustzone技术过于依赖硬件和tee操作系统平台难统一的问题,且降低了受攻击后的安全风险(虚拟机被攻陷后只影响当前虚拟机执行环境的安全,不会影响其他执行环境的正常运行)。

5、在基于虚拟化的隔离技术中,kvm(kernel-based virtual machine)基于硬件虚拟化扩展支持,为虚拟机提供隔离的虚拟运行环境,但kvm中运行的虚拟机内存依然能够被主机系统访问,存在虚拟机运行数据泄漏的安全问题。pkvm(protected kernel-basedvirtual machine)虚拟化技术则进一步在arm 64位处理器的el2异常级别对主机和虚拟机的运行环境实施全面管控,解决了主机系统与虚拟机系统敏感运行数据的安全隔离问题,并已由谷歌开发人员基于arm 64位处理器的硬件虚拟化实现并应用于安卓13中,为基于虚拟机通用操作系统的安全隔离隐私计算提供了可能。但虚拟机环境没有trustzone中的tee的高权限,无法提供基于硬件huk的密钥管理单元,缺少安全的密钥生成与管理机制。


技术实现思路

1、为了克服上述缺陷,提出了本发明,解决了现有技术中对于隐私数据保护无法兼具不依赖硬件以及运行数据可靠性的技术问题。

2、在第一方面,本发明提供一种基于dice和pkvm的隐私数据保护系统,包括运行在主机系统环境中的隐私环境代理模块以及运行在虚拟机隔离环境中的密钥管理模块、隐私数据处理模块;

3、所述隐私环境代理模块包括代理接口模块、配置模块和管理模块,所述代理接口模块用于给应用开发提供与虚拟机隔离环境通信的接口和服务调用,所述配置模块用于配置虚拟机中的程序、组件、主机与虚拟机之间的共享文件夹、cpu资源、内存大小和直通设备,所述管理模块用于根据配置模块产生的结果配置参数,调用vmm启动相应的虚拟机,提供虚拟机隔离运行环境,在虚拟机使用结束后,停止虚拟机;

4、所述密钥管理模块用于生成和管理对称密钥和不对称密钥,所述对称密钥用于隐私数据加密,所述不对称密钥用于签名验证;

5、所述隐私数据处理模块用于通过所述密钥管理模块提供的对称密钥和不对称密钥对隐私数据进行处理。

6、进一步,所述虚拟机隔离环境包括:

7、虚拟机操作系统,采用主流通用操作系统;

8、hypervisor,采用基于开源pkvm的hypersivor,用于在硬件虚拟化支持的异常级别中提供主机系统环境和虚拟机隔离环境的切换保护,以及在linux kvm基础上提供内存隔离增强、dma隔离管控、中断处理和计时器增强;

9、基于dice生成的cdi,由基于dice的主机安全验证启动过程和虚拟机安全验证启动过程产生,用于提供给主机系统环境和虚拟机隔离环境的隐私计算使用。

10、进一步,所述内存隔离增强采用内存管理单元进行第二阶段地址转换的访问权限控制,通过内存页所有权标志位限制主机系统和虚拟机系统之间所有的内存访问;所述dma隔离管控采用arm处理器上的系统内存管理单位,对输入输出内存管理单元硬件以页面粒度控制内存读/写访问权限;所述中断处理和计时器增强采用完整的gicv3模拟方式,将计时器和ipi作为不受信任的模拟代码组成部分进行处理。

11、进一步,所述主机安全验证启动过程采用arm处理器非虚拟化主机扩展模式,提供hypervisor和主机安全验证启动过程,所述hypervisor的代码会在初始化硬件后从内核映像中分离并以el2异常级别权限运行,主机系统以el1异常级别权限运行;所述虚拟机安全验证启动过程采用可信启动固件和dice加密可信链的结合,链式验证并加载运行虚拟机。

12、进一步,所述可信启动固件用于执行验证虚拟机引导加载程序的完整性,在不支持dice机制的硬件上可提供模拟的uds,并生成cdi提供给下一软件层,所述可信启动固件在所述hypervisor启动分离内核阶段载入受保护的内存中,为虚拟机链式验证提供可信执行根;

13、所述dice加密可信链用于链式启动虚拟机操作系统,所述dice加密可信链基于硬件中的uds链式创建或读取安全启动中每个软件层独有的密封cdi和消息摘要值,在第一次启动虚拟机时执行创建操作,对各级启动软件栈执行签名,写入特定实例映像中,在后续启动已创建的虚拟机时,从所述特定实例映像中读取数据,从所述可信启动固件开始逐个软件层执行所述虚拟机安全验证启动过程。

14、进一步,所述对称密钥采用aes算法所需的密钥,所述密钥管理模块通过vsock与主机应用建立通信连接,根据主机应用程序明确的指令和数据,基于当前软件层的密封cdi、验证数据和空盐值,生成指定位数的对称密钥,所述验证数据包括主机应用程序提供的密码数据或由虚拟机读取直通设备提供的采集数据;

15、所述不对称密钥采用rsa算法所需的公钥和私钥,所述密钥管理模块通过vsock与主机应用建立通信连接,根据所述主机应用程序明确的指令和数据,基于当前软件层的密封cdi、验证数据和随机盐值,生成秘密种子,再基于所述秘密种子生成不对称密钥,所述验证数据包括主机应用程序提供的密码数据或由虚拟机读取直通设备提供的采集数据。

16、进一步,所述对隐私数据进行处理包括:

17、根据主机应用程序发送的指令,使用对称密钥和不对称密钥对所述主机与虚拟机之间的共享文件夹中的数据文件进行加密或解密、完整性计算、签名或验签。

18、在第二方面,本发明提供一种基于dice和pkvm的隐私数据保护方法,包括以下步骤:

19、当hypervisor运行于处理器el2异常级别,主机操作系统运行于el1异常级别的运行环境中,隐私环境代理模块根据用户需求设置虚拟机相关配置,设置主机与虚拟机之间的共享文件夹,调用vmm在创建和启动虚拟机时,基于dice加密可信链验证启动虚拟机;

20、虚拟机安全启动后,密钥管理模块获取配置模块提供的当前虚拟机对应的程序和组件的映像信息,结合当前软件层的密封cdi,按照dice规则派生出下一软件层的密封cdi,基于当前派生的密封cdi生成不对称密钥对,将不对称密钥对的的公钥传递给隐私数据处理模块,用于主机向虚拟机传输加密信息;

21、主机应用程序通过vsock向隐私数据处理模块发起隐私数据处理请求;

22、隐私数据处理模块通过vsock向主机应用程序返回包含密钥管理模块生成的不对称密钥对的公钥;

23、主机应用程序获取不对称密钥对的公钥,并根据不对称密钥对的公钥使用不对称加密算法加密待发送的指令和数据,之后将加密的指令和数据通过vsock发送给所述隐私数据处理模块;

24、隐私数据处理模块使用不对称密钥对的私钥解密所述加密的指令和数据,并发送给密钥管理模块;

25、密钥管理模块基于当前软件层的密封cdi、验证数据和空盐值,动态生成新的对称密钥,密钥管理模块基于当前软件层的密封cdi、验证数据和随机盐值,生成新的不对称密钥;

26、隐私数据处理模块通过对称密钥对隐私数据进行加密或解密处理,隐私数据处理模块通过不对称密钥进行签名或验签处理,并返回执行结果给主机程序。

27、进一步,隐私数据处理模块通过对称密钥对隐私数据进行加密处理,包括步骤:

28、对主机应用程序提供的数据使用对称密钥加密,得到加密数据;

29、若在生成密钥的过程中未使用空盐值,hmac算法使用对称密钥计算加密数据的消息摘要值;若在生成密钥的过程中使用了空盐值,将空盐值与加密数据合并后,hmac算法使用对称密钥计算加密数据的消息摘要值;

30、使用不对称密钥对的私钥对加密数据和消息摘要值进行签名;

31、将加密数据、消息摘要值、签名在主机与虚拟机之间的共享文件夹中存储,若在生成密钥的过程中使用了空盐值,将空盐值一起存储。

32、进一步,隐私数据处理模块通过不对称密钥对隐私数据进行解密的处理,包括步骤:

33、向密钥管理模块申请解密所需密钥;

34、使用不对称密钥中的公钥对存储的加密数据和消息摘要值进行验证;

35、hmac算法使用对称密钥对存储的加密数据和空盐值进行完整性验证;

36、在所述验证均通过的情况下,使用生成的对称密钥解密加密数据。

37、本发明的工作原理和有益效果:

38、本发明中,提供通用操作系统安全隔离运行环境、减小攻击面的同时,基于dice机制的加密计算可信根和用户隐私信息,动态生成所需的对称密钥、不对称密钥等各类加密密钥,综合运用加密算法,执行定制的管理策略,为隐私数据提供加密、完整性计算、签名等多层次安全保护。


技术特征:

1.一种基于dice和pkvm的隐私数据保护系统,其特征在于,包括运行在主机系统环境中的隐私环境代理模块以及运行在虚拟机隔离环境中的密钥管理模块、隐私数据处理模块;

2.根据权利要求1所述的一种基于dice和pkvm的隐私数据保护系统,其特征在于,所述虚拟机隔离环境包括:

3.根据权利要求2所述的一种基于dice和pkvm的隐私数据保护系统,其特征在于,所述内存隔离增强采用内存管理单元进行第二阶段地址转换的访问权限控制,通过内存页所有权标志位限制主机系统和虚拟机系统之间所有的内存访问;所述dma隔离管控采用arm处理器上的系统内存管理单位,对输入输出内存管理单元硬件以页面粒度控制内存读/写访问权限;所述中断处理和计时器增强采用完整的gicv3模拟方式,将计时器和ipi作为不受信任的模拟代码组成部分进行处理。

4.根据权利要求2所述的一种基于dice和pkvm的隐私数据保护系统,其特征在于,所述主机安全验证启动过程采用arm处理器非虚拟化主机扩展模式,提供hypervisor和主机安全验证启动过程,所述hypervisor的代码会在初始化硬件后从内核映像中分离并以el2异常级别权限运行,主机系统以el1异常级别权限运行;所述虚拟机安全验证启动过程采用可信启动固件和dice加密可信链的结合,链式验证并加载运行虚拟机。

5.根据权利要求4所述的一种基于dice和pkvm的隐私数据保护系统,其特征在于,所述可信启动固件用于执行验证虚拟机引导加载程序的完整性,在不支持dice机制的硬件上可提供模拟的uds,并生成cdi提供给下一软件层,所述可信启动固件在所述hypervisor启动分离内核阶段载入受保护的内存中,为虚拟机链式验证提供可信执行根;

6.根据权利要求1所述的一种基于dice和pkvm的隐私数据保护系统,其特征在于,

7.根据权利要求1所述的一种基于dice和pkvm的隐私数据保护系统,其特征在于,所述对隐私数据进行处理包括:

8.一种基于dice和pkvm的隐私数据保护方法,其特征在于,包括以下步骤:

9.根据权利要求8所述的一种基于dice和pkvm的隐私数据保护方法,其特征在于,隐私数据处理模块通过对称密钥对隐私数据进行加密处理,包括步骤:

10.根据权利要求8所述的一种基于dice和pkvm的隐私数据保护方法,其特征在于,隐私数据处理模块通过不对称密钥对隐私数据进行解密的处理,包括步骤:


技术总结
本发明涉及数据处理技术领域,具体提供一种基于DICE和pKVM的隐私数据保护系统和方法,所述系统包括运行在主机系统环境中的隐私环境代理模块以及运行在虚拟机隔离环境中的密钥管理模块、隐私数据处理模块;隐私环境代理模块包括代理接口模块、配置模块和管理模块,密钥管理模块用于生成和管理对称密钥和不对称密钥,所述对称密钥用于隐私数据加密,所述不对称密钥用于签名验证;隐私数据处理模块用于通过所述密钥管理模块提供的对称密钥和不对称密钥对隐私数据进行处理。解决了现有技术中对于隐私数据保护无法兼具不依赖硬件以及运行数据可靠性的技术问题。

技术研发人员:农俊康,杨沙洲
受保护的技术使用者:麒麟软件有限公司
技术研发日:
技术公布日:2024/5/29
转载请注明原文地址:https://win.8miu.com/read-1160165.html

最新回复(0)