CN102473213B - 用于提供安全虚拟机的系统和方法 - Google Patents

用于提供安全虚拟机的系统和方法 Download PDF

Info

Publication number
CN102473213B
CN102473213B CN201080031632.4A CN201080031632A CN102473213B CN 102473213 B CN102473213 B CN 102473213B CN 201080031632 A CN201080031632 A CN 201080031632A CN 102473213 B CN102473213 B CN 102473213B
Authority
CN
China
Prior art keywords
virtual machine
processor
secure
user
zone manager
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
CN201080031632.4A
Other languages
English (en)
Other versions
CN102473213A (zh
Inventor
P·博施
V·柯勒斯尼科夫
S·穆林德尔
J·麦凯
P·多伯拉尔
H·麦克莱伦
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.)
Alcatel Lucent SAS
Original Assignee
Alcatel Lucent SAS
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 Alcatel Lucent SAS filed Critical Alcatel Lucent SAS
Publication of CN102473213A publication Critical patent/CN102473213A/zh
Application granted granted Critical
Publication of CN102473213B publication Critical patent/CN102473213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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/53Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]

Abstract

本发明在虚拟机中提供了改进的安全性。通过扩展现代安全处理器的能力,从设备所有者和在处理器上所执行的其它用户处提供计算私密性,对于可租借的安全计算机来说是一个非常有利的特征。除了需要保护虚拟计算机的硬件扩展外,还提供了用于配置该处理器的基础架构。进一步地,还公开了建立所有者、用户和设备制造商之间的多种关系的信号流。

Description

