具有多进程结构的用于运行插件程序代码模块的计算装置制造方法及图纸

技术编号:2919557 阅读:202 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种计算装置,其具有用于在其自身的专用进程中运行插件程序代码模块的多进程结构,从而使用插件程序设计模型来提高软件安全性和可靠性。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种用于运行插件程序代码模块的计算装置,具体地,涉及一种用于在其自身的专用进程中运行这种模块,以使用插件程序设计模式(pattern)来提高软件安全性和可靠性的装置。
技术介绍
本文中所使用的术语计算装置应广义理解为覆盖任何形式的电子计算装置,其包括数据记录装置、任何类型或形式的计算机(包括手持和个人计算机)、以及任何形式因素的通信装置(包括移动电话、智能电话、集通信、图像记录和/或重放和计算功能于一体的通信装置、以及其他形式的无线和有线信息装置)。可将插件程序定义为可执行代码的可替换项,其为可在运行时间加载或调用插件程序的松散耦合(loosely coupled)应用程序提供特定的业务。在很多操作系统中广泛地使用插件程序,并且插件程序被很多应用程序所广泛使用。这种技术的主要优点很广泛,包括·可使用插件程序的应用程序是固有可扩展的,这是因为当需要新特征时可以添加或替换插件程序; ·仅在请求时才通过应用程序加载关于插件程序代码,从而使程序能够对存储器的需求更小并且能够更快的开始运行;·插件程序的设计在结构上是柔性的,这是因为软件设计者无需知道关于任意插件程序的内部工作方式;·它们提供了商业上的益处;通过插件程序提供的选项或者提供功能性的许可证持有者可以改进上市时间,并且也鼓励第三方市场来写入用于现有应用程序的插件模块。插件程序经常作为动态链接库(DLL)或者相似类型的模块来加载,上述模块在与调用它们的应用程序相同的进程空间内执行。然而,它们也可以被派生(加载然后运行)为单独的进程。这两种可选的模型均被广泛地使用。在运行时间通过应用程序加载的动态链接库(DLL)模块已成为许多应用程序执行插件程序的传统方式。软件设计者预先指定包括抽象API的结构或框架,特定类型的所有模块必须符合该抽象API。这些模块以规定的和预定义的方式‘插入’到调用的应用程序中,并且广泛地用于很多操作系统中。用户可能特别熟悉这种类型的模块形式的插件程序,例如,打印机驱动程序。DLL插件程序被认为是非常高效的;与将这些程序集成到应用程序自身时相比,应用程序可以直接调用DLL中的程序,而没有明显的速度或者存储器开销。它们也是非常灵活的;可以添加插件程序以提供新的功能性,或者将其替换以改进现有的功能性。调用的应用程序通常包括用于标识所有特定类型的DLL插件程序的代码(或者指定其插件程序必须具有特定唯一的文件扩展或目录位置)。多年来,已在操作系统中执行大批派生进程。根据DennisRitchie所说,派生进程的能力有点像从六十年代中期的BerkeleySDS30分时系统中继承的Unix(参见在http://cm.bell-labs.com/cm/cs/who/dmr/hist.html处他的论文“The Evolution of the UnixTime-Sharing System”)。尽管将这种特征用作插件程序机制,使得该特性能够被添加到应用程序中,这要耗费相当长的时间才能被完全开发,但是其现在插件程序在各种基于Unix的操作系统中,还有Microsoft Windows中都很普遍,最特别的是将各种可执行程序插入Internet Explorer中来处理各种类型的内容的方式。然而,所有插件模块结构都可能引起操作系统或平台安全方面的顾虑。这包括抵抗恶意或有害的写入代码的平台防御机制的原理、结构以及实现。因为对系统的开放性、灵活性、和可升级性的任意增加都可能增加这种顾虑,所以认为这种插件程序造成了这方面的顾虑这并不奇怪。平台安全性对于所有计算和无线通信装置来说都是一个问题。这种装置上的数据的完整性、装置将会使用户花钱的潜能、以及它们被用于存储机密和保密信息的事实使得制造者和用户同样增加了这方面的顾虑。因此,确保插件程序机制不会危及安全是最重要的顾虑。信任与风险问题的焦点非常有助于理解为什么安全性问题反映了关于插件程序的真正顾虑。假设能够访问用户银行账户的应用程序支持插件程序。这种应用程序如何能够知道其插件模块也可以被信赖来访问银行账户?并且如果应用程序不能确保可以信任特定的插件模块,那它又如何能使用其插件程序业务,而又不会冒着暴露访问银行帐户的风险?相反地,假定一种装置包括执行用于控制对装置上的保护内容的访问的加密和解密算法的插件模块。该插件模块无疑需要能够确信,试图加载它以访问某一数据对象的应用程序确实有权限这么做。同意访问不可信的应用程序会将保护内容的完整性置于危险中。许多计算装置的用户将很熟悉这种类型的问题和危险,这是因为它们与由病毒、特洛伊、蠕虫、和经常侵扰互联网的其他类型的计算机恶意软件所生成的问题和危险非常相似。虽然存在大量的用于保护这一范围内操作系统和平台的安全的方案,但如在本专利技术的上下文中所述的这些问题的解决方法主要是关于基于进程的方案,其中,进程是安全单元以及存储保护单元。在这种方案中,进程具有各种安全属性,可包括但不限于权能、权限、和身份。假设这些术语是本领域技术人员很容易理解的。这种类型的最广泛使用的操作系统源自于Unix,其中,权限和组身份的设制定义了在系统中什么进程能够进行以及他们能够打开或访问什么资源。然而,仅作为实例,本专利技术是根据稍有不同的基于进程的平台安全结构来描述的,该结构在来自伦敦SymbianSoftware Ltd的移动通信装置的Symbian OSTM操作系统中有所介绍。在题为“Secure Mobile Wireless Device”的英国专利申请第0312191.0号中描述了该操作系统的多个核心组件,为了方便起见,这里概括了其中的一些部分。在Symbian OSTM操作系统的平台安全结构中,通过授权一个或多个权能来表示可置于可执行代码(应用程序或者插件程序)的一些项中的信任等级的公共指示符。在可执行进程的情况下,权能定义了它们可以开放对指定系统资源的访问的能力。为了方便起见,将不对这种访问授权;其仅当审计证明不存在高风险(由于授权给代码的访问而出现信任违背)时才会被允许。与权能一样,在Symbian OSTM操作系统中存在其他安全属性,包括关于包含可执行代码项的每个文件的一组唯一标识符(UID)、以及可用于指示项的出处的组ID(例如,厂家ID(VID))。SymbianOSTM操作系统中的安装型应用程序也可以携带符合公钥基础设施(PKI)规范(例如,X.509)的安全认证。由Symbian提供的平台安全结构的重要特征在于,所有类型的可执行代码模块都可在被构建时分配固定的权能。下面,概括了其中的两个实例。·在应用程序的情况下,这些权能确定操作系统信任应用程序的程度,该操作系统可以访问系统设施(例如,电话的功能性)或者存储在电话中的数据(例如,接触数据)。这些权能在进程范围内且从不改变。·在DLL的情况下,这些权能确定应用程序能够确信的DLL代码的程度,但是当被加载时,DLL采用与已加载权能的进程相同的权能。应该清楚,这种结构导致插件程序DLL设计对某些情况不适合。这是因为DLL被加载为与调用的应用程序相同的进程的一部分,并且可以访问其全部地址空间及其全部存储数据。鉴于此,应用程序必需完全信任插件程序DLL的完整性。DLL的系统装入程序通过拒绝加载任何不具有与想要调用本文档来自技高网...

【技术保护点】
一种计算装置,其具有基于进程的安全模型,并且其中,在所述装置上的软件应用程序能够通过调用插件模块作为单独进程,来利用具有与所述应用程序的安全属性不同或者不兼容的安全属性的所述插件模块。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:威廉吉布森
申请(专利权)人:西姆毕恩软件有限公司
类型:发明
国别省市:GB[英国]

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

1
相关领域技术
  • 暂无相关专利