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

用于对多租户计算环境中的租户工作负载进行完整性保护的系统、设备和方法技术方案

技术编号:24251234 阅读:71 留言:0更新日期:2020-05-22 23:25
本发明专利技术的主题是“用于对多租户计算环境中的租户工作负载进行完整性保护的系统、设备和方法”。在一个实施例中,一种设备包括:用来执行指令的核,其中响应于第一指令,核要从源位置获得请求者的加密的二进制文件,并将加密的二进制文件存储到目的地位置。该设备还可包括耦合到核的存储器执行电路,所述存储器执行电路响应于来自核的请求并基于第一指令,要为二进制文件生成至少一个完整性值,并存储与二进制文件相关联的至少一个完整性值。

Systems, devices, and methods for integrity protection of tenant workloads in a multi tenant computing environment

【技术实现步骤摘要】
用于对多租户计算环境中的租户工作负载进行完整性保护的系统、设备和方法
实施例涉及计算系统中的信息的保护。
技术介绍
随着云服务提供商(CSP)在可能不具有适当的物理安全性的远程位置中部署服务器,存储器安全性要求不断增加。如在多租户计算环境中实现的多密钥全存储器加密(MKTME)技术允许当客户工作负载驻留在存储器中时用不同密钥加密客户工作负载。尽管MKTME技术针对对于机密性的被动攻击提供防御,但是它们没有针对主动攻击提供任何防御,在主动攻击中,具有对系统的物理访问的攻击者可修改存储器中的代码/数据,潜在地引起秘密泄露。为了解决主动攻击,可将存储器完整性添加在存储器加密之上。传统的存储器完整性机制将加密的消息认证码(MAC)与存储在存储器的隐蔽区域中的存储器中的每个高速缓存行相关联。当将数据写入到存储器时生成MAC,并且当从存储器准备好数据时验证MAC。对数据的任何主动攻击将导致MAC不匹配,引起安全性异常。当引入存储器完整性机制以针对修改攻击进行防御时,其引入额外开销。用来提供完整性保护的当前解决方案已经被证明难以实现在基于云的实现中。附图说明图1是根据本专利技术的一个实施例的虚拟机环境的框图。图2是图示根据本专利技术的实施例的方法的高等级视图的流程图。图3A和3B是根据本专利技术的另一实施例的流程图。图4是根据本专利技术的又一实施例的方法的流程图。图5是根据本专利技术的又一实施例的方法的流程图。图6是根据本专利技术的实施例的云服务环境的框图。图7是示出根据本专利技术的一个实施例的设备的图。具体实施方式在各种实施例中,提供用来甚至在完整性值没有被暴露给云服务提供商(CSP)的软件时将二进制文件(binary)或其它工作负载带有完整性地加载到CSP的计算系统的技术。为此,实施例提供指令集架构(ISA)的带完整性加载(loadwithintegrity)(LDWINT)指令以及MKTME引擎的模式以允许租户二进制文件被带有完整性地加载。接着,将二进制文件提供给CSP的客户可印证确实在正确生成完整性值的情况下将二进制文件加载到CSP的系统。为了实现实施例,MKTME引擎可被配置有仅完整性模式,其中写入操作生成与被写入的数据相关联的完整性值,而没有执行任何加密。在实施例中,通过经LDWINT指令的微代码来激活该模式。CSP的不可信软件可使用该指令与客户二进制文件的标识来带有完整性地加载到存储器。在实施例中,指令在页粒度上操作,并使用在客户和云提供商之间共享的密钥来生成加密响应。将该测量提供回给客户,以使得能够验证确实使用LDWINT指令来将二进制文件带有完整性地加载到存储器。在特定实施例中,给定LDWINT指令的执行可将二进制文件的页块带有相关联完整性保护地加载到存储器中,并将每页的加密响应发送回给客户。可在云环境中使用实施例,其中一个用法用于虚拟机(VM)隔离。在VM隔离解决方案中,在存储器中加载代理映像。在每个信任域(TD)/VM上下文中使用与代理相关联的密钥来加载代理映像。代理负责代表虚拟机监视器(VMM)或其它管理程序编辑与TD相关联的关键结构(例如,虚拟机控制结构(VMCS)、扩展页表(EPT))。使用该模型,将CSP完全移到信任边界外,其中VM(以及代理)控制它自己的执行。提供加密的代理,并在云中远程加载代理。使用实施例来在云中带有完整性地加载代理可发生,同时给客户提供确实带有完整性地加载代理的保证。在一个实现中,结合不可由VMM访问(但原本对于可信执行技术(TXT)可访问)的受保护存储器范围或者诸如Intel®全存储器加密(TME)、带有完整性的TME(TMEi)、存储器加密引擎(MEE)或多密钥全存储器加密(MKTME)之类的存储器加密技术来使用Intel®虚拟化技术(VT)和TXT。该实施例从客体VM/工作负载的可信代码基(TCB)移除公共云服务提供商的VMM/管理程序代码。这些技术保护消费者的工作负载免于被主机VMM访问,而仍使得主机VMM能够保留平台的完全控制,并管理在平台上运行的客体虚拟机。实施例通过保护消费者的数据免于被云服务提供商、主机VMM、其它客体VM、管理员或具有物理访问的其它方、政府等访问来防止客体虚拟机内含有的消费者数据暴露。使用本文中描述的技术来提供的保护有效地提供与在私有云中(在本地(onpremise))运行相同工作负载的消费者将具有的相同等级的机密性和安全性。通过使得消费者能够验证在云中运行的公共云服务提供商的进程并未危害消费者的代码和数据来在消费者和公共云服务提供商之间建立相互信任关系。类似地,公共云服务提供商能够验证在云中运行的消费者的进程并未危害公共云服务提供商的代码和数据。图1是根据本专利技术的一个实施例的虚拟机环境100的框图。在该环境中,引入密钥域和域管理器的概念。密钥域是存储器的加密独立部分,其中对存储在属于密钥域的存储器位置中的数据的访问要求使用相关联的密钥域密钥来将数据解密。域管理器可使用密钥域来加密分离属于不同所有者的数据;在云服务环境中,域管理器可使用密钥域来加密分离属于云服务(诸如银行服务)的不同消费者的数据。例如,在图1的虚拟化环境100中,密钥域KD11501和KD21502用于分离属于不同虚拟机VM11301和VM21302的数据。属于虚拟机VM11301和VM21302中的每个虚拟机的数据可包括例如属于每个虚拟机VM11301和VM21302的消费者秘密(诸如银行账号、社会保险号等)。作为另一示例,属于虚拟机VM11301和VM21302中的每个虚拟机的数据可包括要被执行以在云服务提供商的环境内保护每个相应的虚拟机的秘密的计算机代码(又称为代码映像或简称为映像)。相应的域管理器(VMMlet1221和1222)代表它们的相应的主机所有者VM11301和VM21302起到与虚拟机监视器(VMM,诸如图1的VMM122)的作用类似的作用。如图1中所示,域管理器(VMMlet)在VM内而不是作为完全独立的VMM层提供VMM功能性。域管理器(VMMlet)是具有创建、退出和重新开始VM的执行的能力的特权代码。这些特权可被称为“vmxroot”功能性,并且包括执行诸如VMCS保存/恢复、通用寄存器(GPR)保存/恢复和/或vmexit/vmresume之类的命令的能力。此外,域管理器(VMMlet)控制诸如中断描述符表(IDT)、高级可编程中断控制器(APIC)指令之类的关键资源以及诸如页表和EPT之类的分页数据结构。在一些实施例中,域管理器(VMMlet)部分可包括控制VM的数据结构,诸如VMCS、它的相关联的数据结构以及与VM相关联的EPT。再次参考图1,VM11301和VM21302中的每个VM与其自己的域管理器(VMMlet)1221和1222一起被示出。域管理器VMMlet11221被示出在VM11301内,并且域管理器VMMlet21222示出在VM21302内,以表示每个相应的域管理器(VMMlet)的代码被包括在本文档来自技高网...

【技术保护点】
1. 一种用来为二进制文件生成完整性值的设备,包括:/n用来执行指令的核,其中响应于第一指令,所述核要从源位置获得请求者的二进制文件,并将所述二进制文件存储到目的地位置,所述二进制文件包括加密的映像;以及/n耦合到所述核的存储器执行电路,所述存储器执行电路响应于来自所述核的请求并基于所述第一指令,要为所述二进制文件生成至少一个完整性值,并存储与所述二进制文件相关联的所述至少一个完整性值,所述至少一个完整性值对于不可信实体不可访问。/n

【技术特征摘要】
20181115 US 16/1919611.一种用来为二进制文件生成完整性值的设备,包括:
用来执行指令的核,其中响应于第一指令,所述核要从源位置获得请求者的二进制文件,并将所述二进制文件存储到目的地位置,所述二进制文件包括加密的映像;以及
耦合到所述核的存储器执行电路,所述存储器执行电路响应于来自所述核的请求并基于所述第一指令,要为所述二进制文件生成至少一个完整性值,并存储与所述二进制文件相关联的所述至少一个完整性值,所述至少一个完整性值对于不可信实体不可访问。


2.如权利要求1所述的设备,其中响应于所述第一指令并且在所述二进制文件和所述至少一个完整性值的所述存储之后,所述核要进一步使用在所述设备和所述请求者之间共享的第一密钥来生成加密响应,并将所述加密响应发送给所述请求者以使得所述请求者能够印证带有完整性保护地将所述二进制文件存储到所述目的地位置。