用于提供安全虚拟机的系统和方法
技术领域
本发明涉及云计算或基于网络计算的领域,特别是涉及安全虚拟机领域。
背景技术
虚拟计算是云计算的重要组成部分。一个人可以租借处于英特网某处的虚拟计算机来运行自己的应用程序。要实现廉价循环存取,这是相当合适的方式,但它也存在内在的威胁:因为应用程序运行在其他人的计算机上,无法保证该人的应用程序和数据的私密性。现在的通用处理器都不能提供防止云计算机或基于网络的计算机的所有者(例如,基础设备提供商)窥探联网的计算机。
发明内容
安全虚拟计算的缺乏已经严重阻碍了云计算的发展。在网络中托管应用程序的收益必须要权衡应用程序和/或应用数据面临公开的威胁,这种公开是由于现有处理器的内在的不安全属性造成的。
例如,在云计算机/基于网络的计算机上运行具有私有账户信息的网络服务器数据库,意味着与云计算机/基于网络计算机有物理连接的敌对者可以对内存条或接入内部处理器的寄存器进行存取(例如使用联合测试行为组织JTAG连接)。作为选择,通过修改主机操作系统或虚拟机管理器(在下文中称作“区域管理器”),攻击者可以尝试侵入物理机器的操作。
此外,所述区域管理器中的软件闯入(break-ins)也能够对机器存储空间中其它用户的其它应用程序和应用数据进行存取。一种特定方式是攻击者使用root kit木马程序,它包含配置在操作系统之下的软件;不通过特殊而有针对性的程序,操作系统无法检测到该木马程序。
在安全架构中需要多个组件以允许将虚拟计算机安全地租借给用户。处理器需要提供安全处理环境,它需要使用经过验证的软件堆栈来建立安全引导过程,它需要通过计算机的所有者(例如,基础设备提供商)提供安全端点以用于在处理器中建立安全虚拟区域,它还需要能够安全地从用户那里加载应用程序。同时,所有者必须不能从其电脑上所执行的应用程序中学习任何有意义的私钥。
根据本发明所述的安全处理器的一般实施例包括:存储处理器私钥的内存;用于生成与区域管理器的实例相关联的第一公钥/私钥对的第一生成器;用于通过处理器私钥认证第一公钥/私钥对的第一认证代理;用于安全地接收虚拟机实例化命令的接收机;用于生成与所述多个虚拟机中的虚拟机的实例相关联的第二公钥/私钥对的第二生成器,所述虚拟机的实例是响应于所述实例化命令而创建的;以及用于通过第一公钥/私钥对来认证第二公钥/私钥对的第二认证代理。
在一个实施例中,本发明的处理器进一步包括用于存储初始化引导程序的私有引导区(410)。
在一个实施例中,本发明的处理器进一步包括用于接收和证实包含区域管理器的映象文件的装置。
本发明的处理器的一个实施例中,所述安全地接收虚拟机实例化命令的安全方面的问题依赖于通过PKI所获得的证书。
在一个实施例中,本发明的处理器进一步包括所述多个安全虚拟机所使用的内存,其中通过不同的加密密钥保障内存存取的安全,所述不同的加密密钥用于多个安全虚拟机中不同的安全虚拟机。
在一个实施例中,本发明的处理器进一步包括为多个安全虚拟机存储数字存取许可信息的内存。
根据本发明用于设置安全虚拟机的方法的一般实施例包括:通过区域管理器映象引导处理器;在处理器处获得与区域管理器会话相关联的第一公钥/私钥对;在处理器处,通过与处理器相关联的私钥来认证所述第一公钥/私钥对中的公钥;在区域管理器处接收安全虚拟机实例化命令;创建所述区域管理器与所述用户之间的安全通信信道;获取与所述安全虚拟机相关联的第二公钥/私钥对;并通过第一公钥/私钥对中的私钥来认证第二公钥/私钥对中的公钥。
在一个实施例中,本发明的方法进一步包括从存储在私有引导区的程序来引导处理器。
在一个实施例中,本发明的方法进一步包括将所述区域管理器映象下载到所述处理器,并在所述处理器处验证关于所述区域管理器映象的有效值,作为引导所述区域管理器映象的前提。
本发明的方法的一个实施例中,所述安全通信信道的安全方面的问题依赖于通过PKI获取的证书。
在一个实施例中,本发明的方法进一步包括将加密密钥与所述安全虚拟机相关联,所述加密密钥用于对处理器共享内存中存储的特定内容进行存取。
本发明的方法的一个实施例中,所述安全虚拟机实例化命令包括关于所述用户的证书。在特定实施例中,所述安全通信信道的安全问题依赖于所述关于用户的证书。
在另一个特定实施例中,该方法进一步包括将所述关于所述用户的证书提供给所述区域管理器。
在本发明的方法的一个实施例中,通过公钥加密保证所述安全通信信道的安全。
在一个实施例中,本发明的方法进一步包括通过存取许可为所述虚拟机进行能力矩阵更新。
在一个实施例中,本发明的方法进一步包括:通过给安全虚拟机提供引导程序来完成安全虚拟机的准备,并启动安全虚拟机。
本发明的一个实施例是基于这样的洞察力,该洞察力是通过明智地对服务提供商、服务用户、区域管理器和虚拟机实例各自之间的合适的信任关系进行建立和合并,来获取安全虚拟机环境的洞察力。本发明的一个实施例进一步基于这样的洞察力,该洞察力是服务用户、服务提供商和硬件制造商在建立的信任关系中各自具有的角色的洞察力。在下文中,服务用户可以称作“用户”,服务提供商可以称作“所有者”,而硬件制造商可以称作“制造者”。
数字式验证和安全通信的本领域技术人员乐于意识到此处描述的信任关系可以在其他方式之外通过公钥加密(PKC)建立,由此安全数据隧道以加密方式创建,并且通过合适的认证权限来认证多个角色的公钥。信任关系建立进一步根据公钥加密来描述,但并不希望将本发明限制在任何PKC规范实施例的细节中。
在特定实施例中,建立服务提供商与在硬件平台上实例化的(instantiated)区域管理器之间的第一信任关系。该硬件平台持有私钥,该私钥的对应公钥通过硬件制造商进行认证。区域管理器持有私钥,该私钥的对应公钥相应地通过硬件平台认证。在用户和服务提供商之间建立第二信任关系;通过任何可信装置建立他们之间的凭证,并通过任何可信权限进行认证,以通常的方式进行。在用户和区域管理器之间建立第三信任关系。在用户和虚拟机之间建立第四信任关系,该虚拟机是由区域管理器响应接收自服务提供商的请求而被实例化。虚拟机实例持有私钥,该私钥的对应公钥通过区域管理器进行认证。硬件平台、区域管理器和虚拟机实例的真实性全部通过相应的证书链由来自硬件制造商的断言产生,该硬件制造商假定是可信的,
本发明的一个实施例是基于这样的洞察力,该洞察力是通过提供描述安全硬件平台内的外围设备商的每个虚拟机的能力的二维矩阵,将硬件保护环的概念方便地延伸到托管多个虚拟机实例的硬件的一种洞察力。因此,不引入任何二进制可执行文件的转换也可以获得虚拟化的效果。考虑到需要在运行环境内对可执行代码的校验和进行验证,这将是一个重要的优势。
附图说明
与本发明的实施例一致的产品和/或方法的实施例被描述如下,可以仅通过例子的方式,以及参考附带的图,包括如下:
图1呈现了根据本发明所述的方法的示意性概述。
图2示出了与根据本发明所述的方法相关的各自角色见的多个信任关系。
图3示出了根据本发明所述的方法实施例中的典型消息流。
图4示意性地图示出了根据本发明所述的安全处理器的实施例。
图5呈现了虚拟机的典型能力矩阵的例子。
具体实施方式
通过将非安全与安全计算环或区域之间的处理器时间片(timeslicing)进行合并,使得高性能安全计算得以实现,通过向ASIC内部总线的延伸将处理器的当前环或区域反映给内部专用集成电路ASIC外围设备。
尽管术语“ASIC”在此指代可能在某些实施例中通过ASIC技术来实现的安全处理器,但并不意味着局限于所述技术。
当处理器处于其安全环或区域之中,安全外围设备也是激活的。如果处理器处于非安全环或区域之中,安全外围设备则不做响应。当在区域之间进行切换时,处理器校验区域之间传递的参数。该合并在ARM 1176处理器的可信区域(Trustzone)是可用的。除此以外,本发明能够以具有与ARM 1176/可信区域架构相似的组件的ASIC来实施,但具有适用于提供虚拟化的附加特征。
根据本发明的实施例,嵌入处理器中的虚拟可信计算机库(vTCB)与基础设备一起被提供,该基础设备能够进行vTCB的租借,通过这种方式来阻止所有者或制造商来窥探、窃取、或修改所述vTCB中的计算。它有利地提供了保护环、用于ACL的基于能力的格、安全高性能计算和虚拟技术。
三个被认为与系统操作相关的角色是:所有者220、用户210和制造商230。所有者拥有所述vTCB并提供虚拟计算服务,用户提供需要在vTCB上安全执行的应用程序,而制造商生产嵌入了vTCB的安全ASIC。
图2示出了这样定义的三个角色之间的多种信任关系。
进一步,我们认识到两个附加实体:安全区域管理器240和安全虚拟机250。安全区域管理器240和安全虚拟机250都是vTCB的一部分。此处的安全区域管理器240是一个运行在安全ASIC中的可信软件组件并通过制造商230安装,所述安全ASIC照管着安全虚拟机的维护。安全虚拟机250实质上是所述处理器的“切片(slice)”。
涉及以上实体的多个信任需求现在将描述更多的细节。本发明的实施例可能致力于所描述的信任需求的大部分或全部。
第一个信任需求是用户210需要信任制造商230交付了具有用于建立无法窥探安全虚拟机250的适当安全特性的处理器。用户210只能通过检查处理器证书中的签名来验证这种效果的断言确实源自制造商230。在vTCB(安全区域管理器和安全虚拟机)的安全特征中的用户信任来源于制造商中的这种信任。
第二个信任需求是所有者220需要信任制造商230所交付的适用于产生正确使用报告的vTCB。所有者220只能通过检查处理器证书中的签名来验证这种效果的断言确实源自制造商230。在vTCB(安全区域管理器和安全虚拟机)的安全特征中的所有者220的信任基于区域管理器私钥的使用,由引导返回制造商的证书链保障其真实性。因此,在所述vTCB中的所有者信任来源于制造商中的这种信任。
第三个信任需求是安全区域管理器240需要相信它与适当的所有者220进行通信:它只能基于设备的实际所有者的请求来进行操作。
第四个信任需求是用户120需要信任其与适当的所有者220进行通信,反之亦然。所有者220需要该信任关系以用于计算账目,帐单结算和追踪等目的,而对于用户210来说,知道其与一个合法的所有者进行通信是非常重要的。这种信任需求通常通过PKI认证来解决。
第五个信任需求是安全区域管理器240需要信任其与由所有者220指示的适当的用户210进行通信。这种需求的解决可以通过向安全区域管理器提供用户证书作为虚拟机实例化命令的参数。
第六个信任需求是安全虚拟机250需要信任其是通过可信赖的安全区域管理器240所创建以用于它自己的安全引导过程。这是对新创建的安全区域中已经加载了合适的引导软件和密钥材料的设备的一种暗示的信任。
第七个信任需求是用户210和它的安全虚拟机250需要互相信任对方:安全虚拟机250需要明白其与合适的用户210进行通信,而用户210需要声明其与正确的安全虚拟机250进行通信。对于用户部分来说,该需求与第一个信任需求类似并来源于第一个信任需求,对于安全虚拟机部分来说,该需求与第五个信任需求类似并来源于第五个信任需求。
为了方便起见将图3分为图3a和图3b,图3示意性的图示出了根据本发明所述的方法实施例中的典型消息流。图4示意性地图示出了根据本发明所述的安全处理器实施例的组件。
通过安全ASIC的主引导系统加载安全区域管理器420。该引导系统包括了制造商提供的主引导系统410和ASIC私钥418。主引导可以加载辅助引导,通过该辅助引导安全区域管理器映象可以被加载,或者主引导可以直接加载安全区域管理器映象。两个方案都通过附图3中的摘要消息301和302来举例说明。尽管不同的所有者希望使用不同的、定制的安全区域管理器,但是最好通过制造商来产生映象。而这会加重对制造商的可信赖性的负担。
当安全区域管理器420启动,它建立通往所有者的安全通信信道,在图3中以消息流303的形式示意性的描绘,并在图4中作为接口440描绘。这种相互认证的信道440体现了所有者(未示出)与安全区域管理器420之间的信任关系。该信道440的主要用途是建立用于安全虚拟机430管理的安全通信路径。另外,安全区域管理器420可以发送使用报告给所有者(未示出)。
一旦用户/所有者304之间和所有者/安全区域管理器303/440之间的信道都建立起来,则用户使用通信信道经由安全区域管理器420来请求305新的安全虚拟机430的建立。用户联系(address)所有者,所有者向它的vTCB之一发送安全虚拟机请求。用户通过认证安全区域管理器自身,能够验证其与合适的vTCB进行通信,这依赖于安全区域管理器的证书404。另外,用户可以接收308安全区域管理器420签发的证书以用于重新创建安全虚拟机430。
为用户创建安全虚拟机430之后,该安全虚拟机430需要安全地引导用户的应用程序。因此安全区域管理器420提供基础设备以便使得用户能够安全的引导它的安全虚拟机430以及应用程序。请注意,所有者并不是这一过程中的一部分,因此无法对其进行干扰;用户-区域管理器间信道450的端到端保护有效地阻止了任何潜在的中间人攻击。
然后新安全虚拟机430加载311用户所选择的程序并以安全方式引导应用程序。因为它接收了私钥432,它就能够直接同用户建立312安全通信信道470。
依据本发明所述的安全和虚拟化处理环境的实施例是基于单机安全处理器ARM 1176+信任区域。该实施例为对多个这样的安全处理机提供支持。所述实施例通过图4示意性的图示出来。
首先,要支持信任区域架构中的多个安全虚拟机,提供n比特宽的总线以替代单一的安全地址修改比特。每一个安全虚拟机通过键盘输入并在该地址修改总线上以二进制表示,下文称作安全地址修改总线SAMB。安全ASIC中的外围设备在要允许或禁止接入它们的设备时,需要考虑SAMB的状态。
二维矩阵表示了安全ASIC内的外围设备上的安全虚拟机的能力,该矩阵与内部ASIC的总线上的SAMB相关联。该矩阵的典型表述如图5所示,其中选定了四个外围设备和四个虚拟机。安全ASIC中的每个外围设备用列表示,而每一个安全虚拟机用行给出。相关的比特在矩阵中进行设置,以允许特定的安全虚拟机接入外围设备进行读取和/或写入。
两个特殊的行可以在能力矩阵中进行定义:非安全机和超级安全虚拟机。这两个区域都与其在标准信任区域架构中的等价状态是一样的:分别是,没有任何安全外围设备接入的机器和有安全外围设备接入的机器。非安全机典型地位于第0行,在安全区域地址修改总线上以二进制表示。在一个优选实施例中,超级安全虚拟机使用SAMB上的修改量01*1。典型地,只有单独一个超级安全虚拟机可以接入安全能力矩阵进行写入。
非安全处理机意味着在执行任务时不需要,且将不会获得任何特别的安全性。
超级安全虚拟机意味着用于管理其它安全虚拟机。通过超级安全虚拟机,可以初始化新的行,在新形成的普通安全区域内安装新的应用程序。超级安全虚拟机还能够停止和移出普通安全虚拟机。
为了确保在多个安全和非安全虚拟机之间没有信息泄露,每一个安全虚拟机可以与一个独立的内存加密密钥相关联。内存控制器将这一内存密钥保存在内存控制器设备内部,或者保存在通过普通内存自身的密钥所保护的普通内存之中。基于SAMB上的安全修改符,内存控制器选择可以用来加密数据的密钥,这些数据是发往或者接收自主要的外部存贮器的数据。
安全区域管理器是一个超虚拟化的虚拟机,它不依赖于所执行的客户操作系统的二进制翻译。这可以确保用户能够在执行映象时计算MD5校验和,从而验证该映象没有被替换过。而且,安全区域管理器提供了虚拟化处理器的所有机制,还提供了在该处理器上执行的所有的客户操作系统的机器资源。
如图2所示,在呼叫流程中的实体包括所有者(设备的所有者),安全区域管理器,安全虚拟机和用户(如租借人)。另外,我们需要认识制造商所扮演的角色。
所有者、制造商和用户拥有公钥和私钥,公钥是签发的证书的一部分。其各自的私钥将被指定为其各自的公钥将被指定为Kown、Kmfr和Kuser
证书将公钥分别与所有者、制造商和用户相关联,证书通过各自的权限指定A(.)进行签发,其可以作为公钥基础设施PKI的一部分: 该用户的证书最好是包含了用户地址,允许安全虚拟机实例和/或区域管理器使用可信地址与用户进行联系。
我们假定ASIC装备了它自己的私钥418,例如在熔断阵列中进行编码,或在ASIC上的非易失性随机存储器NVRAM上进行编码,公钥Kasic与其相关联。
与ASIC的私钥418相关联的是制造商签发的证书。我们假定ASIC具有用于初始化引导程序的私有引导区域410。该引导程序的安全散列被嵌入在ASIC的证书之中:制造商能够以其它方式令可信引导程序的安全散列变为可用。
基于对嵌入式引导程序的引导,ASIC典型地适用于从所有者处经由ASIC-所有者信道460来接收区域管理器映象402。该区域管理器映象402可以由制造商产生,处于所有者全部规范中或者其中的一部分。ASIC适用于在区域管理器映象上计算安全散列H,通过散列算法如MD5,并且与制造商提供和认证的散列函数进行比较。如果验证成功仅启动区域管理器映象420。
辅助映象402包含所有者的证书
当区域管理器420启动时,它将创建414用于会话的公钥/私钥对会话被定义为从区域管理器启动时刻到处理器重置或重启时刻(意味着区域管理器终止)之间的时间。利用ASIC密钥418来验证416公钥,而证书404,对于所有者来说是可用的。私钥426相应地许可区域管理器420为其创建的实例430签发证书424。
用户通过从所有者请求安全虚拟机来获取该安全虚拟机。为了达到这一点,用户首先在用户和所有者之间建立安全的、相互认证的信道(未示出),例如依赖于通过PKI获取的证书。一旦信道建立,用户发送“创建安全虚拟机”的消息给所有者。所有者选择合适的(例如,较容易加载的)安全处理器的区域管理器420,并转发请求给区域管理器420。
所有者的“创建安全虚拟机”消息可以附有用户证书C(用户,…)。该证书首先用于建立安全区域管理器与用户之间的安全通信信道450,随后证书被新创建的安全虚拟机430用于建立去往用户的安全信道470。区域管理器与用户之间的安全通信信道450用于断言所述用户能够信任所述区域管理器。
当收到“创建安全虚拟机”消息,区域管理器420首先创建422用于新区域的公钥/私钥对并对公钥进行认证424。然后区域管理器将证书经由较早建立的通信信道450发送给用户。
最后,区域管理器420准备信道安全虚拟机430。它在早先叙述的安全能力矩阵中分配条目,在内存控制器中填装合适的会话密钥,还将引导程序加载到新的安全虚拟机430。用户证书作为参数传递给安全虚拟机的引导装载程序。该引导装载程序是由区域管理器420预先安装的(因此是可信的)。
通过区域管理器420虚拟机430准备执行,而区域管理器420最后启动新的安全虚拟机430。
当信道安全虚拟机430启动时,它操作在一安全环境中,这样只有区域管理器420能够潜在地中断操作。由于我们假设制造商是可信的,所以区域管理器420也是可信的。请注意新的安全虚拟机430的初始化加载就是装填用户网络地址的安全引导装载程序。
安全虚拟机430首先要做的事情是建立新区域和用户之间的安全通信信道470。新区域使用其包含了记录在证书中的网络地址,来建立会话;而用户使用来建立会话。在“创建安全虚拟机”消息期间由所有者返回给用户。
一旦用户与新创建的安全虚拟机430之间的安全通信信道470建立起来,用户能够将自己的应用程序上传到新的安全虚拟机430中,并启动该应用程序。引导装载程序将用户证书传递给新加载的应用程序以使得该应用程序能够重新建立用户与正在执行用户应用程序的安全虚拟机之间的安全通信信道。安全虚拟机430现在启动操作模式。
在本发明的一个实施例之中,运行的区域管理器420和所有者周期性地交换安全虚拟机430的使用报告。这些报告能够被所有者所使用,例如,对用户使用硬件的帐单记录进行准备。另外,用户能够经由安全通信信道(450,470)向区域管理器420发送管理请求314。这些请求可以关注那些执行增加或减少安全虚拟机430所使用的循环数目的操作,或者完全终止和恢复安全虚拟机430的操作。一个这样的请求316可以关注完全停止安全虚拟机和清除所有与即将终止的安全虚拟机相关联的状态信息。完成该结果的有效方式是清除所有用于区域安全内存切片的会话密钥。
在本发明的实施例中,安全虚拟机430通过内存控制器480对共享内存490进行存取,使用分配给这个特定安全虚拟机430的内存加密密钥来确保该安全虚拟机数据的私密性。
说明书和附图仅示出了本发明的原理。因此应该意识到,本领域技术人员能够建议多种不同的排列结构,虽然这些不同的结构未在此处明确描述或示出,但体现了本发明的原理并包括在其精神和范围之内。此外,所有此处提到的例子明确地主要只用于教导目的以帮助读者理解本发明的原理以及发明人所贡献的促进本领域的构思,并应被解释为不是对这些特定提到的例子和条件的限制。此外,此处所有提到本发明的原则、方面和实施方式的陈述及其特定的例子包含其等同物在内。
可以通过使用专用硬件以及能够与合适的软件相关联地执行软件的硬件,来提供图中所示的各种元件的功能,包括任何被标识为“处理器”的功能模块。在由处理器提供时,可以由单个专用处理器、单个共享处理器或多个独立处理器(其中一些可以是共享的)来提供该功能。此外,“处理器”不应被解释为是排他性地指能够执行软件的硬件,可以隐含地包括但不限于:数字信号处理器(DSP)硬件、网络处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等。也可以包括其他硬件,不论其为传统的和/或常规的,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、和非易失性存储器。其它一些传统的或惯常的硬件也可以包含进来。类似的,附图中所示的所有开关都是概念性的。他们的功能可以通过执行程序逻辑、执行专用逻辑、执行程序控制和专用逻辑的交互、或者甚至是由实施者从上下文中进行特定理解后所选择的独特的技术。

