当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于安全公共云的密码存储器所有权表制造技术

技术编号:21183870 阅读:57 留言:0更新日期:2019-05-22 14:48
在公共云环境中,使用云服务提供商(CSP)的工作负载管理软件未知的消费者提供的密钥,在CSP的服务器存储器中加密每个消费者/客户的工作负载。加密的消费者/访客工作负载映像在由CSP的工作负载管理软件指定的存储器位置处加载到CSP的服务器存储器中。基于CSP指定的存储器位置,访客工作负载确定应加载存储器映射结构和其他类型的消费者数据的预期硬件物理地址。这些预期的硬件物理地址由存储器所有权表(MOT)中的访客工作负载指定,预期的硬件物理地址用于检查随后的CSP指定的存储器映射是否符合预期。存储器所有权表条目也可以由CSP未知的消费者提供的密钥进行加密。

Cryptographic Memory Ownership Table for Secure Public Cloud

In a public cloud environment, the workload of each consumer/customer is encrypted in the server memory of the CSP using the key provided by the unknown consumer using the workload management software of the cloud service provider (CSP). Encrypted consumer/visitor workload images are loaded into CSP server memory at memory locations specified by CSP workload management software. Based on the memory location specified by CSP, the visitor workload determines the expected hardware physical address of the memory mapping structure and other types of consumer data to be loaded. These expected hardware physical addresses are specified by the visitor workload in the Memory Ownership Table (MOT), and the expected hardware physical addresses are used to check whether the memory mapping specified by subsequent CSPs meets expectations. Memory ownership table entries can also be encrypted by keys provided by consumers unknown to CSP.

【技术实现步骤摘要】
用于安全公共云的密码存储器所有权表
本申请要求于2017年2月28日提交的名称为“SecurePublicCloudwithProtectedGuest-VerifiedHostControl”的美国专利申请序列号15/444,771的优先权,该美国申请要求于2016年10月14日提交的题为“SecurePublicCloud”的美国专利申请序列号15/293,967的优先权,该后述美国申请要求于2016年8月11日提交的题为“SecurePublicCloud”的美国临时专利申请第62/373,627号的优先权,其中每个申请的公开内容均在此通过引入方式并入。
技术介绍
在当今的云服务环境中,云服务提供商的主机工作负载管理软件(诸如虚拟化环境中的虚拟机监视器(VMM))具有对访客工作负载(例如访客虚拟机)的完全控制,主机工作负载管理软件代表云服务的消费者进行管理。主机工作负载管理软件可以读取或写入访客存储器,修改执行访客工作负载的软件的控制流程,读取或修改访客寄存器状态,读取或修改访客控制结构,例如寄存器值等。对访客工作负载的执行的这种完全控制提出了以下安全风险:主机工作负载管理软件受损,并且可能修改访客工作负载,使得驻留在访客工作负载内的消费者的秘密和数据被暴露。附图说明图1是示出了典型虚拟机环境的框图。图2是可用于实现实施例的云服务环境的框图。图3是示出了可用于实现实施例的服务器环境的图。图4是示出了根据实施例的消费者代理与服务器环境的组件之间的数据流的图。图5是示出了根据实施例的消费者代理与服务器环境的组件之间的数据流的图。图6A和图6B是示出了根据实施例的服务器环境的组件之间的数据流的图。图7是示出了根据实施例的服务器环境的组件之间的数据流的图。图8是根据实施例执行的方法的流程图。图9是根据实施例执行的方法的流程图。图10是示出了根据实施例的存储器所有权表的图。具体实施方式在虚拟化云环境中,虚拟机监视器(VMM)用作主机工作负载管理软件,并且访客工作负载被称为“虚拟机”。这里提供的技术是根据VMM和访客VM描述的,尽管这些技术通常适用于其他类型的主机工作负载管理软件,例如操作系统,以及其他类型的访客工作负载,例如应用。为了充分利用资源,在云中运行的主机工作负载管理软件可以从一个消费者(有时称为访客工作负载的所有者或云服务提供商的服务器环境的租户)拥有的访客工作负载切换执行到另一个消费者拥有的另一个访客工作负载。通过从一个访客工作负载切换到另一个访客工作负载,可以通过主机工作负载管理软件修改与访客工作负载的执行状态有关的数据结构。这些数据结构可以包括用于控制访客工作负载的执行的存储器映射(例如,页表和扩展页表(EPT))和控制结构(例如虚拟机控制结构)。页表是计算机操作系统中的存储器系统用于存储虚拟/线性地址与物理地址之间的映射的数据结构。访问过程使用虚拟/线性地址,而硬件使用物理地址。每个进程都给人一种印象:使用大量连续的存储器部分来执行进程的工作负载;然而,在物理上,每个进程的存储器可以分散在物理存储器的不同区域上,或者可以已经被移动(分页)到另一个存储设备,通常是到硬盘驱动器。当进程请求访问存储器中的数据时,操作系统将进程提供的虚拟/线性地址映射到存储该数据的实际存储器位置的物理地址。然而,在虚拟化环境中,访客VM的操作系统不能访问物理硬件地址。因此,访客VM使用访客操作系统自己的页表在访客虚拟/线性地址(VA)和访客物理存储器地址(GPA)之间形成自己的存储器映射。这些存储器映射还可以使用的扩展页表(EPT)技术,其中转换后备缓冲区(TLB)高速缓存可跟踪如访客操作系统所看到的虚拟存储器和物理存储器。EPT的目的是使每个访客虚拟机在访问访客物理地址时认为访客VM本身正在管理存储器硬件。但是,访客物理地址实际上由VMM管理和转换为实际的硬件物理地址。通过这种方式,VMM给VM软件一种错觉,即VM软件正在管理物理系统,而实际上物理系统由另一层软件VMM管理。TLB通过向每个VM指派地址空间标识符(ASID)来跟踪各个VM。使用地址空间标识符,TLB可以针对每个虚拟机跟踪到物理硬件地址的虚拟机地址空间映射。ASID用于标记TLB,以便在切换到另一个VM时不需要从先前VM的TLB刷新访客VM状态。相反,TLB使用该标记来将不同的VM条目分开,仅使用当前运行的VM的标签,同时仍对非活动VM的状态进行高速缓存。在虚拟化环境中,虚拟机控制结构(VMCS)是存储器中的数据结构,其迄今已由主机VMM管理。VMCS保持访客VM和主机VMM两者的处理器寄存器状态。VMCS对于每个访客VM的每个逻辑处理器存在一次,而访客VM由主机VMM管理。在多处理器系统中,同时执行访客VM的每个处理器可以具有唯一的VMCS。随着不同VM之间的执行上下文的每次改变,针对当前正在执行的VM恢复相对应的VMCS,定义VM的虚拟处理器的状态。当执行上下文从访客VM切换(VMExits)回到主机VMM时,使用相同的VMCS结构从VMCS的主机状态区域恢复主机保存的处理器状态。这里给出的公开内容允许主机VMM保留对存储器映射/页表的控制,使得供应主机VMM的云服务提供商控制云服务提供商的资源的使用。相反,虚拟机控制结构(VMCS)的管理被移动到访客VM。虽然主机VMM仍然可以测量和验证访客生成的或访客修改的VMCS,但是主机VMM可以请求访客VM在使用VMCS之前修改如主机可能要求的VMCS。在本公开中,进一步开发了保护消费者的工作负载和秘密免受受损的云服务提供商的硬件或软件破坏以及保护云服务提供商的硬件和软件免受受损的消费者工作负载破坏的概念。这些概念在上述共同未决的专利申请中引入,包括于2017年2月28日提交的题为“SecurePublicCloudwithProtectedGuest-VerifiedHostControl”的美国专利申请序列号15/444,771,其要求于2016年10月14日提交的题为“SecurePublicCloud”的美国专利申请序列号15/293,967的优先权,该申请又要求于2016年8月11日提交的题为“SecurePublicCloud”的美国临时专利申请第62/373,627号的优先权。在上面引用的专利申请中,保护消费者的工作负载和秘密免受受损的云服务提供商的硬件或软件破坏以及保护云服务提供商的硬件和软件免受受损的消费者工作负载破坏是基于密钥域的概念。密钥域是存储器的密码分离部分,其中对存储在属于密钥域的存储器位置中的数据的访问需要使用相关联的密钥域密钥来解密数据。当硬件将数据写入属于密钥域的存储器位置时,使用密钥域密钥加密数据;当硬件从属于密钥域的存储器位置读取数据时,使用密钥域密钥对数据进行解密。如果使用错误的密钥域密钥对属于密钥域的物理存储器位置的内容解密,则可能破坏所得到的明文和/或可能报告完整性违规。响应完整性违规,错误使用的密钥域密钥可能无效。使用密钥域,访客VM在即使主机VMM也无法访问的存储器的受保护区域内执行,因为密钥域是用主机VMM未知的消费者提供的(租户提供的)密钥域密钥加密的。在另一实施例中,使用范围寄存器来实现存储器的受保护区域,其中指定的寄存器阻止本文档来自技高网...

【技术保护点】
1.一种用于在公共云服务提供商环境中保护访客工作负载的装置,所述装置包括:处理器;以及耦合到所述处理器的存储器;其中,所述处理器用于执行不受信工作负载管理器以管理至少一个访客工作负载的执行;所述不受信工作负载管理器用于(i)针对所述至少一个访客工作负载的访客工作负载分配所述存储器的区域,以及(ii)将与所述存储器的区域的相应存储器位置相关联的相应原始硬件物理地址指派给由所述访客工作负载提供的相应原始访客地址;所述访客工作负载用于存储从分配给所述访客工作负载的所述存储器的区域的每个相应原始访客地址到所述访客工作负载的相应原始硬件物理地址的相应映射;响应于从所述访客工作负载接收用于使用请求的访客地址来访问所述存储器的请求,所述处理器还用于:(i)从所述不受信工作负载管理器获得转换后的工作负载管理器提供的硬件物理地址以对应于所述请求的访客地址;(ii)确定针对所述转换后的工作负载管理器提供的硬件物理地址是否存在存储的映射;(iii)响应于找到所述存储的映射,确定来自所述存储的映射的存储的预期访客地址是否与所述请求的访客地址匹配;以及(iv)如果来自所述存储的映射的所述存储的预期访客地址与所述请求的访客地址匹配,则使所述访客工作负载能够访问所述转换后的工作负载管理器提供的硬件物理地址的内容。...

【技术特征摘要】
2017.11.10 US 15/808,9861.一种用于在公共云服务提供商环境中保护访客工作负载的装置,所述装置包括:处理器;以及耦合到所述处理器的存储器;其中,所述处理器用于执行不受信工作负载管理器以管理至少一个访客工作负载的执行;所述不受信工作负载管理器用于(i)针对所述至少一个访客工作负载的访客工作负载分配所述存储器的区域,以及(ii)将与所述存储器的区域的相应存储器位置相关联的相应原始硬件物理地址指派给由所述访客工作负载提供的相应原始访客地址;所述访客工作负载用于存储从分配给所述访客工作负载的所述存储器的区域的每个相应原始访客地址到所述访客工作负载的相应原始硬件物理地址的相应映射;响应于从所述访客工作负载接收用于使用请求的访客地址来访问所述存储器的请求,所述处理器还用于:(i)从所述不受信工作负载管理器获得转换后的工作负载管理器提供的硬件物理地址以对应于所述请求的访客地址;(ii)确定针对所述转换后的工作负载管理器提供的硬件物理地址是否存在存储的映射;(iii)响应于找到所述存储的映射,确定来自所述存储的映射的存储的预期访客地址是否与所述请求的访客地址匹配;以及(iv)如果来自所述存储的映射的所述存储的预期访客地址与所述请求的访客地址匹配,则使所述访客工作负载能够访问所述转换后的工作负载管理器提供的硬件物理地址的内容。2.如权利要求1所述的装置,其中,所述处理器还用于:确定来自所述存储的映射的存储的预期硬件物理地址是否与所述转换后的工作负载管理器提供的硬件物理地址匹配,其中,使所述访客工作负载能够访问所述转换后的工作负载管理器提供的硬件物理地址的内容包括如果来自所述存储的映射的所述存储的预期访客地址与所述请求的访客地址匹配并且来自所述存储的映射的所述存储的预期硬件物理地址与所述转换后的工作负载管理器提供的硬件物理地址匹配,则启用所述访客工作负载。3.如权利要求1所述的装置,其中,所述访客工作负载还用于:(i)使由所述访客工作负载写入所述存储器的区域的每个相应存储器位置的内容被用针对所述访客工作负载的消费者提供的密钥进行加密;以及(ii)使得针对所述访客工作负载的每个相应映射被用所述消费者提供的密钥进行加密。4.如权利要求3所述的装置,其中,使得针对所述访客工作负载的映射被用所述消费者提供的密钥进行加密将所述映射的相应原始访客地址绑定到所述映射的相应原始硬件物理地址。5.如权利要求3所述的装置,其中,使得由所述访客工作负载写入的所述内容被用所述消费者提供的密钥进行加密还将所述映射的相应原始访客地址绑定到所述映射的相应原始硬件物理地址的加密内容。6.如权利要求1所述的装置,其中,所述访客工作负载还用于将每个相应的映射存储为存储器所有权表中的相应条目。7.如权利要求6所述的装置,其中,所述访客工作负载还用于将从所述访客工作负载的相应原始访客地址到所述访客工作负载的相应原始虚拟地址的虚拟映射存储在所述存储器所有权表中;所述处理器响应于来自所述访客工作负载的用于访问存储在所述相应原始访客地址处的数据的请求,还用于:(i)识别所述存储器所有权表中的与所述相应原始访客地址相对应的条目;以及(ii)在访问存储在所述相应原始访客地址处的数据之前,验证来自所述存储器所有权表中的所述条目的预期原始虚拟地址与所述相应的原始虚拟地址匹配。8.如权利要求1所述的装置,其中,所述访客工作负载还用于存储所述访客工作负载的预期寄存器值,以使所述处理器能够定位针对所述访客工作负载的页目录和页表;以及所述处理器用于在访问针对所述访客工作负载的所述页目录和所述页表之前验证工作负载管理器提供的寄存器值与所述访客工作负载的所述预期寄存器值匹配。9.如权利要求1所述的装置,其中,所述访客工作负载还用于:(i)存储从原始控制结构硬件物理地址到所述访客工作负载的预期控制结构硬件物理地址的控制结构映射;以及(ii)与所述控制结构映射一起存储控制结构指示符,其中,如果所述原始控制结构硬件物理地址的内容包含针对所述访客工作负载的控制结构,则所述控制结构指示符被设置为真;以及所述处理器还用于在从所述访客工作负载的工作负载管理器提供的控制结构硬件物理地址加载针对所述访客工作负载的所述控制结构之前验证所述工作负载管理器提供的控制结构硬件物理地址与所述访客工作负载的所述预期控制结构硬件物理地址匹配,并且所述控制结构指示符为真。10.如权利要求1所述的装置,其中,所述访客工作负载还用于存储特定原始硬件物理地址的预期内容验证值,其中,所述预期内容验证值是通过对所述特定原始硬件物理地址的内容进行散列来确定的;所述处理器用于在访问存储在所述特定原始硬件物理地址处的数据之前验证所述预期内容验证值与所述特定原始硬件物理地址的内容的散列匹配。11.一种用于在公共云服务提供商环境中保护访客工作负载的计算机实现的方法,其中,所述方法由处理器执行,并且所述方法包括:执行不受信工作负载管理器以管理至少一个访客工作负载的执行;接收来自所述至少一个访客工作负载的访客工作负载的用于使用请求的访客地址来访问存储器的请求;从所述不受信工作负载管理器获得转换后的工作负载管理器提供的硬件物理地址以对应于所述请求的访客地址;确定针对所述转换后的工作负载管理器提供的硬件物理地址是否存在存储的映射;响应于找到所述存储的映射,确定来自所述存储的映射的存储的预期访客地址是否与所述请求的访客地址匹配;以及如果来自所述存储的映射的所述存储的预期...

【专利技术属性】
技术研发人员:D·M·德拉姆S·查伯拉R·L·萨希塔B·E·亨特利G·奈格G·盖尔宗B·V·帕特尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1