通过虚拟机进行安全数据处理的制作方法

文档序号:8435867阅读:370来源:国知局
通过虚拟机进行安全数据处理的制作方法
【技术领域】
[0001]本发明涉及运行虚拟机。本发明还涉及将密钥发给虚拟机实例。
【背景技术】
[0002]最近,云计算已经变成重要的范式。在云计算中,计算资源可以被出租作为商品。在典型的云计算模型中,云提供商提供运行在物理服务器上的虚拟服务器。这里,虚拟服务器可以向远程用户提供与物理服务器相似的功能。多个虚拟服务器可以运行在单个物理服务器上,使得可以需要更少的物理服务器。服务提供商可以提供一个或多个虚拟机映像,所述一个或多个虚拟机映像可以在云服务器上作为一个或多个虚拟机实例运行。
[0003]对于云计算而言数据保护是重要的。加密对保障数据保护潜在地起着重要作用。例如,在虚拟机的文件系统的顶部上可以运行加密的文件系统。此外,由美国华盛顿西雅图的亚马逊网络服务提供的亚马逊S3提供服务器端加密(SSE)以使得虚拟机能够以加密的形式存储数据。
[0004]磁盘镜像加密是目的在于保护静态数据的技术,静态即当关闭系统电源并且攻击者以某种方法访问其磁盘或其他外部存储设备时,这通常被称为‘离线攻击’。类似的攻击能够在虚拟机(VM)上被执行,其中一个重要的差异是:其能够甚至在没有对系统的物理访问的情况下被执行。如果攻击者设法使虚拟化主机或管理程序(本地或远程)让步,则他们之后能够继续进行以攻击其VM客户。调用基于内核的虚拟机(Linux KVM)的系统使得系统管理员能够通过对客户磁盘镜像进行加密,并且要求加密密码或密钥来启动他们来保护没有运行的客户。
[0005]Porticor虚拟私有数据系统(以色列,哈萨隆,Porticor LTD)采用同态分裂密钥加密技术,在同态分裂密钥加密技术中,利用唯一密钥来对诸如磁盘或文件的每个数据对象进行加密,唯一密钥被分裂成两个:主密钥和特定密钥。主密钥对于所有数据对象而言是共同的,并且保持应用程序拥有者的占有;而第二特定密钥对于每个数据对象而言是不同的,并且由虚拟密钥管理服务存储。当应用程序访问数据存储时,密钥的两部分被用于对数据动态地进行加密或解密。
[0006]US 2010/0211782 Al公开了提供网络数据服务的数字托管模式,所述数字托管模式包括存储在云中的数据的可搜索加密技术,将信任分布在多个实体中以避免单点数据让步。在一个实施例中,密钥生成器、加密技术提供商和云服务提供商每个被提供为单独的实体,使得数据发布者能够将数据秘密地发布给云服务提供商,并且然后基于响应于诸如订阅者的角色的订阅者的请求生成的密钥信息中编码的订阅者身份信息而将加密的数据选择性地暴露给请求所述数据的订阅者。
[0007]US 2011/0296201 Al公开了被配置为提供在虚拟化服务器上可信地运行虚拟机(VM)的方法和装置,例如,用于在虚拟化服务器上运行VM的方法和装置。物理多核CPU可以被配置具有硬件信任锚。信任锚自身可以被配置为当在CPU核中的一个上运行VM (或管理程序)时管理用于对指令和数据进行加密/解密的会话密钥。当由于例外而发生上下文切换时,信任锚将用于对存储器的内容进行加密/解密的会话密钥与分配到VM(或管理程序)的缓存进行交换。

【发明内容】

[0008]具有对虚拟机实例的改进的处置将是有利的。为了更好地解决该关注问题,本发明的第一方面提供了一种包括用于创建虚拟机实例的运行环境的系统,所述系统包括:
[0009]实例授权单元,其用于接收实例授权证书,其中,所述实例授权证书唯一地与所述虚拟机实例相关联;
[0010]数据密钥单元,其用于基于与所述虚拟机实例相关联的所述实例授权证书来生成针对数据密钥的请求;以及
[0011]解密单元,其用于基于所述数据密钥来对数据项进行解密。
[0012]所述实例授权证书向虚拟机实例提供识别自身的方式,因为所述实例授权证书唯一地与所述虚拟机实例相关联。通过这种方式,针对所述数据密钥的所述请求能够被认为来源于所述虚拟机实例,并且通过这种方式,在可以将数据密钥发给所述虚拟机实例时可以基于所述请求来确定所述虚拟机实例外部的实体,并且,例如,可以将多个可用数据密钥中的哪个数据密钥发给所述虚拟机实例。
[0013]所述虚拟机实例还可以包括用户证书单元,所述用户证书单元用于获得与用户或用户组相关联的用户证书。通过这种方式,所述虚拟机实例具有与所述虚拟机实例相关联的实例授权证书以及与用户或用户组相关联的用户证书两者。所述数据密钥单元可以被布置用于还基于所述用户证书来生成所述请求。这允许所述请求的接收者识别所述虚拟机实例和用户两者,使得所述请求的接收者可以基于两个实体来确定是否提供特定的数据密钥。备选地,所述解密单元可以被布置用于还基于所述用户证书来对数据项进行解密。通过这种方式,所述用户证书可以与所述数据密钥结合使用以对所述数据进行解密。通过任一种方式,所述虚拟机实例需要所述用户证书和所述实例授权证书两者来获得对其未加密形式的数据项的访问。
[0014]所述实例授权单元可以被布置用于发出针对所述实例授权证书的请求,其中,所述请求指示特定于所述虚拟机实例的至少一个属性。这允许所述虚拟机实例主动地请求实例授权证书。所述至少一个属性例如可以是一起唯一地识别所述虚拟机实例的属性集。
[0015]所述系统还可以包括实例拥有者单元,所述实例拥有者单元用于在密钥服务器处注册与所述虚拟机实例相关联的授权代码并且将所述授权代码提供给所述虚拟机实例;其中,所述至少一个属性包括所述授权代码。这允许拥有者单元控制所述虚拟机实例的解密能力。
[0016]所述实例拥有者单元可以被布置用于将包括所述授权代码的指令发送到虚拟机的运行环境。所述运行环境可以被布置用于响应于接收到所述指令而创建所述虚拟机实例并且将所述授权代码提供给所述虚拟机实例。这允许实例拥有者使所述运行环境创建具有与所述授权代码相关联的解密能力的虚拟机实例。
[0017]所述实例拥有者单元和所述运行环境可以被实施在借助于网络连接的两个单独的硬件实体上。所述系统允许通过控制被提供给所述虚拟机实例的所述授权代码和/或发给所述虚拟机实例的所述数据密钥改进虚拟机实例中的信任,所述虚拟机实例由来自远程位置的实例拥有者单元经由网络来操作。
[0018]所述数据密钥单元可以被布置用于在针对所述数据密钥的所述请求中包括指示所述请求在由所述虚拟机实例发出的请求序列中的位置的代码。这允许检测对虚拟机实例的非法复制,因为当两个虚拟机实例使用相同的实例授权证书时,这可以通过指示所述请求在由所述虚拟机实例发出的所述请求序列中的位置的代码来披露。具体而言,可以检测到在后续请求中未严格递增的位置。
[0019]所述虚拟机实例可以被布置用于将所述数据密钥和使用所述数据密钥解密的数据保持在易失性存储器中,和/或在使用之后擦除所述数据密钥和使用所述数据密钥解密的所述数据。这防止将所述数据密钥和/或所述数据项存储在永久存储器上和/或存在于长于必要的持续时间的存储器中。
[0020]在本发明的另一方面中,提供了一种用于将密钥发给虚拟机实例的密钥服务器系统,所述密钥服务器系统包括
[0021]实例识别单元,其用于基于特定于虚拟机实例的至少一个属性来识别所述虚拟机实例;
[0022]实例授权确定器,其用于确定实例授权证书,并且将所述实例授权证书唯一地与所述虚拟机实例相关联;
[0023]实例授权提供单元,其用于将所述实例授权证书提供给所述虚拟机实例;
[0024]数据密钥请求接收器,其用于接收来自所述虚拟机实例的针对数据密钥的请求,其中,针对所述数据密钥的所述请求包括与所述实例授权证书相关联的实例授权部件;
[0025]数据授权单元,其用于基于所述实例授权部件来确定所述虚拟机实例是否被授权以接收所述数据密钥;以及
[0026]数据密钥提供单元,其用于在所述虚拟机实例被授权以接收所述数据密钥时将所述数据密钥提供给所述虚拟机实例。
[0027]所述密钥服务器系统可以控制数据密钥到虚拟机实例的分配。由于特定于所述虚拟机实例的所述属性,以及唯一地与所述虚拟机实例相关联的实例授权证书的后续发行,对所述虚拟机实例的所述认证以及所述授权处理变得更加安全。此外,可以致使‘非法’虚拟机实例变得无用,因为它们不可以被给予实例授权证书,使得它们不能够生成针对数据密钥的有效请求。所述数据授权单元可以使用一个或多个策略来确定虚拟机实例是否被授权以接收数据密钥。这样的策略可以指示什么被允许以及什么不被允许,这样的策略可以是静态的或动态的并且可以取决于数据的性质、前述属性以及在其他地方提到的相关联的用户和/或位置。所述至少一个属性例如可以是一起唯一地识别所述虚拟机实例的属性集。
[0028]所述密钥服务器系统还可以包括:实例证书请求接收器,其用于接收来自所述虚拟机实例的针对所述实例授权证书的请求,其中,所述请求指示特定于所述虚拟机实例的属性;以及实例验证单元,其用于基于所述属性来核实所述虚拟机实例的有效性。这允许所述虚拟机实例自身请求所述虚拟机实例授权证书。使用特定于所述虚拟机实例的所述属性,能够将所述虚拟机实例识别给所述密钥服务器系统。
[0029]所述实例验证单元可以被布置用于还基于指示所述虚拟机实例的位置的属性来执行对所述虚拟机实例的所述有效性的所述核实,或者所述数据授权单元被布置用于还基于所述虚拟机实例的位置来执行对所述虚拟机实例是否被授权以接收所述数据密钥的确定。这允许监测所述虚拟机实例的位置,并且拒绝将所述实例授权证书或所述数据密钥给予没有在合适位置处的虚拟机实例。虚拟机实例的位置例如可以是包括处理器和/或存储器和/或存储设备的物理设备的位置,在所述物理设备上运行所述虚拟机实例。
[0030]针对所述数据密钥的所述请求还可以指示与所述虚拟机实例的用户或用户组相关联的用户证书。所述数据授权单元可以被布置用于还基于关于针对所述数据密钥的所述请求接收的所述用户证书的指示和通过所述数据密钥保护的所述数据的访问策略,来执行对所述虚拟机实例是否被授权以接收所述数据密钥的所述确定。通过这种方式,仅仅将所述数据密钥提供给授权的虚拟机实例,并且仅在所述虚拟机实例具有合适的用户证书的占有的情况下。
[0031]所述密钥服务器系统可以包括记录单元,其用于记录与涉及授权请求、证书和/或数据密钥的通信有关的信息。例如,这样的记录信息可以被用于执行对过去事件的分析,以检测指示例如滥用的任何可能模式。
[0032]在另一方面中,本发明提供了一种能够被实例化为虚拟机实例的虚拟机映像,其中,所述虚拟机映像包括:
[0033]用于令所述虚拟机实例接
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1