Claims (15)

1.一种用于托管多个基于所有者的请求创建的安全虚拟机的处理器;包括:
存储处理器私钥的内存;
第一生成器,用于生成与区域管理器的实例相关联的第一公钥/私钥对;
第一认证代理,用于通过所述处理器私钥认证第一公钥/私钥对;
接收机,用于从所述所有者安全地接收虚拟机实例化命令;
第二生成器,用于生成与所述多个虚拟机中的虚拟机的实例相关联的第二公钥/私钥对,所述虚拟机的实例是响应于所述实例化命令而创建的;以及
第二认证代理,用于通过第一公钥/私钥对来认证所述第二公钥/私钥对,其特征在于:
所述区域管理器适于使用第一公钥/私钥对来建立所述区域管理器与虚拟机的所述实例的用户之间的第一安全信道;以及
虚拟机的所述实例适于使用第二公钥/私钥对来建立虚拟机的所述实例与虚拟机的所述实例的用户之间的第二安全信道。
2.根据权利要求1所述的处理器,进一步包括,用于存储初始化引导程序的私有引导区(410)。
3.根据权利要求1所述的处理器,进一步包括,用于接收和证实包含区域管理器的映象文件的装置。
4.根据权利要求1至3任一项所述的处理器,进一步包括,所述多个安全虚拟机所使用的内存,其中通过不同的加密密钥保障存取所述内存的安全,所述不同的加密密钥用于多个安全虚拟机中不同的安全虚拟机。
5.根据权利要求1至3任一项所述的处理器,进一步包括,为所述多个安全虚拟机存储数字存取许可信息的内存。
6.一种用于在处理器中基于所有者的请求为用户设置安全虚拟机的方法,包括:
通过区域管理器映象引导处理器;
在处理器处获得与区域管理器会话相关联的第一公钥/私钥对;
在处理器处,通过与所述处理器相关联的私钥来认证所述第一公钥/私钥对中的公钥;以及
在所述区域管理器处从所述所有者接收安全虚拟机实例化命令,其特征在于,所述方法还包括:
创建所述区域管理器与所述用户之间的第一安全通信信道;
获取与所述安全虚拟机相关联的第二公钥/私钥对;
通过第一公钥/私钥对中的私钥来认证第二公钥/私钥对中的公钥;以及
创建所述安全虚拟机与所述用户之间的第二安全通信信道。
7.根据权利要求6所述的方法,进一步包括,从存储在私有引导区的程序来引导处理器。
8.根据权利要求6所述的方法,进一步包括,将所述区域管理器映象下载到所述处理器,并在所述处理器处验证关于所述区域管理器映象的有效值,作为引导所述区域管理器映象的前提。
9.根据权利要求6所述的方法,进一步包括将加密密钥与所述安全虚拟机相关联,所述加密密钥用于对所述处理器的共享内存中存储的特定内容进行存取。
10.根据权利要求6所述的方法,进一步包括,所述安全虚拟机实例化命令中包含关于所述用户的证书。
11.根据权利要求10所述的方法,其中所述第一或所述第二安全通信信道的安全问题依赖于所述关于用户的证书。
12.根据权利要求10或11所述的方法,进一步包括,将关于所述用户的证书提供给所述区域管理器。
13.根据权利要求10或11所述的方法,其中通过公钥加密保护所述第一或所述第二安全通信信道。
14.根据权利要求6至11任一项所述的方法,进一步包括,通过存取许可为所述安全虚拟机进行能力矩阵的更新。
15.根据权利要求6至11任一项所述的方法,进一步包括,通过给安全虚拟机提供引导程序来完成安全虚拟机的准备,并启动所述安全虚拟机。
CN201080031632.4A 2009-07-16 2010-07-16 用于提供安全虚拟机的系统和方法 Active CN102473213B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09165682.7 2009-07-16
EP09165682.7A EP2278514B1 (en) 2009-07-16 2009-07-16 System and method for providing secure virtual machines
PCT/EP2010/060341 WO2011006997A1 (en) 2009-07-16 2010-07-16 System and method for providing secure virtual machines

Publications (2)

Publication Number Publication Date
CN102473213A CN102473213A (zh) 2012-05-23
CN102473213B true CN102473213B (zh) 2015-06-17

Family

ID=41198539

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080031632.4A Active CN102473213B (zh) 2009-07-16 2010-07-16 用于提供安全虚拟机的系统和方法

Country Status (6)

Country Link
US (1) US8856544B2 (zh)
EP (1) EP2278514B1 (zh)
JP (1) JP5497171B2 (zh)
KR (1) KR101318524B1 (zh)
CN (1) CN102473213B (zh)
WO (1) WO2011006997A1 (zh)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386021B1 (en) * 2011-05-25 2016-07-05 Bromium, Inc. Restricting network access to untrusted virtual machines
US8996851B2 (en) * 2010-08-10 2015-03-31 Sandisk Il Ltd. Host device and method for securely booting the host device with operating system code loaded from a storage device
US8694777B2 (en) * 2010-08-13 2014-04-08 International Business Machines Corporation Securely identifying host systems
US9818079B2 (en) 2011-05-21 2017-11-14 Ortho-Clinical Diagnostics, Inc. System and method of inventory management
US9178698B1 (en) * 2011-12-21 2015-11-03 Google Inc. Dynamic key management
US9992024B2 (en) * 2012-01-25 2018-06-05 Fujitsu Limited Establishing a chain of trust within a virtual machine
US8938611B1 (en) * 2012-02-02 2015-01-20 Trend Micro, Inc. Enterprise cloud security gateway
US8880882B2 (en) * 2012-04-04 2014-11-04 Google Inc. Securely performing programmatic cloud-based data analysis
EP2836968B1 (en) 2012-04-13 2020-05-06 OLogN Technologies AG Apparatuses, methods and systems for computer-based secure transactions
WO2013153441A1 (en) 2012-04-13 2013-10-17 Ologn Technologies Ag Secure zone for digital communications
US9432348B2 (en) 2012-04-20 2016-08-30 Ologn Technologies Ag Secure zone for secure purchases
US9385918B2 (en) * 2012-04-30 2016-07-05 Cisco Technology, Inc. System and method for secure provisioning of virtualized images in a network environment
US9210162B2 (en) 2012-05-02 2015-12-08 Microsoft Technology Licensing, Llc Certificate based connection to cloud virtual machine
US9027102B2 (en) 2012-05-11 2015-05-05 Sprint Communications Company L.P. Web server bypass of backend process on near field communications and secure element chips
US9282898B2 (en) 2012-06-25 2016-03-15 Sprint Communications Company L.P. End-to-end trusted communications infrastructure
US9066230B1 (en) 2012-06-27 2015-06-23 Sprint Communications Company L.P. Trusted policy and charging enforcement function
GB2513826A (en) * 2012-06-29 2014-11-12 Ibm Trusted boot of a virtual machine
US8649770B1 (en) 2012-07-02 2014-02-11 Sprint Communications Company, L.P. Extended trusted security zone radio modem
US8667607B2 (en) 2012-07-24 2014-03-04 Sprint Communications Company L.P. Trusted security zone access to peripheral devices
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US9215180B1 (en) 2012-08-25 2015-12-15 Sprint Communications Company L.P. File retrieval in real-time brokering of digital content
US9015068B1 (en) 2012-08-25 2015-04-21 Sprint Communications Company L.P. Framework for real-time brokering of digital content delivery
EP2907071B1 (en) * 2012-10-12 2018-11-14 Koninklijke Philips N.V. Secure data handling by a virtual machine
US9161227B1 (en) 2013-02-07 2015-10-13 Sprint Communications Company L.P. Trusted signaling in long term evolution (LTE) 4G wireless communication
US9578664B1 (en) 2013-02-07 2017-02-21 Sprint Communications Company L.P. Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system
US9104840B1 (en) 2013-03-05 2015-08-11 Sprint Communications Company L.P. Trusted security zone watermark
US9613208B1 (en) 2013-03-13 2017-04-04 Sprint Communications Company L.P. Trusted security zone enhanced with trusted hardware drivers
US9049013B2 (en) 2013-03-14 2015-06-02 Sprint Communications Company L.P. Trusted security zone containers for the protection and confidentiality of trusted service manager data
US9374363B1 (en) 2013-03-15 2016-06-21 Sprint Communications Company L.P. Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device
US9191388B1 (en) 2013-03-15 2015-11-17 Sprint Communications Company L.P. Trusted security zone communication addressing on an electronic device
US9292673B2 (en) * 2013-03-15 2016-03-22 International Business Machines Corporation Virtual key management and isolation of data deployments in multi-tenant environments
CA2902292A1 (en) 2013-03-15 2014-09-18 Ologn Technologies Ag Systems, methods and apparatuses for securely storing and providing payment information
US9021585B1 (en) 2013-03-15 2015-04-28 Sprint Communications Company L.P. JTAG fuse vulnerability determination and protection using a trusted execution environment
US9454723B1 (en) 2013-04-04 2016-09-27 Sprint Communications Company L.P. Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device
US9171243B1 (en) 2013-04-04 2015-10-27 Sprint Communications Company L.P. System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device
US9324016B1 (en) 2013-04-04 2016-04-26 Sprint Communications Company L.P. Digest of biographical information for an electronic device with static and dynamic portions
US9838869B1 (en) 2013-04-10 2017-12-05 Sprint Communications Company L.P. Delivering digital content to a mobile device via a digital rights clearing house
US9443088B1 (en) 2013-04-15 2016-09-13 Sprint Communications Company L.P. Protection for multimedia files pre-downloaded to a mobile device
US9069952B1 (en) 2013-05-20 2015-06-30 Sprint Communications Company L.P. Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory
US9560519B1 (en) 2013-06-06 2017-01-31 Sprint Communications Company L.P. Mobile communication device profound identity brokering framework
US9183606B1 (en) 2013-07-10 2015-11-10 Sprint Communications Company L.P. Trusted processing location within a graphics processing unit
WO2015015473A1 (en) * 2013-08-02 2015-02-05 Ologn Technologies Ag A secure server on a system with virtual machines
US9208339B1 (en) 2013-08-12 2015-12-08 Sprint Communications Company L.P. Verifying Applications in Virtual Environments Using a Trusted Security Zone
FR3011654B1 (fr) * 2013-10-08 2016-12-23 Commissariat Energie Atomique Procede et dispositif d'authentification et d'execution securisee de programmes
US9185626B1 (en) 2013-10-29 2015-11-10 Sprint Communications Company L.P. Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning
US9191522B1 (en) 2013-11-08 2015-11-17 Sprint Communications Company L.P. Billing varied service based on tier
US9161325B1 (en) 2013-11-20 2015-10-13 Sprint Communications Company L.P. Subscriber identity module virtualization
US9118655B1 (en) 2014-01-24 2015-08-25 Sprint Communications Company L.P. Trusted display and transmission of digital ticket documentation
US9226145B1 (en) 2014-03-28 2015-12-29 Sprint Communications Company L.P. Verification of mobile device integrity during activation
US9652631B2 (en) * 2014-05-05 2017-05-16 Microsoft Technology Licensing, Llc Secure transport of encrypted virtual machines with continuous owner access
US9230085B1 (en) 2014-07-29 2016-01-05 Sprint Communications Company L.P. Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services
WO2016081867A1 (en) * 2014-11-20 2016-05-26 Interdigital Patent Holdings, Inc. Providing security to computing systems
US9779232B1 (en) 2015-01-14 2017-10-03 Sprint Communications Company L.P. Trusted code generation and verification to prevent fraud from maleficent external devices that capture data
US10068092B2 (en) 2015-01-21 2018-09-04 Microsoft Technology Licensing, Llc Upgrading a secure boot policy on a virtual machine
US9838868B1 (en) 2015-01-26 2017-12-05 Sprint Communications Company L.P. Mated universal serial bus (USB) wireless dongles configured with destination addresses
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9473945B1 (en) 2015-04-07 2016-10-18 Sprint Communications Company L.P. Infrastructure for secure short message transmission
US9819679B1 (en) 2015-09-14 2017-11-14 Sprint Communications Company L.P. Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers
US10282719B1 (en) 2015-11-12 2019-05-07 Sprint Communications Company L.P. Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit
US9817992B1 (en) 2015-11-20 2017-11-14 Sprint Communications Company Lp. System and method for secure USIM wireless network access
US10404470B2 (en) * 2017-01-13 2019-09-03 Microsoft Technology Licensing, Llc Signature verification of field-programmable gate array programs
US10499249B1 (en) 2017-07-11 2019-12-03 Sprint Communications Company L.P. Data link layer trust signaling in communication network
US10685106B2 (en) 2018-03-10 2020-06-16 International Business Machines Corporation Protecting cognitive code and client data in a public cloud via deployment of data and executables into a stateless secure partition
US11068607B2 (en) 2018-03-10 2021-07-20 International Business Machines Corporation Protecting cognitive code and client data in a public cloud via deployment of data and executables into a secure partition with persistent data
US10853498B2 (en) * 2018-09-19 2020-12-01 Dell Products L.P. Secure boot orchestration device in a virtual desktop infrastructure
US11165575B2 (en) * 2019-01-02 2021-11-02 Citrix Systems, Inc. Tracking tainted connection agents
US11061711B2 (en) 2019-09-23 2021-07-13 Red Hat, Inc. Storage deduplication for virtual machines with encrypted storage
US11656891B2 (en) 2019-09-27 2023-05-23 Red Hat, Inc. Copy-on-write for virtual machines with encrypted storage
US11232030B2 (en) 2019-09-27 2022-01-25 Red Hat Inc. Storage deduplication for virtual machines with encrypted storage
KR20210069473A (ko) 2019-12-03 2021-06-11 삼성전자주식회사 사용자에 대한 인증을 통해 유저 데이터에 대한 권한을 부여하는 시큐리티 프로세서 및 이를 포함하는 컴퓨팅 시스템
US11768611B2 (en) 2020-04-02 2023-09-26 Axiado Corporation Secure boot of a processing chip
CN112257064B (zh) * 2020-10-31 2024-02-09 海光信息技术股份有限公司 一种嵌套页表度量方法、装置及相关设备
US20230032363A1 (en) * 2021-07-27 2023-02-02 International Business Machines Corporation Sensitive data encryption
WO2023115248A1 (en) * 2021-12-20 2023-06-29 Intel Corporation Circuitry and methods for implementing a trusted execution environment security manager
WO2023191895A1 (en) * 2022-03-28 2023-10-05 Intel Corporation Secure shared memory buffer for communications between trusted execution environment virtual machines

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038070A1 (en) * 1998-01-26 1999-07-29 Intel Corporation An interface for ensuring system boot image integrity and authenticity
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7380119B2 (en) * 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
WO2008119961A1 (en) * 2007-03-30 2008-10-09 British Telecommunications Public Limited Company Distributed computer system

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2218484T3 (es) * 2002-03-26 2004-11-16 Soteres Gmbh Un metodo de proteger la integridad de un programa de ordenador.
US7069442B2 (en) * 2002-03-29 2006-06-27 Intel Corporation System and method for execution of a secured environment initialization instruction
JP5016189B2 (ja) * 2004-08-03 2012-09-05 株式会社リコー 電子装置、電子装置の制御方法、プログラム及び記録媒体
US7836299B2 (en) * 2005-03-15 2010-11-16 Microsoft Corporation Virtualization of software configuration registers of the TPM cryptographic processor
BRPI0613956A2 (pt) * 2005-06-28 2011-02-22 Matsushita Electric Ind Co Ltd método de verificação, dispositivo de processamento de informação, meio de gravação, sistema de verificação, programa de certificação e programa de verificação
JP4899442B2 (ja) * 2005-11-21 2012-03-21 ソニー株式会社 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP4735331B2 (ja) * 2006-03-01 2011-07-27 日本電気株式会社 仮想マシンを利用した情報処理装置および情報処理システム、並びに、アクセス制御方法
US8010763B2 (en) * 2007-08-02 2011-08-30 International Business Machines Corporation Hypervisor-enforced isolation of entities within a single logical partition's virtual address space
JP4782871B2 (ja) * 2007-10-03 2011-09-28 富士通株式会社 デバイスアクセス制御プログラム、デバイスアクセス制御方法および情報処理装置
US8171301B2 (en) * 2007-10-07 2012-05-01 Embotics Corporation Method and system for integrated securing and managing of virtual machines and virtual appliances
JP5136012B2 (ja) * 2007-11-16 2013-02-06 富士通株式会社 データ送付方法
US20090249471A1 (en) * 2008-03-27 2009-10-01 Moshe Litvin Reversible firewall policies
US20090276774A1 (en) * 2008-05-01 2009-11-05 Junji Kinoshita Access control for virtual machines in an information system
JP5369502B2 (ja) * 2008-06-04 2013-12-18 株式会社リコー 機器、管理装置、機器管理システム、及びプログラム
US8479015B2 (en) * 2008-10-17 2013-07-02 Oracle International Corporation Virtual image management
US8560825B2 (en) * 2010-06-30 2013-10-15 International Business Machines Corporation Streaming virtual machine boot services over a network
US8707301B2 (en) * 2010-11-08 2014-04-22 Microsoft Corporation Insertion of management agents during machine deployment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999038070A1 (en) * 1998-01-26 1999-07-29 Intel Corporation An interface for ensuring system boot image integrity and authenticity
US7137004B2 (en) * 2001-11-16 2006-11-14 Microsoft Corporation Manifest-based trusted agent management in a trusted operating system environment
US7380119B2 (en) * 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
WO2008119961A1 (en) * 2007-03-30 2008-10-09 British Telecommunications Public Limited Company Distributed computer system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Terra: a virtual machine-based platform for trusted computing;Tal Garfinkel et al.;《SOSP "03 Proceedings of the nineteenth ACM symposium on Operating systems principles》;20031022;193-206 *

Also Published As

Publication number Publication date
EP2278514A1 (en) 2011-01-26
KR20120018820A (ko) 2012-03-05
KR101318524B1 (ko) 2013-11-21
JP2012533128A (ja) 2012-12-20
CN102473213A (zh) 2012-05-23
JP5497171B2 (ja) 2014-05-21
US8856544B2 (en) 2014-10-07
EP2278514B1 (en) 2018-05-30
WO2011006997A1 (en) 2011-01-20
US20120137117A1 (en) 2012-05-31

Similar Documents

Publication Publication Date Title
CN102473213B (zh) 用于提供安全虚拟机的系统和方法
US10176095B2 (en) Secure management of operations on protected virtual machines
CN1997955B (zh) 提供可信平台模块的安全虚拟化的方法和装置
US20190188394A1 (en) Security engine for a secure operating environment
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
CN102222049B (zh) 自加密存储设备的可扩展管理
US8676710B2 (en) Providing security in a cloud storage environment
KR100996784B1 (ko) 공개 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
KR101067399B1 (ko) 대칭 키 암호화에 기초한 데이터의 저장 및 검색을 위한, 컴퓨팅 장치에서 구현되는 방법, 시스템 및 복수의 명령어를 저장하는 하나 이상의 컴퓨터 판독가능 매체
JP2020005310A (ja) 対象のコンピューティング装置で実施される動作を認証する方法
US20120089831A1 (en) Associating A Multi-Context Trusted Platform Module With Distributed Platforms
US8407481B2 (en) Secure apparatus and method for protecting integrity of software system and system thereof
CN109691009A (zh) 网络功能虚拟化系统和验证方法
Löhr et al. Enhancing grid security using trusted virtualization
Gallery et al. Trusted computing: Security and applications
Cooijmans et al. Secure key storage and secure computation in Android
US20030053630A1 (en) Method and system for key usage control in an embedded security system
Petrlic et al. Establishing user trust in automated teller machine integrity
KR101429434B1 (ko) 클라우드 컴퓨팅 환경에서 사용자 가상 머신 실행환경의 신뢰성 향상 장치 및 방법
Fournaris et al. From hardware security tokens to trusted computing and trusted systems
Wu et al. The mobile agent security enhanced by trusted computing technology
KR101296229B1 (ko) 인증된 부트와 개선된 티피엠을 활용한 차량 애드 혹 네트워크의 보안 시스템 및 그 방법
Umar et al. Trusted Execution Environment and Host Card Emulation
Paul et al. Practical attacks on security and privacy through a low-cost android device
Kursawe The future of trusted computing: An outlook

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant