升级虚拟机上的安全引导策略的制作方法

文档序号:11450676阅读:330来源:国知局
升级虚拟机上的安全引导策略的制造方法与工艺



背景技术:

受信任平台模块(tpm)技术被设计成提供基于硬件的安全相关的功能。tpm可以被用来实施系统完整性测量。具体来说,在计算机系统的引导过程期间,tpm可以测量并且记录所加载的引导代码(包括固件和操作系统组件)。这些完整性测量可以被用作关于系统如何被启动的证据,并且用以确保只有在正确的软件被用来引导系统时才能使用基于tpm的密钥。

一些全盘加密解决方案(比如包括在microsoftwindows中的bitlocker加密系统)利用tpm和安全引导过程来确定系统是否被破坏到暗示系统已被损害的程度。当加密系统从受信任平台模块获知这样的情况存在时,则无法从tpm取回由加密系统对盘进行解密所需的密钥。在无法对盘进行解密的情况下,引导无法完成,并且加密系统进入恢复模式,只有在采取额外的认证措施(比如键入恢复口令)的情况下才能退出恢复模式。

在某些情况下,安全引导过程使用安全引导策略,所述安全引导策略例如规定:哪些操作系统的哪些版本可以被允许引导;哪些签名密钥或证书授予驱动器或其他代码单元在引导过程期间被加载的资格;等等。一些操作系统包括用于自动更新计算机系统的安全引导策略的机制,比如添加可允许的操作系统的新版本或者移除经过授权的签名密钥。



技术实现要素:

提供本发明内容是为了以简化形式介绍后面将在具体实施方式中进一步描述的概念的选择。本发明内容不意图标识出所要求保护的主题的关键因素或必要特征,也不意图被用来限制所要求保护的主题的范围。

描述了用于引导托管在主机上的虚拟机的设施。在一种示例设施中,所述设施根据与虚拟机相关联的策略实例来引导虚拟机。作为引导的一部分,所述设施从与虚拟机相关联的虚拟受信任平台模块中提取出完成引导所需的信息,所述提取是基于与虚拟机相关联的策略实例的。在引导完成时,所述设施把与主机相关联的策略实例的内容拷贝到与虚拟机相关联的策略实例中。

附图说明

图1是示出一些组件的方块图,所述组件可以被合并在所述设施在其上操作的计算机系统和其他设备中的至少一些中。

图2是示出所述设施在其上操作的虚拟化主机计算机系统的第一状态的方块图。

图3是示出可以由所述设施在一些示例中实施来创建用于在虚拟化主机上执行的虚拟机的示例动作的流程图。

图4是示出在实施了图3中所示的动作之后的某一时间处的处于第二状态下的虚拟化主机的方块图。

图5是示出可以由所述设施在一些实施例中实施来处理在虚拟化主机中接收到的针对安全引导策略的更新的示例动作的流程图。

图6是示出在实施了图5中所示的动作之后的某一时间处的虚拟化主机的第三状态的方块图。

图7是示出可以由所述设施在一些实施例中实施来处置虚拟机的引导的示例动作的流程图。

图8是示出与实施了图7中所示的动作之后的某一时间相对应的虚拟化主机的第四状态的方块图。

图9是示出一些组件的方块图,所述组件可以被合并在所述设施在其上操作的计算机系统和其他设备中的至少一些中。

具体实施方式

发明人认识到,在具有虚拟受信任平台模块(“vtpm”)以及受到恢复模式保护并且依赖于tpm的全盘加密解决方案(比如microsoftbitlocker)的虚拟机上实施升级可以使虚拟机进行(trip)到恢复状态。发生进入到恢复模式的转变是因为升级操作在许多方面类似于安全引导(secureboot)上的攻击,其中安全引导通过防止加载没有利用可接受的数字签名进行签名的驱动器或os加载器,来保护引导过程。当安全引导被允许时,计算值与测量值之间的pcr7测量的不一致使虚拟机进行到恢复中。作为操作系统更新来部署的安全引导策略改变可能影响pcr7测量,并且潜在地使vm进行到恢复中。由于与虚拟机停机时间和故障查找相关联的高额成本,这样进行到恢复模式中在云基础设施中代表着严重的问题。

为了解决这一问题,发明人发明了用于以不会不必要地触发盘加密恢复状态的方式升级虚拟机上的安全引导策略的软件设施(“所述设施”)并且将其付诸实践。

所述设施把用于虚拟化主机的安全引导策略保持在主机安全引导策略存储库中。响应于由主机接收到的每一项安全引导策略更新,主机的安全策略被立即更新。在主机上建立的每一个虚拟机具有其自身的本地安全引导策略存储库,其中所述本地安全引导策略存储库包含由该虚拟机使用的安全引导策略。虚拟机的该本地安全引导策略的状态影响以下两项:(1)如何由安全引导系统实施虚拟机的引导,以及(2)虚拟机在引导期间是否进入恢复状态。

所述设施仔细地控制每一个虚拟机的本地安全引导策略的状态,以便减小虚拟机将进入恢复状态的可能性。具体来说,所述设施保持虚拟机的本地安全引导策略的状态在以下时间之间不变:本地安全引导策略被用来把加密密钥(其被用来对盘进行加密)密封在虚拟机的vtpm中的时间与在引导虚拟机期间基于本地安全引导策略不变而从虚拟机的vtpm中成功地恢复该加密密钥的时间。一旦恢复了加密密钥并且避免了恢复状态,所述设施就检查主机安全引导策略存储库中的安全引导策略是否被更新,如果是的话,则把更新后的安全引导策略拷贝到vm的本地安全引导策略存储库。在这种情况下,所述设施还基于现在存储在vm的本地安全引导策略存储库中的更新后的安全引导策略而把加密密钥重新密封在虚拟机的vtpm中。当vm随后被重新引导时,基于已经使用现在处于vm的本地安全引导策略存储库中的更新后的安全引导策略密封了所述密钥,从vtpm中提取加密密钥将再次成功,并且恢复状态将再次被避免。

通过除了与之相关联的虚拟tpm之外还提供针对每一个虚拟机的安全引导策略的本地拷贝,所述设施可以升级安全引导策略,而不会使任何vm进行到恢复状态。

图1是示出一些组件的方块图,所述组件可以被合并在所述设施在其上操作的计算机系统和其他设备中的至少一些中。在各个示例中,这些计算机系统和其他设备100可以包括服务器计算机系统、台式计算机系统、膝上型计算机系统、平板计算机系统、上网本、移动电话、个人数字助理、电视、照相机、汽车计算机、电子媒体播放器、电子信息亭设备、电子表格设备、电子白板设备等等。在各个示例中,所述计算机系统和设备可以包括任意数目的以下各项:用于执行计算机程序的中央处理单元(“cpu”)101;用于在程序和数据被使用的同时对其进行存储的计算机存储器102,其中所述程序和数据包括所述设施和相关联的数据、包括内核和设备驱动器的操作系统以及一个或多个应用;用于持久地存储程序和数据的持久性存储设备103,比如硬驱动器或闪速驱动器;用于读取存储在计算机可读介质上的程序和数据的计算机可读介质驱动器104,比如软盘、cd-rom或dvd驱动器;和/或用于比如通过因特网或者其他有线或无线网络及其联网硬件把所述计算机系统连接到其他计算机系统和/或其他设备以便发送和/或接收数据的通信子系统105,比如交换机、路由器、转发器、电缆和光纤、光发射器和接收器、无线电传送器和接收器等等。

图2是示出所述设施在其上操作的虚拟化主机计算机系统的第一状态的方块图。在一些示例中,所述虚拟化主机是具有比如处理器、存储器、网络接口卡等物理组件的物理计算机系统。虚拟化主机200包括物理tpm201。所述虚拟化主机还包括主机安全引导策略存储库210,其存储安全引导策略211以便由在虚拟化主机上执行的操作系统立即使用,并且由在虚拟机上操作的操作系统最终使用,其中所述虚拟机在虚拟化主机上执行。安全引导策略中的字母“a”表明安全引导策略的初始版本,其中例如特定操作系统版本被允许引导,已经利用经批准列表上的密钥或证书来签名的驱动器和其他软件被允许作为引导过程的一部分而加载等等。

图3是示出可以由所述设施在一些示例中实施来创建用于在虚拟化主机上执行的虚拟机的示例动作的流程图。在301处,所述设施接收针对创建虚拟机的请求。在一些示例中,从基于云的托管服务的顾客接收到针对创建新的虚拟机以供该顾客使用的请求。在302处,所述设施创建所请求的虚拟机。

图4是示出在实施了图3中所示的动作之后的某一时间处的处于第二状态下的虚拟化主机的方块图。可以看到,所述设施已经在虚拟化主机400中创建了虚拟机450。

回到图3,在303处,所述设施在302处创建的虚拟机上安装操作系统。在304处,所述设施把安全引导策略从主机安全引导策略存储库拷贝到虚拟机的本地引导策略存储库。回到图4,可以看到,所述设施已经把安全引导策略411从主机安全引导策略存储库410拷贝到本地安全引导策略存储库460以作为安全引导策略461。通过在本地安全引导策略存储库460中的安全引导策略461中出现字母“a”,可以看到,其与主机安全引导策略存储库410中的安全引导策略411相同。

回到图3,在305处,所述设施建立用于对虚拟机中的已加密盘进行加密的加密密钥。在306处,基于当前系统状态(其作为“先前系统状态”被存储在vtpm中)和本地安全引导策略存储库中的安全引导策略二者,所述设施把在305处建立的加密密钥密封在为虚拟机建立的vtpm中。

回到图4,可以看到vtpm451包含盘解密密钥453,所述盘解密密钥453基于存储在本地安全引导策略存储库460中的安全引导策略461和同样被存储在vtpm中的先前系统状态452二者被密封。

回到图3,在307处,所述设施使用在505处建立的加密密钥加密用于虚拟机的盘。这些动作随后结束。

回到图4,可以看到,所述设施利用加密密钥对已加密盘470进行了加密。在虚拟机的当前执行会话期间,解密密钥将可从vtpm获得,或者被高速缓存在易失性存储器中,以便按照需要对已加密盘进行解密。在虚拟机重新引导时,已加密盘的内容将以未加密形式不可用,直到可以从vtpm恢复所述密钥为止。

图5是示出可以由所述设施在一些实施例中实施来处理在虚拟化主机中接收到的针对安全引导策略的更新的示例动作的流程图。在501处,所述设施在虚拟化主机中接收安全引导策略更新。在502处,所述设施根据在501处接收到的更新对存储在主机安全引导策略存储库中的安全引导策略进行更新。这些动作随后结束。

图6是示出在实施了图5中所示的动作之后的某一时间处的虚拟化主机的第三状态的方块图。图6示出了向虚拟化主机递送安全引导策略更新691的操作系统更新机制690。举例来说,安全引导策略更新可以添加将被允许引导的新的操作系统版本,并且可以删除已经发现被用来对恶意软件或其他不想要的代码进行签名的先前批准的签名密钥或证书。通过在安全引导策略更新691中示出的字母“b”可以看到,所述更新规定对于在图4中示出的安全引导策略461的改变。通过字母“b”存在于安全引导策略611中,可以看到,所述设施已经根据安全引导策略更新691更新了存储在主机安全引导策略存储库610中的安全引导策略611。应当提到的是,此时,所述设施已经对存储在主机安全引导策略存储库610中的安全引导策略611应用了更新,但是还没有对存储在本地安全引导策略存储库660中的安全引导策略661应用更新。

图7是示出可以由所述设施在一些实施例中实施来处置虚拟机的引导的示例动作的流程图。在701处,发起虚拟机的引导。在702处,通过,作为安全引导过程的一部分,针对存储在vtpm中的先前系统状态以及针对存储在本地安全引导策略存储库中的安全引导策略来评估虚拟机的当前状态,所述设施从vtpm恢复加密密钥。由于存储在本地安全引导策略存储库中的安全引导策略还没有从其在图4中当加密密钥被密封到vtpm中时的状态461更新,因此安全引导过程成功地继续下去以允许从vtpm恢复所述密钥。在703处,所述设施按照需要使用所述密钥对已加密盘进行解密。在704处,所述设施把存储在主机安全引导策略存储库中的安全引导策略拷贝到本地安全引导策略存储库,从而替换先前存储在其中的安全引导策略。应当提到的是,此时,最近接收到的安全引导策略更新现在已经被应用于虚拟机,虚拟机此后将享有所述更新所提供的好处。在705处,所述设施使用虚拟机的当前状态连同存储在本地安全引导策略存储库中的安全引导策略一起把加密密钥重新密封在vtpm中。作为所述重新密封的结果,当虚拟机再次被重新引导时,将有可能基于现在被存储在本地安全引导策略存储库中的更新后的安全引导策略从vtpm恢复所述密钥。这些动作随后结束。

图8是示出与实施了图7中所示的动作之后的某一时间相对应的虚拟化主机的第四状态的方块图。通过字母“b”存在于被存储在本地安全引导策略存储库860中的安全引导策略861中,可以看到,更新后的安全引导策略811已从主机安全引导策略存储库810拷贝到本地安全引导策略存储库860。此外,已经使用当前系统状态和更新后的安全引导策略将密钥853重新密封在vtpm中。

图9是示出一些组件的方块图,所述组件可以被合并在所述设施在其上操作的计算机系统和其他设备中的至少一些中。计算系统900包括被配置成存储第一安全引导策略实例911的第一存储区域910。所述计算系统还包括被配置成存储第二安全引导策略实例921的第二存储区域920。所述计算系统还包括安全引导子系统930。所述安全引导子系统被配置成使用由第二存储区域所存储的第二安全引导策略实例使虚拟机经历安全引导过程。所述计算系统还包括安全引导策略更新子系统940。所述安全引导策略更新子系统被配置成对由第一存储区域所存储的第一安全引导策略实例应用所接收到的安全引导策略更新。所述计算系统还包括安全引导策略同步子系统950。所述安全引导策略同步子系统被配置成利用由第一存储区域所存储的第一安全引导策略实例选择性地替换由第二存储区域所存储的第二安全引导策略实例。

在一些示例中,所述设施提供一种用于操作虚拟机的计算系统,所述计算系统包括:被配置成存储第一安全引导策略实例的第一存储区域;被配置成存储第二安全引导策略实例的第二存储区域;被配置成使用由第二存储区域所存储的第二安全引导策略实例使虚拟机经历安全引导过程的安全引导子系统;被配置成对由第一存储区域所存储的第一安全引导策略实例应用所接收到的安全引导策略更新的安全引导策略更新子系统;以及被配置成利用由第一存储区域所存储的第一安全引导策略实例选择性地替换由第二存储区域所存储的第二安全引导策略实例的安全引导策略同步子系统。

在一些示例中,所述设施提供一种具有内容的计算机可读介质,所述内容被配置成使得计算系统实施以下操作以便引导托管在主机上的虚拟机:根据与虚拟机相关联的策略实例引导虚拟机;作为引导的一部分,从与虚拟机相关联的虚拟受信任平台模块中提取完成引导所需的信息,所述提取是基于与虚拟机相关联的策略实例的;以及在引导完成时,把与主机相关联的策略实例的内容拷贝到与虚拟机相关联的策略实例中。

在一些示例中,所述设施提供一种用于引导托管在主机上的虚拟机的方法,所述方法包括:根据与虚拟机相关联的策略实例引导虚拟机;作为引导的一部分,从与虚拟机相关联的虚拟受信任平台模块中提取完成引导所需的信息,所述提取是基于与虚拟机相关联的策略实例的;以及在引导完成时,把与主机相关联的策略实例的内容拷贝到与虚拟机相关联的策略实例中。

在一些示例中,所述设施提供一种代表在主机上操作的第一虚拟机存储第一安全引导策略数据结构的计算机可读介质,所述第一安全引导策略数据结构包括:用于引导操作系统的策略指示,所述第一安全引导策略数据结构的内容可用于恢复密封在与第一虚拟机相关联的虚拟受信任平台模块中的信息。

本领域技术人员将认识到,可以通过多种方式直接明了地适配或扩展前面所描述的设施。虽然前面的描述引用了特定的示例,但是本发明的范围仅由所附权利要求书和其中所引述的元素限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1