一种云服务系统和云服务系统中机密计算的方法与流程
本技术涉及云计算和机密计算,并且更具体的,涉及一种云服务系统和云服务系统中机密计算的方法。
背景技术:
1、“机密计算”是一种在受信任的硬件基础上,结合固件和软件构建密态、隔离、可认证的机密计算环境,保证机密计算环境内数据机密性、完整性、代码完整性以及运算过程机密性的计算模式,其目标是在共享计算资源的同时,通过加密保护数据,以有效应对潜在的数据泄露风险。
2、“云服务系统”是一种基于云计算技术构建的、通过互联网提供按需计算资源和应用服务的平台。它将传统的本地化硬件、软件和数据存储迁移到远程数据中心,用户可通过网络随时访问这些资源,无需自行维护物理基础设施,极大地提高了资源利用率,避免了资源浪费。云计算虽然带来了诸多便利,但也带来了一个重要的安全挑战。用户的数据通常需要在云服务提供商的基础设施上进行处理和计算(例如,处理器,内存等)。这意味着,即使数据在传输和存储过程中加密了,但在计算的过程中,数据必须以明文或解密状态存在于内存和处理器中,才能被运算。这就产生了一个潜在的安全漏洞,例如,运行在云环境中的恶意软件或外部攻击可能尝试访问内存中的敏感数据。
3、因此,如何在云服务系统中进行机密计算,保证敏感数据的安全,成为需要解决的技术问题。
技术实现思路
1、本技术实施例提供的云服务系统既可以保证可信执行环境中的数据是安全的,并且可信执行环境中至少一个物理设备可以直接的并且安全的与存储设备进行数据传输,即数据是安全传输的,绕过了cpu,使得在云服务场景下,可以提升数据传输效率,提高机密计算的效率。
2、第一方面,提供了一种云服务系统,该云服务系统包括第一虚拟实例和可信执行环境,该可信执行环境包括第二虚拟实例和至少一个物理设备,该第二虚拟实例与至少一个物理设备之间通过点对点传输的方式进行通信,该第二虚拟实例与该第一虚拟实例之间通过虚拟套字节vsock通道连接,该至少一个物理设备,用于通过目标设备与存储设备传输数据,其中,该至少一个物理设备和目标设备上配置了安全密钥,数据在目标设备和存储设备之间加密传输。
3、示例的,该数据在目标设备和存储设备之间采用认证加密算法进行加密传输。
4、示例的,该数据可以为敏感数据。示例性的,“敏感数据”可以包括模型训练的敏感数据和用户的敏感数据。其中,“模型训练的敏感数据”例如可以是:模型参数、训练样本、检查点(checkpoint)数据、训练好的模型、模型训练过程中的中间数据(例如,指标、精度)、对测试集的预测结果、渲染结果帧数据等等。“用户的敏感数据”例如可以是:用户个人身份信息、财务信息、医疗健康等、用户的控制请求、用户对enclave的配置信息,以及enclave处理数据后向用户返回的结果。其中,checkpoint(检查点)数据可以理解为是在模型训练过程中保存的模型状态。这些检查点通常包括模型的参数(权重和偏置)、优化器状态和其他相关的训练信息。通过保存检查点,可以在训练过程中定期保存模型的当前状态,以便在需要时恢复训练或用于模型评估和推理。
5、本技术实施例中,该安全密钥用于指示至少一个物理设备和目标设备为可信设备。也可以理解为,在目标设备和至少一个物理上配置了安全密钥的情况下,此时可以认为enclave虚拟机、至少一个物理设备和目标设备都是可信的设备。换句话说,通过配置安全密钥安全边界从enclave虚拟机扩展到了至少一个物理设备和目标设备,使得这些设备也能够在受保护的环境中处理数据。
6、可以看出,本技术实施例中扩展了tee域,tee域中不仅包括enclave虚拟机还包括至少一个物理设备,以便于可以将enclave虚拟机中的cpu的部分计算任务卸载在其他的物理设备中,进一步提高机密计算的速度和效率。另外,该至少一个物理设备可以通过目标设备与存储设备传输数据,该至少一个物理设备和目标设备上配置了密钥,因此目标设备为可信设备,并且数据在目标设备和存储设备之间加密传输。因此,本技术提供的方案既可以保证可信执行环境中的数据是安全的,并且可信执行环境中至少一个物理设备可以直接、安全的与存储设备进行数据传输,即数据是安全传输的,绕过了cpu,使得在云服务场景下,可以提升数据传输效率,更快的进行机密计算。
7、结合第一方面,在一种可能的实现方式中,该至少一个物理设备,还用于在可信执行环境对来自存储设备的数据进行机密计算。
8、基于上述技术方案,本技术实施例中由于扩展了tee域,因此可以将enclave虚拟机中的cpu的部分计算任务卸载在其他的物理设备中,从而提高机密计算的速度和效率。
9、结合第一方面,在一种可能的实现方式中,第二虚拟实例,用于直接访问至少一个物理设备;第二虚拟实例,还用于在可信执行环境对获取的至少一个物理设备的数据进行机密计算。
10、基于上述技术方案,本技术实施例中,enclave虚拟机可以通过vfio技术直接获取物理设备的物理内存中的数据,并进行机密计算。使得enclave虚拟机可以不需要通过vsock通道从父虚拟机获取数据,提高了机密计算的效率。
11、结合第一方面,在一种可能的实现方式中,目标设备中配置有第一映射关系,第一映射关系用于指示至少一个物理设备各自的虚拟地址对应的目标设备的用户缓冲区地址空间。
12、结合第一方面,在一种可能的实现方式中,第一映射关系还用于指示至少一个物理设备各自的虚拟地址对应的访问权限的信息,其中,访问权限的信息包括以下至少一项:从目标设备的用户缓冲区地址空间中读取数据、在目标设备的用户缓冲区地址空间中写入数据或禁止访问目标设备的用户缓冲区地址空间。
13、基于上述技术方案,本技术实施例中通过在目标设备上配置第一映射关系,使得物理设备和目标设备之间可以传输数据。
14、结合第一方面,在一种可能的实现方式中,目标设备,用于接收来自存储设备的第一流量报文,第一流量报文携带第一指示信息和数据,第一指示信息用于指示数据对应的可信执行环境中的物理设备;目标设备,用于根据第一指示信息生成第二流量报文,第二流量报文携带第二指示信息和数据,第二指示信息用于标记第二流量报文。
15、基于上述技术方案,本技术实施例中,可以对发往可信执行环境中的物理设备的流量进行标记,从而区别普通物理设备和可信执行环境中的物理设备,便于管理控制。
16、需要说明的是,下述各个方面提供的方法、设备等技术方案所达成的有益效果都可以参见上述第一方面相关内容对应的技术效果的描述,不再赘述。
17、第二方面,提供了一种云服务系统中机密计算的方法,该云服务系统包括第一虚拟实例和可信执行环境,该可信执行环境包括第二虚拟实例和至少一个物理设备,该第二虚拟实例与该至少一个物理设备之间通过点对点传输的方式进行通信,该第二虚拟实例与该第一虚拟实例之间通过虚拟套字节vsock通道连接,该方法包括:至少一个物理设备通过目标设备与存储设备传输数据,其中,至少一个物理设备和目标设备上配置了安全密钥,数据在所述目标设备和存储设备之间加密传输。
18、结合第二方面,在一种可能的实现方式中,该方法还包括:至少一个物理设备在可信执行环境对来自所述存储设备的所述数据进行机密计算。
19、结合第二方面,在一种可能的实现方式中,该方法还包括:第二虚拟实例在可信执行环境对获取的至少一个物理设备的数据进行机密计算,其中,第二虚拟实例用于直接访问至少一个物理设备。
20、结合第二方面,在一种可能的实现方式中,该目标设备中配置有第一映射关系,该第一映射关系用于指示至少一个物理设备各自的虚拟地址对应的目标设备的用户缓冲区地址空间。
21、结合第二方面,在一种可能的实现方式中,该第一映射关系还用于指示至少一个物理设备各自的虚拟地址对应的访问权限的信息,其中,该访问权限的信息包括以下至少一项:从目标设备的用户缓冲区地址空间中读取数据、在目标设备的用户缓冲区地址空间中写入数据或禁止访问目标设备的用户缓冲区地址空间。
22、结合第二方面,在一种可能的实现方式中,该方法还包括:目标设备接收来自存储设备的第一流量报文,第一流量报文携带第一指示信息和数据,第一指示信息用于指示该数据对应的可信执行环境中的物理设备;目标设备根据第一指示信息生成第二流量报文,第二流量报文携带第二指示信息和该数据,该第二指示信息用于标记第二流量报文。
23、结合第二方面,在一种可能的实现方式中,该数据在目标设备和存储设备之间采用认证加密算法进行加密传输。
24、第三方面,提供了一种可信执行环境tee设备,该tee设备设置于云服务系统中,云服务系统还包括第一虚拟实例,tee设备包括第二虚拟实例和至少一个物理设备,第二虚拟实例与至少一个物理设备之间通过点对点传输的方式进行通信,第二虚拟实例与第一虚拟实例之间通过虚拟套字节vsock通道连接,该tee设备用于执行上述第二方面的方法。具体地,该tee设备可以包括用于执行本技术提出的方法的单元和/或模块,如收发单元和/或处理单元。
25、第四方面,本技术提供了一种可信执行环境tee设备,该tee设备设置于云服务系统中,云服务系统还包括第一虚拟实例,tee设备包括第二虚拟实例和至少一个物理设备,第二虚拟实例与至少一个物理设备之间通过点对点传输的方式进行通信,第二虚拟实例与第一虚拟实例之间通过虚拟套字节vsock通道连接,该tee设备包括:至少一个处理器,用于执行存储器存储的计算机程序或指令,以执行上述第二方面的方法。可选地,该tee设备还包括存储器,用于存储的计算机程序或指令。可选地,该tee设备还包括通信接口,处理器通过通信接口读取存储器存储的计算机程序或指令。
26、在一种实现方式中,该tee设备为用于芯片中实现上述方法的功能的设备。
27、在另一种实现方式中,该tee设备为用于芯片中实现上述方法的功能的芯片系统或电路。
28、第五方面,本技术提出了一种计算设备,该设备用于执行上述第二方面的方法。具体地,该设备可以包括用于执行本技术提出机密计算方法的单元和/或模块。
29、第六方面,本技术提供了一种计算设备,该设备包括:至少一个处理器,用于执行存储器存储的计算机程序或指令,以执行上述第二方面的方法。可选地,该设备还包括存储器,用于存储的计算机程序或指令。可选地,该设备还包括通信接口,处理器通过通信接口读取存储器存储的计算机程序或指令。示例性的,该设备也可以是芯片、芯片系统或电路。
30、第七方面,本技术提供一种处理器,包括:输入电路、输出电路和处理电路。所述处理电路用于通过所述输入电路接收信号,并通过所述输出电路发射信号,使得所述处理器执行上述第二方面的方法。
31、在具体实现过程中,上述处理器可以为一个或多个芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于收发器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。
32、对于处理器所涉及的发送和获取/接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以理解为处理器输出和接收、输入等操作,也可以理解为由射频电路和天线所进行的发送和接收操作,本技术对此不做限定。
33、第八方面,提供了一种处理设备,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过收发器接收信号,通过发射器发射信号,以执行上述第二方面的方法。
34、可选地,所述处理器为一个或多个,所述存储器为一个或多个。
35、可选地,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
36、在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
37、应理解,相关的数据交互过程例如发送指示信息可以为从处理器输出指示信息的过程,接收能力信息可以为处理器接收输入能力信息的过程。具体地,处理器输出的数据可以输出给发射器,处理器接收的输入数据可以来自收发器。其中,发射器和收发器可以统称为收发器。
38、上述第八方面中的处理设备可以是一个或多个芯片。该处理设备中的处理器可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
39、第九方面,提供了一种计算集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行第二方面中任意一种可能的实现方式中所述的方法。
40、可选地,该处理器可以是通用处理器,可以通过硬件来实现也可以通过软件来实现。当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
41、第十方面,提供一种计算机可读存储介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第二方面的方法。
42、第十一方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第二方面的方法。
43、第十二方面,提供一种芯片系统,包括处理器,用于从存储器中调用并运行计算机程序,使得安装有该芯片系统的设备执行上述第二方面的方法。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com