CN113544646B - 安全存储隔离 - Google Patents

安全存储隔离 Download PDF

Info

Publication number
CN113544646B
CN113544646B CN202080020115.0A CN202080020115A CN113544646B CN 113544646 B CN113544646 B CN 113544646B CN 202080020115 A CN202080020115 A CN 202080020115A CN 113544646 B CN113544646 B CN 113544646B
Authority
CN
China
Prior art keywords
page
secure
requestor
response
access
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.)
Active
Application number
CN202080020115.0A
Other languages
English (en)
Other versions
CN113544646A (zh
Inventor
J·布拉德伯里
L·C·海勒
U·巴赫尔
F·布萨巴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113544646A publication Critical patent/CN113544646A/zh
Application granted granted Critical
Publication of CN113544646B publication Critical patent/CN113544646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)

Abstract

根据示例的一种计算机实施的方法包括:由计算***的安全接口控制接收请求者访问计算***的存储器中的页面的请求。该方法进一步包括:响应于确定请求者是不安全请求者且响应于安全存储位被设置,禁止访问该页面,而不执行授权检查。该方法进一步包括响应于确定该请求者是安全请求者,执行该授权检查。

Description

安全存储隔离
背景技术
本发明总体上涉及计算机技术,并且更具体地涉及安全存储隔离。
云计算和云存储为用户提供在第三方数据中心中存储和处理他们的数据的能力。云计算促进快速且容易地向客户供应虚拟机(VM)的能力,而不需要客户购买硬件或为物理服务器提供地面空间。客户可以根据客户的变化的偏好或要求容易地扩展或收缩VM。通常,云计算提供商供应物理地驻留在提供商的数据中心处的服务器上的VM。客户通常关心VM中的数据的安全性,特别是因为计算提供者通常在同一服务器上存储多于一个客户的数据。客户可能期望他们自己的代码/数据与云计算提供者的代码/数据之间的安全,以及他们自己的代码/数据与在提供者的站点处运行的其他VM的代码/数据之间的安全。此外,客户可能期望来自提供者的管理员的安全性以及防止来自机器上运行的其他代码的潜在安全漏洞。
为了处理这样的敏感情况,云服务提供商可以实现安全控制以确保适当的数据隔离和逻辑存储隔离。在实现云基础架构中虚拟化的广泛使用导致云服务的客户的独特安全问题,因为虚拟化改变了操作***(OS)与底层硬件(无论是其计算、存储或甚至联网硬件)之间的关系。这引入了虚拟化作为附加层,它本身必须被适当地配置、管理和安全。
通常,在主机管理程序的控制下作为访客运行的VM依赖于该管理程序来透明地为该访客提供虚拟化服务。这些服务包括存储器管理、指令仿真和中断处理。
在存储器管理的情况下,VM可以将其数据从盘移动(页面调入)以驻留在存储器中,并且VM还可以将其数据移回(页面调出)到盘。当页面驻留在存储器中时,VM(访客)使用动态地址转换(DAT)来将存储器中的页面从访客虚拟地址映射到访客绝对地址。此外,主机管理程序具有针对存储器中的访客页面的其自己的DAT映射(从主机虚拟地址到主机绝对地址),且其可独立地且对访客透明地将访客页面页面调入和调出存储器。通过主机DAT表,管理程序提供存储器隔离或在两个单独的访客VM之间共享访客存储器。主机还能够访问访客存储器,以在必要时代表访客模拟访客操作。
发明内容
根据本文描述的一个或多个示例,一种计算机实现的方法包括:由计算***的安全接口控制接收请求者访问计算***的存储器中的页面的请求。该方法进一步包括:响应于确定请求者是不安全请求者且响应于安全存储位被设定,禁止访问所述页面,而不执行授权检查。该方法进一步包括响应于确定该请求者是安全请求者,执行该授权检查。
根据一个或多个示例,该授权检查包括用于验证该页面属于正在尝试访问该页面的安全域的检查。根据一个或多个示例,所述授权检查包括用于在所述安全页面驻留在存储器中时验证所述安全页面的不安全实体的映射的检查。根据一个或多个示例,所述方法包括:响应于来自不受信实体的请求,将所述页面标记为安全页面。根据一个或多个示例,所述方法包括:响应于将所述页面标记为所述安全页面,阻止任何不受信实体访问所述安全页面。根据一个或多个示例,所述方法包括:在将所述页面标记为所述安全页面之前并且响应于来自所述不受信实体的所述请求,由所述不受信实体发布导入命令,以准备所述页面的页面调入。根据一个或多个示例,安全接口控制包括固件、硬件或固件和硬件的组合;所述不受信实体包括管理程序;以及所述安全请求者包括虚拟机,所述虚拟机是由所述管理程序托管在安全域中的安全访客。根据一个或多个示例,该方法包括响应于该授权检查确定该安全请求者被授权,授予该请求者对该页面的访问。
根据本文描述的一个或多个示例,一种计算机实现的方法包括:由计算***的安全接口控制接收请求者访问计算***的存储器中的页面的请求。所述方法进一步包括:响应于确定所述请求者是不安全请求者且响应于安全存储位被设置,禁止访问所述页面,而不执行授权检查。该方法进一步包括响应于确定该请求者是安全请求者,执行该授权检查。
根据一个或多个示例,所述授权检查包括用于验证所述页面属于正尝试访问所述页面的安全域的检查,以及用于验证在所述页面驻留在存储器中时不安全实体尚未改变所述页面的主机映射的检查。
本发明的其他实施例在计算机***和计算机程序产品中实现上述方法的特征。
所公开的技术的优点包括在不同实体或客户机的存储之间提供隔离。本发明的一个或多个实施例提供两个单独的机制来支持额外的安全性。对于第一种机制,当代表安全访客(不是不安全访客)进行访问时,硬件执行细粒度检查。尽管该第一机制可能已经用于所有访问,但为了避免不安全访客执行这些细粒度安全检查所需的开销,还提供了第二机制。第二机制利用单独的较粗粒度指示(安全存储位),其标记安全存储,因此硬件可防止不安全实体访问该存储。此外,对页面是安全的单独指示允许I/O基础设施依赖于该相同的单个指示,而不是需要其自己的防止对安全(解密)客户页面的访问的方法。因此,两个单独的安全机制的使用通过提供必要的隔离而不显著增加不安全访客所经历的处理周期来改善计算机***的功能。
通过本公开的技术实现了附加特征和优点。本发明的其他实施例和方面在此详细描述并且被认为是本发明的一部分。为了更好地理解本发明的优点和特征,参考说明书和附图。
附图说明
在说明书结论的权利要求书中特别指出并清楚地要求保护本文描述的独占权利的细节。从以下结合附图的详细描述中,本发明的实施例的前述和其他特征和优点是显而易见的,其中:
图1描述了根据本发明的一个或多个实施例的区域安全表;
图2描述了根据本发明的一个或多个实施例的用于执行DAT的虚拟和绝对地址空间;
图3描绘了根据本发明的一个或多个实施例的用于支持在管理程序下运行的虚拟机(VM)的嵌套的三部分DAT;
图4描绘了根据本发明的一个或多个实施例的安全访客存储的映射;
图5描绘了根据本发明的一个或多个实施例的导入操作的过程流程;
图6描绘了根据本发明的一个或多个实施例的导入操作的过程流程;
图7描述了根据本发明的一个或多个实施例的由安全接口控制进行的访问标注的过程流程;
图8描绘了根据本发明的一个或多个实施例的由安全接口控制支持安全和不安全访问的转换的过程流程;
图9描绘了根据本发明的一个或多个实施例的由安全接口控制进行安全存储保护的DAT的过程流程;
图10描绘了根据本发明的一个或多个实施例的使用安全接口控制的安全执行的过程流程;
图11示出了根据本发明一个或多个实施例的云计算环境;
图12描绘了根据本发明的一个或多个实施例的抽象模型层;
图13描绘了根据本发明的一个或多个实施例的***;并且
图14描绘了根据本发明的一个或多个实施例的处理***。
本文所描绘的图是说明性的。在不背离本发明的精神的情况下,可以对本文所描述的图或操作进行许多变化。例如,这些动作可按不同次序执行,或动作可被添加、删除或修改。同样,术语“耦合”及其变体描述了在两个元件之间具有通信路径并且不暗示这些元件之间的在它们之间没有中间元件/连接的直接连接。所有这些变化被视为说明书的一部分。
具体实施方式
在此呈现的技术提供安全和不安全的不同实体或访客虚拟机的存储之间的有保证的隔离,而不依赖于管理程序来提供隔离。另外,本技术阻止访客存储(在解密时)被管理程序访问。这通过实现安全存储位来实现,使得不安全实体不经历在安全实体之间提供安全所需的开销。
在主机管理程序的控制下作为访客运行的虚拟机(VM)依赖于该管理程序来透明地为该访客提供虚拟化服务。这些服务可以应用于安全实体和另一不信任实体之间的传统上允许此其他实体访问安全资源的任何接口。如前所述,这些服务可包括但不限于存储器管理、指令仿真和中断处理。例如,对于中断和异常注入,管理程序通常读取和/或写入访客的前缀区域(低核)。如在此使用的术语“虚拟机”或“VM”是指物理机器(计算设备、处理器等)及其处理环境(操作***(OS)、软件资源等)的逻辑表示。VM被维护为在底层主机(物理处理器或处理器组)上执行的软件。从用户或软件资源的角度来看,VM看起来是它自己的独立物理机器。如本文中所使用的术语“管理程序”和“VM监测器(VMM)”是指管理并准许多个VM在同一主机上使用多个(并且有时是不同的)OS执行的处理环境或平台服务。应当理解,部署VM包括VM的安装过程和VM的激活(或开启)过程。在另一示例中,部署VM包括VM的激活(或开启)过程(例如,在VM先前被安装或已经存在的情况下)。
为了促进和支持安全访客,存在技术挑战,其中在管理程序和安全访客之间需要额外的安全性而不依赖于管理程序,使得管理程序不能访问来自VM的数据,并且因此不能以上述方式提供服务。
本文描述的安全执行提供硬件机制以确保安全存储和不安全存储之间以及属于不同安全用户的安全存储之间的隔离。对于安全访客,在“不受信的”不安全管理程序与安全访客之间提供了额外的安全性。为了做到这一点,管理程序通常代表访客所做的许多功能需要被结合到机器中。在此描述了一种新的安全接口控制(在此也被称为“UV”),用于提供管理程序与安全访客之间的安全接口。术语安全接口控制和UV在本文中可互换使用。安全接口控制与硬件协作工作以提供该附加安全性。此外,较低层管理程序可以为该不受信管理程序提供虚拟化,并且如果在可信代码中实现该较低层管理程序,则它也可以是安全接口控制的一部分。
当不同服务由也访问服务调用者的数据和状态的单独的被授权程序提供时,这种机制也可以应用。在一种情况下,该单独程序可以是在另一情况下通过使用监管器调用接口来提供监管器功能的监管器程序。
在一个示例中,安全接口控制在内部、安全和可信的硬件和/或固件中实现。对于安全访客或实体,安全接口控制提供安全环境的初始化和维护以及这些安全实体在硬件上的分派的协调。当安全访客积极地使用数据并且其驻留在主机存储中时,其在安全存储中保持“无危险(in the clear)”。安全访客存储可以由该单个安全访客访问——这由硬件严格地强制执行。即,该硬件防止任何不安全实体(包括管理程序或其他不安全访客)或不同的安全访客访问该数据。在该示例中,安全接口控制作为固件的最低级别的可信部分运行。最低级别或毫代码实际上是硬件的扩展,并且用于实现例如在来自IBM的中定义的复杂指令和功能。毫代码能够访问存储的所有部分,其在安全执行的上下文中包括其自身的安全UV存储、不安全管理程序存储、安全访客存储和共享存储。这允许它提供安全访客或管理程序支持该访客所需的任何功能。安全接口控制还具有对硬件的直接访问,其允许硬件在由安全接口控制建立的条件的控制下有效地提供安全检查。
根据本发明的一个或多个实施例,在硬件中提供安全-存储位以标记安全页面。当该位被设置时,硬件阻止任何不安全访客或管理程序访问该页面。此外,每个安全或共享页面被注册在区安全表中,并且以安全-访客-域标识(ID)标注。当页面不安全时,就这样在区安全表中对其进行标记。该区安全表由安全接口控制按每分区或区来维护。每个主机绝对页面有一个条目,其由硬件在安全实体进行的任何DAT转换上使用,以验证该页面仅由拥有它的安全访客或实体访问。
安全-存储位在安全存储与不安全存储之间提供较粗粒度增益隔离,以便减少不安全实体的开销。由于这个位的位置以及更简单的单个位检查,不安全转换过程的额外开销无关紧要。安全-访客-域ID以更高性能成本在不同安全实体之间提供更细粒度的隔离。域ID的大小使得此检查驻留在与安全-存储位相同的位置中是不切实际的。这允许分配该ID的更多灵活性,并且允许其他识别信息(进一步提高安全性)也与该主机绝对页面相关联。对真实***的暗示是依赖于硬件中的更大安全实体ID检查可能导致对现有不安全访客的禁止性性能影响。此外,混合不安全访客和安全访客的使用情况在安全接口控制技术的引入中是相关的,从而导致这种分层保护方案的进一步优点。
根据本发明的一个或多个实施例,软件使用UV调用(UVC)指令来请求安全接口控制执行特定动作。例如,UVC指令可由管理程序使用以初始化安全接口控制、创建安全访客域(例如,安全访客配置)和在该安全配置内创建虚拟CPU。它也可以用于导入(解密并分配给安全访客域)和导出(加密并允许主机访问)安全访客页面,作为管理程序页面调入或页面调出操作的一部分。此外,安全客户具有定义与管理程序共享的存储、使得安全存储共享、以及使得共享存储安全的能力。
为了提供安全性,当管理程序透明地页面调入和调出安全访客数据时,与硬件一起工作的安全接口控制提供和保证数据的解密和加密。为了实现这一点,当页面调入和调出访客安全数据时,需要UV发布新的UVC。基于由安全接口控制在这些新UVC期间设置的控制,硬件将保证这些UVC确实由管理程序发布。
在该新的安全环境中,每当管理程序页面调出安全页面时,需要从安全存储(导出)UVC发布新的转换。响应于此导出UVC,UV或安全接口控制将1)指示页面被UV“锁定”,2)加密该页面,3)将页面设置为不安全,并且4)重置UV锁。一旦导出UVC完成,管理程序现在可以页面调出加密的访客页面。
另外,每当管理程序正页面调入安全页面时,其必须发布到安全存储(导入)UVC的新转换。响应于此导入UVC,UV或安全接口控制将1)在硬件中将该页面标记为安全,2)指示该页面被UV“锁定”,3)解密该页面,4)设置对特定安全访客域的权限,以及5)重置UV锁。每当安全实体进行访问时,硬件在转换期间对该页面执行权限检查。这些额外的安全检查包括:1)检查以验证该页面确实属于正尝试访问它的安全访客域;以及2)检查以确保当该页面已经驻留在访客存储器中时管理程序没有改变此页面的主机映射。一旦页面被标记为安全,硬件就防止管理程序或不安全访客VM访问任何安全页面。附加的转换步骤防止由另一安全VM访问并且防止由管理程序重新映射。
对页面是安全的单独指示(在上文的导入UVC的步骤1中设定)避免了那些对不安全访客的额外安全性检查的开销。这些额外检查仅在代表安全访客进行访问时由硬件执行。此外,对页面是安全的单独指示允许I/O基础设施依赖于该相同的单个指示,而不是需要其自己的防止对安全(解密)客户页面的访问的方法。
在此呈现的技术提供安全和不安全的不同实体或访客虚拟机的存储之间的保证隔离,而不依赖于管理程序来提供隔离。另外,本技术阻止客户机存储(在解密时)被管理程序访问。这通过实现安全存储位来实现,使得不安全实体不经历在安全实体之间提供安全所需的开销。
本发明的一个或多个实施例提供了优于现有***的技术改进,其在不同实体或访客机器的存储之间提供隔离。在现有***中,这种隔离由管理程序提供,其具有如下缺点:如果管理程序受到危害,则客户机也可能受到危害。本发明的一个或多个实施例提供两个单独的机制来支持额外的安全性。对于第一种机制,当代表安全访客(不是不安全访客)进行访问时,硬件执行细粒度检查。尽管该第一机制可能已经用于所有访问,但为了避免不安全访客执行这些细粒度安全检查所需的开销,还提供了第二机制。第二机制利用单独的较粗粒度指示(安全存储位),其标记安全存储,因此硬件可防止不安全实体访问该存储。此外,对页面是安全的单独指示允许I/O基础设施依赖于该相同的单个指示,而不是需要其自己的防止对安全(解密)客户页面的访问的方法。因此,两个单独的安全机制的使用通过提供必要的隔离而不显著增加不安全访客所经历的处理周期来改善计算机***的功能。
现在转到图1,根据本发明的一个或多个实施例,总体上示出了用于区安全的表100。图1中所示的区安全表100由安全接口控制维护,并且由安全接口控制和硬件使用,来保证对由安全实体访问的任何页面的安全访问。区安全表100由主机绝对地址110索引。即,对于主机绝对存储的每个页面存在一个条目。每个条目包括用于验证该条目属于进行访问的安全实体的信息。
进一步地,如图1中所示,区安全表100包括安全域ID 120(标识与此页面相关联的安全域);UV位130(指示该页面被捐赠给安全接口控制并且由安全接口控制拥有);禁用地址比较(DA)位140(用于在某些情况下禁用主机地址对比较,诸如当定义为主机绝对的安全接口控制页面不具有相关联的主机虚拟地址时);共享(SH)位150(指示与不安全管理程序共享页面)和主机虚拟地址160(指示针对该主机绝对地址注册的主机虚拟地址,其被称为主机-地址对)。注意,主机-地址对指示主机绝对和相关联的、注册的主机虚拟地址。一旦由管理程序导入,主机-地址对表示该页面的映射,并且比较保证主机在访客使用该页面时不重新映射该页面。
动态地址转换(DAT)用于将虚拟存储映射到真实存储。当访客VM在管理程序的控制下作为可分页面(pageable)访客运行时,访客使用DAT来管理驻留在其存储器中的页面。此外,当页面驻留在其存储器中时,主机独立地使用DAT来管理那些访客页面(连同其自己的页面)。管理程序使用DAT来提供不同VM之间的存储的隔离和/或共享以及防止对管理程序存储的访客访问。当访客以不安全模式运行时,管理程序能够访问所有访客的存储。
DAT使得能够将一个应用与另一应用隔离,同时仍允许它们共享公共资源。而且,它允许实现VM,这些VM可用于设计和测试OS的新版本以及应用程序的并发处理。虚拟地址标识在虚拟存储中的位置。地址空间是虚拟地址连同专用变换参数(包含DAT表)的连续序列,所述专用变换参数允许将每一虚拟地址转换成相关联的绝对地址,所述相关联的绝对地址以存储中的字节位置来标识所述地址。
DAT使用多表查找来将虚拟地址转换成相关联的绝对地址。该表结构通常由存储管理器定义和维护。此存储管理器例如通过页面调出一个页面以引入另一页面来在多个程序之间透明地共享绝对存储。当页面被页面调出时,存储管理器将例如在相关联的页面表中设置无效位。当程序尝试访问被页面调出的页面时,硬件将向存储管理器呈现通常被称为页面错误的程序中断。作为响应,存储管理器将页面调入所请求的页面并重置无效位。这都对程序透明地完成,并且允许存储管理器虚拟化存储并在各种不同用户之间共享存储。
当虚拟地址被CPU用来访问主存储时,其首先通过DAT被转换成真实地址,然后通过前缀被转换成绝对地址。用于特定地址空间的最高层次表的指定(原点和长度)被称为地址-空间-控制元素(ASCE)并且定义相关联的地址空间。
现在转到图2,根据本发明的一个或多个实施例,总体地示出了用于执行DAT的示例虚拟地址空间202和204以及绝对地址空间206。在图2所示的示例中,存在两个虚拟地址空间:虚拟地址空间202(由地址空间控制元素(ASCE)A 208定义)和虚拟地址空间204(由ASCE B 210定义)。虚拟页面A1.V 212a1、A2.V 212a2和A3.V 212a3在多表(段230和页面表232a、232b)查找中由存储管理器使用ASCE A 208映射到绝对页面A1.A 220a1、A2.A 220a1和A3.A 220a1。类似地,使用ASCE B 210在两表234和236查找中分别将虚拟页面B1.V214b1和B2.V 214b2映射到绝对页面B1.A 222b1和B2.A 222b2。
现在转到图3,根据本发明的一个或多个实施例,总体上示出了用于支持在管理程序下运行的VM的嵌套的多部分DAT转换的示例。在图3所示的示例中,访客A虚拟地址空间A302(由访客ASCE(GASCE)A 304定义)和访客B虚拟地址空间B 306(由GASCEB 308定义)两者都驻留在共享主机(管理程序)虚拟地址空间325中。如图所示,属于访客A的虚拟页面A1.GV310a1、A2.GV 310a2和A3.GV 310a3分别由访客A存储管理器使用GASCEA 304映射到访客绝对页面A1.HV 340a1、A2.HV 340a2和A3.HV 340a3;属于访客B的虚拟页面B1.GV 320bl和B2.GV 320b1分别由访客B存储管理器使用GASCEB 308独立地映射到访客绝对页面B1.HV360bl和B2.HV 360b2。在此示例中,这些访客绝对页面直接映射到共享主机虚拟地址空间325中,且随后经历到主机绝对地址空间330的额外主机DAT转换。如图所示,主机虚拟地址A1.HV 340a1、A3.HV 340a3和B1.HV 360b1由主机存储管理器使用主机ASCE(HASCE)350映射到A1.HA 370a1、A3.HA 370a3和B1.HA 370b1。属于访客A的主机虚拟地址A2.HV 340a2和属于访客B的B2.HV 360b2两者都被映射到相同的主机绝对页面AB2.HA 380。这使得数据能够在这两个访客之间共享。在访客DAT转换期间,每个访客表地址被视为访客绝对地址,并且经历附加的嵌套主机DAT转换。
本文所述的本发明的实施例提供安全访客(SG)和安全接口控制(UV)存储保护。禁止不安全访客和管理程序访问安全存储。管理程序规定对于给定的驻留安全访客页面,发生以下操作。相关联的主机绝对地址仅通过单个管理程序(主机)DAT映射是可访问的。即,存在映射到分配给安全访客的任何给定主机绝对地址的单个主机虚拟地址。与给定安全访客页面相关联的管理程序DAT映射(主机虚拟到主机绝对)在它被页面调入时不改变。针对单个安全访客映射与安全访客页面相关联的主机绝对页面。
根据本发明的一个或多个实施例,安全访客之间的存储共享也被禁止。在安全访客的控制下,在单个安全访客与管理程序之间共享存储。UV存储是安全存储,并且可由安全接口控制而非访客/主机访问。存储由管理程序分配给安全接口控制。根据本发明的一个或多个实施例,硬件和安全接口控制禁止对这些规则的任何尝试违反。
现在转到图4,根据本发明的一个或多个实施例总体上示出了安全访客存储的映射的示例。图4类似于图3,除了图4的示例不允许在安全访客A和安全访客B之间共享存储。在图3的不安全示例中,属于访客A的主机虚拟地址A2.HV 340a2和属于访客B的B2.HV360b2两者被映射到相同的主机绝对页面AB2.HA 380。在图4的安全访客存储示例中,属于访客A的主机虚拟地址A2.HV 340a2映射到主机绝对地址A2.HA 490a,而属于访客B的B2.HV360b2映射到其自己的B2.HA 490b。在这个示例中,在安全访客之间不存在共享。
当安全访客页面驻留在盘上时,其被加密。当管理程序页面调入安全访客页面时,其发布UV调用(UVC),该UV调用使得安全控制接口将该页面标记为安全(除非共享)、解密该页面(除非共享)并且将该页面(在区安全表中)注册为属于适当的安全访客(例如,访客A)。此外,其将相关联的主机虚拟地址(例如,A3.HV 340a3)注册到该主机绝对页面(称为主机-地址对)。如果管理程序未能发布正确的UVC,则其在尝试访问安全访客页面时接收异常。当管理程序页面调出访客页面时,发布类似的UVC,该UVC加密访客页面(除非共享)、将访客页面标记为不安全并且将其在区安全表中注册为不安全。
在具有五个给定主机绝对页面K、P、L、M和N的示例中,主机绝对页面中的每一个在管理程序将它们页面调入时被安全控制接口标记为安全的。这防止不安全访客和管理程序访问它们。当被管理程序页面调入时,主机绝对页面K、P和M被注册为属于访客A;当被管理程序页面调入时,主机绝对页面L和N被注册为属于访客B。共享页面(在单个安全访客和管理程序之间共享的页面)在分页面期间不被加密或解密。它们在区安全表中未被标记为安全(允许由管理程序访问),而是以单个安全访客域注册。
根据本发明的一个或多个实施例,当不安全访客或管理程序试图访问安全访客所拥有的页面时,管理程序接收安全存储访问(PIC3D)异常。不需要额外的转换步骤来确定这一点。
根据一个或多个实施例,当安全实体尝试访问页面时,硬件执行验证存储确实属于该特定安全访客的附加转换检查。如果不是,则向管理程序呈现不安全访问(PIC3E)异常。此外,如果被转换的主机虚拟地址与来自区安全表中的注册的主机-地址对的主机虚拟地址不匹配,则识别安全存储违反(‘3F’x)异常。为了实现与管理程序的共享,只要转换检查允许访问,安全访客就可以访问未被标记为安全的存储。
现在转向图5,根据本发明的一个或多个实施例,总体上示出用于导入操作的过程流程500。当安全访客访问由管理程序页面调出的页面时,发生诸如过程流程500中所示的事件序列,以便安全地将该页面带回。过程流程500在框505开始,其中安全访客访问访客虚拟页面。因为该页面例如无效,所以硬件向管理程序呈现由程序中断代码11(PIC 11)指示的主机页面错误(参见框515)。管理程序进而识别该访客页面的可用的、不安全主机绝对页面(参见框520),并将加密的访客页面页面调入到所识别的主机绝对页面(参见框525)。
在框530处,然后将主机绝对页面映射到适当的(基于主机虚拟地址)主机DAT表中。在框535处,管理程序主机然后重新调度安全访客。在框540处,安全访客重新访问访客安全页面。页面错误不再存在,但是由于这是安全访客访问并且页面在图100的区安全表100中未被标记为安全,所以在框545处,硬件向管理程序呈现不安全存储异常(PIC3E)。此PIC3E防止访客对此安全页面的访问,直到已发布必要的导入为止。接下来,过程流程500前进至“A”,其连接至图6。
现在转到图6,根据本发明的一个或多个实施例总体上示出了用于执行导入操作的过程流程600。响应于PIC3E,表现良好的管理程序(例如,以预期方式无错误地执行)将发布导入UVC(参见框605)。注意,此时,要导入的页面被标记为不安全,并且仅可由管理程序、其他不安全实体和安全接口控制来访问。它不能被安全访客访问。
作为导入UVC的一部分,充当安全接口控制的可信固件进行检查以查看此页面是否已经由安全接口控制锁定(参见决策框610)。如果是,则过程流程600前进到框620。在框620处,“繁忙”返回代码被返回至管理程序,该管理程序将作为响应而延迟(参见框625)并且重新发布导入UVC(过程流程600返回至框605)。如果页面尚未被锁定,则过程流程600前进到决策框622。
在决策框622处,安全接口控制进行检查以查看该页面是否是与不安全管理程序共享的页面。如果它被共享(过程流程600前进到决策框624),则安全接口控制将主机绝对地址与相关联的安全访客域、主机虚拟地址一起注册在区安全表中并作为共享。该页面保持标记为不安全。这完成了导入UVC,并且页面现在可用于由访客访问。处理继续进行,管理程序重新分派访客(框630)并且安全访客成功访问页面(框635)。
如果要导入的主机虚拟页面不与管理程序共享(过程流程600前进到框640),则安全接口控制将把该页面标记为安全,使得管理程序不再能够访问该页面。在框645处,安全接口控制锁定所述页面,使得没有其他UVC可修改页面状态。一旦锁被设置(在框650),安全接口控制将验证访客页面的内容在其被加密时未改变。如果它们确实改变,则错误返回代码被返回到管理程序,否则,安全接口控制将解密安全页面。
在框655处,安全接口控制解锁页面,允许由其他UVC访问,将页面在区安全表中注册为安全的,并与适当的访客域和主机虚拟地址相关联,以完成主机-地址HV->HA对。这允许访客访问并完成UVC。
图7描绘了根据本发明的一个或多个实施例的过程流程700。当一个访客被分派时,SIE进入固件可以向硬件指示一个访客正在运行(例如,访客模式活动)并且可以指示该访客是否是安全的。如果访客是安全的,相关联的安全访客域可以被加载到硬件中(例如,在SG安全域寄存器中)。当程序访问存储时,硬件可以基于程序在访问时的当前状态来标注访问。图7示出了过程流程700中的这个过程的示例。在框705处,硬件可以确定机器当前是否以访客模式运行,并且如果不是,则可以在框710处将访问标注为主机访问,并且在框715处标注为不安全访问。如果在框705机器以访客模式运行,则在框720访问可被标注为访客访问,并且在框725进一步确定当前访客是否是安全访客。如果访客不安全,则在框715,访问可被标注为不安全。如果访客是安全的,硬件可在框730处将访客标注为安全的,这可将安全访客与在分派安全访客时加载的SG-安全-域寄存器相关联。对于不安全和安全访客两者,可以在框735检查DAT状态。如果DAT关闭,则在框740,访问可被标注为真实的。如果DAT开启,则在框745,访问可被标注为虚拟的。如果访问在框740被标注为真实而DAT关闭,或者在框745被标注为虚拟而DAT开启,硬件就准备好在框750开始转换和访问存储,如图8中进一步描述的。
图8描绘了根据本发明的一个或多个实施例的由硬件完成以支持过程流程800中的安全访问和不安全访问两者的转换的示例。在框805处,硬件可以确定访问是否被标注为访客转换,并且如果是的话,并且在框810处访问是虚拟的,则可以在框815处执行访客DAT。在访客DAT转换期间,可以有用于访客DAT表的嵌套中间获取。如果原始转换被标注为安全,则表获取可被标注为访客真实的和安全的。表获取还可以跟随过程流程800的转换过程。在对于在框815被标注为访客虚拟的访问和对于在框810被标注为访客真实的任何访问(虚拟=否)执行访客DAT之后,可以在框820应用访客前缀和访客存储器偏移。在访客转换过程完成时,在框825处,如果原始访客转换被标注为安全,则结果地址可被标注为主机虚拟的和安全的。对于被标注为主机虚拟的任何访问,过程流程800可以继续。如果在框805原始访问是主机访问,(访客=否)并且在框830是虚拟的,则在框835可以执行主机DAT。在框835处,可将主机表获取标记为不安全。在框835处执行主机DAT之后,或如果在框830处将原始主机访问标注为真实(虚拟=否),则可在框840处应用主机前缀。在框845处,结果地址可为主机绝对地址。
图9描述了根据本发明的一个或多个实施例的可以由硬件执行的过程流程900中的具有安全存储保护的DAT转换的示例。从图8的框845继续,硬件在框940处确定该访问是否是安全访客访问,并且如果不是,并且如果在框945处页面被标记为安全,则在框935处可以向管理程序呈现异常。否则,如果在框940处访问不是安全访客访问并且在框945处页面未被标记为安全,则在框950处转换成功。
如果在框940处访问是安全访客访问,则在框920处硬件可以检查以确保存储被注册到与访问相关联的安全实体。从SG-安全-域寄存器(当调度安全实体时加载)获得指定的安全域。如果在框920正被访问的存储未被注册到指定的安全域,则在框935向管理程序呈现异常。
对于在框920处注册到指定安全域的、在框940处对存储的安全访问,如果在框955处虚拟地址检查被禁用,即DA位=1,则在框950完成转换。如果在框955处虚拟地址检查未被禁用,即DA位=0,则在框970处硬件可以确定访问的主机虚拟到主机绝对映射是否匹配针对该主机绝对地址注册的映射。如果是,则在框950转换成功完成。如果在框970映射不匹配,则在框935向管理程序呈现异常。在框980处由I/O子***进行的任何访问可检查以查看在框945处页面是否被标记为安全,并且如果页面是安全的,则在框935处可向管理程序呈现异常;否则,在框950处转换成功。
可以通过区安全表接口985来共同管理对存储注册和映射的不同检查。例如,框920、955和970可以与关联于相同区的区安全表对接以管理不同访问。
图10描绘了根据本发明的一个或多个实施例的关于使用安全接口控制的安全执行的过程流程1000。具体地,过程流程1000使得能够使用安全-存储位将页面标记为安全页面,其然后用于禁止访问该页而不需要执行授权检查。如本文所述,在硬件中提供安全-存储位以标记安全页面。当该位被设置时,硬件防止任何不安全访客或管理程序访问该页面。此外,每个安全或共享页面被注册在区安全表中,并且被标注有安全-访客-域标识(ID)。当页面不安全时,就这样在区安全表中对其进行标记。该区安全表由安全接口控制按每分区或区来维护。每个主机绝对页面有一个条目,其由硬件在安全实体进行的任何DAT转换上使用以验证该页面仅由拥有它的安全访客或实体访问。
在管理程序页面调入安全页面之后,其发布新的转换到安全存储(导入)UVC。响应于该导入,安全接口控制使用所述安全-存储位将该页面标记为安全页面。然后,安全接口控制在区安全表100中设置对安全接口控制的权限。安全接口控制解密安全页面并且为安全页面在区安全表100中设置对安全访客域的权限。计算***的安全接口控制接收访问计算***的存储器中的页面的请求(框1002)。然后确定该请求者是安全访客请求者还是不安全访客请求者。如果确定请求者是不安全访客请求者,则在安全-存储位被设置时,禁止访问该页面,而不执行授权检查(框1004)。安全-存储位消除了对不安全访客请求者执行计算密集型授权检查的需要。然而,如果确定请求者是安全访客请求者,则执行授权检查(框1006)。
授权检查可以检查以验证页面是安全的并且属于尝试访问安全页面的安全访客域(注册在区安全表100中)。授权检查可附加地或替换地验证当安全页面驻留在访客的存储器中时管理程序尚未改变安全页面的映射。在一些示例中,过程流程还防止当页面被标记为安全页面时管理程序对安全页面的访问。在额外的示例中,当该页面被标记为安全页面时,防止不安全访客虚拟机访问该安全页面。
应当理解,尽管本公开包括关于云计算的详细描述,但是本文所引用的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便、按需的网络访问,所述可配置计算资源可以用最小的管理努力或与服务提供商的交互来快速配置和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特性如下:
按需自助服务:云消费者可按需自动地单方面供应计算能力,诸如服务器时间和网络存储,而无需与服务提供商进行人工交互。
广泛的网络接入:通过网络提供功能,并通过标准机制进行访问,所述标准机制促进由异构的瘦客户端或厚客户端平台(例如,移动电话、膝上型计算机和PDA)的使用。
资源池化:提供者的计算资源被汇集起来以使用多租户模型来服务于多个消费者,不同的物理和虚拟资源根据需要被动态分配和重新分配。存在位置独立性的意义,因为消费者通常对所提供资源的确切位置不具有控制权或知识,但可能能够指定更高抽象层级的位置(例如,国家、州或数据中心)。
快速弹性:在某些情况下,可以快速且弹性地配置功能,以快速扩展缩小并迅速释放以快速收缩。对于消费者而言,可用于配置的功能通常似乎是无限的,可以在任何时间以任何数量购买。
度量的服务:云***通过利用与服务类型(例如,存储、处理、带宽和活动用户帐户)相适应的某种抽象层级的计量能力,自动控制和优化资源使用。可以监视、控制和报告资源使用情况,为所使用服务的提供者和使用者提供透明性。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用在云基础设施上运行的提供者的应用。这些应用可通过诸如web浏览器(例如,基于web的电子邮件)的瘦客户端接口从不同客户端设备访问。消费者不管理或控制包括网络、服务器、操作***、存储或甚至个体应用功能的底层云基础结构,可能的例外是有限的用户特定的应用配置设置。
平台即服务(PaaS):向消费者提供的能力是在云基础结构上部署消费者创建或获取的应用,所述应用是用提供者所支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作***或存储的底层云基础结构,但是具有对所部署的应用以及可能的应用托管环境配置的控制。
基础设施即服务(IaaS):向消费者提供的能力是提供消费者能够部署和运行可包括操作***和应用的任意软件的处理、存储、网络和其他基本计算资源。消费者不管理或控制底层云基础结构,而是具有对操作***、存储、所部署的应用的控制,以及对所选联网组件(例如,主机防火墙)的可能有限的控制。
部署模型如下:
私有云:云基础结构仅为组织运营。它可以由组织或第三方管理,并且可存在于场所内或场所外。
社区云:云基础结构由多个组织共享,并支持具有共同关注点(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可存在于场所内或场所外。
公共云:云基础结构可供公众或大型行业团体使用,并由销售云服务的组织拥有。
混合云:云基础结构是由两个或更多个云(私有、社区或公共的)组成的,这些云仍然是唯一性实体,但通过标准化或专有技术来绑定在一起,这些技术实现数据和应用的可移植性(例如,用于云之间的负载平衡的云突发)。
云计算环境是面向服务的,着重于无状态性、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点网络的基础架构。
现在参见图11,描绘说明性云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,云消费者使用的本地计算设备(诸如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机***54N)可与云计算节点10通信。节点10可以彼此通信。它们可以在一个或多个网络中,诸如在上文所述的私有云、社区云、公共云或混合云或其组合中,被物理地或虚拟地分组(未示出)。这允许云计算环境50提供基础结构、平台和/或软件作为服务,云消费者不需要为其在本地计算设备上维护资源。应当理解,图11中所示的计算设备54A-N的类型仅旨在是说明性的,并且计算节点10和云计算环境50可通过任何类型的网络和/或网络可寻址连接(例如,使用网络浏览器)与任何类型的计算机化设备进行通信。
现在参见图12,示出了由云计算环境50(图11)提供的一组功能抽象层。应预先理解,图12中所示的部件、层和功能旨在仅是说明性的,并且本发明的实施例不限于此。如图所示,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储65;以及网络和联网组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作***74;以及虚拟客户端75。
在一个示例中,管理层80可提供下文所描述的功能。资源供应81提供用于执行云计算环境内的任务的计算资源和其他资源的动态获取。计量和定价82在云计算环境内利用资源时提供成本跟踪,并针对这些资源的消费进行计费或开票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及对数据和其他资源的保护。用户门户83为消费者和***管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)计划和履行85为根据SLA预期的云计算资源的未来要求提供云计算资源的预安排和采购。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负荷和功能的示例包括:地图和导航91;软件开发和生命周期管理92;虚拟教室教育交付93;数据分析处理94;事务处理95;以及安全存储隔离96。应当理解,这些仅仅是一些示例,并且在其他实施例中,层可以包括不同的服务。
现在转到图13,描绘了根据本发明的一个或多个实施例的***13。***13包括例如经由网络165与一个或多个客户端设备20A-20E直接或间接通信的示例节点10(例如,托管节点)。节点10可以是云计算提供商的数据中心或主机服务器。节点10执行管理程序12,其促进部署一个或多个VM 15(15A-15N)。节点10还包括硬件/固件层11,其提供对VM 15A-N和管理程序12所需的功能的直接支持,以及促进管理程序12向VM 15提供一个或多个服务。在当代实现方式中,在硬件/固件层11与管理程序12之间、在硬件/固件层11与VM15之间、在管理程序12与VM 15之间以及经由硬件/固件层11在管理程序12与VM15之间提供通信。根据本发明的一个或多个实施例,在硬件/固件层11中提供安全接口控制,并且消除管理程序12与VM 15之间的直接通信。
例如,节点10可促进客户端设备20A部署VM 15A-15N中的一个或多个。可响应于来自不同客户端设备20A-20E的相应请求部署VM 15A-15N。例如,VM 15A可以由客户端设备20A部署,VM 15B可以由客户端设备20B部署,并且VM 15C可以由客户端设备20C部署。节点10还可以促进客户端供应物理服务器(而不作为VM运行)。在此描述的示例将节点10中的资源的供应具体化为VM的一部分,然而,所描述的技术方案还可以应用于将资源供应为物理服务器的一部分。
在示例中,客户端设备20A-20E可以属于同一实体,诸如个人、企业、政府机构、公司内的部门或任何其他实体,并且节点10可以作为实体的私有云来操作。在这种情况下,节点10仅托管由属于实体的客户端设备20A-20E部署的VM 15A-15N。在另一示例中,客户端设备20A-20E可以属于不同的实体。例如,第一实体可以拥有客户端设备20A,而第二实体可以拥有客户端设备20B。在这种情况下,节点10可以***作为托管来自不同实体的VM的公共云。例如,VM 15A-15N可以以屏蔽方式部署,其中VM 15A不促进对VM15B的访问。例如,节点10可使用IBM z处理器资源/***管理器(PR/SM)逻辑分区(LPAR)特征来覆盖VM15A-15N。这些特征(诸如PR/SM LPAR)提供分区之间的隔离,因此促进节点10在不同的逻辑分区中为同一物理节点10上的不同实体部署两个或更多个VM 15A-15N。
来自客户端设备20A-20e的客户端设备20A是通信设备,诸如计算机、智能电话、平板计算机、台式计算机、膝上型计算机、服务器计算机或请求由节点10的管理程序12部署VM的任何其他通信设备。客户端设备20A可以经由网络165发送由管理程序接收的请求。来自VM 15A-15N的VM 15A是管理程序12响应于来自客户端设备20A-20e中的客户端设备20A的请求而部署的VM映像。管理程序12是VM监视器(VMM),其可以是创建和运行VM的软件、固件或硬件。管理程序12促进VM 15A使用节点10的硬件组件来执行程序和/或存储数据。利用适当的特征和修改,管理程序12可以是ORACLE VM SERVERTM,CITRIXXENSERVERTM,VMWARE ESXTM,MICROSOFT HYPER-VTM或任何其他管理程序。管理程序12可以是直接在节点10上执行的本机管理程序,或者在另一管理程序上执行的托管管理程序。
现在转到图14,根据本发明的一个或多个实施例示出了用于实现本文的教导的节点10。节点10可以是电子计算机框架,其包括和/或采用任意数量和组合的计算设备和利用不同通信技术的网络,如本文所述。节点10可以是容易地缩放的、可扩展的和模块化的,具有改变到不同服务或独立于其他而重新配置一些特征的能力。
在本实施例中,节点10具有处理器1401,其可以包括一个或多个中央处理单元(CPU)1401a、1401b、1401c等。处理器1401(也被称为处理电路、微处理器、计算单元)经由***总线1402耦合到***存储器1403和不同其他组件。***存储器1403包括只读存储器(ROM)1404和随机存取存储器(RAM)1405。ROM 1404耦合到***总线1402,并且可以包括基本输入/输出***(BIOS),其控制节点10的某些基本功能。RAM是耦接到***总线1402以供处理器1401使用的读写存储器。
图14的节点10包括硬盘1407,其是可由处理器1401可执行地读取的有形存储介质的示例。硬盘1407存储软件1408和数据1409。软件1408被存储为由处理器1401在节点10上执行的指令(以便执行过程,如参见图6-10所描述的过程流程)。数据1409包括以不同数据结构组织以支持软件1408的操作和由软件1408的操作使用的定性或定量变量的一组值。
图14的节点10包括互连和支持处理器1401、***存储器1403、硬盘1407和节点10的其他组件(例如,***设备和外部设备)之间的通信的一个或多个适配器(例如,硬盘控制器、网络适配器、图形适配器等)。在本发明的一个或多个实施例中,一个或多个适配器可以连接到经由中间总线桥连接到***总线1402的一个或多个I/O总线,并且一个或多个I/O总线可以利用公共协议,例如***组件互连(PCI)。
如图所示,节点10包括将键盘1421、鼠标1422、扬声器1423和麦克风1424互连到***总线1402的接口适配器1420。节点10包括将***总线1402互连到显示器1431的显示适配器1430。显示适配器1430(和/或处理器1401)可以包括图形控制器以提供图形性能,诸如GUI 1432的显示和管理。通信适配器1441将***总线1402与网络1450互连,使得节点10能够与其他***、设备、数据和软件(诸如服务器1451和数据库1452)通信。在本发明的一个或多个实施例中,软件1408和数据1409的操作可以由服务器1451和数据库1452在网络1450上实现。例如,网络1450、服务器1451、和数据库1452可以组合以提供软件1408和数据1409的内部迭代,作为平台即服务、软件即服务、和/或基础设施即服务(例如,作为分布式***中的web应用)。
因此,如图14中所配置的,软件1408和数据1409(例如,节点10)的操作必然根源于处理器1401和/或服务器1451的计算能力,以克服和解决这里描述的传统管理程序技术的缺点。在这点上,软件1408和数据1409通过减少在不依赖于管理程序提供的情况下保证在各种实体或访客虚拟机的存储之间的隔离时的开销,来改进节点10的处理器1401和/或服务器1451的计算操作,从而减少处理周期(从而提高节点10的效率)。
本文描述的实施例必然以计算机技术为根源,并且具体地以托管VM的计算机服务器为根源。进一步,本发明的一个或多个实施例通过促进托管VM的计算机服务器托管安全VM来促进对计算技术本身(特别是托管VM的计算机服务器)的操作的改进,其中即使管理程序被禁止访问与安全VM相关联的存储器、寄存器和其他这样的数据。此外,本发明的一个或多个实施例通过使用包括硬件、固件(例如,毫码)、可信软件或其组合的安全接口控制(在此也被称为“UV”),向改进VM托管计算服务器提供重要步骤,促进安全VM和管理程序的分离并且因此维持由计算服务器托管的VM的安全性。安全接口控制提供轻量级中间操作以促进安全性,而不会向如本文所述的VM的初始化/退出期间的安全VM状态添加大量开销。
在此公开的本发明的实施例可以包括保证了在不依赖于管理程序提供的情况下在各种实体或访客虚拟机的存储之间的隔离的访问的***、方法和/或计算机程序产品(在此为***)。注意,对于每个解释,元件的标识符被重用于不同图的其他类似元件。
在此参考相关附图描述本发明的不同实施例。在不脱离本发明的范围的情况下,可以设计本发明的替代实施例。在以下描述和附图中的元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有说明,这些连接和/或位置关系可以是直接的或间接的,并且本发明在这方面并非意图进行限制。因而,实体的耦合可以指直接或间接耦合,并且实体之间的位置关系可以是直接或间接位置关系。此外,本文所述的各种任务和工艺步骤可并入到具有本文未详细描述的附加步骤或功能的更全面的程序或工艺中。
以下定义和缩写用于解释权利要求书和说明书。如在此使用的,术语“包含”、“包括”、“具有”或“含有”或其任何其他变体旨在覆盖非排他性的包含。例如,包含一系列元素的组合物、混合物、工艺、方法、制品或设备不一定仅限于那些元素,而是可包括未明确列出的或此类组合物、混合物、工艺、方法、制品或设备固有的其他元素。
另外,术语“示例性”在此用于意指“充当示例、实例或说明。”在此描述为“示例性”的任何实施例或设计不一定被解释为比其他实施例或设计优选或有利。术语“至少一个”和“一个或多个”可以被理解为包括大于或等于一(即,一、二、三、四等)的任何整数。术语“多个”可以被理解为包括大于或等于两个(即,两个、三个、四个、五个等)的任何整数。术语“连接”可以包括间接“连接”和直接“连接”两者。”
术语“约”、“基本上”、“大约”及其变体旨在包括与基于在提交本申请时可用的设备的特定量的测量相关联的误差程度。例如,“约”可以包括给定值的±8%或5%、或2%的范围。
本发明的各个方面可以是处于任何可能的技术细节集成水平的***、方法和/或计算机程序产品。所述计算机程序产品可包含上面具有计算机可读程序指令的计算机可读存储介质(或媒体),所述计算机可读程序指令用于致使处理器执行本发明的方面。
计算机可读存储介质可以是可以保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体例子的非穷举列表包括以下:便携式计算机盘,硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存),静态随机存取存储器(SRAM)、便携式致密盘只读存储器(CD-ROM),数字通用盘(DVD)、记忆棒、软盘、机械编码设备(诸如穿孔卡片)或具有记录在其上的指令的凹槽中的凸起结构),以及上述的任意合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过导线传输的电信号。
本文所述的计算机可读程序指令可从计算机可读存储介质下载到相应的计算/处理设备,或经由网络(例如,互联网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令并且转发这些计算机可读程序指令以便存储在对应的计算/处理设备内的计算机可读存储介质中。
用于执行本技术方案的操作的计算机可读程序指令可以是汇编指令,指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据,集成电路的配置数据,或以一种或多种编程语言的任何组合编写的源代码或目标代码,包括面向对象的Smalltalk、C++等编程语言,以及过程式编程语言,例如“C”编程语言或类似的编程语言。计算机可读程序指令可完全在用户的计算机上执行、部分在用户的计算机上执行、作为独立软件包执行、部分在用户的计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情形中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,电子电路(包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA))可以通过使用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本技术方案的各方面。
在此参照根据技术方案的实施例的方法、装置(***)和计算机程序产品的流程图和/或框图来描述本技术方案的各方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给通用计算机的处理器,专用计算机或其他可编程数据处理装置,以产生机器,其通过计算机或其他可编程数据处理装置的处理器执行,创建用于实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。这些计算机可读程序指令还可存储在可指导计算机的计算机可读存储介质中,可编程数据处理装置,和/或以特定方式起作用的其他设备,使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各方面的指令。
计算机可读程序指令还可以加载到计算机、其他可编程数据处理装置上,或使得在计算机上执行一系列操作步骤的其他装置,其他可编程装置或其他设备,以产生计算机实现的过程,使得在计算机上执行的指令,其他可编程装置或其他设备实现流程图和/或框图中的一个或多个方框中指定的功能和动作。
附图中的流程图和框图示出了根据本技术方案的不同实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。对此,流程图或框图中的每个方框可以代表模块、段或指令的一部分,其包括用于实现规定的逻辑功能的一个或多个可执行指令。在一些替代实施例中,框中所标注的功能可以不以图中所标注的次序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行。还将注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合可以由基于专用硬件的***来实现,所述基于专用硬件的***执行指定的功能或动作或执行专用硬件与计算机指令的组合。
在此使用的术语仅用于描述具体实施例的目的并且不旨在是限制性的。如在此使用的,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文另外清楚地指示。将进一步理解的是,当在本说明书中使用术语“包括”和/或“包含”时,其指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其他特征、整数、步骤、操作、元件组件和/或其组的存在或添加。
出于说明的目的已经呈现了对在此的不同实施例的描述,但是并不旨在是穷尽性的或局限于所披露的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域的普通技术人员而言将是显而易见的。选择在此使用的术语以最佳地解释实施例的原理、实际应用或在市场上找到的技术上的技术改进,或使得本领域普通技术人员能够理解在此披露的实施例。

Claims (19)

1.一种用于安全存储隔离的方法,包括:
由计算***的安全接口控制接收请求者访问所述计算***的存储器中的页面的请求;
响应于确定所述请求者是不安全请求者并且响应于将所述页面标记为安全页面的安全存储位被设置,禁止访问所述页面而不执行授权检查;并且
响应于确定所述请求者是安全请求者,执行所述授权检查,其中,所述授权检查包括至少部分地基于区域安全表的用于验证所述页面属于正在尝试访问所述页面的安全访客域的检查,其中,所述区域安全表包括安全访客域标识、安全接口控制位、禁用地址比较位、共享位、以及主机虚拟地址。
2.如权利要求1所述的方法,进一步包括:
响应于来自不受信实体的请求,将所述页面标记为安全页面。
3.如权利要求2所述的方法,进一步包括:
响应于将所述页面标记为所述安全页面,阻止任何不受信实体访问所述安全页面。
4.如权利要求2所述的方法,进一步包括:
在将所述页面标记为所述安全页面之前,并且响应于来自所述不受信实体的所述请求,由所述不受信实体发布导入命令,以准备所述页面的页面调入。
5.如权利要求1所述的方法,进一步包括:
响应于来自不受信实体的请求,将所述页面注册为属于相关联的安全实体并注册相关联的主机虚拟地址。
6.如权利要求5所述的方法,进一步包括:
响应于向所述相关联的安全实体和所述相关联的主机虚拟地址注册所述页面,阻止另一安全实体对所述安全页面的访问。
7.如权利要求4所述的方法,其中,所述安全接口控制选自包括固件、硬件、以及固件与硬件的组合的组;所述不受信实体包括管理程序;以及所述安全请求者包括虚拟机,所述虚拟机是由所述管理程序托管在安全域中的安全访客。
8.如权利要求1所述的方法,进一步包括:
响应于所述授权检查确定所述安全请求者被授权,准予所述安全请求者对所述页面的访问。
9.一种用于安全存储隔离的***,包括:
包括计算机可读指令的存储器;以及
用于执行所述计算机可读指令以执行方法的处理装置,所述方法包括:
由计算***的安全接口控制接收请求者访问所述计算***的存储器中的页面的请求;
响应于确定所述请求者是不安全请求者并且响应于将所述页面标记为安全页面的安全存储位被设置,禁止访问所述页面而不执行授权检查;并且
响应于确定所述请求者是安全请求者,执行所述授权检查,其中,所述授权检查包括至少部分地基于区域安全表的用于验证所述页面属于正在尝试访问所述页面的安全访客域的检查,其中,所述区域安全表包括安全访客域标识、安全接口控制位、禁用地址比较位、共享位、以及主机虚拟地址。
10.如权利要求9所述的***,其中,所述方法进一步包括:
响应于来自不受信实体的请求,将所述页面标记为安全页面。
11.如权利要求10所述的***,其中,所述方法进一步包括:
响应于将所述页面标记为所述安全页面,阻止任何不受信实体访问所述安全页面。
12.如权利要求11所述的***,其中,所述方法进一步包括:
在将所述页面标记为所述安全页面之前,并且响应于来自所述不受信实体的所述请求,由所述不受信实体发布导入命令,以准备所述页面的页面调入。
13.一种计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由处理装置执行以致使所述处理装置执行一种方法,所述方法包括:
由计算***的安全接口控制接收请求者访问所述计算***的存储器中的页面的请求;
响应于确定所述请求者是不安全请求者并且响应于将所述页面标记为安全页面的安全存储位被设置,禁止访问所述页面而不执行授权检查;并且
响应于确定所述请求者是安全请求者,执行所述授权检查,其中,所述授权检查包括至少部分地基于区域安全表的用于验证所述页面属于正在尝试访问所述页面的安全访客域的检查,其中,所述区域安全表包括安全访客域标识、安全接口控制位、禁用地址比较位、共享位、以及主机虚拟地址。
14.如权利要求13所述的计算机可读存储介质,其中该方法进一步包括:
响应于来自不受信实体的请求,将所述页面标记为安全页面;
响应于将所述页面标记为所述安全页面,阻止任何不受信实体访问所述安全页面;并且
在将所述页面标记为所述安全页面之前,并且响应于来自所述不受信实体的所述请求,由所述不受信实体发布导入命令,以准备所述页面的页面调入。
15.如权利要求13所述的计算机可读存储介质,其中,所述方法进一步包括:
响应于所述授权检查确定所述安全请求者被授权,准予所述安全请求者对所述页面的访问。
16.一种用于安全存储隔离的计算机实现的方法,包括:
由计算***的安全接口控制接收请求者访问所述计算***的存储器中的页面的请求;
响应于确定所述请求者是不安全请求者并且响应于将所述页面标记为安全页面的安全存储位被设置,禁止访问所述页面而不执行授权检查;并且
响应于确定所述请求者是安全请求者,执行所述授权检查,
其中,所述授权检查包括至少部分地基于区域安全表的用于验证所述页面属于正在尝试访问所述页面的安全访客域的检查,以及用于验证当所述页面驻留在所述存储器中时不安全实体没有改变所述页面的主机映射的检查,其中,所述区域安全表包括安全访客域标识、安全接口控制位、禁用地址比较位、共享位、以及主机虚拟地址。
17.如权利要求16所述的计算机实现的方法,其中,所述安全接口控制选择包括固件、硬件、以及固件和硬件的组合的组;并且所述安全请求者包括虚拟机,所述虚拟机是由安全域中的管理程序托管的安全访客。
18.一种计算机可读存储介质,所述计算机可读存储介质具有随其体现的程序指令,所述程序指令可由处理装置执行以致使所述处理装置执行一种方法,所述方法包括:
由计算***的安全接口控制接收请求者访问所述计算***的存储器中的页面的请求;
响应于确定所述请求者是不安全请求者并且响应于将所述页面标记为安全页面的安全存储位被设置,禁止访问所述页面而不执行授权检查;并且
响应于确定所述请求者是安全请求者,执行所述授权检查,
其中,所述授权检查包括至少部分地基于区域安全表的用于验证所述页面属于正在尝试访问所述页面的安全访客域的检查,以及用于验证当所述页面驻留在所述存储器中时不安全实体没有改变所述页面的主机映射的检查,其中,所述区域安全表包括安全访客域标识、安全接口控制位、禁用地址比较位、共享位、以及主机虚拟地址。
19.如权利要求18所述的计算机可读存储介质,其中,所述安全接口控制选自包括固件、硬件、以及固件与硬件的组合的组;并且所述安全请求者包括虚拟机,所述虚拟机是由安全域中的管理程序托管的安全访客。
CN202080020115.0A 2019-03-08 2020-03-02 安全存储隔离 Active CN113544646B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/296,345 US11531627B2 (en) 2019-03-08 2019-03-08 Secure storage isolation
US16/296,345 2019-03-08
PCT/EP2020/055468 WO2020182527A1 (en) 2019-03-08 2020-03-02 Secure storage isolation

Publications (2)

Publication Number Publication Date
CN113544646A CN113544646A (zh) 2021-10-22
CN113544646B true CN113544646B (zh) 2024-01-23

Family

ID=69743235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080020115.0A Active CN113544646B (zh) 2019-03-08 2020-03-02 安全存储隔离

Country Status (13)

Country Link
US (1) US11531627B2 (zh)
EP (1) EP3935495A1 (zh)
JP (1) JP7436495B2 (zh)
CN (1) CN113544646B (zh)
AU (1) AU2020238889B2 (zh)
BR (1) BR112021017786A2 (zh)
CA (1) CA3132781A1 (zh)
IL (1) IL285013B2 (zh)
MX (1) MX2021010586A (zh)
SG (1) SG11202105419PA (zh)
TW (1) TWI801714B (zh)
WO (1) WO2020182527A1 (zh)
ZA (1) ZA202105808B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11347529B2 (en) 2019-03-08 2022-05-31 International Business Machines Corporation Inject interrupts and exceptions into secure virtual machine
US11640361B2 (en) 2019-03-08 2023-05-02 International Business Machines Corporation Sharing secure memory across multiple security domains
US11308215B2 (en) * 2019-03-08 2022-04-19 International Business Machines Corporation Secure interface control high-level instruction interception for interruption enablement

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203722A (zh) * 2016-03-16 2017-09-26 中国电子科技集团公司电子科学研究院 一种虚拟化数据隔离交换方法及装置

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4787031A (en) 1985-01-04 1988-11-22 Digital Equipment Corporation Computer with virtual machine mode and multiple protection rings
JP3657665B2 (ja) 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
US6314501B1 (en) 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
DE60306952T2 (de) 2002-11-18 2007-02-08 Arm Ltd., Cherry Hinton Zuordnung von virtuellen zu physischen speicheradressen in einem system mit einem sicheren bereich und einem nicht sicheren bereich
WO2005036806A2 (en) 2003-10-08 2005-04-21 Unisys Corporation Scalable partition memory mapping system
US20050102670A1 (en) 2003-10-21 2005-05-12 Bretl Robert F. Shared object memory with object management for multiple virtual machines
US10768958B2 (en) 2004-11-17 2020-09-08 Vmware, Inc. Using virtual local area networks in a virtual computer system
US7886126B2 (en) 2005-01-14 2011-02-08 Intel Corporation Extended paging tables to map guest physical memory addresses from virtual memory page tables to host physical memory addresses in a virtual machine system
US7814307B2 (en) 2006-03-16 2010-10-12 Microsoft Corporation Fast booting a computing device to a specialized experience
US7610481B2 (en) 2006-04-19 2009-10-27 Intel Corporation Method and apparatus to support independent systems in partitions of a processing system
JP4952308B2 (ja) 2007-03-09 2012-06-13 日本電気株式会社 メモリ共有システム、方法、及び、プログラム
US20090113111A1 (en) * 2007-10-30 2009-04-30 Vmware, Inc. Secure identification of execution contexts
US8527715B2 (en) 2008-02-26 2013-09-03 International Business Machines Corporation Providing a shared memory translation facility
GB2460393B (en) 2008-02-29 2012-03-28 Advanced Risc Mach Ltd A data processing apparatus and method for controlling access to secure memory by virtual machines executing on processing circuitry
US8041877B2 (en) 2008-06-09 2011-10-18 International Business Machines Corporation Distributed computing utilizing virtual memory having a shared paging space
US8006043B2 (en) 2008-10-06 2011-08-23 Vmware, Inc. System and method for maintaining memory page sharing in a virtual environment
US20100161879A1 (en) 2008-12-18 2010-06-24 Lsi Corporation Efficient and Secure Main Memory Sharing Across Multiple Processors
US8738932B2 (en) 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US9405700B2 (en) 2010-11-04 2016-08-02 Sonics, Inc. Methods and apparatus for virtualization in an integrated circuit
US8984478B2 (en) 2011-10-03 2015-03-17 Cisco Technology, Inc. Reorganization of virtualized computer programs
WO2014021919A2 (en) 2012-08-03 2014-02-06 North Carolina State University Methods, systems, and computer readable medium for active monitoring, memory protection and integrity verification of target devices
US10198572B2 (en) 2013-09-17 2019-02-05 Microsoft Technology Licensing, Llc Virtual machine manager facilitated selective code integrity enforcement
US9767044B2 (en) 2013-09-24 2017-09-19 Intel Corporation Secure memory repartitioning
US9117081B2 (en) 2013-12-20 2015-08-25 Bitdefender IPR Management Ltd. Strongly isolated malware scanning using secure virtual containers
US10599565B2 (en) 2013-12-24 2020-03-24 Hewlett-Packard Development Company, L.P. Hypervisor managing memory addressed above four gigabytes
US9483639B2 (en) 2014-03-13 2016-11-01 Unisys Corporation Service partition virtualization system and method having a secure application
US9652631B2 (en) 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
KR20150128328A (ko) 2014-05-09 2015-11-18 한국전자통신연구원 증거 수집 도구 제공 방법, 도메인 분리 기반 모바일 기기에서 증거 자료 확보 장치 및 방법
US9792222B2 (en) 2014-06-27 2017-10-17 Intel Corporation Validating virtual address translation by virtual machine monitor utilizing address validation structure to validate tentative guest physical address and aborting based on flag in extended page table requiring an expected guest physical address in the address validation structure
US9454497B2 (en) 2014-08-15 2016-09-27 Intel Corporation Technologies for secure inter-virtual-machine shared memory communication
US9436619B2 (en) * 2014-09-08 2016-09-06 Raytheon Company Multi-level, hardware-enforced domain separation using a separation kernel on a multicore processor with a shared cache
US10599458B2 (en) 2015-01-23 2020-03-24 Unisys Corporation Fabric computing system having an embedded software defined network
US10503405B2 (en) 2015-02-10 2019-12-10 Red Hat Israel, Ltd. Zero copy memory reclaim using copy-on-write
US9870324B2 (en) 2015-04-09 2018-01-16 Vmware, Inc. Isolating guest code and data using multiple nested page tables
KR102327782B1 (ko) 2015-05-29 2021-11-18 한국과학기술원 전자 장치 및 커널 데이터 접근 방법
GB2539435B8 (en) 2015-06-16 2018-02-21 Advanced Risc Mach Ltd Data processing memory access control, in which an owning process for a region of memory is specified independently of privilege level
US20170063544A1 (en) 2015-08-26 2017-03-02 Rubicon Labs, Inc. System and method for sharing data securely
US9792143B1 (en) 2015-10-23 2017-10-17 Amazon Technologies, Inc. Platform secure execution modes
US20170357592A1 (en) 2016-06-09 2017-12-14 Vmware, Inc. Enhanced-security page sharing in a virtualized computer system
US10585805B2 (en) 2016-07-29 2020-03-10 Advanced Micro Devices, Inc. Controlling access to pages in a memory in a computing device
US10303899B2 (en) 2016-08-11 2019-05-28 Intel Corporation Secure public cloud with protected guest-verified host control
US10713177B2 (en) 2016-09-09 2020-07-14 Intel Corporation Defining virtualized page attributes based on guest page attributes
KR102511451B1 (ko) 2016-11-09 2023-03-17 삼성전자주식회사 리치 실행 환경에서 보안 어플리케이션을 안전하게 실행하는 컴퓨팅 시스템
US10169088B2 (en) 2016-11-29 2019-01-01 Red Hat Israel, Ltd. Lockless free memory ballooning for virtual machines
US10447717B2 (en) 2017-01-28 2019-10-15 Qualcomm Incorporated Network attack detection using multi-path verification
US10761996B2 (en) 2018-09-28 2020-09-01 Intel Corporation Apparatus and method for secure memory access using trust domains
KR20210076882A (ko) * 2018-11-08 2021-06-24 인텔 코포레이션 서비스형 함수(faas) 시스템 향상
US11461244B2 (en) * 2018-12-20 2022-10-04 Intel Corporation Co-existence of trust domain architecture with multi-key total memory encryption technology in servers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203722A (zh) * 2016-03-16 2017-09-26 中国电子科技集团公司电子科学研究院 一种虚拟化数据隔离交换方法及装置

Also Published As

Publication number Publication date
JP2022522728A (ja) 2022-04-20
MX2021010586A (es) 2021-10-13
IL285013B2 (en) 2024-04-01
TWI801714B (zh) 2023-05-11
EP3935495A1 (en) 2022-01-12
US11531627B2 (en) 2022-12-20
IL285013B1 (en) 2023-12-01
IL285013A (en) 2021-09-30
AU2020238889B2 (en) 2022-12-01
JP7436495B2 (ja) 2024-02-21
ZA202105808B (en) 2023-02-22
KR20210118122A (ko) 2021-09-29
WO2020182527A1 (en) 2020-09-17
CA3132781A1 (en) 2020-09-17
TW202038104A (zh) 2020-10-16
US20200285595A1 (en) 2020-09-10
BR112021017786A2 (pt) 2021-11-23
SG11202105419PA (en) 2021-06-29
AU2020238889A1 (en) 2021-06-17
CN113544646A (zh) 2021-10-22

Similar Documents

Publication Publication Date Title
CN113544645B (zh) 在安全虚拟机环境中测试存储保护硬件
CN113544655B (zh) 安全接口控件安全存储硬件标记
CN113544642B (zh) 安全存储查询和捐献
EP3935496B1 (en) Sharing secure memory across multiple security domains
CN113544680B (zh) 用于页导入/导出的程序中断
US20200285499A1 (en) Controlling access to secure storage of a virtual machine
CN113544646B (zh) 安全存储隔离
CN113597609A (zh) 用于安全接口控件存储的主机虚拟地址空间
CN113544686A (zh) 安全域和不安全实体之间的存储共享
JP7410161B2 (ja) ページ変更検出によるセキュアなページング
JP7393846B2 (ja) セキュア・インターフェイス制御の高レベルのページ管理
CN113544664B (zh) 用于中断使能的安全接口控件高级指令拦截
CN113544685A (zh) 安全接口控件的通信接口
KR102681250B1 (ko) 보안 스토리지 격리

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40057847

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant