当前位置: 首页 > 专利查询>微软公司专利>正文

用于应用程序的划分的方法和系统技术方案

技术编号:2863793 阅读:194 留言:0更新日期:2012-04-11 18:40
应用程序分解或划分用于将安全特征集成到常规的应用程序中。应用程序的功能依照给定的行动是否涉及敏感数据的处理被划分成两个组。创建单独的软件对象(处理器)来执行这两组行动。可信处理器处理安全数据并运行在高保证环境中。当另一处理器遇到安全数据时,该数据被发送到可信处理器。以允许数据被路由到可信处理器的方式包装该数据,并防止数据被不同于可信处理器的任一实体破译。提供了一种基础结构,它包装对象、将它们路由到正确的处理器,并允许通过反向通往已知为可信的基础组件的可信链来证明它们的完整性。

【技术实现步骤摘要】

本专利技术一般涉及计算领域,尤其是提供了一种以允许需要可信或安全测量的操作集成到普通、非安全软件中的方式支持应用程序的划分和分解的机制。
技术介绍
在计算领域,在一方面提供高度安全的系统和另一方面提供大量功能性特征和高度可扩充性的系统之间存在一种紧张关系。计算领域的安全性取决于用高度的确定性理解并预测计算机系统的行为(即,软件和硬件的行为)的能力-即,确保系统不会通过无意的误用或故意的攻击以不同于为其设计的方式表现。例如,被设计成保护有版权的资料不被复制的计算机系统仅在可确保系统实际上做设计它所做的事情的方面是可信的。然而,大型、开放的体系结构往往是难处理且复杂的,从而很难分析其行为,因为有大量的变量可影响该行为。当前,诸如全服务(full-service)操作系统或文字处理器等大型复杂的程序看似不可能将其行为核实到高度的确定性。可能书写可在各种各样的条件和攻击种类下测试并核实其行为的小程序,但是这一程序只能执行有限的功能组。由此,在提供大量的功能和提供高度的安全性之间存在一种紧张关系。提出的一种解决方案是并肩运行两个系统-一个具有高度功能性的大系统,以及另一具有高度安全性的小系统。由此,诸如WINDOWS XP等全服务操作系统可以连同一小型、高保证操作系统一起运行。只要在全服务操作系统中出现需要以具有高度可信的紧密控制的方式执行的事件,就可将该任务传递到高保证操作系统。操作系统提供了其它程序可在其中执行的环境。然而,两个操作系统可并肩存在这一纯粹的事实无法解决给定的应用程序如何利用两个环境的问题。期望应用程序能够使用全特征环境来执行大多数功能(即,不需要高度安全性的功能),并使用高保证环境来执行的确需要高度安全性的功能。此外,期望以提供集成的用户体验的方式来使用这两个环境。鉴于上述原因,需要一种克服现有技术的缺点的系统。
技术实现思路
本专利技术提供了一种应用程序的功能可被分解(factor)或划分成多个部分的机制-即,需要某一程度的安全或保护的行动,以及不需要那些安全或保护的行动。依照本专利技术,应用程序被实施为至少两个软件对象运行在全特征(但是低保证)环境中的软件对象,以及运行在高保证(但特征有限)环境中的另一软件对象。当全特征环境中的对象执行时,它可能遇到需要某一程度的保护的数据(如,该数据可能需要保密,或它可能需要在确定该数据未被篡改的意义上是可核实的)。当运行在全特征环境中的软件对象遇到这样的数据时,该软件对象促使该数据被传递到高保证环境。在高保证环境中操作的软件对象然后操作该数据。当处理该数据时需要的数据的任何输入、输出或存储使用高保证环境来执行,以保护该数据不被该高保证环境外部出现的事件截取或篡改。这两个环境由一提供两个环境进行通信所需要的基础结构(或“管道(plumbing)”)的基础组件主管(host)。例如,需要在高保证环境中处理的数据对象可具有该基础组件生成的包装。该包装可标识向其路由该数据对象用于处理的环境,并且也可提供能够核实该数据对象自从被该基础组件包装以来未被修改的事实的封印。由此,软件对象可将数据对象传递到基础组件,基础组件能够(1)确定该数据对象应当被传递到哪一环境,以及(2)核实该数据对象自从创建以来未被篡改。后一行动提供了允许跨平台建立对象的可信性的基础结构如果在第一机器上(具有第一基础组件)创建了对象,则该第一基础组件签署该对象为该对象是在该基础组件已知的高保证环境中生成的确切对象的证明。当然后在另一机器上打开该对象时,另一机器然后可以核实该签名,并判定它们是否信任签署者。(如,某些机器和/或基础组件可能比其它机器更善于确保其主管的环境的正确行为;每一机器可为其自己决定它是否信任创建给定数据对象的平台。)下文将描述本专利技术的其它特征。附图说明当结合附图阅读时,可以更好地理解以上概述以及以下较佳实施例的详细描述。为说明本专利技术的目的,附图中示出了本专利技术的示例性构造;然而,本专利技术不限于所揭示的具体方法和手段。附图中图1是可实现本专利技术的各方面的示例计算环境的框图;图2是被分解成组成功能的应用程序的框图;图3所示是将数据路由到应用程序的不同组件的框图;图4是可分解应用程序的用户界面的示例的框图;图5是支持分解的应用程序的使用的示例性体系结构的框图;图6是可使用分解的应用程序的环境的示例层次结构的框图;图7是在支持分解的应用程序的使用的环境中使用的示例数据对象的框图;图8是可通过其在分解的应用程序中处理数据的示例过程的流程图。具体实施例方式综述本专利技术提供了一种允许应用程序被划分或“分解”成安全和非安全组件,并允许这些组件共同工作以提供关于该应用程序的集成用户体验的机制。例如,文字处理程序可被划分成一执行大多数布局、编辑、打印、拼写检查、语法检查等与文字处理器关联的功能的非安全组件,以及一启用需要某一保护方式的数据对象的显示和编辑的安全组件。非安全组件可运行在普通、开放环境中,如典型的商业操作系统。安全组件可运行在允许某些类型的软件以该软件将正确表现的高保证运行的高保证环境中。本专利技术提供了关于这一情形的各种特征。首先,本专利技术提供了一种跨两个组件的用户体验,使得从用户的观点来看,用户看似尽可能地使用单个应用程序。第二,本专利技术提供允许应用程序处理安全和非安全数据的基础结构或“管道”,并用于跨分区使用的这类数据。对于用户体验,一般情况是用户开始使用应用程序的非安全部分。在这一使用期间出现的数据(如,文字处理文档中的敏感文本项目、电子表格中的敏感金融数字等)由应用程序的非安全部分以某一方式较佳地集成到用户体验中,即使该数据实际上无法由该非安全部分显示。例如,如果文字处理文档中有敏感或机密文本项目,则文字处理器的非安全部分能够显示标识该项目的框,以及表示即使无法显示该文本也存在的事实的某一类型的图形(如,指示文本的弯曲的线条)。在一个示例中,用户可在该框或图形上点击,然后可调用应用程序的安全部分以在出现该框的屏幕的同一位置显示文本。由此,对于用户体验集成了应用程序的安全和非安全部分。对于基础结构,本专利技术提供了一种允许一个环境中的数据对象被路由到另一环境的机制。通常,机密或敏感的数据对象-并由此需要由安全部分处理-将被加密,使得非安全部分无法读取它。由此,这一对象通常由在生成该数据对象中起作用的每一组件包装在一系列包装中。每一包装较佳地包含附加该包装的组件的标识符,以及允许核实该包装内的数据的完整性的封印。外部包装较佳地由创建该包装的机器上的可信根附加-即,在单个机器上主管各种环境,并由某一公知的授权机构核实为其行为可信的基础组件。该外部包装允许该基础组件担当路由器的作用。由此,当非安全部分遇到该对象时,它可能无法读取该对象,但是可将该对象标识为要发送到另一环境用于处理的对象。由此,非安全部分将该对象发送到基础组件,它然后基于包装中标识了哪一环境将该对象路由到正确的环境。另外,如果对象在第一机器上创建,并在第二机器上打开,则第二机器可通过检查作为外部包装的一部分的签名确定该对象的可信性。应当理解,当基础组件包装并密封对象时,基础组件本质上证明在对象的创建过程中,基础组件在保护创建过程不受外部篡改的方面正确地执行了其功能。(基础组件通常提供允许高保证环境保护其自身不受篡改的机制一如,可信本文档来自技高网
...

【技术保护点】
一种管理应用程序的划分的系统,其特征在于,它包括:一主管第一环境和第二环境的基础层,所述应用程序包括:在所述第一环境中执行的第一软件对象,所述第一软件对象处理多个数据并包括将所述多个数据的第一个标识为不可由所述软件对象处理的 逻辑;以及在所述第二环境中执行并以防止对所述多个数据的所述第一个的篡改的方式处理所述多个数据的所述第一个的第二软件对象,所述基础层包括或主管从所述软件对象接收所述多个数据的所述第一个并将所述多个数据的所述第一个路由到所述第二 环境的逻辑。

【技术特征摘要】
US 2003-10-24 10/693,7491.一种管理应用程序的划分的系统,其特征在于,它包括一主管第一环境和第二环境的基础层,所述应用程序包括在所述第一环境中执行的第一软件对象,所述第一软件对象处理多个数据并包括将所述多个数据的第一个标识为不可由所述软件对象处理的逻辑;以及在所述第二环境中执行并以防止对所述多个数据的所述第一个的篡改的方式处理所述多个数据的所述第一个的第二软件对象,所述基础层包括或主管从所述软件对象接收所述多个数据的所述第一个并将所述多个数据的所述第一个路由到所述第二环境的逻辑。2.如权利要求1所述的系统,其特征在于,所述第一软件对象促使在显示设备上显示所述多个数据的所述第一个的表示,所述表示包括一个或多个不可破译的记号。3.如权利要求2所述的系统,其特征在于,所述一个或多个不可破译的记号(1)彼此大小相同,或者(2)为与所述多个数据的所述第一个的内容不相关的大小。4.如权利要求1所述的系统,其特征在于,由所述第二软件对象提供的所述防篡改能力包括所述第二环境通过将所述多个数据的所述第一个的表示写入一与显示设备关联的视频存储器中,以促使所述表示取代显示所述表示的所述显示设备的位置上的任何图像,从而阻止对所述多个数据的所述第一个的显示的干扰。5.如权利要求1所述的系统,其特征在于,所述多个数据的所述第一个在键盘上输入,并且其中,由所述第二软件对象提供的所述防篡改包括阻止对从所述键盘转移到所述第二软件对象的输入流的所述多个数据的所述第一个的篡改。6.如权利要求5所述的系统,其特征在于,所述第二应用程序签署所述多个数据的所述第一个以防止随后对所述多个数据的所述第一个的篡改。7.如权利要求6所述的系统,其特征在于,所述第二环境签署所述多个数据的所述第一个和由所述第二应用程序创建的签名作为所述多个数据的所述第一个和所述签名系在所述第二环境中被创建的指示。8.如权利要求1所述的系统,其特征在于,所述基础层包括向所述第二环境分配第一标识符的组件。9.如权利要求8所述的系统,其特征在于,所述多个数据的所述第一个包括或附有所述第一标识符和标识所述第二软件对象的第二标识符。10.如权利要求1所述的系统,其特征在于,所述第一环境与描述所述第一环境的行为的第一规范相关联,其中,所述第二环境与描述所述第二环境的行为的第二规范相关联,其中,所述第二环境符合所述第二规范比所述第一环境符合所述第一规范具有更高的保证级别。11.如权利要求10所述的系统,其特征在于,所述第二软件对象依赖于所述第二环境的行为,以阻止对所述多个数据的所述第一个的篡改。12.如权利要求1所述的系统,其特征在于,所述基础层是所述第二环境,或包括在所述第二环境中。13.一种在第一环境中执行、处理向其应用一种政策的数据的第一软件对象方法,其特征在于,所述方法包括所述第一软件对象遇到所述数据;所述第一软件对象确定所述数据无法由所述第一软件对象处理;所述第一软件对象促使将所述数据被提供给在第二环境中执行的第二软件对象,所述第二环境提供所述第二环境中执行的行动将被正确执行的第一保证级别,其中,所述第二软件对象以使用所述保证来阻止出现在所述第二环境外部的行动对所述数据的篡改的方式处理所述数据。14.如权利要求13所述的方法,其特征在于,所述防篡改包括阻止对所述数据的改变。15.如权利要求14所述的方法,其特征在于,所述数据在一可视显示设备上显示,并且其中,所述防篡改包括在所述可视显示设备的位置上显示所述数据的表示,并取代不同于在所述位置上呈现的所述表示的任何图像。16.如权利要求13所述的方法,其特征在于,所述第一软件对象促使所述数据的表示在一可视显示设备上显示,所述表示包括一个或多个不可破译的记号。17.如权利要求16所述的方法,其特征在于,所述表示(1)彼此大小相同,或(2)具有与所述多个数据的所述第一个的内容不相关的大小。18.如权利要求16所述的方法,其特征在于,所述第一软件对象或所述第二软件对象、或所述第一软件对象和所述第二软件对象的组合,促使所述可视显示设备上显示的项目在至少一个方面变化,以准许察看由所述第二软件对象生成的所述数据的图像。19.如权利要求14所述的方法,其特征在于,所述数据使用键盘来提供,并且其中,所述防篡改包括阻止对从所述键盘转移到所述第二软件对象的输入流的所述数据的改变。20.如权利要求13所述的方法,其特征在于,所述安全政策指定所述数据由所述第二软件对象处理。21.如权利要求13所述的方法,其特征在于,所述数据包括将所述第二环境标识为处理所述数据的位置的第一标签,或与该第一标签相关联。22.如权利要求21所述的方法,其特征在于,所述数据包括将所述第二软件对象标识为所述数据的处理器的第二标签,或与该第一标签相关联,并且其中,所述第二环...

【专利技术属性】
技术研发人员:KD雷M佩纳多P英格兰德TV库里恩
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1