CN101681404A - 分布式计算机系统 - Google Patents

分布式计算机系统 Download PDF

Info

Publication number
CN101681404A
CN101681404A CN200880014243A CN200880014243A CN101681404A CN 101681404 A CN101681404 A CN 101681404A CN 200880014243 A CN200880014243 A CN 200880014243A CN 200880014243 A CN200880014243 A CN 200880014243A CN 101681404 A CN101681404 A CN 101681404A
Authority
CN
China
Prior art keywords
virtual machine
message
partial component
computing machine
virtual
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.)
Granted
Application number
CN200880014243A
Other languages
English (en)
Other versions
CN101681404B (zh
Inventor
泰奥·迪米特考斯
伊万·乔尔杰维茨
斯里吉斯·克里希南·奈尔
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN101681404A publication Critical patent/CN101681404A/zh
Application granted granted Critical
Publication of CN101681404B publication Critical patent/CN101681404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

公开了一种分布式计算机系统,其中多个计算机通过在诸如因特网的网络上发送消息来相互协作,以执行分布式应用。为了改善这种系统的安全性,所述分布式应用中涉及的每个web服务都运行在独立的虚拟机上。此外,web服务器上的专用于各个web服务实例的虚拟机使用运行在该web服务器上的另一虚拟机中的同一策略执行点,以处理去往或者来自该web服务器的消息。为了进一步增强安全性,每个虚拟机都具有在对执行分布式应用的过程中发送的消息进行处理时使用的虚拟加密处理器功能。

Description

分布式计算机系统
技术领域
本发明涉及分布式计算机系统和操作分布式计算机系统的方法。
背景技术
因特网的出现意味着如今对于计算机组来说,以某种共同努力的方式彼此协作变得更加常见。这样的例子包括其不同部分运行在连接到计算机网络的不同计算机上的分布式应用程序。研究最广泛的分布式应用程序是集成了运行在不同计算机上的“web服务”的程序。“web服务”是可根据“面向服务的架构(Service Oriented Architecture)”而组装的组件的一个例子。其它已知技术也可用于构建分布式应用-例如,通用对象请求代理体系结构(Common Object Request Broker Architecture)或者企业级Java Beans。
在这种系统中存在安全方面的需求。对于一家企业的计算机与其他企业的计算机相互协作的企业间分布式应用程序而言尤其如此。虽然一个企业的系统管理员可能会相信该企业所管理的计算机不会有恶意行为,但他可能不会信任其它企业所管理的计算机也如此。
用于保障企业网络的传统技术-即,所有业务进入或者离开网络所必须经过的一个或者更多个防火墙计算机-并不能很好地适用于企业间应用。这在Steven Bellovin所作的名为“Distributed Firewalls”的文章(1999年11月发表;注册:,37-39页)中已做了阐述。
已知建立基于策略的系统管理是有利的。顾名思义,策略可以被系统管理员应用于该系统管理员所管理的网络中的大量计算机。
在EU研究计划TrustCOM所建议的架构中(参见http://www.eu-trustcom.com/),“策略执行点(PEP)”和“策略决定点”用于向由多个Web服务组件形成的分布式应用提供安全功能。根据此架构,“策略执行点”可与web服务共置一处,和/或设置在为大量计算机提供服务的节点(例如防火墙)上。分布式应用的两个组件之间所发送的消息必须通过多个PEP。在这种架构中,策略决定点与PEP是分离的,它们可提供访问控制列表(access control list)等,并且在PEP执行一个或者更多个执行动作时可由PEP参引。在名为“Basic TrustCOM reference implementation”的TrustCOM可交付D19中描述了上述架构。
保护企业IT系统免受外部恶意攻击的一种已知方式是简单地将该IT系统与外界相隔离。然而,使用因特网的通信能力从而为消费者和供应者提供通信通道的需求意味着这种方法在商业上已不再具有现实意义。
如果允许对IT系统进行外部访问,则企业必须寻求防止恶意代码有害地影响企业IT系统的功能运转的途径。一种防范组件是将从外部引入的软件处理与内部生成的软件处理相隔离。可按照多种方式来执行这种处理隔离。不同的处理可以在不同的计算机上运行。然而,这不利地增加了执行分布式应用所消耗的电力(虽然在企业间分布式应用中,如果相关企业保持计算机参与其地理站点内的分布式应用,则某些分布是不可避免的)。
当多个处理在同一计算机上运行时,解释程序可允许外部程序访问存储器的有限区域(例如其中允许运行Java小应用程序的“沙盒(sandbox)”)。
更普遍地,大部分操作系统都使用CPU存储管理硬件,利用两个机制来提供处理隔离。第一,仅允许处理访问物理存储器的特定页。第二,特权级防止不信任代码操纵执行这些处理的系统资源。然而,鉴于上下文切换、处理间通信等所涉及的高昂开销,按这种方式对每个处理进行隔离是不切实际的。
因此几乎在所有商业系统中,代码和数据都被放置到同一地址空间,且更重要的是,在多个处理之间仍使用共享存储器。这意味着不仅恶意处理会影响到另一处理,而且一个处理的非故意故障也会影响到另一处理。
将处理彼此隔离的另一种途径是在单个计算机上提供多个“虚拟机”。这在大型机上很常见,并且能够使多个操作系统程序在同一计算机上并行运行。硬盘驱动划分是虚拟化的另一个例子。如“虚拟机”这个表达所暗示的那样,虚拟机可以模仿真实计算机而无需提供另一真实计算机可能需要的单独处理器、盘驱动、网卡等。虽然大多数虚拟机会设置虚拟处理器容量和存储器,但并非所有虚拟机都设置有其上建立了虚拟机的计算机的全部硬件的虚拟版-例如并非所有虚拟机都设置有虚拟网卡-因此并非所有虚拟机都具有虚拟IP地址。
有些计算机包括硬件信任平台模块,建议在这种计算机上设置包括虚拟信任平台模块的虚拟机。这样的例子是在美国专利申请2006/0256107、美国专利申请2005/0246552以及IBM研究报告RC23879“vTPM:Virtualizing the Trusted Platform Modul”中所公开的虚拟机。
对于虚拟机,将不同的虚拟地址空间提供给每个VM分区。因此,运行在一个VM上的程序不能以任何方式访问另一VM的存储空间。当然,也可以走向一个极端,即按照每个处理都具有不同虚拟地址空间的方式来提供处理级的VM,但这样可能存在不期望的庞大处理量。
另外,值得注意的是,虚拟机不仅可提供存储器访问等方面的隔离,还可以提供资源使用方面的隔离。例如,VM开始可以具有512MB的虚拟存储空间,如果在其内部运行的处理开始异常(anomolously)运转,并且用掉400MB,则其影响将仅限于同一VM中其它处理的内部。其它VM中的其它处理将不会受到影响,因为它们使用的是自己那部分的资源。
新兴硬件的开发有可能改善对虚拟化的硬件支持。“虚拟机”能够映射到多核芯系统中的每个处理器上。然而,至今很少有记载利用了对虚拟化硬件支持的改善的应用(孤立式或分布式)。
发明内容
本发明人已经意识到,通过将其安全架构映射到虚拟机上可获得许多益处。
本发明的第一方面提供了一种计算机网络中的计算机,该计算机网络中的多个计算机通过在它们之间传递消息而相互作用,从而执行分布式应用,所述计算机被设置成在运转中:
i)提供两个或者更多个虚拟机,每个虚拟机都具有其自己的访问控制机制;
ii)在第一虚拟机中,执行所述分布式应用的一个或者更多个局部组件(local component);
iii)拦截去往或者来自所述分布式应用的局部组件的消息;
iv)基于对消息的拦截,在第二虚拟机中执行消息处理程序,以对每个所拦截的消息执行一个或者更多个安全动作。
通过在独立的虚拟机中,针对其消息被消息处理程序拦截的局部组件来保持并执行所述消息处理程序,并且针对每个虚拟机提供独立的访问控制机制,一方可以对消息处理程序进行控制,而另一方可以对一个或者更多个局部分布式应用组件进行控制。这样一方面允许管理计算机网络的人员能够控制在所述网络中的计算机之间发送的消息(因此使得网络操作员能够应对影响所述网络的安全问题),同时又允许其他人改变局部分布式应用组件(因此提供了可方便更新的分布式应用的优点)。这样可获得对计算机网络资源的更好利用。
因为所述消息处理程序与它们所保护的分布式应用组件位于同一节点上,所以不易受到通过对分布式计算机的节点的拓扑改变而导致的意外或者恶意规避,从而提供了鲁棒性。
优选的是,所述消息处理程序可以通过存储在第一虚拟机中的策略来配置。这样就得到了系统管理员能够更容易地对分布式计算机的行为进行更新的优势。
优选的是,所述计算机支持多个局部组件,每个局部组件都被加载在专用于所述局部组件的局部组件寄存(hosting)虚拟机上并在其上执行。
这提供了局部组件相互隔离的优势,因为它们仅能够影响其所在的虚拟机。此外,每个虚拟机(进而其内部的局部组件)能够被设置有可调配的资源(例如存储器、CPU)使用上限。此外,虚拟机有助于保护各个局部组件所使用的数据的完整性和保密性。另外,由于虚拟机是隔离的孤立实体,所以运行在不同虚拟机内部的局部组件的管理可由不同的管理员来操控。
优选的是,每个局部组件都具有存储在消息处理虚拟机内的可应用策略,所述消息处理程序是通过基于与所拦截消息相关联的局部组件来选择可应用策略而进行配置的。
这使得网络管理员能够将去往或者来自不同局部组件的消息设置为按照不同方式进行处理。
本发明人已意识到对如下节点的使用,所述节点包括硬件信任平台模块,并且其上设置有包括虚拟信任平台模块的虚拟机(例如在美国专利申请2005/0246552以及IBM研究报告RC23879“vTPM:Virtualizing theTrusted Platform Module”中公开的虚拟机),此外还改善了分布式应用的安全性。
因此,在特别具有优势的实施方式中,所述计算机节点包括存储有一个或者更多个密钥(特别是一个或者更多个私钥)的防篡改硬件,并且所述消息处理虚拟机和/或一个或者更多个所述局部组件寄存虚拟机提供其自己的虚拟化版本的所述防篡改硬件。
在优选实施方式中,一个或者更多个所述虚拟机支持远程证明(attestation)。因此,例如局部组件的远程用户能够核实该局部组件实例环境的状态。
在优选实施方式中,每个虚拟机都支持加密和印章(sealing):由此生成的私钥能够用于对数据进行加密,使得所述虚拟机外部的任何实体都无法访问该数据。此外,通过使用印章,这些数据能够与在所述局部组件寄存虚拟机中运行的局部组件实例的状态产生联系。
附图说明
接下来,仅以示例方式描述本发明的具体实施方式。所述描述参照如下附图,其中:
图1示出了web服务器计算机组,所述web服务器计算机相互协作,形成了用于创建并执行分布式计算机应用的虚拟机构,所述分布式计算机应用是对利用其个人计算机与所述虚拟机构相交互的消费者的服务的一部分;
图2示出了由虚拟机创建的一个或者更多个web服务器计算机;
图3A和3B示出了在同一计算机上设置的虚拟机之间进行通信时使用的地址映射表;
图4示出了TrustCOM计划中提及并在第一实施方式中使用的策略架构;
图5与图2类似,不过另外示出了抵达虚拟化服务器计算机的入站消息的路径;
图6A和6B示出了管理员在web服务器上创建新的web服务实例时所发生的处理;
图7示出了如何通过虚拟化服务器计算机来处理出站消息;
图8示出了如何通过虚拟化服务器计算机来处理入站消息;
图9示出了分布式应用的管理员如何更新与该分布式应用相关的策略。
具体实施方式
图1示出了实施本发明的第一实施方式的计算机网络的实施例。该计算机网络包括能够经由因特网14连接到第一企业的web服务器计算机12A的消费者PC 10。第一企业的服务器又通过专用网络20连接到管理计算机16A和实用服务服务器计算机18A。web服务器计算机12A包括在信任计算组织的“TCG通用服务器规范”版本1.0中描述的信任平台模块硬件。
消费者PC 10配有浏览器软件,该软件使消费者能够与web服务器12A相交互。浏览器可以从CD-ROMA安装。这种浏览器软件是公知的,因此这里不作深入描述。
第一企业的web服务器计算机12A配有虚拟化软件,例如可以从www.xensource.com获得的支持虚拟TPM实施的开放源代码Xenhypervisor(如IBM研究报告RC23879-“vTPM:Virtualizing the TrustedPlatform Module”中所公开的)并在http://domino.research.ibm.com/comrn/research_projects.nsf/pages/ssd_vtpm.index.html处获得的关于“虚拟信任平台模块”的网页中有所论述。
另选的是,也可提供如美国专利申请2005/0246552中公开的软件。作为另一种选择,还可使用在国际专利申请WO 2006/011943中公开的软件。
这种虚拟化软件是从CD-ROM B安装到每个web服务器上的。安装这种软件使得在所述web服务器12A上创建的每个虚拟机都可以使用信任平台模块的安全存储和加密功能。
参照图2,虚拟TPM软件的安装最初生成了虚拟机监控器(monitor)和用于控制其他虚拟机的建立的基础服务管理器。基础服务管理器具有用于认证每个虚拟机的信息,并且(通过匹配与密钥相关的信息)能够控制针对/来自不同虚拟机的访问。
基础服务管理器提供了管理界面。应该理解,管理员可通过使用管理计算机16A来利用该界面操纵web服务器12A的操作。基础服务管理器提供了TCP/IP通信堆栈软件,该软件用于从每个web服务器计算机12A、12B所具有的一个或者更多个网络接口卡接收消息,并向其发送消息。因此,所有入站和出站的消息都被暴露给基础服务管理器。利用超文本传送协议在计算机之间发送这些消息。基础服务管理器识别HTTP请求并且响应包含XML的请求,从该消息中提取XML-本领域技术人员应该理解对HTTP请求进行转换并且响应XML的处理机(handler)是已知的。
此后,计算机的管理员创建策略执行点虚拟机(PEP VM)。下面结合组合了在web服务器12A和12B上运行的web服务的分布式应用的部署,对图2中可见的其它虚拟机(WS1 VM、WS2 VM以及WS3 VM)的建立进行说明。
建立PEP VM后,通过CD-ROM C在该虚拟机上安装一个或者更多个消息处理程序(在本实施方式中称为“拦截器”或者“处理机”)。安全程序包括核心执行组件,基础服务管理器将抵达服务器计算机12A的全部XML消息传送给该核心执行组件。核心执行组件包括能够处理XML流的XML处理器(在本实施方式中,XML处理器由SAX软件包提供)。
使运行用于不同分布式应用的web服务组件的多个虚拟机共享一个PEP虚拟机,导致在该节点处所需的存储空间量有所减少,因为这些例程无需在每个独立虚拟机上进行存储,而是仅需要存储一次。由于这种例程的库必须包括可能调用的全部例程,所以这是相当大的存储空间节省。
如通过在TrustCOM可交付D19和D29-35-36中表述的适当执行架构所述,在将SOAP消息传递给web服务实例之前,该SOAP消息经过多个策略执行点(PEP)。PEP负责拦截消息并且根据一些配置策略执行一系列执行动作。此处理可包括例如检查签名、执行消息的特定部分的解密、验证消息的内容、检查是否存在组标记(group token)等。仅当PEP验证该消息符合PEP配置策略之后,才将该消息传递给接收方。PEP需要执行的执行动作是通过SOAP拦截器来实施的,并且随后可组合到所谓拦截器链中。执行处理基于拦截器链的构件(composition),其是基于消息内容分析和从配置策略导出的受保护资源的安全需要这两者之融合的处理。基于这种融合的结果,将所选择的拦截器插入拦截器链中。链中的拦截器可本地部署或者可分布在网络当中并且可远程调用。在本实施例中,PEP虚拟机被加载有提供这种策略执行点的软件。
管理计算机16A具有通过CD-ROM E安装在其上的web服务分布式管理实施工具,如Apache MUSE或者支持WSDM协议堆栈(例如IBMWebsphere、CA WSDM)或WS管理堆栈(例如Microsoft.Net WSE)的任何其它实施工具(应该了解,WS是web服务的一般缩写)。这使得管理员能够将配置文件和策略加载到web服务器计算机12A中,从而如下文所述地控制器操作(策略通常比配置文件更动态-即更新更频繁-特别是在执行它们所控制的应用的期间,策略会经常被更新)。
利用这种界面,管理员能够将并非专用于指定web服务实例的策略加载到PEP VM。特别是,管理员可以加载拦截器参考策略(IRP)和实用服务策略(USP)(在申请人的未决国际申请WO2006/011943中进行了描述)。
实用服务服务器计算机18A通过CD-ROM F设置有提供一个或者更多个实用服务(例如证书验证、安全标记确认)的软件。
如上文所述,在本实施例中,企业A与企业B合作,以便向消费者提供期望的服务。企业B具有与企业A相似的经编程计算机的相似设置。合作所涉及的企业的web服务器通过在组合在一起形成分布式应用的独立组件之间发送消息来提供该分布式应用。
现代企业需要将新产品和新服务快速引入市场。这就要求快速组装软件组件以提供分布式应用的能力,所述分布式应用可提供或者辅助向消费者提供新产品或者新服务。
在本实施例中,这些软件组件采用了web服务的形式。现在参照图6A和6B来说明在web服务器计算机12A、12B上安装新web服务。
管理计算机16A、16B上的软件为管理员提供了图形用户界面,使得管理员能够在web服务器12A、12B上安装新的web服务。利用该界面,管理员生成用于在web服务器上创建新web服务实例的请求(步骤602)。该请求包括用于该新web服务的EPR值和执行配置策略,所述执行配置策略设置了将对去往或者来自所述web服务的消息应用PEP VM的拦截器池中的哪些处理机以及按照什么顺序来应用这些处理机。管理计算机16A、16B利用私有管理密钥对该请求进行签名(步骤604),并将签名后的请求发送给web服务器12A、12B(步骤606)。
该消息抵达基础服务虚拟机,在此该消息被确定为SOAP消息(步骤608),并且被发送到策略执行点虚拟分区(步骤610)。
PEP VM随后对来自管理员的消息进行验证(步骤612)并且将该SOAP消息识别为用于创建新WS实例的请求(步骤614)。这导致在PEPVM的EPR到间接参考映射表(图3A)中创建了新记录,并且将该记录中的EPR值设置为该WS实例创建请求的EPR值,并且将间接参考设置为唯一值-例如“分区x”(步骤616)。
随后将针对该请求的执行配置策略存储在策略记录中(例如图2中的A1)。
PEP VM随后向基础服务管理器发送请求以创建其上将运行新web服务实例的虚拟机(步骤620)。基础服务管理器虚拟机随后创建新的虚拟机(步骤622)并且在其间接参考到VM ID映射表(图3B)中创建新的记录(步骤624)。
管理员将web服务以及运行该web服务所需的任何基础软件都加载到这些虚拟机的每一个中。例如,如果web服务是以Java编写的,则管理员还要加载Apache Tomcat软件或者Apache Axis软件。另选的是,如果web服务是.NET组件,则管理员还要加载Microsoft V Studio或者Microsoft WSE。
一旦完成了处理,基础服务管理器就向管理计算机16A、16B返回web实例已成功建立的确认(步骤626)。
应该理解,将web服务加载到不同虚拟机上可提供如下优点,即可安全隔离相同类型的(web)服务(当然,不同类型的web服务也可)的若干截然不同的表象(exposure)。
一旦建立了用于WS实例的虚拟机,该虚拟机所包括的虚拟TPM就会创建用于该WS实例的密钥对。这对公密钥随后被公告为该WS实例的公共密钥,而私有密钥部分被利用该虚拟TPM的存储根密钥(SRK)加密。随后能够利用此公共密钥对发往该WS实例的任何数据进行加密。此外,还可为每个服务实例创建“签名”密钥对。总体上来讲,可出于不同目的创建任意数量的“加密”素材、密码等,并作为上述私有密钥钥通过虚拟TPM进行保护。
密钥对的公共密钥可通过虚拟TPM(其密钥又可通过基础服务管理器的TPM来签名)的证明密钥来签名。这尤其有利于在web服务器12A和12B上的虚拟机的创建和管理的安全审核和跟踪能力。
现在参照图7和图8来说明在运行分布式应用的分布式计算机内的不同计算机之间的消息传递。
作为分布式应用的操作的一部分,当运行在web服务器12A上的web服务需要向web服务器12B发送请求消息时,所述web服务进行图7所例示的步骤。
web服务器12A上的运行在其专用虚拟机上的web服务首先生成包括消息头的SOAP消息(702)。为了防止两个web服务器之间传递的数据被窃听,web服务利用目的地WS实例虚拟机的虚拟存储根密钥的公共密钥部分对所述SOAP消息中包括的应用数据进行加密(704)。在优选实施方式中,所述公共密钥包括在证书中,所述证书包括由包括在企业B的web服务器12B中的信任平台模块的私有证明密钥所签名的公共密钥。
所述web服务随后将该SOAP消息转发给运行在同一web服务器12A上的基础服务管理器虚拟机(706)。为PEP VM提供了伪地址(图3A,右侧栏),基础服务管理器利用其间接寻址表将所述伪地址解析为正确的内部地址并将该消息发送到PEP VM(步骤708)。在WS实例之间或者PEP虚拟机之间的所有通信中都使用这种间接寻址机制,从而在这些虚拟机之间保持期望的隔离程度并且提高web服务器的安全性。
运行在PEP虚拟机上的策略驱动安全程序随后从SOAP消息的头部读取源端点地址和其它公告的标识元数据(710),并且开启施加到该SOAP消息的源的执行配置策略(712)。如在上述TrustCOM可交付中说明的那样,首先利用拦截器参考策略将包括执行配置策略的安全动作的文本描述解析为需要施加的特定算法,然后利用实用服务策进一步将其解析为实施所述特定算法的特定处理机。
PEP虚拟机随后将所需处理机链接在一起(714),并且依次对出站消息执行所述处理机链中的每个处理机(步骤716)。接着,PEP虚拟机利用目的地PEP VM的公共密钥对SOAP消息头部进行加密(718),并将经加密的消息转发给基础服务管理器(步骤720)。
基础服务管理器随后利用该消息中的EPR数据(EPR代表“端点参考”-由WS寻址标准表示的web服务的地址),将所述消息发送到另一企业的web服务器12B上的适当WS实例虚拟机(722)。
现在参照图8,对企业B的web服务器12B在接收到SOAP消息时要执行的步骤进行说明。
首先,基站管理器检测出已经接收到SOAP消息(802),并将其转发到本地PEP虚拟机(804)。
在该消息抵达PEP虚拟机后,PEP虚拟机利用其存储根密钥的私有密钥部分对该SOAP消息的头部进行解密(806)。
对该头部进行了解密后,PEP虚拟机从该消息头部读取目的地端点地址,随后按照策略驱动的方式针对该消息构建(810-812)并执行(816)动态处理机链,所述步骤与上述关于PEP虚拟机针对出站消息进行的处理非常相似。
在对所述消息执行了这些处理后(应该理解,处理机之一可能删除该消息,或者阻止将该消息被转发给相关web服务虚拟机),将该SOAP消息转发给由该SOAP消息头部中指示的特定web服务虚拟机(816-820)(应该理解,如上文所述,经由能够提供WS EPR到虚拟机标识符的“翻译”的基础服务管理器来访问所有虚拟机)。一旦在web服务虚拟机处接收到了该消息,就利用接收方的WS实例虚拟机的存储根密钥的私有密钥部分对该消息的有效载荷进行解密(步骤822)。随后根据该消息所包含的数据,分布式应用响应于该消息(824)继续接收web服务。
利用执行配置策略和上述其它策略具有如下益处,即,能够及时有效地改变与给定分布式应用有关的安全程序的行为,而无需重新部署或者重新启动系统的受保护资源或者任何其它部分。因此,每个web服务实例的管理员都需要访问从而读取甚至编辑PEP分区中包含的其配置文件。现在参照图9来描述进行此操作的机制。
网络管理员首先使用管理计算机16A。
管理计算机16A、16B上的软件为管理员提供了图形用户界面,使得管理员能够对web服务的执行配置策略进行编辑。利用该界面,管理员生成用于更新web服务器12A、12B上的给定web服务实例的执行配置策略的请求(步骤902)。该请求包括所述web服务的EPR值,以及更新后的执行配置策略。管理计算机16A、16B利用私有管理密钥对该请求进行签名(步骤904),并将签名后的请求发送给web服务器12A、12B。
该消息抵达基础服务管理器虚拟机,在此该消息被确定为SOAP消息(步骤908),并且被发送到策略执行点虚拟分区(步骤910)。
PEP VM随后验证该消息来自管理员(步骤912)并且将该SOAP消息标识为用于更新执行配置策略的请求(步骤914)。这导致现有策略记录被更新版本所替代(步骤616)。
利用上述间接寻址,PEP VM随后将执行配置策略已成功更新的确认发送给管理计算机16A、16B。
现在来看看上述实施方式如何解决下列三个重要的安全问题:
·保证web服务的每个“实例”的配置文件(策略)的安全;
·保证每个服务实例的数据的安全;以及
·保证服务实例所使用的存储空间的安全。
在上述实施方式中,通过利用安全容器(secure containment)的原理,在防篡改或者篡改灵敏安全硬件的支持下来解决这些问题。
基本思想是web服务的每个实例都运行在隔离的分区内,这种隔离的分区不可访问另一个类似隔离分隔区所使用的任何资源(包括存储空间和数据处理)。在每个间隔区内逻辑上模拟诸如TPM的信任硬件基础,因此可假设该信任硬件基础在所有实践用途上专用于每个分区。
可以对上述实施方式进行多种变型,这些变型包括:
i)在上述实施方式中,策略执行点由运行在独立分区内的多个web服务实例所共享。在另选实施方式中,可使用每个web服务实例分区利用一个独立PEP部署的架构。虽然这样更安全,但这种架构涉及在每个分区之间的动作存储库的重复。这是因为,由于动态处理机链可在实例的存续期间内动态更新,所以存储库中安全的非共享实例的每个可能的可应用动作在该分区内都有效。
虽然这种架构选择能够提供充分的安全级-特别是,与第一实施方式不同,针对去往不同web服务实例的不同SOAP消息进行操作的动作链之间无需共享类似物理存储器这样的资源-但是,该架构导致了代码重复、不必要的大量资源使用,并且使安全执行系统的管理和配置都变复杂。
ii)可经由网络连接来提供任何一个软件项,而不是从CD-ROM安装或者加载;
iii)在上述实施方式中,策略执行点介入了(mediate)入站消息和出站消息。在其它实施方式中,策略执行点可仅介入入站消息,或者仅介入出站消息。
iv)在上述实施方式中,使用了根据信任平台模块规范而建造和操作的硬件。在其它实施方式中,可替代地使用其它类型的存储密钥的防篡改硬件。
总之,本发明公开了一种分布式计算机系统,该分布式计算机系统中的计算机通过在诸如因特网的网络上发送消息来彼此协作,从而执行分布式应用。为了改善这种系统的安全性,该分布式应用中包括的每个web服务都在独立的虚拟机上运行。此外,web服务器上的专用于各个web服务实例的虚拟机使用运行在该web服务器的另一虚拟机上的同一策略执行点,以便处理去往或者来自该web服务器的消息。为了进一步增加安全性,每个虚拟机都具有在执行分布式应用的过程中发送的消息进行处理中所使用的虚拟加密处理器功能。

Claims (7)

1、一种计算机网络中的计算机,这种计算机通过在它们之间传递消息来相互作用从而执行分布式应用,所述计算机被设置成在运行时:
i)提供两个或者更多个虚拟机,每个虚拟机都具有它自己的访问控制机制;
ii)在局部组件寄存虚拟机中,执行所述分布式应用的一个或更多个局部组件;
iii)拦截去往或来自所述分布式应用的局部组件的消息;
iv)拦截到消息时,在消息处理虚拟机中执行消息处理程序,以对每个所拦截的消息执行一个或更多个安全动作。
2、根据权利要求1所述的计算机,其中,所述消息处理程序可通过同样存储于所述消息处理虚拟机中的策略来进行配置。
3、根据权利要求2所述的计算机,其中,所述计算机支持多个局部组件,每个局部组件都被加载到专用于该局部组件的局部组件寄存虚拟机中并被执行。
4、根据权利要求2或权利要求3所述的计算机,其中,每个局部组件都具有存储在所述消息处理虚拟机中的可应用策略,通过根据与所拦截的消息相关联的局部组件来选择可应用策略来对所述消息处理程序进行配置。
5、根据前述任意一项权利要求所述的计算机,其中,所述计算机节点包括存储有一个或更多个私有加密密钥的防篡改硬件,并且所述消息处理虚拟机和/或所述局部组件寄存虚拟机中的一个或更多个提供了其自己的虚拟化版本的所述防篡改硬件。
6、根据权利要求5所述的计算机,其中,所述虚拟机中的一个或更多个支持远程证明。
7、根据权利要求5或6所述的计算机,其中,一个或更多个虚拟机支持加密和印章。
CN2008800142433A 2007-03-30 2008-03-28 分布式计算机系统 Active CN101681404B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07251422A EP1975830A1 (en) 2007-03-30 2007-03-30 Distributed computer system
EP07251422.7 2007-03-30
PCT/GB2008/001079 WO2008119961A1 (en) 2007-03-30 2008-03-28 Distributed computer system

Publications (2)

Publication Number Publication Date
CN101681404A true CN101681404A (zh) 2010-03-24
CN101681404B CN101681404B (zh) 2013-11-06

Family

ID=38480553

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800142433A Active CN101681404B (zh) 2007-03-30 2008-03-28 分布式计算机系统

Country Status (4)

Country Link
US (1) US8595480B2 (zh)
EP (2) EP1975830A1 (zh)
CN (1) CN101681404B (zh)
WO (1) WO2008119961A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103562853A (zh) * 2011-06-01 2014-02-05 微软公司 分布式应用的情节协调模型
CN103634293A (zh) * 2013-10-29 2014-03-12 暨南大学 一种基于双硬件的数据安全传输方法及系统
CN105122738A (zh) * 2014-03-26 2015-12-02 华为技术有限公司 基于网络功能虚拟化的证书配置方法、装置和系统
CN105745621A (zh) * 2013-10-23 2016-07-06 微软技术许可有限责任公司 在服务器上仿真测试分布式应用
CN105787382A (zh) * 2016-01-28 2016-07-20 东软集团股份有限公司 访问控制方法和装置
CN109155735A (zh) * 2016-05-26 2019-01-04 百事可乐公司 连接式分配机器的安全网关
CN110084039A (zh) * 2013-04-19 2019-08-02 Nicira股份有限公司 用于端点安全与网络安全服务之间的协调的框架

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856862B2 (en) * 2006-03-02 2014-10-07 British Telecommunications Public Limited Company Message processing methods and systems
EP1976220A1 (en) * 2007-03-30 2008-10-01 British Telecommunications Public Limited Company Computer network
US10019296B2 (en) 2007-05-31 2018-07-10 Red Hat, Inc. Addressable dispatchers in distributed computing
US9264441B2 (en) * 2008-03-24 2016-02-16 Hewlett Packard Enterprise Development Lp System and method for securing a network from zero-day vulnerability exploits
US8561137B2 (en) * 2008-07-23 2013-10-15 Oracle International Corporation Techniques for identity authentication of virtualized machines
TWI525452B (zh) * 2008-10-02 2016-03-11 美國博通公司 安全處理系統
US9021083B2 (en) * 2008-11-26 2015-04-28 Red Hat, Inc. Service oriented architecture with dynamic policy enforcement points
KR20100071483A (ko) * 2008-12-19 2010-06-29 한국전자통신연구원 묶음 소프트웨어의 배포 방법 및 시스템
RU2556338C2 (ru) * 2009-01-19 2015-07-10 Конинклейке Филипс Электроникс Н.В. Браузер с состоящей из двух частей машиной обработки сценариев для защиты конфиденциальности
US8893156B2 (en) * 2009-03-24 2014-11-18 Microsoft Corporation Monitoring of distributed applications
EP2278514B1 (en) * 2009-07-16 2018-05-30 Alcatel Lucent System and method for providing secure virtual machines
US8756597B2 (en) * 2010-02-05 2014-06-17 Novell, Inc. Extending functionality of legacy services in computing system environment
US9300688B2 (en) 2010-04-18 2016-03-29 Ca, Inc. Protected application stack and method and system of utilizing
US8880558B2 (en) * 2010-07-01 2014-11-04 International Business Machines Corporation Cloud services creation based on graph mapping
US9087196B2 (en) * 2010-12-24 2015-07-21 Intel Corporation Secure application attestation using dynamic measurement kernels
US9560014B2 (en) * 2013-01-23 2017-01-31 Mcafee, Inc. System and method for an endpoint hardware assisted network firewall in a security environment
WO2015112859A1 (en) * 2014-01-24 2015-07-30 Indiscine, Llc Systems and methods for personal omic transactions
US9413730B1 (en) * 2014-06-04 2016-08-09 Skyhigh Networks, Inc. Encryption in the cloud using enterprise managed keys
US9292332B1 (en) 2014-12-11 2016-03-22 Amazon Technologies, Inc. Live updates for virtual machine monitor
US9424067B2 (en) 2014-12-11 2016-08-23 Amazon Technologies, Inc. Managing virtual machine instances utilizing an offload device
US9886297B2 (en) 2014-12-11 2018-02-06 Amazon Technologies, Inc. Systems and methods for loading a virtual machine monitor during a boot process
US9400674B2 (en) 2014-12-11 2016-07-26 Amazon Technologies, Inc. Managing virtual machine instances utilizing a virtual offload device
US9535798B1 (en) 2014-12-19 2017-01-03 Amazon Technologies, Inc. Systems and methods for maintaining virtual component checkpoints on an offload device
US9626512B1 (en) 2015-03-30 2017-04-18 Amazon Technologies, Inc. Validating using an offload device security component
US9667414B1 (en) * 2015-03-30 2017-05-30 Amazon Technologies, Inc. Validating using an offload device security component
US10211985B1 (en) 2015-03-30 2019-02-19 Amazon Technologies, Inc. Validating using an offload device security component
US10243739B1 (en) 2015-03-30 2019-03-26 Amazon Technologies, Inc. Validating using an offload device security component
GB2554980B (en) 2016-08-16 2019-02-13 British Telecomm Mitigating security attacks in virtualised computing environments
GB2554983B (en) 2016-08-16 2019-02-13 British Telecomm Attack assessment in a virtualised computing environment
WO2018033350A1 (en) 2016-08-16 2018-02-22 British Telecommunications Public Limited Company Reconfigured virtual machine to mitigate attack
GB2554984B (en) * 2016-08-16 2019-02-13 British Telecomm Secure configuration in a virtualised computing environment
GB2554982B (en) * 2016-08-16 2019-02-13 British Telecomm Security in virtualised computing environments
GB2554981A (en) 2016-08-16 2018-04-18 British Telecomm Configuration parameters for virtual machines
US11824863B2 (en) * 2016-11-03 2023-11-21 Nicira, Inc. Performing services on a host
US10430179B1 (en) * 2019-03-07 2019-10-01 Capital One Services, Llc Methods and systems for managing application configurations

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185678B1 (en) * 1997-10-02 2001-02-06 Trustees Of The University Of Pennsylvania Secure and reliable bootstrap architecture
AU3352500A (en) 1999-01-29 2000-08-18 Iona Technologies Inc. Method and system for dynamic configuration of interceptors in a client-server environment
US6957330B1 (en) * 1999-03-01 2005-10-18 Storage Technology Corporation Method and system for secure information handling
US6847639B2 (en) * 2000-12-05 2005-01-25 Lucent Technologies Inc. Managing feature interaction among a plurality of independent feature servers in telecommunications servers
US6973657B1 (en) * 2001-01-30 2005-12-06 Sprint Communications Company L.P. Method for middle-tier optimization in CORBA OTS
US6944643B1 (en) * 2001-01-30 2005-09-13 Sprint Communications Company L.P. Method for deployment modification of transactional behavior in corba OTS
US20030004746A1 (en) * 2001-04-24 2003-01-02 Ali Kheirolomoom Scenario based creation and device agnostic deployment of discrete and networked business services using process-centric assembly and visual configuration of web service components
US6922774B2 (en) * 2001-05-14 2005-07-26 The United States Of America As Represented By The National Security Agency Device for and method of secure computing using virtual machines
US7590684B2 (en) * 2001-07-06 2009-09-15 Check Point Software Technologies, Inc. System providing methodology for access control with cooperative enforcement
US7068789B2 (en) * 2001-09-19 2006-06-27 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method
FR2834403B1 (fr) * 2001-12-27 2004-02-06 France Telecom Systeme cryptographique de signature de groupe
FR2834598B1 (fr) * 2002-01-04 2004-02-20 France Telecom Procede et dispositif de signature anonyme au moyen d'une cle privee partagee
US20030131245A1 (en) * 2002-01-04 2003-07-10 Michael Linderman Communication security system
US6807636B2 (en) * 2002-02-13 2004-10-19 Hitachi Computer Products (America), Inc. Methods and apparatus for facilitating security in a network
US7058807B2 (en) * 2002-04-15 2006-06-06 Intel Corporation Validation of inclusion of a platform within a data center
WO2003091895A2 (en) 2002-04-23 2003-11-06 Edgile, Inc. System for managing and delivering digital services through computer networks
US7428590B2 (en) * 2002-06-10 2008-09-23 Akonix Systems, Inc. Systems and methods for reflecting messages associated with a target protocol within a network
US9621538B2 (en) * 2002-07-10 2017-04-11 Hewlett-Packard Development Company, L.P. Secure resource access in a distributed environment
EP1385311B1 (en) * 2002-07-23 2008-05-28 Matsushita Electric Industrial Co., Ltd. Terminal apparatus, communication method, and communication system for authentication of users in a user group in a network
US20040039803A1 (en) * 2002-08-21 2004-02-26 Eddie Law Unified policy-based management system
US7386889B2 (en) * 2002-11-18 2008-06-10 Trusted Network Technologies, Inc. System and method for intrusion prevention in a communications network
US7200676B2 (en) * 2003-03-26 2007-04-03 Microsoft Corporation Transmitting and receiving messages through a customizable communication channel and programming model
US10110632B2 (en) * 2003-03-31 2018-10-23 Intel Corporation Methods and systems for managing security policies
US7562154B2 (en) * 2003-06-30 2009-07-14 International Business Machines Corporation System and method for filtering stale messages resulting from membership changes in a distributed computing environment
US7757268B2 (en) * 2003-07-25 2010-07-13 Oracle International Corporation Policy based service management
US7526541B2 (en) * 2003-07-29 2009-04-28 Enterasys Networks, Inc. System and method for dynamic network policy management
US7831693B2 (en) * 2003-08-18 2010-11-09 Oracle America, Inc. Structured methodology and design patterns for web services
CA2483233C (en) * 2003-09-30 2015-08-11 Layer 7 Technologies Inc. System and method securing web services
US7603548B2 (en) * 2003-10-10 2009-10-13 Bea Systems, Inc. Security provider development model
US20050138416A1 (en) * 2003-12-19 2005-06-23 Microsoft Corporation Object model for managing firewall services
US7860243B2 (en) * 2003-12-22 2010-12-28 Wells Fargo Bank, N.A. Public key encryption for groups
US7770202B2 (en) * 2004-02-03 2010-08-03 Microsoft Corporation Cross assembly call interception
US20050183021A1 (en) * 2004-02-13 2005-08-18 Allen Joel E. Method for electronically packaging a user's personal computing environment on a computer or device, and mobilizing it for transfer over a network
US7380119B2 (en) * 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
US20060041669A1 (en) * 2004-05-19 2006-02-23 Lucent Technologies, Inc. Securing web services
US7590867B2 (en) 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module
US7533265B2 (en) * 2004-07-14 2009-05-12 Microsoft Corporation Establishment of security context
US7693286B2 (en) * 2004-07-14 2010-04-06 Intel Corporation Method of delivering direct proof private keys in signed groups to devices using a distribution CD
US20060048210A1 (en) * 2004-09-01 2006-03-02 Hildre Eric A System and method for policy enforcement in structured electronic messages
US20060069662A1 (en) * 2004-09-30 2006-03-30 Citrix Systems, Inc. Method and apparatus for remapping accesses to virtual system resources
US7571312B2 (en) * 2005-05-13 2009-08-04 Intel Corporation Methods and apparatus for generating endorsement credentials for software-based security coprocessors
US8856862B2 (en) 2006-03-02 2014-10-07 British Telecommunications Public Limited Company Message processing methods and systems
US7801128B2 (en) * 2006-03-31 2010-09-21 Amazon Technologies, Inc. Managing communications between computing nodes
US8151337B2 (en) * 2006-06-30 2012-04-03 Microsoft Corporation Applying firewalls to virtualized environments
US8510813B2 (en) * 2006-12-15 2013-08-13 Yahoo! Inc. Management of network login identities

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9553929B2 (en) 2011-06-01 2017-01-24 Microsoft Technology Licensing, Llc Episodic coordination model for distributed applications
CN103562853A (zh) * 2011-06-01 2014-02-05 微软公司 分布式应用的情节协调模型
CN103562853B (zh) * 2011-06-01 2017-03-22 微软技术许可有限责任公司 用于管理程序代码的实例的方法和系统
US11736530B2 (en) 2013-04-19 2023-08-22 Nicira, Inc. Framework for coordination between endpoint security and network security services
CN110084039A (zh) * 2013-04-19 2019-08-02 Nicira股份有限公司 用于端点安全与网络安全服务之间的协调的框架
CN105745621A (zh) * 2013-10-23 2016-07-06 微软技术许可有限责任公司 在服务器上仿真测试分布式应用
CN105745621B (zh) * 2013-10-23 2019-06-04 微软技术许可有限责任公司 在服务器上仿真测试分布式应用
CN103634293A (zh) * 2013-10-29 2014-03-12 暨南大学 一种基于双硬件的数据安全传输方法及系统
CN105122738B (zh) * 2014-03-26 2018-06-15 华为技术有限公司 基于网络功能虚拟化的证书配置方法、装置和系统
US10205719B2 (en) 2014-03-26 2019-02-12 Huawei Technologies Co., Ltd. Network function virtualization-based certificate configuration method, apparatus, and system
CN105122738A (zh) * 2014-03-26 2015-12-02 华为技术有限公司 基于网络功能虚拟化的证书配置方法、装置和系统
CN105787382A (zh) * 2016-01-28 2016-07-20 东软集团股份有限公司 访问控制方法和装置
CN105787382B (zh) * 2016-01-28 2018-12-21 东软集团股份有限公司 访问控制方法和装置
CN109155735A (zh) * 2016-05-26 2019-01-04 百事可乐公司 连接式分配机器的安全网关
CN109155735B (zh) * 2016-05-26 2022-04-15 百事可乐公司 连接式分配机器的安全网关

Also Published As

Publication number Publication date
EP2132674B1 (en) 2016-05-04
US8595480B2 (en) 2013-11-26
CN101681404B (zh) 2013-11-06
US20100138674A1 (en) 2010-06-03
WO2008119961A1 (en) 2008-10-09
EP1975830A1 (en) 2008-10-01
EP2132674A1 (en) 2009-12-16

Similar Documents

Publication Publication Date Title
CN101681404B (zh) 分布式计算机系统
RU2648956C2 (ru) Предоставление устройств в качестве сервиса
US8464351B2 (en) Security apparatus
CN101443746B (zh) 用于保护客户端及服务器的方法
CN108885665A (zh) 用于解密虚拟化环境中的网络流量的系统和方法
CN102420846A (zh) 企业用户对主存的虚拟机的远程访问
EP3489824A1 (en) Providing access to configurable private computer networks
CN103002445A (zh) 一种安全的提供应用服务的移动电子设备
JP2015165700A (ja) 遠隔サービスへのローカル安全なネットワークアクセスを提供する方法
CN111164571A (zh) 云系统中的基于安全处理的控制平面功能虚拟化
CN105487916A (zh) 一种桌面云环境下的虚拟机安全加固方法
CN102609643A (zh) 一种对虚拟机作动态密码学保护与所需的密钥管理方法
Annapureddy Security challenges in hybrid cloud infrastructures
CN104598842B (zh) 一种虚拟机监控器信任域分割方法
Yao et al. CryptVMI: A flexible and encrypted virtual machine introspection system in the cloud
US10691356B2 (en) Operating a secure storage device
CN107454050A (zh) 一种访问网络资源的方法及装置
Yasmin et al. Investigating the possibility of data leakage in time of live VM migration
Hou et al. Enabling user-policy-confined vm migration in trusted cloud computing
Rannenberg et al. Protection profiles for remailer mixes. Do the new evaluation criteria help?
Freisleben et al. Capabilities and Encryption: The Ultimate Defense Against Security Attacks?
Ojesanmi Security issues in mobile agent applications
Krautheim et al. Private virtual infrastructure: A model for trustworthy utility cloud computing
Bhatia et al. A Comprehensive Study of Security in Cloud Computing
Ettesvoll et al. Beyond Theory: Investigating the Practical Feasibility of Confidential Computing

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