用于构建安全的计算环境的方法和设备的制作方法

文档序号:6426654阅读:149来源:国知局

专利名称::用于构建安全的计算环境的方法和设备的制作方法
技术领域
:本发明的实施方式总体上涉及信息
技术领域
,更具体地,涉及用于构建安全的计算环境的方法和设备。
背景技术
:随着计算技术的发展,确保计算环境的安全性已经成为一个亟待解决的重要技术问题。在此使用的术语“安全性”是指避免计算环境中的应用、进程/线程、文件、数据、代码等各种信息以任何未经授权的方式被访问(例如,被恶意软件、病毒和/或蠕虫程序访问),从而避免上述信息的完整性和/或私密性遭到破坏。作为示例,涉及银行、金融、财会、个人隐私信息等方面的应用通常对安全性具有较高要求。因此,构建安全的计算环境具有重要的意义。为了在给定的计算设备上构建一个安全的计算环境,通常需要确保计算环境与外部隔离。目前,虚拟机(VM)已经作为隔离平台被广泛应用,在应用中通过各个虚拟机之间的自然分离来提供安全隔离。例如,可以通过可信可引导存储设备(TrustedBootableStorage,TBS)来构建这样的安全计算环境。TBS是一类具有引导功能的存储设备,例如,它可以是类似于通用串行总线(UniversalSerialBus,USB)设备的便携式存储设备。在TBS中,通常包含有自己的操作系统(OS)镜像(即,虚拟机)、管理器(例如,虚拟机监控器,VMM)和文件系统。当此类TBS设备与计算设备(例如,个人计算机PC)耦合时,其可以对该计算设备进行引导,从而在该计算设备的硬件平台上构建一个基于虚拟机的计算环境。然而,本领域技术人员可以理解,操作系统本身可以被利用作为攻击源,在这种情况下,例如通过外围设备的直接IO访问,就可以击破这种通过虚拟机构建的隔离。因此,虚拟机之间的隔离并不能形成真正的安全隔离。为了解决上述问题,已经提出了利用TBS中包含的软件信任计算基(SoftwareTrustedComputingBase,STCB)进一步确保隔离计算环境的安全性,STCB将在下文详述。此外,为了进一步提高计算环境的安全性,还提出对操作系统(OS)镜像/内核进行定制,例如移除无用的设备驱动。为计算环境配备内部安全处理器(例如,ARM处理器)也是已知的方案之一。同样已知的另一类方案是通过计算设备外部的第三方对该计算设备上构建的计算环境进行验证,来确保其在被创建时满足预定的安全性要求或策略。尽管现有技术的方案可以在一定程度上提高计算环境的安全性,但是某些问题和缺陷仍然有待解决。首先,在上述现有技术中,通常只能确保计算环境在构建和启动时是安全的,而无法确保希望受到保护的应用或进程(下文称为“受保护应用”)在运行时期间的安全性。除此之外,单纯地依赖于STCB或者第三方验证一来确保计算环境的安全性可能是不利的,因为STCB或者第三方本身也可能因遭受攻击而无法执行正确的验证功能。有鉴于此,在本领域中,需要一种改进的用于构建安全计算环境的技术方案
发明内容在本发明的一个方面,提供一种用于在计算设备上构建安全的计算环境的方法,该计算设备由可信可引导存储设备TBS引导。该方法包括与远程验证器RV通信以验证由所述TBS引导的计算环境,并且接收由所述RV生成的安全策略;在所述计算环境中创建隔离的运行空间以用于运行受保护应用;以及在所述受保护应用的运行期间将所述安全策略施加于所述受保护应用。根据本发明的可选实施方式,与远程验证器RV通信以验证由所述TBS引导的计算环境可以进一步包括向所述RV传送关于所述TBS的信息以供验证。在这样的实施方式中,关于所述TBS的信息可以包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,受保护应用的信息。根据本发明的可选实施方式,该方法可以进一步包括使所述受保护应用与所述计算环境的外部服务之间的通信受控于所述RV。在这样的实施方式中,使所述受保护应用与所述计算环境的外部服务之间的通信受控于所述RV可以进一步包括使所述受保护应用向所述RV传送针对所述外部服务的请求;以及响应于所述请求由所述RV成功验证,使所述受保护应用在所述RV的引导下与所述外部服务通信。在本发明的另一方面,提供一种用于验证在计算设备上构建的计算环境的安全性的方法,该计算设备由可信可引导存储设备TBS引导。该方法包括与所述TBS通信以验证由所述TBS引导的计算环境;响应于所述验证成功而生成安全策略,所述安全策略将在所述计算环境中的受保护应用的运行期间被施加于所述受保护应用;以及向所述TBS传送生成的所述安全策略。根据本发明的可选实施方式,验证由所述TBS引导的计算环境可以进一步包括接收关于所述TBS的信息;以及基于接收到的所述信息对所述计算环境进行验证。在这样的实施方式中,关于所述TBS的信息可以包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及受保护应用的信息。根据本发明的可选实施方式,该方法可以进一步包括控制所述受保护应用与所述计算环境的外部服务之间的通信。在这样的实施方式中,控制所述受保护应用与所述计算环境的外部服务之间的通信可以进一步包括接收所述受保护应用针对所述外部服务的请求;对所述受保护应用进行验证;以及响应于对所述受保护应用的验证成功,引导所述受保护应用与所述外部服务进行通信。在本发明的又一方面,提供一种用于在计算设备上构建安全的计算环境的设备,该计算设备由可信可引导存储设备TBS引导。该设备包括通信装置,配置用于与远程验证器RV通信以验证由所述TBS引导的计算环境,以及用于接收由所述RV生成的安全策略;运行空间创建装置,配置用于在所述计算环境中创建隔离的运行空间以用于运行受保护应用;以及策略实施装置,配置用于在所述受保护应用的运行期间将所述安全策略施加于所述受保护应用。根据本发明的可选实施方式,通信装置可以进一步包括配置用于向所述RV传送关于所述TBS的信息以供验证的装置。在这样的实施方式中,关于所述TBS的信息可以包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及受保护应用的信息。根据本发明的可选实施方式,该设备可以进一步包括应用管理装置,配置用于使所述受保护应用与所述计算环境的外部服务之间的通信受控于所述RV。在这样的实施方式中,所述应用管理装置可以进一步包括配置用于使所述受保护应用向所述RV传送针对所述外部服务的请求的装置;以及配置用于响应于所述请求由所述RV成功验证而使所述受保护应用在所述RV的引导下与所述外部服务通信的装置。在本发明的另一方面,提供一种用于验证在计算设备上构建的计算环境的安全性的验证器,所述计算设备由可信可引导存储设备TBS引导,并且所述验证器定位在所述计算设备的远程。该验证器包括远程验证装置,配置用于与所述TBS通信以验证由所述TBS引导的计算环境;策略生成装置,配置用于响应于所述验证成功而生成安全策略,所述安全策略将在所述计算环境中的受保护应用的运行期间被施加于所述受保护应用;以及策略传送装置,配置用于向所述TBS传送生成的所述安全策略。·根据本发明的可选实施方式,远程验证装置可以进一步包括配置用于接收关于所述TBS的信息的装置;以及配置用于基于接收到的所述信息对所述计算环境进行验证的装置。在这样的实施方式中,关于所述TBS的信息可以包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及受保护应用的信息。根据本发明的可选实施方式,该验证器可以进一步包括应用控制装置,配置用于控制所述计算环境中运行的受保护应用与所述计算环境的外部服务之间的通信。此外,应用控制装置可以进一步包括配置用于接收所述受保护应用针对所述外部服务的请求的装置;配置用于对所述受保护应用进行验证的装置;以及配置用于响应于对所述受保护应用的验证成功而引导所述受保护应用与所述外部服务进行通信的装置。通过阅读下文结合附图的详细描述,本领域技术人员将会理解,利用本发明的实施方式,计算环境的安全性可以从多个不同方面和角度获得保护。首先,在构建计算环境时,通过第三方(即,远程验证器RV)的验证,可以确保由TBS在给定计算设备上引导的计算环境是未受攻击或入侵的安全计算环境。换言之,计算环境的启动是安全的。其次,在所构建的计算环境中,可以创建用于受保护应用的隔离运行空间,以对抗可能的外部入侵。优选地,该隔离运行空间可以由TBS中的虚拟机监控器(例如,STCB)来创建和维护。在此基础上,从受保护应用在隔离运行空间中被加载开始,其在整个生命周期中的行为都将受到由远程验证方RV生成的安全策略的约束,该安全策略由TBS向隔离运行环境中的受保护应用实施。最后,可选地,当受保护应用在运行时期间与计算环境之外的外部服务进行交互或者通信时,该受保护应用仍然要经历RV的附加验证。通过下文结合附图的详细描述将会理解,根据本发明的实施方式,不仅将在创建和启动时确保计算环境的安全性,而且在受保护软件的整个运行期间(特别是在其与外部服务通信时)都可以利用安全策略的实施和附加第三方验证来确保计算环境的安全性。以此方式,通过结合使用计算环境启动时的远程验证、隔离运行空间对受保护应用的运行时保护以及远程安全策略的本地实施,可以有效地改善计算环境的安全性。通过参考附图阅读下文的详细描述,本发明实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中图I示出了根据本发明实施方式的用于在计算设备上构建安全的计算环境的方法100的流程图;图2示出了根据本发明实施方式的用于验证在计算设备上构建的计算环境的安全性的方法200的流程图;图3示出了根据本发明实施方式的用于在计算设备上构建安全的计算环境的设备300的框图;图4示出了根据本发明实施方式的用于验证在计算设备上构建的计算环境的安全性的验证器400的框图;图5示出了根据本发明实施方式的示意性系统500的框图;以及图6示出了适于与本发明的实施方式结合使用的示例性计算机设备600的框图。具体实施例方式下面参考附图详细描述本发明的实施方式。如上文概述以及下面详细讨论的,在本发明的一个实施方式中,可以从多个方面确保利用可信可引导存储设备(TBS)在计算设备上构建的计算环境的安全性。在描述本发明的实施方式之前,首先给出若干术语的定义。在此使用的术语“计算环境”是指可供程序在其中运行的环境。一个计算环境主要包括两方面硬件环境和软件环境。硬件环境主要由中央处理单元(CPU)、存储器、总线、I/O设备以及某些外围设备构成。软件环境主要是指应用程序运行的环境,包括一系列从硬件上建立的软件堆栈,包括但不限于虚拟机监控器(VirtualMachineMonitor,VMM)、操作系统(OS)、中间件、系统服务程序,等等。此外,在此使用的术语可信可引导存储设备(TBS)是指一类存储设备,当其被连接至一个外部物理计算设备时,可以利用其内部存储设备对该计算设备进行引导,从而利用该计算设备的物理硬件平台构建一个计算环境。如上文所述,TBS通常包含自己的OS镜像、管理器(例如,VMM)和文件系统。此外,TBS还可以配备有不可破坏的密码引擎,例如可信安全平台模块(TrustedPlatformModule,TPM)或者类似于RSA的令牌引擎,用以产生标识该TBS身份的信息,这仅仅是几个示例。常见的TBS可以实现为USB设备之类的便携式设备,然而这仅仅是示例性而非限制性的。特别地,应当理解,利用TBS的引导构建的计算环境仅仅利用或者说基于物理计算设备的硬件,而与其上安装或运行的操作系统和软件应用无关。另外,这里使用的术语“应用”表示可以在计算环境中运行的任何软件、程序指令、进程和/或线程。应用既包括系统应用,也包括客户应用。相应地,术语“受保护应用”是指由于对安全性的要求较高而在运行期间确保其不受其他恶意软件侵犯的应用。下面,将结合附图中示出的若干示例性实施方式,来详细描述本发明的原理和精神。首先参考图I,其示出了根据本发明实施方式的用于在计算设备上构建安全的计算环境的方法100的流程图。注意,方法100中记载的各个步骤可以按照不同的顺序执行和/或并行执行。方法100还可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。方法100在TBS/计算设备一侧执行。特别地,方法100可以响应于TBS对计算设备的引导而执行。可以理解,响应于TBS的引导,在该计算设备的硬件环境之上,软件环境将被创建。该软件环境至少可以包括操作系统OS、软件可信计算基STCB。软件环境和硬件环境一起构成了由TBS引导的计算环境方法100开始之后,在步骤S102,与远程验证器RV通信以验证由TBS引导的计算环境,并且接收由所述RV生成的安全策略。远程验证器RV定位在计算设备以及TBS的远程位置的任何适当实体,其可配置用于对TBS所引导的计算环境进行验证(这将在下文参考图2详述)。本领域技术人员将会理解,所引导的计算环境是否可信或者安全,在很大程度上取决于引导计算设备的TBS是否可信或者安全。因此,根据本发明的优选实施方式,RV对计算环境的验证以关于TBS的信息为基础。在这样的实施方式中,可以向RV发送关于TBS的信息,包括但不限于以下一个或多个=TBS的标识信息,TBS中包含的管理程序(S卩,VMM)镜像的信息,TBS中包含的OS镜像的信息,TBS中包含的文件系统的信息,以及隔离运行空间中运行的受保护应用的信息,等等。根据本发明的实施方式,作为计算环境验证的一部分,可以使用TBS的标识信息来验证该TBS的身份。例如,TBS标识信息可以涉及与该TBS相关联的唯一序列号以及证明该唯一序列号的密钥。所述唯一序列号例如可以由TBS中配备的TPM或者RSA之类的令牌引擎等来产生。同时,在TBS内部还存储有不公开的密钥,例如公钥系统(PKI)中的私钥。通常,私钥是不公开的,而TBS的唯一序列号以及与私钥相对应的公钥是公开的。由此可以唯一地确定TBS的身份。备选地或附加地,在某些其他实施方式中,TBS标识信息可以涉及固定的密钥以及动态变化的密钥数字。此时,可以利用“双因素”(tW0-fact0r)机制来验证TBS的身份。以上列举的仅仅是几个示例,任何适当的TBS标识信息和TBS身份验证手段均落入本发明的范围之内。相应地,根据TBS和RV关于认证的预先协商或者共同遵循的协议,RV处可以保存有关于合法或已认证TBS的有关信息,以及TBS应当满足的相应约束(例如,针对OS镜像、VMM镜像和/或文件系统的约束,等等)。如果所发送的信息与RV处保存的信息相匹配并且相应的约束得到满足,则RV针对该TBS所引导的计算环境的验证成功。应当理解,除了关于TBS的信息之外或者作为替代,RV对TBS引导计算环境的验证还可以考虑其他因素。例如,根据本发明的某些实施方式,验证过程可以基于当前使用该TBS的用户的信息、TBS所引导的物理计算设备的信息、动态/随机生成的其他验证信息,等等。本发明的范围在此方面不受限制。如下文所述,当RV对计算环境的验证成功时,作为响应,RV将会生成针对当前计算环境中的安全策略。这样的安全策略可以是预定义的,和/或根据当前计算环境的具体参数而动态产生。根据本发明的某些实施方式,RV生成的安全策略可以包括针对应用输出通信的限制,例如禁止受保护应用在受到攻击后访问恶意网络地址、向未经授权方泄露信息,等等。这仅仅是示例,其他任何适当的安全策略都是可行的。而且,RV生成的安全策略可以是通用的,也可以特定于受保护安全应用,这将在下文详述。所生成的安全策略由RV向TBS侧发送,并且在步骤S102处被接收。在某些优选实施方式中,在步骤S102,可以利用TBS所引导的计算环境中的软件可信计算基(STCB)来执行与RV的通信以及安全策略的接收。在此使用的术语“软件可信计算基”(STCB)是TBS所引导的计算环境中权限最高的应用,即特权应用。STCB通常,一旦TBS引导计算设备从而产生计算环境,STCB即被加载。例如,在某些实施方式中,STCB可以实现为虚拟机监控器VMM或者VMM的一部分。应当注意,利用STCB与RV通信和接收安全策略可以确保该操作的安全性和可靠性,但这并不是必须的。实际上,可以利用TBS和/或计算设备中的任何硬件、软件和/或固件模块来实现步骤S102的功能,本发明的范围在此方面不受限制。此外还应注意,在步骤S102,STCB与RV之间的通信可以利用目前已知或者将来开发的各种有线的和/或无线的通信机制来实现。本发明的范围在此方面亦不受限制。接下来,方法100进行到步骤S104,在此,在TBS引导的计算环境中创建隔离的运行空间以用于运行受保护应用。如上文所述,在将TBS连接或者耦合至某计算设备之后,TBS可以利用其内部存储来弓I导该计算设备,从而在其硬件平台之上构建一个计算环境。在该计算环境中,为了确保受保护应用的安全性,可以创建供受保护应用运行的隔离运行空间。此类隔离的运行空间可以对抗恶意软件的入侵和破坏,并且可以包含对RAM(随机访问存储器)中的代码/数据的保护以及针对1/0(输入/输出)的保护。应当理解,隔离运行空间的创建对于受保护应用的运行以及随后的远程安全策略实施具有重要作用。根据本发明的优选实施方式,隔离运行空间例如可以通过以下步骤来创建初始化受保护应用;对所述受保护应用的动态计算环境进行控制以防止非法使用;监控存储器管理单元(MMU)的使用,对受保护应用的存储器空间进行隔离保护;以及监控输入/输出存储器管理单元(IOMMU)的使用,对外围设备通过IOMMU进行的与受保护应用之间的交互操作进行控制。特别地,此类隔离运行空间可以由STCB来创建。在本申请的申请人于2010年08月25日提交的中国发明专利申请号201010262383.I中,详细描述了利用STCB创建此类隔离运行空间的原理和实现。在此通过参考并入该申请的全部内容。应当理解,利用STCB来创建隔离的运行空间仅仅是示例性的,而并非以任何方式限制本发明的范围。实际上,可以利用目前已知或者将来开发的任何适当技术手段在所引导的计算环境中构建隔离的运行空间。继而,在方法100的步骤S106处,在受保护应用的运行期间,将步骤S104处接收的、由RV生成的安全策略施加于受保护应用。注意,在此使用的术语“运行期间”是指应用从被加载开始直到运行结束的整个生命周期。根据本发明的优选实施方式,可以利用TBS中的STCB来实现安全策略的实施。可以理解,如上文所述,STCB是TBS中权限最高的特权应用,并且运行受保护应用的隔离运行空间可由STCB来构建。因此,例如STCB来实施RV设定的安全策略是有利的。在本发明的某些可选实施方式中,方法100继而进行到可选的步骤S108。在可选步骤S108,使计算环境的每个受保护应用与该计算环境之外的外部服务之间的通信受控于远程验证器RV。可以理解,在一个受保护应用的运行过程中,它可能需要与计算环境外部的服务(作为示例,云计算中的后端服务器,等等)进行通信。此时,由于涉及到信息的交换,有可能会破坏计算环境的安全。为此,根据本发明的可选实施方式,这些受保护应用与外部服务的通信要接受远程验证器RV的控制和监管。根据本发明的优选实施方式,计算环境中的受保护应用与外部服务之间的通信以RV为中介,并且受其控制。例如,在某些实施方式中,步骤S108可以包含以下这些子步骤。首先,当受保护应用希望与外部服务进行通信时,使其向远程验证器RV传送针对该外部服务的请求,而不是直接与该外部应用进行通信。RV在接收到该请求之后将进行一系列验证操作,这将在下文详述。如果验证成功,则在TBS侧,受保护应用可以在RV的引导下与外部服务通信。例如,响应于验证成功,RV可以允许受保护应用与外部应用直接连接并且交换信息。在本发明中,RV对受保护应用与外部服务之间通信的验证可以按照不同方式执行。例如,在某些实施方式中,受保护应用与外部服务的任何通信都必须经过RV的验证。备选地,可以仅在一个受保护应用与一个外部服务首次通信时由RV进行中介验证。此外,RV的此类验证还可以取决于时间段、外部服务的特征和信息等各种因素。应当理解,上文描述的将RV作为受保护应用与外部服务之间的中介,仅仅是利用RV控制二者之间通信的优选实施方式。其他实施方式同样是可能的。例如,在某些备选实施方式中,受保护应用可以按照RV预先设定的规则来与外部服务进行通信。本发明的范围在此方面不受限制。根据上文参考图I描述的方法100,可以利用本地机制(例如,STCB)和远程机制(RV)之间的协调和配合,来确保所引导的计算环境中的受保护应用的安全。而且,可以理解,不同于现有技术中仅在计算环境构建和启动时对安全性进行验证和检查,根据本发明的实施方式,安全策略将在受保护软件应用的整个生命周期中被实施。特别地,受保护应用与外部服务之间的通信还可能经过附加的验证。由此,通过计算环境启动时的远程验证、隔离运行空间的创建以及远程安全策略在隔离运行空间中的本地实施,可以更为有效地确保计算环境的安全性。上文已经参考图I描述了在TBS或计算设备一侧执行的用于构建安全计算环境的方法100。下面参考图2,描述在远程验证器一侧执行的用于对计算设备上构建的计算环境进行验证的方法200。类似于方法100,方法200中记载的各个步骤可以按照不同的顺序执行和/或并行执行。方法200还可以包括附加的步骤和/或省略执行示出的步骤。方法200开始之后,在步骤S202处,远程验证器RV可以与引导计算设备的可信可引导存储设备(TBS)通信,以便对该TBS所引导的计算环境进行验证。如上文参考图I所述,根据本发明的优选实施方式,RV对计算环境的验证是基于TBS的有关信息而实现的。具体而言,在步骤S202处,可以从TBS侧接收关于TBS的信息,所述信息包括但不限于以下一个或多个TBS的标识信息,TBS中包含的虚拟机监控器镜像的信息,OS镜像的信息,TBS中包含的文件系统的信息,以及受保护应用的信息,等等。在这样的实施方式中,RV侧可以保存有关于合法或已认证TBS的有关信息以及该TBS应当满足的相应约束(例如,针对OS镜像和/或文件系统的约束)。如果所发送的信息与RV处保存的信息相匹配,并且相应的约束得到满足,则RV针对该TBS所引导的计算环境的验证成功。关于TBS标识信息以及RV所执行的验证已在上文结合图I中的步骤S102进行了讨论,在此不再赘述。除了关于TBS的信息之外或者作为替代,在步骤S202处,RV还可以考虑其他因素对TBS引导的计算环境执行验证。例如,根据本发明的某些实施方式,RV可以在步骤S202处接收当前使用该TBS的用户的信息、TBS所引导的物理计算设备的信息、动态/随机生成的其他验证信息等,并且基于这些信息来验证当前TBS以及由其引导的计算环境是否是可信任的和安全的。本发明的范围在此方面不受限制。接下来,在步骤S204处,确定步骤S202处对计算环境的验证是否成功。如果验证不成功,则方法200进行到步骤S206,在此进行错误处理。根据本发明的实施方式,步骤S206处的错误处理可以基于任何目前已知或者将来开发的错误处理机制。例如,RV可以向TBS发送指示验证失败的消息。又如,RV可以还可以向TBS指示验证失败的原因。这仅是几个示例,本发明的范围在此方面不受限制。另一方面,如果在步骤S204处确定对计算环境认证的成功,方法200进行到步骤S208,在此生成安全策略。根据本发明的实施方式,此处生成的安全策略可以是预定义的,和/或根据当前计算环境的具体参数而动态产生。如上文所述,RV生成的安全策略可以包括针对应用输出通信的限制,例如,禁止受保护应用在受到攻击后访问恶意网络地址、向未·经授权方泄露信息,等等。而且,RV生成的安全策略可以包含通用安全策略、特定于应用的安全策略或二者的结合。具体而言,可以生成对于隔离运行空间中的所有受保护应用都将有效的一般性安全策略,也可以根据当前运行的受保护应用的特性、状态、要求等而生成具有针对性的安全策略。随后,在步骤S210,将生成的安全策略向TBS侧传送。如上文所述,在步骤S208处由RV生成以及在步骤S210被传送给TBS侧的安全策略将在TBS引导的运行环境中被施加于隔离运行空间中的受保护应用的整个生命周期。此后,根据本发明的某些可选实施方式,方法200进行到步骤S212,在此由RV控制计算环境中的受保护应用与该计算环境之外的外部服务之间的通信。如上文所述,根据本发明的某些实施方式,步骤S212处的控制可以通过这样的方式来实现计算环境中的受保护应用与外部服务之间的通信以RV为中介,并且受其控制。例如,在某些实施方式中,步骤S212可以包含如下这些子步骤。首先,RV可以从TBS侧接收受保护应用针对所述外部服务的请求。此后,RV可以对该受保护应用进行验证。根据本发明的实施方式,RV对受保护应用的验证可以基于任何目前已知或者将来开发的任何应用程序验证机制来实现。例如,RV可以基于该受保护应用的标识信息、当前状态、所请求的操作,是否被授权使用所请求的外部服务等等各种因素来验证该受保护应用。如果RV对受保护应用的验证成功,则RV可以引导所述受保护应用与所述外部服务进行通信。例如,RV可以指示受保护应用允许它直接与所请求的外部服务进行通信。如上文所述,在步骤S212处,RV对受保护应用与外部服务之间通信的验证可以按照不同方式执行。例如,在某些实施方式中,受保护应用与外部服务的任何通信都必须经过RV的验证。备选地,可以仅在一个受保护应用与一个外部服务首次通信时由RV进行中介验证。此外,RV的此类验证还可以取决于时间段、外部服务的特征和信息等各种因素。应当理解,上文描述的将RV作为受保护应用与外部服务之间的中介,仅仅是利用RV控制二者之间通信的优选实施方式。其他实施方式同样是可能的。例如,在某些备选实施方式中,受保护应用可以按照RV预先设定的规则来与外部服务进行通信。本发明的范围在此方面不受限制。下面参考图3,其示出了根据本发明实施方式的用于在计算设备上构建安全的计算环境的设备300的框图。根据本发明的实施方式,设备300可以驻留于引导计算设备的TBS上,或者实现为TBS的一部分。备选地或附加地,设备300也可以独立于TBS,并且以任何适当的方式与TBS耦合。本发明的范围在此方面不受限制。根据本发明的实施方式,设备300可以包括通信装置302,其可配置用于与远程验证器RV通信以验证由TBS引导的计算环境,以及用于接收由RV生成的安全策略。根据本发明的某些实施方式,通信装置302可以包括配置用于向RV传送关于TBS的信息以供验证的装置。关于TBS的信息可以包括以下一个或多个TBS的标识信息,TBS中包含的操作系统镜像的信息,TBS中包含的虚拟机监控器镜像的信息,TBS中包含的文件系统的信息,以及受保护应用的信息。根据本发明的优选实施方式,设备300的通信装置302可以借助于TBS所引导的计算环境中加载的软件可信计算基STCB执行与远程验证器RV通信。注意,根据本发明的实施方式,通信装置302可以支持基于目前已知或者将来开发的各种有线的和/或无线的通信机制来与RV进行通信。本发明的范围在此方面不受限制。此外,如图3所示,根据本发明实施方式的设备300还包括运行空间创建装置304,其可配置用于在TBS引导的计算环境中创建隔离的运行空间以用于运行受保护应用。根据本发明的优选实施方式,运行空间创建装置304可以配置用于利用STCB来创建这样的隔离运行空间。另外,根据本发明的实施方式,设备300还包括策略实施装置306,其可配置用于在受保护应用的运行期间将安全策略施加于受保护应用。根据本发明的优选实施方式,策略实施装置306可以利用STCB向受保护应用施加安全策略。可选地,设备300可以包括应用管理装置308,其可配置用于使受保护应用与计算环境的外部服务之间的通信受控于RV。根据某些实施方式,应用管理装置308可以进一步包括配置用于使受保护应用向RV传送针对外部服务的请求的装置;以及配置用于使受保护应用在RV的引导下与外部服务通信的装置。下面参考图4,其示出了根据本发明实施方式的用于验证在计算设备上构建的计算环境的安全性的验证器400的框图。验证器400定位在计算设备或者用于引导计算设备的TBS的远程,因此也被称为远程验证器(RV)。根据本发明的实施方式,验证器400包括远程验证装置402,其可配置用于与弓I导计算设备的可信可引导存储设备TBS通信,以验证TBS所引导的计算环境。根据某些可选实施方式,远程验证装置402可以进一步包括配置用于接收关于TBS的信息的装置;以及配置用于基于接收到的信息对计算环境进行验证的装置。根据本发明的某些实施方式,关于TBS的信息包括以下一个或多个TBS的标识信息,TBS中包含的操作系统镜像的信息,TBS中包含的虚拟机监控器镜像的信息,TBS中包含的文件系统的信息,以及受保护应用的信息。此外,根据本发明的实施方式,验证器400还包括策略生成装置404,其可配置用于响应于验证成功而生成安全策略,安全策略将在计算环境中的受保护应用的运行期间被施加于受保护应用。而且,验证器400还包括策略传送装置406,其可配置用于向TBS传送生成的安全策略。根据本发明的实施方式,策略传送装置406可以支持基于目前已知或者将来开发的各种有线的和/或无线的通信机制来向STB侧传送安全策略。此外,根据本发明的某些可选实施方式,验证器400还可以包括应用控制装置408,其可配置用于控制计算环境中运行的受保护应用与其外部服务之间的通信。根据本发明的某些实施方式,应用控制装置408可进一步包括配置用于接收受保护应用针对外部服务的请求的装置;配置用于对受保护应用进行验证的装置;以及配置用于响应于对受保护应用的验证成功而引导受保护应用与外部服务进行通信的装置。应当理解,上文参考图3描述的设备300可以作为执行图I中方法100的实体,并且参考图4描述的验证器400可以作为执行图2中方法200的实体。由此,上文针对方法100和方法200描述的所有特征同样适用于设备300和验证器400。而且,还应理解,设备300和验证器400中的各个装置可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,设备300和验证器400中的各个装置可以利用软件和/或固件模块来实现。此外,这些装置也可以利用硬件模块来实现。例如,设备300和验证器400中的装置可以实现专用集成电路(ASIC)或者片上系统(SOC)。现在已知或者将来开发的其他方式也是可行的,本发明的范围在此方面不受限制。现在参考图5,其示出了根据本发明实施方式的示意性系统500的框图。注意,在图5的示例中,用于创建安全计算环境的设备可以由上文参考图3描述的设备300实现(由此,为方便起见,以下讨论中将其称为“设备300”),并且图5中所示的远程验证器RV可以由上文参考图4描述的验证器400实现。还应注意,尽管在图5中设备300被示为包含在TBS中,但是这仅仅是示例性的。如上文所述,设备300与TBS可以具有各种耦合关系。下面将参考图5描述在本发明的实施方式中如何在TBS引导的计算设备上构建安全的计算环境。首先,当用户将可信可引导存储设备TBS耦合或者连接至某个计算设备时,该TBS利用其自身内部的存储设备对计算设备进行引导(S502)。响应于TBS的引导,在该计算设备的硬件环境之上,软件环境被创建。该软件环境至少可以包括操作系统OS、软件可信计算基STCB。软件环境和硬件环境一起构成了由TBS引导的计算环境。此时,设备300中的通信装置(参见图3)可以与远程验证方RV通信(优选地,借助于STCB),以验证TBS所引导的计算环境(S504)。RV根据接收到的信息(例如上文所述的关于TBS的信息)对计算环境进行验证。响应于验证成功,RV生成安全策略,并且将其返回给TBS/计算设备侧(S506)。如图5所示,在示例性的优选实施方式中,设备300中的通信装置仍然可以利用STCB来接收该安全策略。继而,设备300中的运行空间创建装置(参见图3)优选地利用STCB构建用于受保护应用的隔离运行空间,并且将接收自RV的安全策略施加于受保护应用的整个生命周期(S508)。此后,可选地,如果受保护应用期望与外部应用通信,该通信将受控于RV。具体地,根据某些实施方式,设备300可以使受保护应用将针对外部服务的请求发送至RV(S510)。RV对受保护应用进行验证,并且在验证成功的情况下将受保护应用的请求引导至作为目标的外部服务(S512)。此后,受保护应用便可以在RV的引导下与外部应用直接通信(S514)。现在参考图6,其示出了适于用来实践本发明实施方式的计算机系统600的示意性框图。例如,图6中所示的计算机系统600可以用来实现上文描述的由TBS引导的计算设备。如图6所示,计算机系统可以包括CPU(中央处理单元)601、RAM(随机存取存储器)602、ROM(只读存储器)603、系统总线604、硬盘控制器605、键盘控制器606、串行接口控制器607、并行接口控制器608、显示控制器609、硬盘610、键盘611、串行外部设备612、并行外部设备613和显示器614。在这些设备中,与系统总线604耦合的有CPU601、RAM602,ROM603、硬盘控制器605、键盘控制器606、串行控制器607、并行控制器608和显示控制器609。硬盘610与硬盘控制器605耦合,键盘611与键盘控制器606耦合,串行外部设备612与串行接口控制器607耦合,并行外部设备613与并行接口控制器608耦合,以及显示器614与显示控制器609耦合。应当理解,图6所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。应当理解,除硬件实施方式之外,本发明的实施方式可以通过计算机程序产品的形式实现。例如,参考图I描述的方法100以及参考图2描述的方法200均可通过计算机程序产品来实现。该计算机程序产品可以存储在例如图6所示的RAM604、ROM604、硬盘610和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机系统600上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图6中示出的CPU601)执行的程序指令。根据本发明的实施方式,所述程序指令至少可以包括用于实现方法100和方法200中各个步骤的可执行指令。上文已经通过本发明的若干具体实施方式详细阐释了本发明的思想和原理。通过上文描述可以理解,根据本发明的实施方式,可以利用本地机制和远程机制二者,从不同的方面确保计算环境的安全性。而且,根据本发明的实施方式,安全策略将在受保护软件应用的整个生命周期中被实施。此外,受保护应用与外部服务之间的通信还可以经过附加的第三方验证。由此,通过计算环境启动时的远程验证、隔离运行空间对受保护应用的运行时保护以及远程安全策略的本地实施,确保和改善了所创建计算环境的安全性。注意,在上文描述的流程图和框图中,每个框可以代表模块、程序段或者代码的部分,这些模块、程序段、或代码的部分包含一个或多个用于实现规定的逻辑功能的可执行指令。还应注意,在某些备选实施方式中,框中所标注的功能也可以按照不同于图中所示的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的具体功能。还应注意,框图和/或流程图中的每个框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。根据本发明实施方式的方法和装置可以采取完全硬件实施方式、完全软件实施方式或既包含硬件组件又包含软件组件的实施方式的形式。在优选实施方式中,本发明实现为软件,其包括但不限于固件、驻留软件、微代码等。而且,本发明还可以采取可从计算机可用或计算机可读介质访问的计算机程序产品的形式,这些介质提供程序代码以供计算机或任何指令执行系统使用或与其结合使用。出于描述目的,计算机可用或计算机可读机制可以是任何有形的装置,其可以包含、存储、通信、传播或传输程序以由指令执行系统、装置或设备使用或与其结合使用。介质可以是电的、磁的、光的、电磁的、红外线的、或半导体的系统(或装置或器件)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。目前光盘的示例包括紧凑盘-只读存储器(CD-ROM)、压缩盘-读/写(CD-R/W)和DVD。适合与存储/或执行程序代码的数据处理系统将包括至少一个处理器,其直接地或通过系统总线间接地耦合到存储器元件。存储器元件可以包括在程序代码的实际执行期间所利用的本地存储器、大容量存储器、以及提供至少一部分程序代码的临时存储以便减少执行期间从大容量存储器必须取回代码的次数的高速缓冲存储器。输入/输出或I/O设备(包括但不限于键盘、显示器、指点设备等等)可以直接地或通过中间I/o控制器耦合到系统。网络适配器也可以耦合到系统,以使得数据处理系统能够通过中间的私有或公共网络而耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、线缆调制解调器以及以太网卡仅仅是当前可用的网络适配器类型的几个示例。·尽管已在上文描述了本发明的若干实施方式,但是本领域技术人员应当理解,这些描述仅仅是示例性和说明性的。根据说明书的教导和启示,在不脱离本发明真实精神的情况下,可以对本发明的实施方式进行各种修改和变更。因此,说明书中记载的特征不应被认为是限制性的。本发明的范围仅由所附权利要求书来限定。权利要求1.一种用于在计算设备上构建安全的计算环境的方法,所述计算设备由可信可引导存储设备TBS引导,所述方法包括与远程验证器RV通信以验证由所述TBS引导的计算环境,并且接收由所述RV生成的安全策略;在所述计算环境中创建隔离的运行空间以用于运行受保护应用;以及在所述受保护应用的运行期间将所述安全策略施加于所述受保护应用。2.根据权利要求I所述的方法,其中与远程验证器RV通信以验证由所述TBS引导的计算环境进一步包括向所述RV传送关于所述TBS的信息以供验证。3.根据权利要求2所述的方法,其中关于所述TBS的信息包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的状态信息,所述TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及所述受保护应用的信息。4.根据权利要求I所述的方法,进一步包括使所述受保护应用与所述计算环境的外部服务之间的通信受控于所述RV。5.根据权利要求4所述的方法,其中使所述受保护应用与所述计算环境的外部服务之间的通信受控于所述RV进一步包括使所述受保护应用向所述RV传送针对所述外部服务的请求;以及响应于所述请求由所述RV成功验证,使所述受保护应用在所述RV的引导下与所述外部服务通信。6.一种用于验证在计算设备上构建的计算环境的安全性的方法,所述计算设备由可信可引导存储设备TBS引导,所述方法包括与所述TBS通信以验证由所述TBS引导的计算环境;响应于所述验证成功而生成安全策略,所述安全策略将在所述计算环境中的受保护应用的运行期间被施加于所述受保护应用;以及向所述TBS传送生成的所述安全策略。7.根据权利要求6所述的方法,其中验证由所述TBS引导的计算环境进一步包括接收关于所述TBS的信息;以及基于接收到的所述信息对所述计算环境进行验证。8.根据权利要求7所述的方法,其中关于所述TBS的信息包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,所述TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及所述受保护应用的信息。9.根据权利要求6所述的方法,进一步包括控制所述受保护应用与所述计算环境的外部服务之间的通信。10.根据权利要求9所述的方法,其中控制所述受保护应用与所述计算环境的外部服务之间的通信进一步包括接收所述受保护应用针对所述外部服务的请求;对所述受保护应用进行验证;以及响应于对所述受保护应用的验证成功,引导所述受保护应用与所述外部服务进行通目。11.一种用于在计算设备上构建安全的计算环境的设备,所述计算设备由可信可引导存储设备TBS引导,所述设备包括通信装置,配置用于与远程验证器RV通信以验证由所述TBS引导的计算环境,以及用于接收由所述RV生成的安全策略;运行空间创建装置,配置用于在所述计算环境中创建隔离的运行空间以用于运行受保护应用;以及策略实施装置,配置用于在所述受保护应用的运行期间将所述安全策略施加于所述受保护应用。12.根据权利要求11所述的设备,其中所述通信装置进一步包括配置用于向所述RV传送关于所述TBS的信息以供验证的装置。13.根据权利要求12所述的设备,其中关于所述TBS的信息包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,所述TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及所述受保护应用的信息。14.根据要求11所述的设备,进一步包括应用管理装置,配置用于使所述受保护应用与所述计算环境的外部服务之间的通信受控于所述RV。15.根据权利要求14所述的设备,其中所述应用管理装置进一步包括配置用于使所述受保护应用向所述RV传送针对所述外部服务的请求的装置;以及配置用于响应于所述请求由所述RV成功验证而使所述受保护应用在所述RV的引导下与所述外部服务通信的装置。16.一种用于验证在计算设备上构建的计算环境的安全性的验证器,所述计算设备由可信可引导存储设备TBS引导,并且所述验证器定位在所述计算设备的远程,所述验证器包括远程验证装置,配置用于与所述TBS通信以验证由所述TBS引导的计算环境;策略生成装置,配置用于响应于所述验证成功而生成安全策略,所述安全策略将在所述计算环境中的受保护应用的运行期间被施加于所述受保护应用;以及策略传送装置,配置用于向所述TBS传送生成的所述安全策略。17.根据权利要求16所述的验证器,其中所述远程验证装置进一步包括配置用于接收关于所述TBS的信息的装置;以及配置用于基于接收到的所述信息对所述计算环境进行验证的装置。18.根据权利要求17所述的验证器,其中关于所述TBS的信息包括以下一个或多个所述TBS的标识信息,所述TBS中包含的操作系统镜像的信息,所述TBS中包含的虚拟机监控器镜像的信息,所述TBS中包含的文件系统的信息,以及所述受保护应用的信息。19.根据权利要求16所述的验证器,进一步包括应用控制装置,配置用于控制所述计算环境中运行的受保护应用与所述计算环境的外部服务之间的通信。20.根据权利要求19所述的验证器,其中所述应用控制装置进一步包括配置用于接收所述受保护应用针对所述外部服务的请求的装置;配置用于对所述受保护应用进行验证的装置;以及配置用于响应于对所述受保护应用的验证成功而引导所述受保护应用与所述外部服务进行通信的装置。全文摘要本发明的实施方式涉及用于构建安全的计算环境的方法和设备。公开了一种用于在计算设备上构建安全的计算环境的方法,该计算设备由可信可引导存储设备TBS引导,包括与远程验证器RV通信以验证由TBS引导的计算环境,并且接收由RV生成的安全策略;在计算环境中创建隔离的运行空间以用于运行受保护应用;以及在受保护应用的运行期间将安全策略施加于受保护应用。还公开了一种用于验证在计算设备上构建的计算环境的安全性的方法,该计算设备由TBS引导,包括与TBS通信以验证由TBS引导的计算环境;响应于验证成功而生成安全策略,安全策略将在计算环境中的受保护应用的运行期间被施加于受保护应用;以及向TBS传送生成的安全策略。此外还公开了相应的设备。文档编号G06F9/455GK102833296SQ201110166629公开日2012年12月19日申请日期2011年6月13日优先权日2011年6月13日发明者杨子夜申请人:伊姆西公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1