3.如权利要求2所述的设备,其中所述第一指令包括带完整性加载指令,所述带完整性加载指令要标识所述源位置、所述目的地位置以及用来标识包括所述第一密钥和所述加密响应的结构的结构标识符。


4.如权利要求3所述的设备,其中对所述第一密钥进行封装以防止所述不可信实体使用所述第一密钥。


5.如权利要求1所述的设备,其中使用与所述目的地位置相关联的地址信息来加密所述二进制文件,所述设备要将所述地址信息发送给所述请求者以使得所述请求者能够加密所述二进制文件以形成所述加密的映像,所述请求者包括包含所述设备的多租户计算环境的租户。


6.如权利要求5所述的设备,其中响应于由所述请求者对所述二进制文件的完整性保护的请求,所述设备要将与所述目的地位置相关联的所述地址信息发送给所述请求者,以使得所述请求者能够使用第二密钥和所述地址信息来加密所述二进制文件。


7.如权利要求1所述的设备,还包括具有用来存储完整性指示符的第一字段的配置寄存器,所述完整性指示符在处于活动状态时要促使所述存储器执行电路在仅完整性模式下操作。


8.如权利要求7所述的设备,其中当所述存储器执行电路要为所述二进制文件生成所述至少一个完整性值并存储与所述二进制文件相关联的所述至少一个完整性值时,所述完整性指示符要处于活动状态。


9.如权利要求8所述的设备,其中在执行所述第一指令之后,所述核要将所述完整性指示符更新至非活动状态,以促使所述存储器执行电路在组合的加密和完整性模式下操作。


10.如权利要求9所述的设备,其中在所述组合的加密和完整性模式下,所述存储器执行电路要从所述目的地位置访问所述二进制文件的第一部分,为所述二进制文件的所述第一部分生成所生成的完整性值,将所述所生成的完整性值与所述二进制文件的所述至少一个完整性值进行比较,并且响应于匹配,解密所述二进制文件的所述第一部分并将所述二进制文件的所述第一部分提供给与所述请求者相关联的密钥域以用于执行。


11.如权利要求1所述的设备,其中所述存储器执行电路要将所述至少一个完整性值存储在所述二进制文件的数据块的元数据字段中。


12.一种用于在系统中处置加密应用的方法,包括:
从请求者接收加载加密应用以便在云服务提供商的至少一个服务器的受保护域中执行的请求;
响应于所述请求,确定所述云服务提供商的存储器中的目的地位置,在所述目的地位置将要存储所述加密应用;
将所述目的地位置的地址发送给所述请求者,其中所述请求者要使用第一密钥和所述目的地位置的所述地址来对所述加密应用进行加密;
从所述请求者接收所述加密应用,并将完整性保护信息运用于所述加密应用;
将所述加密应用与所述完整性保护信息一起存储在所述目的地位置;
使用第二密钥来生成加密响应,以确认所述加密应用与所述完整性保护信息一起被存储在所述目的地位置;以及
将所述加密响应发送给所述请求者。


13.如权利要求12所述的方法,还包括响应于至少部分地基于所述完整性保护信息来确定所述加密应用在被存储在所述存储器中时没有被修改,在所述至少一个服务器的所述受保护域中执行所述加密应用。


14.如权利要求12所述的方法,...

【专利技术属性】
技术研发人员:S查布拉DM杜伦
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1