CN116680687A - 数据处理方法、装置、设备和存储介质 - Google Patents
数据处理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116680687A CN116680687A CN202310687091.XA CN202310687091A CN116680687A CN 116680687 A CN116680687 A CN 116680687A CN 202310687091 A CN202310687091 A CN 202310687091A CN 116680687 A CN116680687 A CN 116680687A
- Authority
- CN
- China
- Prior art keywords
- host device
- metric value
- execution environment
- client device
- trusted execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000003672 processing method Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000005540 biological transmission Effects 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012795 verification Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000013523 data management Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000011022 operating instruction Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本公开的实施例提供了基于可信执行环境的数据处理方法、装置、设备和存储介质。该方法包括:主机设备基于第一参数集确定第一度量值,其中第一度量值用于描述被托管在主机设备上的目标虚拟机。主机设备经由可信执行环境组件向客户端设备发送第一度量值。接下来,主机设备经由可信执行环境组件从客户端设备接收用于解密目标虚拟机的第一虚拟镜像文件的解密密钥,并且基于解密密钥,运行第一虚拟镜像文件以启动目标虚拟机。以此方式,用户可以实现基于可信执行环境的数据处理系统。
Description
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及基于可信执行环境的数据处理方法、装置、设备和计算机可读存储介质。
背景技术
随着云技术的发展,越来越多的个人、企业和组织机构倾向于将自己的数据上传到云端进行管理。然而,构建安全可靠的云环境需要专业的技术人员和大量的软硬件成本,因此这些个人、企业和组织机构通常通过第三方公司所提供的云环境来实现数据管理。然而,第三方公司所提供的云环境是不被信任的。在这种情况下,如何在第三方的云环境中实现安全可靠的数据管理是当前迫切需要解决的技术问题。
发明内容
在本公开的第一方面,提供了一种基于可信执行环境的数据处理方法,包括:在主机设备处,基于第一参数集确定第一度量值,第一度量值用于描述被托管在主机设备上的目标虚拟机;经由主机设备的可信执行环境组件向客户端设备发送第一度量值;经由可信执行环境组件从客户端设备接收用于解密目标虚拟机的第一虚拟镜像文件的解密密钥;以及基于解密密钥,运行第一虚拟镜像文件以启动目标虚拟机。
在本公开的第二方面,提供了另一种基于可信执行环境的数据处理方法,包括:在客户端设备处,从主机设备的可信执行环境组件接收第一度量值,第一度量值用于描述被托管在主机设备上的目标虚拟机;基于第二参数集确定第二度量值,第二度量值用于描述客户端设备所期望的虚拟机;以及响应于第二度量值与第一度量值一致,向主机设备的可信执行环境组件发送用于解密目标虚拟机的第一虚拟镜像文件的解密密钥。
在本公开的第三方面,提供了一种基于可信执行环境的数据处理装置,包括:第一度量值生成模块,被配置为:基于第一参数集确定第一度量值,第一度量值用于描述被托管在主机设备上的目标虚拟机;第一度量值发送模块,被配置为:经由主机设备的可信执行环境组件向客户端设备发送第一度量值;解密密钥接收模块,被配置为:经由可信执行环境组件从客户端设备接收用于解密目标虚拟机的第一虚拟镜像文件的解密密钥;以及第一虚拟镜像运行模块,被配置为:基于解密密钥,运行第一虚拟镜像文件以启动目标虚拟机。
在本公开的第四方面,提供了另一种基于可信执行环境的数据处理装置,包括:第一度量值接收模块,被配置为从主机设备的可信执行环境组件接收第一度量值,第一度量值用于描述被托管在主机设备上的目标虚拟机;第二度量值生成模块,被配置为基于第二参数集确定第二度量值,第二度量值用于描述客户端设备所期望的虚拟机;以及解密密钥发送模块,被配置为:响应于第二度量值与第一度量值一致,向主机设备的可信执行环境组件发送用于解密目标虚拟机的第一虚拟镜像文件的解密密钥。
在本公开的第五方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使电子设备执行第一方面或第二方面的方法。
在本公开的第六方面,提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,计算机程序可由处理器执行以实现第一方面或第二方面的方法。
应当理解,本内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1A和1B示出了本公开的实施例能够在其中实现的示例环境的示意图;
图2示出了根据本公开的一些实施例的数据处理方法的信令交互图;
图3A和3B示出了根据本公开的一些实施例的数据处理方法的框图;
图4示出了根据本公开的一些实施例的由主机设备执行的数据处理方法的流程图;
图5示出了根据本公开的一些实施例的由客户端设备执行的数据处理方法的流程图;
图6示出了根据本公开的一些实施例的数据处理装置的示意性结构框图;
图7示出了根据本公开的一些实施例的另一数据处理装置的示意性结构框图;以及
图8示出了其中可以实施本公开的一个或多个实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
在本文中,除非明确说明,“响应于A”执行一个步骤并不意味着在“A”之后立即执行该步骤,而是可以包括一个或多个中间步骤。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实施例,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹出窗口的方式,弹出窗口中可以以文字的方式呈现提示信息。此外,弹出窗口中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实施例构成限定,其他满足相关法律法规的方式也可应用于本公开的实施例中。
如上文所讨论的,随着云技术的发展,越来越多的个人、企业和组织机构倾向于将自己的数据上传到云端进行管理。然而,构建安全可靠的云环境需要专业的技术人员和大量的软硬件成本,因此这些个人、企业和组织机构通常通过第三方公司所提供的云环境来实现数据管理。在这种情况下,由于第三方公司所提供的云环境并不是一个可被完全可信的环境,因此当通过第三方公司提供的云环境来实现数据管理时,数据有可能存在被泄露的风险。
有鉴于此,如何在第三方的云环境中实现安全可靠的数据管理是当前迫切需要解决的技术问题。
本公开的实施例提出了一种基于可信执行个环境的数据处理方案。根据该方案,主机设备基于第一参数集确定第一度量值,其中第一度量值用于描述被托管在主机设备上的目标虚拟机。主机设备经由可信执行环境组件向客户端设备发送第一度量值。接下来,主机设备经由可信执行环境组件从客户端设备接收用于解密目标虚拟机的第一虚拟镜像文件的解密密钥,并且基于解密密钥,运行第一虚拟镜像文件以启动目标虚拟机。
以此方式,通过利用可信执行环境和经加密处理的虚拟镜像文件,提高了数据处理环境的安全性。
示例环境
图1A示出了本公开的实施例能够在其中实现的示例环境100A的示意图。如图1A所示,示例环境100A可以包括主机设备110和用户140的客户端设备120。
如图1A所示,主机设备110可以被部署有可信执行环境115。在该可信执行环境115中,可以运行虚拟机112,虚拟机112可以被称为目标虚拟机112或待启动虚拟机112。利用在可信执行环境115中运行的虚拟机,客户端设备120可以实现数据管理,即,管理和维护数据114。本公开的实施例在此方面不受限制。
在一些实施例中,客户端设备120与主机设备110通信以实现数据管理。客户端设备120可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,客户端设备120也能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。
主机设备110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络、以及大数据和人工智能平台等基础云计算服务的云服务器。主机设备110例如可以包括计算系统/服务器,诸如大型机、边缘计算节点、云环境中的计算设备,等等。主机设备110可以为客户端设备120提供数据管理的后台服务。主机设备110的一个示例时云厂商的宿主机。
主机设备110与客户端设备120之间可以建立有通信连接。通信连接可以通过有线方式或无线方式建立。通信连接可以包括但不限于蓝牙连接、移动网络连接、通用串行总线连接、无线保真连接等,本公开的实施例在此方面不受限制。在本公开的实施例中,主机设备110与客户端设备120可以通过二者之间的通信连接实现信令交互。
为了实现安全的数据管理,主机设备110和客户端设备可以被部署有相应的软硬件配置。图1B示出了本公开的实施例能够在其中实现的另一示例环境100A的示意图。为便于讨论,将参考图1A的环境100A来描述环境100B。
在图1B的特定实施例中,主机设备110包括虚拟机监视器,用于对运行在主机设备110上的虚拟机进行管理。进一步地,主机设备110和客户端设备120分别包括第一虚拟镜像文件和第二虚拟镜像文件。虚拟镜像文件有时也被称为虚拟机镜像或虚拟机镜像程序。
在一些实施例中,第一/二虚拟镜像文件可以包括数据库组件。进一步地,在一些实施例中,数据库组件可以根据用户140的需求和应用场景而被选择,例如,数据库组件可以为侧重分析的数据库类型或侧重数据管理的数据库类型。
在一些实施例中,数据库组件可以包括数据库引擎。数据库引擎可以为任何已有的或未来开发的数据库引擎,其可以是用户定制的数据库引擎,也可以是通用的数据库引擎。本公开在此方面不限制。
在一些实施例中,第一/二虚拟镜像文件还可以包括认证组件,用于提供远程证明服务,包括但不限于,验证可信运行环境的可靠性以及协商会话密钥等。
在一些实施例中,第一/二虚拟镜像文件还可以包括加解密组件,例如,用于加密虚拟机112的处理结果和生成的消息,以及解密从客户端设备120收到的消息。
在一些实施例中,第一/二虚拟镜像文件还可以可选地包括密钥设置组件。用户140可以通过密钥设置组件来设置用于主机设备110和客户端设备120之间通信的各类密钥以及修改用于加密虚拟机112的密钥,包括对称密钥和非对称密钥。
此外,虽然未示出,第一/二虚拟镜像文件还可以包括其他组件,例如,用于存储签名公私钥对sks,pks、加密公私钥对ske,pke等密钥的密钥存储组件。
在图1B的特定实施例中,主机设备110可以包括可信执行环境组件118。在一些实施例中,可信执行环境组件118可以实现虚拟机级别的可信执行环境。
应当理解,仅出于示例性的目的描述环境100A和100B中各个元素的结构和功能,而不暗示对于本公开的范围的任何限制。换言之,环境100A和100B中的元素的结构、功能、数量和链接关系可以根据实际需要而发生改变。本公开在此方面不受限制。
示例过程
图2示出了根据本公开的一些实施例的数据处理方法的信令交互图200。为便于讨论,将参考图1A的环境100A和图1B的环境100B来描述过程200,例如,通过使用主机设备110和客户机设备120。
根据本公开的一些实施例,可以通过部署安全的数据处理环境和提高数据传输和使用的安全性来提高数据管理的安全性,由此实现全密文的数据库系统,从而保证数据在传输、使用、存储阶段的安全。
接下来,将详细讨论如何部署安全的数据处理环境以及如何利用该部署的数据处理环境来实现安全的数据存储、传输和处理过程。
在操作中,主机设备110基于第一参数集生成245第一度量值,并且经由可信执行环境组件118向客户端设备120发送250第一度量值,其中第一度量值用于描述被托管在主机设备110上的目标虚拟机112。
对于客户端设备120而言,当其接收到第一度量值后,客户端设备120基于第二参数集确定255第二度量值,其中第二度量值用于描述客户端设备120所期望的虚拟机。
接下来,如果客户端设备120确定的第二度量值与接收到的第一度量值一致,则向主机设备110的可信执行环境组件118发送260用于解密目标虚拟机112的第一虚拟镜像文件的解密密钥。相应地,主机设备110的可信执行环境组件118可以基于解密密钥,运行第一虚拟镜像文件以启动目标虚拟机112。
以此方式,运行在主机设备110上的虚拟机112可以受到用户140设置的解密密钥和部署在主机设备110上的可信执行环境组件118的双重保护,提高了数据处理环境的安全性。
进一步地,为了确保第一度量值可以更好地描述被托管在主机设备110上的目标虚拟机112,第一参数集可以包括多个与目标虚拟机112强相关的参数。一个示例参数是与主机设备110相关的第一参数。另一个示例参数是与第一虚拟镜像文件相关联的第二参数。又一个示例参数与客户端设备120的用户信息相关联的第三参数。
应当理解,上述示例参数仅仅用于说明的目的。在其他实施例中,可以采用其他示例参数,本公开在此方面不受限制。
应当理解,客户端设备120用于生成第二度量值的第二参数集应当与第一参数集相对应。换言之,第一参数集和第二参数集所包括的参数应该是相对应的,并且所包括的参数应当被主机设备110和客户端设备120所预先知晓。因此,第二参数集可以包括与第一参数集相对应的、与客户端设备120所期待的虚拟机强相关的多个参数。在一些实施例中,第二参数集可以相应地包括以下至少一项:与主机设备110相关的第一参数,与第一虚拟镜像文件相关联的第二参数,以及与客户端设备120的用户信息相关联的第三参数。
在一些实施例中,第一虚拟镜像文件可以包括被配置为响应于目标虚拟机112的开启而被自动运行的至少一个组件,示例组件包括但不限于,数据库组件、认证组件、加解密组件以及密钥设置组件。
在一些实施例中,出于安全性的考虑,一旦虚拟机112启动,除经由虚拟镜像文件外,禁止用户140通过任何方式来操作虚拟机112。
通常而言,不同的可信执行环境对于硬件(诸如,内核、处理器等)的要求有所不同。有鉴于此,在一些实施例中,在主机设备110处需要配置有支持可信执行环境118的硬件配置,诸如,相应的内核版本。
根据用户140对于主机设备110的不同信任程度,可以采用不同的部署方式。在一些应用场景中,用户140对于主机设备110的信任程度较低,在这种情况下,运行在主机设备110处的第一虚镜像文件可以由用户140自己生成。具体而言,客户端设备120生成第一虚镜像文件,并使用加密技术对其进行加密,示例的加密技术可以为基于Linux的硬盘加密或全盘加密技术。接下来,客户端设备120可以将经加密的第一虚拟镜像文件发送220给主机设备110。
备选地,在一些应用场景中,用户140至少部分地信任主机设备110。在这种情况下,用户140可以使用主机设备110预先配置的组件来生成225第一虚拟镜像文件,或者可以使用主机设备110预先配置的虚拟镜像文件模板来生成第一虚拟镜像文件。在这种情况下,客户端设备120首先生成用于生成第一虚拟镜像文件的配置文件,并将其发送205给主机设备110,其中配置文件可以指示生成第一虚拟镜像文件所需的软硬件配置信息或对应的虚拟镜像文件模板等。基于该配置文件,主机设备110可以生成第一虚拟镜像文件。进一步地,主机设备110在生成第一虚拟镜像文件后,可以将与生成的第一虚拟镜像文件信息210发送给客户端设备,以便客户端设备120了解配置文件的执行情况。
附加地,在一些实施例中,为了保证解密密钥传输的安全性。在传输解密密钥前,客户端设备120和主机设备110之间可以预先协商235会话密钥。具体而言,主机设备110经由可信执行环境组件118,与客户端设备120协商第一会话密钥。接下来,当传输解密密钥时,可以使用第一会话密钥来加密解密密钥。以此方式,提高解密密钥传输的安全性。
附加地,在初始交互阶段,主机设备110可以向客户端设备120发送215用于认证主机设备110的第一认证信息。第一认证信息的示例可以为证书链,其中证书链的根证书可以为设备的硬件厂商,证书链的末证书可以为事先生成的代表主机设备110的证书。进一步地,在一些实施例中,第一认证信息包括在与主机设备110进行通信时所使用的主机设备110的公钥。
在一些实施例中,第一认证信息可以包括用于与客户端设备120协商第一会话密钥的主机设备110的公钥。换句话说,主机设备110的认证过程可以与主机设备110的公钥的传输绑定在一起。在这种情况下,客户端设备120在完成对主机设备110的认证后,即可以获得主机设备110的公钥,由此提高了主机设备110的公钥传输的安全性和可信度。
根据本公开的一些实施例,可以为了进一步提高待启动、待运行的虚拟机112的安全性,主机设备110可以经由可信执行环境组件118,将第一虚拟镜像文件在内存中进行加密230。
为了更好地理解数据处理环境的部署过程,将结合图3A和3B来进一步描述数据处理环境的部署过程。
图3A和3B示出了根据本公开的一些实施例的数据处理方法的框图300A和300B。为便于讨论,将参考图1A的环境100A和图1B的环境100B来描述图3A和3B,例如,通过使用主机设备110和客户机设备120。
在图3A中,客户机设备120从云厂商处获得将用于认证主机设备110的第一认证信息,诸如,证书链。客户机设备120验证第一认证信息的正确性。如果客户机设备120确认第一认证信息是正确的,则将经加密的第一虚拟镜像文件发送给主机设备110,其中经加密的第一虚拟镜像文件需要解密密钥进行解密。
在一些实施例中,客户端设备120可以与可信执行环境组件118进行密钥协商以协商出第一会话密钥sk,并且发起启动虚拟机112的请求。附加地,可以基于Diffie-Hellman密钥交换机制来协商第一会话密钥sk。
在一些实施例中,主机设备110部署经加密的第一虚拟镜像文件,并通过可信执行环境组件118将第一虚拟镜像文件在内存中进行加密。
进一步地,主机设备110的可信执行环境组件118生成第一度量值mr1,并将其发送给主机设备110,第一度量值有时也被称为启动度量值。
在一些实施例中,第一度量值mr1的生成与所部署的可信执行环境115/可信执行环境组件118相关,即,不同的可信执行环境115/可信执行环境组件118所生成的第一度量值mr1有所不同。在一些实施例中,第一度量值mr1与如下信息相关:与主机设备110相关联的第一参数(诸如,平台的配置信息),与第一虚拟镜像文件相关联的第二参数(诸如,第一虚拟镜像的信息),以及与客户端设备120的用户信息相关联的第三参数相关。应当理解,可以基于任何适当的参数或规则来确定第一度量值mr1,本公开在此方面不受限制。
客户端设备120可以在本地得到与相应的参数以获得第二度量值mr2,也称为期望的启动度量值mr2,用于生成第二度量值mr2的示例参数诸如包括与主机设备110相关联的第一参数(诸如,平台的配置信息),与第一虚拟镜像文件相关联的第二参数(诸如,第一虚拟镜像的信息),以及与客户端设备120的用户信息相关联的第三参数相关。
客户端设备120将第二度量值mr2与主机设备110发来的mr1进行比较,如果一致,则将解密密钥secret发送给主机设备110。
在一些实施例中,主机设备110和客户端设备120可以协商第一会话密钥sk。在一些实施例中,主机设备110将解密密钥xecret通过第一会话密钥sk进行加密,即,Enc(sk,secret),并将加密后的解密密钥发送给主机设备110。
主机设备110接收经加密的解密密钥,并使用第一会话密钥sk解密获得解密密钥secret。基于该解密密钥secret,可以解密接收到的第一虚拟镜像文件。进一步地,主机设备110的可信执行环境组件118可以在加密内存中启动第一虚拟镜像文件。由于第一虚拟镜像文件包括至少一个开启自启动的组件,当虚拟机112被开启时,客户端设备120便可以使用虚拟机112中所部署的各个组件了,诸如,数据库组件、认证组件、加解密组件以及密钥设置组件等。
进一步参考图3B。在图3B的实施例中,客户端设备120在选择主机设备110提供商所提供的与虚拟镜像文件相关的配置文件,例如,内核版本、数据库引擎、加解密算法等。主机设备110按照客户端设备120的配置文件生成对应的全盘加密镜像,即,经加密的第一虚拟镜像文件。在一些实施例中,第一虚拟镜像文件的全盘加密镜像密钥(即,用于解密第一虚拟镜像文件的解密密钥)由主机设备110/相应的云厂商随机生成。在一些实施例中,主机设备110生成的第一虚拟镜像文件包括密钥设置组件,以方便用户140随后修改用于解密第一虚拟镜像文件的解密密钥。
接下来,客户端设备120从主机设备110处获得第一认证信息,诸如,证书链。进一步地,与第一认证信息一起,主机设备110还向客户端设备120提供与生成的第一虚拟镜像文件相关信息。
客户机设备120验证第一认证信息的正确性。在一些实施例中,如果客户机设备120确认第一认证信息是正确的,客户端设备120可以与可信执行环境组件118进行密钥协商以协商出第一会话密钥sk,并且发起启动虚拟机112的请求。附加地,可以基于Diffie-Hellman密钥交换机制来协商获得第一会话密钥sk。
在一些实施例中,主机设备110部署经加密的第一虚拟镜像文件,并通过可信执行环境组件118将第一虚拟镜像文件在内存中进行加密。
进一步地,主机设备110的可信执行环境组件118确定第一度量值mr1,并将其发送给主机设备110。在一些实施例中,第一度量值mr1的生成与所部署的可信执行环境115/可信执行环境组件118相关,即,不同的可信执行环境115/可信执行环境组件118所生成的第一度量值mr1有所不同。在一些实施例中,第一度量值mr1与如下信息相关:与主机设备110相关联的第一参数(诸如,平台的配置信息),与第一虚拟镜像文件相关联的第二参数(诸如,第一虚拟镜像的信息),以及与客户端设备120的用户信息相关联的第三参数相关。应当理解,可以基于任何适当的参数或规则来确定第一度量值mr1,本公开在此方面不受限制。应当理解,可以基于任何适当的参数或规则来确定第一度量值mr1,本公开在此方面不受限制。
客户端设备120可以在本地得到与相应的参数以获得第二度量值mr2,也称为期望的启动度量值mr2,用于生成第二度量值mr2的示例参数诸如包括与主机设备110相关联的第一参数(诸如,平台的配置信息),与第一虚拟镜像文件相关联的第二参数(诸如,第一虚拟镜像的信息),以及与客户端设备120的用户信息相关联的第三参数相关。
客户端设备120将第二度量值mr2与主机设备110发来的mr1进行比较,如果一致,则将解密密钥secret发送给主机设备。
在一些实施例中,主机设备110和客户端设备120可以协商第一会话密钥sk。在一些实施例中,主机设备110将解密密钥secret通过第一会话密钥sk进行加密,即,Enc(sk,secret),并将加密后的解密密钥发送给主机设备110。
主机设备110接收经加密的解密密钥,并使用第一会话密钥sk解密获得解密密钥secret。基于该解密密钥secret,可以解密接收到的第一虚拟镜像文件。进一步地,主机设备110的可信执行环境组件118可以在加密内存中启动第一虚拟镜像文件。由于第一虚拟镜像文件包括至少一个开启自启动的组件,当虚拟机112被开启时,客户端设备120便可以使用虚拟机112中所部署的各个组件了,诸如数据库组件、认证组件、加解密组件以及密钥设置组件等。
在一些实施例中,由于第一虚拟镜像文件中包括至少一个开机自己的组件,客户端设备120可以首先通过虚拟机112中的密钥设置服务修改虚拟机112的全盘机密密钥,并进一步地设置签名公私钥对sks,pks,加密公私钥对ske,pke。
通过上述过程,主机设备110的可信执行环境组件118可以启动265虚拟机112,由此,更安全的数据处理环境的可以被部署在主机设备110处。接下来,用户140便可以以更安全的方式实现数据管理。
如图2所示,主机设备110的可信执行环境组件118可以向客户端设备发送275用于认证可信执行环境的第二认证信息,其中第二认证信息包括用于加密和解密客户端设备120的数据库操作指令的至少一个密钥对。基于所接收的至少一个密钥对,客户端设备280可以向主机设备110发送经加密的数据库操作执行。
为便于理解,结合如下示例操作来进一步描述如何执行数据库操作指令。
在一些实施例中,用户140通过客户端设备120的用户管理系统完成身份认证。进一步地,用户140通过客户端设备120中的认证组件来验证云环境下运行数据库组件的虚拟机112环境是否可信。
作为一特定实现方式,用户140发送一个随机数nonce给到虚拟机112。虚拟机112内部的认证组件生成第二认证信息,也称为可信环境校验数据。与第二认证信息一起,主机设备110将加密公钥pke、签名公钥pks以及经签名私钥sks签名的随机数(即,Sig(sks,nonce))一起发送给客户端设备120。
在一些实施例中,第二认证信息中包括有签名公钥pks,加密公钥pke。以此方式,可以确保回传信息中的公钥值与可信执行环境相互绑定,即,当可信执行环境被验证通过时,与其一起传输的公钥信息也被认定为是可信的。在一些实施例中,可以将签名公钥pks、加密公钥pke作为第二认证信息中的报告数据字段来传输。
如果客户端设备120验证第二认证信息是否正确,并且验证Sig(sks,nonce)是否合法。如果验证通过,则用户140便可以放心使用虚拟机112了。
在一些实施例中,用户140经由客户端设备120发送数据库操作指令。作为一特定实施例,客户端设备120的权限控制模块会先判断其是否有权限操作对应的数据,诸如,表、库等。如果没有权限,则直接舍弃,否则,客户端设备120会将数据库操作指令进行加密并经由可信环境执行组件118发送到虚拟机112中。
在一些实施例中,数据库操作指令采用双重加密的方式进行传输,即,Enc(pke,ssk),Enc(ssk,数据库操作指令),其中ssk为随机挑选的会话密钥,pke为加密公钥。
对于主机设备110,接收到请求后,会先解密得到数据库操作指令,然后再传入虚拟机112的数据库组件进行数据库操作。虚拟机112运行操作库指令,并且把操作结果result发送给用户。
相应地,为保证数据的安全性,操作结果result同样可以经加密后发送给客户端设备120,即,Enc(ssk,result),其中ssk为随机挑选的会话密钥。客户端设备120用会话密钥ssk解密以得到数据处理结果result。
通过上述过程可知,包括在虚拟镜像文件中的数据,需要用户140的解密密钥才可以获得。换言之,第一虚拟镜像文件被加载到内存之前,所有的数据包括应用等都是通过用户设备的镜像加密密钥进行保护的。进一步地,当第一虚拟镜像文件被加载到内存之后,其所有的数据操作均经由可信执行环境组件来进行。此外,数据在传输过程中均是经过加密处理的,且用于加解密的密钥对是与可信执行环境的认证信息一起传输。因此,数据无论是在磁盘还是内存中、无论是在传输还是处理中,均有相应的安全措施进行保护。换言之,数据的安全性在其生命周期的各个阶段均得到了保证。
通过上述过程,本公开通过虚拟机级别可信执行环境,实现了在云环境下部署安全可靠的数据处理环境,与基于软件的实现方案相比,无论是数据处理的性能还是系统的安全性均得到了提高。此外,在该环境中,用户侧既无需安装可信执行环境组件,也无需修改现有的数据库组件,降低了数据处理系统的部署成本。
示例方法
图4示出根据本公开的一些实施例的数据处理过程400的流程图。为便于讨论,参考图1A和1B的环境100A和100B进行讨论。图像处理过程400可以被实现在主机设备110处。
在框410,主机设备基于第一参数集确定第一度量值,第一度量值用于描述被托管在主机设备上的目标虚拟机。
在框420,主机设备经由可信执行环境组件向客户端设备发送第一度量值。
在框430,主机设备经由可信执行环境组件从客户端设备接收用于解密目标虚拟机的第一虚拟镜像文件的解密密钥。
在框440,主机设备基于解密密钥,运行第一虚拟镜像文件以启动目标虚拟机。
在一些实施例中,第一参数集包括以下至少一项:与主机设备相关联的第一参数,与第一虚拟镜像文件相关联的第二参数,以及与客户端设备的用户信息相关联的第三参数。
在一些实施例中,主机设备经由可信执行环境组件,与客户端设备协商第一会话密钥,其中解密密钥由第一会话密钥加密。
在一些实施例中,主机设备向客户端设备发送用于认证主机设备的第一认证信息,第一认证信息包括在与主机设备进行通信时所使用的主机设备的公钥。
在一些实施例中,主机设备可以向客户端设备发送用于认证主机设备的第一认证信息,该第一认证信息可以包括用于与客户端设备协商第一会话密钥的主机设备的公钥。
在一些实施例中,主机设备经由可信执行环境组件,将第一虚拟镜像文件在内存中进行加密。
在一些实施例中,主机设备从客户端设备接收用于生成第一虚拟镜像文件的配置文件,以及基于配置文件,生成第一虚拟镜像文件。
在一些实施例中,主机设备从客户端设备接收经加密的第一虚拟镜像文件。
在一些实施例中,第一虚拟镜像文件包括被配置为响应于目标虚拟机的开启而被自动运行的至少一个组件,至少一个组件包括以下至少一项:数据库组件,认证组件,加解密组件,以及密钥设置组件。
在一些实施例中,在目标虚拟机启动后,主机设备经由可信执行环境组件,向客户端设备发送用于认证可信执行环境的第二认证信息,其中第二认证信息包括用于加密和解密客户端设备的数据库操作指令的至少一个密钥对。
图5示出根据本公开的一些实施例的数据处理过程500的流程图。为便于讨论,参考图1A和1B的环境100A和100B进行讨论。图像处理过程500可以被实现在客户端设备120处。
在框510,客户端设备从主机设备的可信执行环境组件接收第一度量值,第一度量值用于描述被托管在主机设备上的目标虚拟机。
在框520,客户端设备基于第二参数集确定第二度量值,第二度量值用于描述客户端设备所期望的虚拟机。
在框530,响应于第二度量值与第一度量值一致,客户端设备向主机设备的可信执行环境组件发送用于解密目标虚拟机的第一虚拟镜像文件的解密密钥。
在一些实施例中,客户端设备从主机设备处接收用于认证主机设备的第一认证信息,第一认证信息包括在与主机设备进行通信时所使用的主机设备的公钥。
在一些实施例中,客户端设备可以从主机设备接收用于认证主机设备的第一认证信息,该第一认证信息可以包括用于与主机设备协商第一会话密钥的主机设备的公钥。
在一些实施例中,第二参数集包括以下至少一项:与主机设备相关联的第一参数,与第一虚拟镜像文件相关联的第二参数,以及与客户端设备的用户信息相关联的第三参数。
在一些实施例中,客户端设备与主机设备的可信执行环境组件协商第一会话密钥,其中解密密钥由第一会话密钥加密。
在一些实施例中,客户端设备向主机设备发送用于生成第一虚拟镜像文件的配置文件,以及在客户端设备处,生成与配置文件对应的第一虚拟镜像文件。
在一些实施例中,客户端设备向主机设备发送经加密的虚拟镜像文件。
在一些实施例中,在目标虚拟机启动后,客户端设备从主机设备的可信执行环境组件,接收用于认证可信执行环境的第二认证信息,其中第二认证信息包括用于加密和解密客户端设备的数据库操作指令的至少一个密钥对。
示例装置和设备
图6示出了根据本公开的某些实施例的数据处理装置600的示意性结构框图。装置600可以被实现为或者被包括在主机设备110中。装置600中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图6所示,装置600包括第一度量值生成模块610,被配置为:基于第一参数集确定第一度量值,所述第一度量值用于描述被托管在所述主机设备上的目标虚拟机;第一度量值发送模块620,被配置为:经由所述主机设备的可信执行环境组件向客户端设备发送所述第一度量值;解密密钥接收模块630,被配置为:经由所述可信执行环境组件从所述客户端设备接收用于解密所述目标虚拟机的第一虚拟镜像文件的解密密钥;以及第一虚拟镜像运行模块640,被配置为:基于所述解密密钥,运行所述第一虚拟镜像文件以启动所述虚拟机。
在一些实施例中,第一参数集包括以下至少一项:与主机设备相关联的第一参数,与第一虚拟镜像文件相关联的第二参数,以及与客户端设备的用户信息相关联的第三参数。
在一些实施例中,装置600还包括:第一密钥协商模块,被配置为经由可信执行环境组件,与客户端设备协商第一会话密钥,其中解密密钥由第一会话密钥加密。
在一些实施例中,装置600还包括:第一认证信息发送模块,被配置为向客户端设备发送用于认证主机设备的第一认证信息,第一认证信息包括在与主机设备进行通信时所使用的主机设备的公钥。
备选地,在一些实施例中,装置600还包括:第一认证信息发送模块,被配置为向客户端设备发送用于认证主机设备的第一认证信息,该第一认证信息可以包括用于与客户端设备协商第一会话密钥的主机设备的公钥。
在一些实施例中,装置600还包括:内存加密组件,被配置为经由可信执行环境组件,将第一虚拟镜像文件在内存中进行加密。
在一些实施例中,装置600还包括:配置文件接收模块,被配置为从客户端设备接收用于生成第一虚拟镜像文件的配置文件;以及基于配置文件,生成第一虚拟镜像文件。
在一些实施例中,装置600还包括:镜像文件接收模块,被配置为从客户端设备接收经加密的第一虚拟镜像文件。
在一些实施例中,第一虚拟镜像文件包括被配置为响应于目标虚拟机的开启而被自动运行的至少一个组件,至少一个组件包括以下至少一项:数据库组件,认证组件,加解密组件,以及密钥设置组件。
在一些实施例中,装置600还包括:第二认证信息发送模块,被配置为在目标虚拟机启动后,经由可信执行环境组件,向客户端设备发送用于认证可信执行环境的第二认证信息,其中第二认证信息包括用于加密和解密客户端设备的数据库操作指令的至少一个密钥对。
图7示出了根据本公开的某些实施例的界面信息的又一处理装置700的示意性结构框图。装置700可以被实现为或者被包括在客户机设备120中。装置700中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图7所示,装置700包括:第一度量值接收模块710,被配置为从主机设备的可信执行环境组件接收第一度量值,所述第一度量值用于描述被托管在所述主机设备上的目标虚拟机;第二度量值生成模块720,被配置为基于第二参数集确定第二度量值,所述第二度量值用于描述所述客户端设备所期望的虚拟机;以及解密密钥发送模块730,被配置为:响应于所述第二度量值与所述第一度量值一致,向所述主机设备的所述可信执行环境组件发送用于解密所述目标虚拟机的第一虚拟镜像文件的解密密钥。
在一些实施例中,第二参数集包括以下至少一项:与主机设备相关联的第一参数,与第一虚拟镜像文件相关联的第二参数,以及与客户端设备的用户信息相关联的第三参数。
在一些实施例中,装置700还第二会话密钥协商模块,被配置为与主机设备的可信执行环境组件协商第一会话密钥,其中解密密钥由第一会话密钥加密。
在一些实施例中,装置700还包括,第一认证信息接收模块,被配置为从主机设备处接收用于认证主机设备的第一认证信息,第一认证信息包括在与主机设备进行通信时所使用的主机设备的公钥。
备选地,在一些实施例中,装置700还包括,第一认证信息接收模块,从主机设备接收用于认证主机设备的第一认证信息,该第一认证信息可以包括用于与主机设备协商第一会话密钥的主机设备的公钥。
在一些实施例中,装置700还包括:配置文件发送模块,被配置为向主机设备发送用于生成第一虚拟镜像文件的配置文件;以及在客户端设备处,生成与配置文件对应的第一虚拟镜像文件。
在一些实施例中,装置700还包括:镜像文件发送模块,被配置为向主机设备发送经加密的虚拟镜像文件。
在一些实施例中,装置700还包括:第二认证信息接收模块,被配置为在目标虚拟机启动后,从主机设备的可信执行环境组件,接收用于认证可信执行环境的第二认证信息,其中第二认证信息包括用于加密和解密客户端设备的数据库操作指令的至少一个密钥对。
图8示出了其中可以实施本公开的一个或多个实施例的电子设备800的框图。应当理解,图8所示出的电子设备800仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图8所示出的电子设备800可以用于实现图1A的客户端设备120。
如图8所示,电子设备800是通用电子设备或计算设备的形式。电子设备800的组件可以包括但不限于一个或多个处理器或处理单元810、存储器820、存储设备830、一个或多个通信单元840、一个或多个输入设备880以及一个或多个输出设备860。处理单元810可以是实际或虚拟处理器并且能够根据存储器820中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高电子设备800的并行处理能力。
电子设备800通常包括多个计算机存储介质。这样的介质可以是电子设备800可访问的任何可以获取的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器820可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备830可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备800内被访问。
电子设备800可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图8中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器820可以包括计算机程序产品825,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元840实现通过通信介质与其他电子设备进行通信。附加地,电子设备800的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备800可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备850可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备860可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备800还可以根据需要通过通信单元840与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备800交互的设备进行通信,或者与使得电子设备800与一个或多个其他电子设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令,其中计算机可执行指令被处理器执行以实现上文描述的方法。根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
这里参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。
Claims (15)
1.一种基于可信执行环境的数据处理方法,包括:
在主机设备处,基于第一参数集确定第一度量值,所述第一度量值用于描述被托管在所述主机设备上的目标虚拟机;
经由所述主机设备的可信执行环境组件向客户端设备发送所述第一度量值;
经由所述可信执行环境组件从所述客户端设备接收用于解密所述目标虚拟机的第一虚拟镜像文件的解密密钥;以及
基于所述解密密钥,运行所述第一虚拟镜像文件以启动所述目标虚拟机。
2.根据权利要求1所述的方法,其中所述第一参数集包括以下至少一项:
与所述主机设备相关联的第一参数,
与所述第一虚拟镜像文件相关联的第二参数,以及
与所述客户端设备的用户信息相关联的第三参数。
3.根据权利要求1所述的方法,还包括:经由所述可信执行环境组件,与所述客户端设备协商第一会话密钥,其中所述解密密钥由所述第一会话密钥加密。
4.根据权利要求3所述的方法,还包括:
向所述客户端设备发送用于认证所述主机设备的第一认证信息,所述第一认证信息包括用于与所述客户端设备协商所述第一会话密钥的所述主机设备的公钥。
5.根据权利要求1所述的方法,还包括:
经由所述可信执行环境组件,将所述第一虚拟镜像文件在内存中进行加密。
6.根据权利要求1所述的方法,还包括:
从所述客户端设备接收用于生成所述第一虚拟镜像文件的配置文件;以及
基于所述配置文件,生成所述第一虚拟镜像文件。
7.根据权利要求1所述的方法,其中所述第一虚拟镜像文件包括被配置为响应于所述目标虚拟机的开启而被自动运行的至少一个组件,所述至少一个组件包括以下至少一项:
数据库组件,
认证组件,
加解密组件,以及
密钥设置组件。
8.根据权利要求1所述的方法,还包括:
在所述目标虚拟机启动后,经由所述可信执行环境组件,向所述客户端设备发送用于认证所述可信执行环境的第二认证信息,其中所述第二认证信息包括用于加密和解密所述客户端设备的数据库操作指令的至少一个密钥对。
9.一种基于可信执行环境的数据处理方法,包括:
在客户端设备处,从主机设备的可信执行环境组件接收第一度量值,所述第一度量值用于描述被托管在所述主机设备上的目标虚拟机;
基于第二参数集确定第二度量值,所述第二度量值用于描述所述客户端设备所期望的虚拟机;以及
响应于所述第二度量值与所述第一度量值一致,向所述主机设备的所述可信执行环境组件发送用于解密所述目标虚拟机的第一虚拟镜像文件的解密密钥。
10.根据权利要求9所述的方法,其中所述第二参数集包括以下至少一项:
与所述主机设备相关联的第一参数,
与所述第一虚拟镜像文件相关联的第二参数,以及
与所述客户端设备的用户信息相关联的第三参数。
11.根据权利要求10所述的方法,还包括:
在所述目标虚拟机启动后,从所述主机设备的所述可信执行环境组件,接收用于认证所述可信执行环境的第二认证信息,其中所述第二认证信息包括用于加密和解密所述客户端设备的数据库操作指令的至少一个密钥对。
12.一种基于可信执行环境的数据处理装置,包括:
第一度量值生成模块,被配置为:基于第一参数集确定第一度量值,所述第一度量值用于描述被托管在所述主机设备上的目标虚拟机;
第一度量值发送模块,被配置为:经由所述主机设备的可信执行环境组件向客户端设备发送所述第一度量值;
解密密钥接收模块,被配置为:经由所述可信执行环境组件从所述客户端设备接收用于解密所述目标虚拟机的第一虚拟镜像文件的解密密钥;以及
第一虚拟镜像运行模块,被配置为:基于所述解密密钥,运行所述第一虚拟镜像文件以启动所述目标虚拟机。
13.一种基于可信执行环境的数据处理装置,包括:
第一度量值接收模块,被配置为从主机设备的可信执行环境组件接收第一度量值,所述第一度量值用于描述被托管在所述主机设备上的目标虚拟机;
第二度量值生成模块,被配置为基于第二参数集确定第二度量值,所述第二度量值用于描述所述客户端设备所期望的虚拟机;以及
解密密钥发送模块,被配置为:响应于所述第二度量值与所述第一度量值一致,向所述主机设备的所述可信执行环境组件发送用于解密所述目标虚拟机的第一虚拟镜像文件的解密密钥。
14.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述电子设备执行根据权利要求1至11中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687091.XA CN116680687B (zh) | 2023-06-09 | 2023-06-09 | 数据处理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687091.XA CN116680687B (zh) | 2023-06-09 | 2023-06-09 | 数据处理方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116680687A true CN116680687A (zh) | 2023-09-01 |
CN116680687B CN116680687B (zh) | 2024-10-15 |
Family
ID=87778798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310687091.XA Active CN116680687B (zh) | 2023-06-09 | 2023-06-09 | 数据处理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116680687B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938840A (zh) * | 2024-03-21 | 2024-04-26 | 北京火山引擎科技有限公司 | 内容分发网络中的数据传输的方法、装置、设备和介质 |
CN118445835A (zh) * | 2024-07-09 | 2024-08-06 | 阿里云计算有限公司 | 参数调优方法、装置及电子设备 |
CN118445835B (zh) * | 2024-07-09 | 2024-11-12 | 阿里云计算有限公司 | 参数调优方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271124A (zh) * | 2010-06-01 | 2011-12-07 | 富士通株式会社 | 数据处理设备和数据处理方法 |
CN109844748A (zh) * | 2016-10-25 | 2019-06-04 | 微软技术许可有限责任公司 | 托管在虚拟安全环境中的安全服务 |
CN114296873A (zh) * | 2021-12-24 | 2022-04-08 | 海光信息技术股份有限公司 | 一种虚拟机镜像保护方法、相关器件、芯片及电子设备 |
CN114647487A (zh) * | 2022-03-21 | 2022-06-21 | 蚂蚁金服(杭州)网络技术有限公司 | 基于amd sev的可信执行环境架构及可信执行系统 |
CN115348077A (zh) * | 2022-08-12 | 2022-11-15 | 济南浪潮数据技术有限公司 | 一种虚拟机加密方法、装置、设备、存储介质 |
US20230128099A1 (en) * | 2021-10-25 | 2023-04-27 | International Business Machines Corporation | Trusted workload execution |
-
2023
- 2023-06-09 CN CN202310687091.XA patent/CN116680687B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102271124A (zh) * | 2010-06-01 | 2011-12-07 | 富士通株式会社 | 数据处理设备和数据处理方法 |
CN109844748A (zh) * | 2016-10-25 | 2019-06-04 | 微软技术许可有限责任公司 | 托管在虚拟安全环境中的安全服务 |
CN115795511A (zh) * | 2016-10-25 | 2023-03-14 | 微软技术许可有限责任公司 | 托管在虚拟安全环境中的安全服务 |
US20230128099A1 (en) * | 2021-10-25 | 2023-04-27 | International Business Machines Corporation | Trusted workload execution |
CN114296873A (zh) * | 2021-12-24 | 2022-04-08 | 海光信息技术股份有限公司 | 一种虚拟机镜像保护方法、相关器件、芯片及电子设备 |
CN114647487A (zh) * | 2022-03-21 | 2022-06-21 | 蚂蚁金服(杭州)网络技术有限公司 | 基于amd sev的可信执行环境架构及可信执行系统 |
CN115348077A (zh) * | 2022-08-12 | 2022-11-15 | 济南浪潮数据技术有限公司 | 一种虚拟机加密方法、装置、设备、存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938840A (zh) * | 2024-03-21 | 2024-04-26 | 北京火山引擎科技有限公司 | 内容分发网络中的数据传输的方法、装置、设备和介质 |
CN117938840B (zh) * | 2024-03-21 | 2024-06-21 | 北京火山引擎科技有限公司 | 内容分发网络中的数据传输的方法、装置、设备和介质 |
CN118445835A (zh) * | 2024-07-09 | 2024-08-06 | 阿里云计算有限公司 | 参数调优方法、装置及电子设备 |
CN118445835B (zh) * | 2024-07-09 | 2024-11-12 | 阿里云计算有限公司 | 参数调优方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116680687B (zh) | 2024-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113438289B (zh) | 基于云计算的区块链数据处理方法及装置 | |
US10721080B2 (en) | Key-attestation-contingent certificate issuance | |
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US9871821B2 (en) | Securely operating a process using user-specific and device-specific security constraints | |
US9286477B2 (en) | Secure app ecosystem with key and data exchange according to enterprise information control policy | |
CN105706048B (zh) | 使用硬件信任根的媒体客户端装置鉴权 | |
US20220108028A1 (en) | Providing cryptographically secure post-secrets-provisioning services | |
US8495383B2 (en) | Method for the secure storing of program state data in an electronic device | |
AU2021370924B2 (en) | Certificate based security using post quantum cryptography | |
US10601590B1 (en) | Secure secrets in hardware security module for use by protected function in trusted execution environment | |
WO2022073264A1 (en) | Systems and methods for secure and fast machine learning inference in trusted execution environment | |
US20130019110A1 (en) | Apparatus and method for preventing copying of terminal unique information in portable terminal | |
KR20130101964A (ko) | 플랫폼 컴포넌트들의 보안 업그레이드 또는 다운그레이드를 위한 방법 및 시스템 | |
CN114372245A (zh) | 基于区块链的物联网终端认证方法、系统、设备及介质 | |
CN116680687B (zh) | 数据处理方法、装置、设备和存储介质 | |
WO2022206203A1 (en) | Connection resilient multi-factor authentication | |
CN115664655A (zh) | 一种tee可信认证方法、装置、设备及介质 | |
US8914874B2 (en) | Communication channel claim dependent security precautions | |
US20200036535A1 (en) | Storing Data On Target Data Processing Devices | |
CN117453343A (zh) | 虚拟机度量、机密计算认证方法、设备、系统及存储介质 | |
CN114491565B (zh) | 固件安全启动方法、装置、计算设备和可读存储介质 | |
CN115357866A (zh) | 应用程序执行方法、装置、设备及存储介质 | |
KR20190046724A (ko) | 어플리케이션의 무결성 검증 방법 및 장치 | |
US20240004986A1 (en) | Cla certificateless authentication of executable programs | |
US20240333513A1 (en) | Systems and Methods for Demonstrating Identity to a Trusted Platform Module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |