首页> 中国专利> 用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置

用于在连接受限设备配置和开放服务网关联盟环境中管理访问特权的方法和装置

摘要

提供一种在连接受限设备配置(CLDC)和开放服务网关联盟(OSGi)环境中用于管理应用的访问特权的方法和装置。该方法包括:在应用中标记特权代码;在具有唯一线程标识符的安全线程中运行该特权代码;通过根据映射表将该唯一线程标识符与应用标识符映射来识别该特权代码;检查许可策略文件以确定该识别的特权代码具有何种类型的资源访问特权;以及根据该确定结果许可该应用访问该资源。因此,当应用尝试访问架构中的资源时,能够管理该应用的访问特权,以使得通过使用映射表识别应用和检查识别的应用的安全策略文件来使得没有应用能够恶意访问该资源。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-12

    未缴年费专利权终止 IPC(主分类):G06F21/22 授权公告日:20121031 终止日期:20180723 申请日:20080723

    专利权的终止

  • 2012-10-31

    授权

    授权

  • 2010-08-25

    实质审查的生效 IPC(主分类):G06F21/22 申请日:20080723

    实质审查的生效

  • 2010-06-23

    公开

    公开

说明书

技术领域

本发明涉及用于动态安装应用的架构,且更具体地,涉及一种在连接受限设备配置(CLDC)和开放服务网关联盟(OSGi)环境中用于管理应用对资源的访问特权的方法和装置。

背景技术

现在使用的多数终端设备和嵌入设备包括Java编程语言平台以便在该平台中运行内建的或下载的Java应用。一种此类平台是Java 2微版本(J2ME)。J2ME体系结构尤其针对具有受限的资源的嵌入系统,诸如移动电话机、寻呼机、个人数字助理(PDA)、智能卡和机顶盒。

但是,由于这些设备之间在功能和性能方面存在很大差异,所以按照这样的模式设计J2ME体系结构:它的配置和简档(profile)彼此分开以便使得J2ME平台能够用在多种应用中。该配置和简档一起定义了设备必须支持的应用编程接口(API)的最小集合。此构思的优点是通过使用定义的API的任何一个产生的任何应用能够运行在J2ME平台上。一般,如果有必要的话,例如,在用户希望将API添加到程序的情形中,该集合能够和附加的可选库一起被扩展。

涉及J2ME的两种代表性的配置是连接受限设备配置(CLDC)和连接设备配置(CDC)。利用移动信息设备简档(MIDP)和CLDC形成的平台针对比CDC或存储受限的系统具有相对受限的性能的中央处理单元(CPU),且标准Java平台采用API和应用虚拟机(VM)技术。

发明内容

技术问题

本发明提供一种用于管理应用的访问特权的方法和装置,其能够克服在使用虚拟机(VM)驱动应用的运行环境中一次仅一种应用可以在一个VM上运行的限制,并且阻止各应用恶意地访问架构中的资源。

技术方案

根据本发明的一方面,提供一种在通过使用虚拟机(VM)驱动各应用的运行环境中用于管理应用对资源的访问特权的方法,该方法包括:在应用中标记特权代码;在具有唯一线程标识符的安全线程中运行该特权代码;通过根据映射表将该唯一线程标识符与应用标识符映射来识别该特权代码;检查许可策略文件以确定该特权代码具有何种类型的资源访问特权;以及根据该确定结果许可该应用访问该资源。

根据本发明的另一方面,提供一种在其上记录有程序的计算机可读记录介质,如果由计算机运行该程序则导致该计算机运行该方法。

根据本发明的另一方面,提供一种在通过使用VM驱动各应用的运行环境中用于管理应用对资源的访问特权的装置,该装置包括:线程提供单元,其提供具有唯一线程标识符的安全线程以运行在该应用中标记的特权代码;识别单元,其通过根据映射表将该唯一线程标识符与应用标识符映射来识别特权代码;和检查单元,其检查许可策略文件以确定识别的特权代码具有何种类型的资源访问特权并且根据该确定结果许可该应用访问该资源。

有益效果

如上所述,当应用尝试访问架构中的资源时,能够管理该应用的访问特权,以使得通过使用映射表识别该应用和检查识别的应用的安全策略文件来使得没有应用恶意地访问资源。同样,当该架构是CLDC OSGi环境时,由于多个应用能够在一个VM上运行,由此能够显著地降低存储器的消耗。

附图说明

通过参考附图对本发明的示范实施例的详细描述,本发明的上述和其它方面将更加明了,其中:

图1A是连接受限设备配置(CLDC)移动信息设备简档(MIDP)平台的框图;

图1B是CLDC开放服务网关联盟(OSGi)架构的框图;

图2是在CLDC OSGi环境中用于管理应用对资源的访问特权的系统的框图;

图3A是根据本发明的示范实施例的CLDC OSGi架构的安全体系结构的框图;

图3B说明在图3A的安全体系结构中的应用和该应用中的特权代码;

图4是根据本发明的示范实施例的用于管理应用对架构中的资源的访问特权的装置的框图;

图5是说明根据本发明的示范实施例的用于管理应用对架构中的资源的访问特权的方法的流程图。

具体实施方式

现在将参照附图充分地说明本发明的示范实施例。

在下述示范实施例中,架构表示其中通过使用虚拟机(VM)驱动各应用的运行环境。

图1A是连接受限设备配置(CLDC)移动信息设备简档(MIDP)平台的框图。参考图1A,CLDC MIDP平台包括硬件110、KVM 120、CLDC 130、MIDP 140和应用150。KVM 120是用于独立于硬件110上的平台而运行应用的软件。在CLDC-MIDP环境中的VM可以是K虚拟机(KVM)120。KVM是用于驱动CLDC 130和MIDP 140的独立于平台的VM,CLDC 130包括Java2微版本(J2ME)的核心应用编程接口(API)。

图1A说明作为上述的配置和简档对的CLDC-MIDP。CLDC 130定义VM和一组库,它们与Java语言规范中规定的那些相比被按比例缩减。CLDC130是为具有有限资源的嵌入设备(例如,中到低性能的移动电话机)设计的。MIDP 140定义用于应用编程的简单模型,其包括应用模型、用户接口(如,文本框或表)以及联网。在该环境中,多个应用150被加载并且在CLDC-MIDP平台的顶端运行。

但是,CLDC-MIDP平台不具有剩余的鲁棒的资源,并且发现它在API和应用VM技术方面要滞后于标准的Java平台。同样,在现有技术的Java架构中,一次仅一个Java应用能够运行在一个VM上。因此,在现有技术中为了运行多个应用,在硬件上低效地驱动多个VM。

对CLDC-MIDP平台的上述问题提出的一种解决方案是包括具有比CLDC-MIDP平台更高性能的应用架构的开放服务网关联盟(OSGi),将参考图1B解释OSGi。

图1B是CLDC-OSGi架构的框图。图1B的CLDC-OSGi架构具有和图1A的结构相似的结构,但是采用OSGi160。OSGi 160是独立于操作系统或服务平台操作的中间件架构,且是在其中通过使用Java应用能够被动态地安装和删除的系统环境。技术上,OSGi 160是通用的、服务为中心的运行环境,其规定通用架构和能够允许可能来自不同厂商的多个增值服务实施方式的传递的服务接口的核心组合。

换句话说,OSGi 160提供通用的、安全的和管理的Java架构,其支持来自不同厂商的熟知为束(bundle)的可扩展的和可下载的服务应用的部署。OSGi 160通过安装包括Java类文件的jar文件类型的物理束来提供服务。该束形成服务部署和管理的基本单元。因此,兼容OSGi的设备能够下载和安装OSGi束,并且当它们在兼容OSGi的设备不再被需要时移除它们。各种束反过来能够注册多个服务,这些服务在OSGi 160的控制下能够被其他束共享。由于OSGi 160具有服务注册,所以OSGi 160执行服务注册、搜索、运行和移除。

OSGi 160能够在CLDC 130的顶端或基础简档(FP)上运行。此外,在OSGi 160中,在单个VM上能够同时运行多个束。换句话说,加载和运行VM的次数不需要和运行Java应用的次数一样多。一旦加载VM,则能够在该VM上同时地运行多个束,由此显著地减少存储器消耗。由于OSGi 160的鲁棒性,Java规范请求(JSR)已经提出使用OSGi作为移动设备的底层应用架构。

但是,在CLDC 130上实现的OSGi 160在应用的安全性方面具有明显的缺点。这些缺点基本上归因于CLDC 130对于整个OSGi安全设计所依靠的完整Java 2安全提供有限的支持。没有提及用于管理对在CLDC-OSGi环境中运行的应用中的代码的访问特权的任何机制或方法。

下述的本发明的示范实施例通过提供一种阻止在CLDC OSGi环境中运行的各应用恶意访问OSGi的其他服务或应用的方法来克服这些缺点。

图2是在CLDC OSGi环境中用于管理应用对资源的访问特权的系统的框图。图2的系统具有与图1B的结构相似的结构,除了OSGi 260还包括管理应用251、252和253的访问请求的访问特权管理单元265。

例如,如果应用251、252和253不具有适当的验证或安全手段以访问和使用OSGi 260中特定的服务或其他应用,则该架构可能会暴露于来自外部的恶意的资源访问请求。因此,本发明的各种示范实施例建议包括访问特权管理单元265,其管理此类资源访问请求并且仅仅许可授权请求的访问。具体地,应用251、252和253可以分别具有特权代码271、272和273,并且可以通过使用特权代码271、272和273获得对特定资源的访问特权。

虽然下面假定CLDC OSGi环境来描述示范实施例中的架构,但是本领域的普通技术人员将易于理解,除了CLDC OSGi环境外的其他各种运行环境可以用于本发明。

图3A是根据本发明的示范实施例的CLDC OSGi架构的安全体系结构的框图。参考图3A,根据本发明的当前示范实施例的安全体系结构包括架构300和作为安装在架构300中的束的应用B1410。

架构300包括特权管理单元310,管理应用410的资源访问特权。特权管理单元310包括线程提供单元315和许可策略文件317。

线程提供单元315管理提供来运行新安装的应用410的安全线程ST1。在提供的安全线程ST1上运行该应用B1 410。为每个应用提供安全线程ST1,且安全线程ST1可以是被设计为满足架构300的特征的定制的线程。在图3A中示出对应于应用B1 410的安全线程ST1。

当应用访问特定资源时(如,架构300的其他应用或服务),该应用必须具有访问特权。特权代码417表示对其授予访问特权的应用中多个代码的一个。访问特权表示架构300的特定资源。即,当架构300的特权管理单元310许可在应用B1 410中按特权代码417标记的命令或资源请求时,对应于该清求的资源可以被访问。例如,由于应用B1 410具有一组访问特权415,所以许可应用B1 410访问对应的资源。如果应用B1 410无法获得该组访问特权415,则不许可应用B1 410访问对应的资源。

许可策略文件317管理用于确定每个应用可以访问和使用什么类型的资源的策略。许可策略文件317可以记录在特定文件或数据库(DB)中。

图3B说明图3A的安全体系结构的应用B1 410和在该应用B1 410中的特权代码417。在图3B中说明作为程序代码的图3A的应用B1 410和特权代码417。假定图3B的应用B1 410是安装在移动电话中的软件程序,且具有搜索电话本、进行呼叫和管理日历的功能。

sampleApplication()对应于应用B1 410且包括三种功能,这些功能表达为搜索search()、呼叫call()和日历calendar()功能。假定能够利用移动电话的资源的使用中的公共特权来使用管理日历的功能,因为不同于搜索电话本的功能,管理日历的功能不会导致特殊的安全问题。但是,假定伴随通话费用的进行呼叫的功能需要在移动电话的资源的使用中的特定特权。在这种情况下,除非从对应于移动电话的软件实现环境的架构获得该特定特权,否则无法使用对应于进行呼叫的功能的功能call()。也即,未经许可,无法使用架构的资源。

在图3B中,通过使用标记doPrivileged()可以将功能call()规定为特权代码417。当存在对于架构的资源的访问请求且该访问请求被许可时,运行应用sampleApplication()中的三种功能search()、call()和calendar()当中对应于特权代码417的功能call()。因此,特权代码417可以被设计成具有对架构的所有资源的访问许可。当然,通过架构的特权管理单元310(见图3A)确定是否许可该特权代码417。

已经解释了将安全线程分配到安装在架构中的多个应用的每一个以便运行该应用的方法。此类安全线程根据包括在架构中的许可策略来接受资源访问特权的检查。

现在说明用于检查尝试访问架构的资源的安全线程的特权的安全体系结构驱动模型。

图4是根据本发明的示范实施例的用于管理应用对架构300中的资源的访问特权的装置的框图。参考图4,根据当前示范实施例的装置除了图3A和3B的特权管理单元310之外还包括服务注册机(registry)320。特权管理单元310包括识别单元311、映射表312、检查单元313、线程提供单元315、许可策略文件317和特权接口319。现在将说明每个部件。

服务注册机320是用于注册、搜索、运行和移除由架构300提供的服务的管理单元。图4说明一个服务325被注册。

如上所述,线程提供单元315提供安全线程ST1以运行在应用B1 410中标记的特权代码417。安全线程ST1具有不同于任何其他线程的唯一的线程标识符。

特权代码417可以通过特权接口319来标记,且在架构300的设计中满足用于与应用B1 410通信的一系列标准。例如,当开发者根据对于在架构300中可安装的应用的开发指南来开发包括标记应用中的特权代码的安全功能的应用时,架构300的特权管理单元310能够通过使用特权接口319来检测该特权代码417。由于应用B1 410通过这种方式使用特权接口319和特权代码417来获得许可,所以许可应用B1 410访问架构300的一些特定的资源。

线程提供单元315不仅提供安全线程ST1而且在必要时终止所提供的安全线程ST1。也即,在特权代码417的运行完成之后,线程提供单元315可以终止安全线程ST1和连同唯一标识符的应用之间的映射。由于线程提供单元315可以终止安全线程ST1,因此架构300能够确保其他应用无法恶意地重新使用安全线程ST1来运行特权代码417。

映射表312成对地存储线程标识符和对应的应用标识符。可以从映射表312确定哪个安全线程被分配给具体的应用。图4说明示出该安全线程ST1对应于应用B1 410的映射表312。映射表312可以确保除了分配给安全线程ST1的应用B1 410之外没有其它应用可以使用安全线程ST1来运行特权代码417。

识别单元311通过从映射表312中将唯一线程标识符与应用标识符映射来识别应用或该应用中的特权代码。例如,当应用B1 410请求访问服务325时,识别单元311通过使用携带该请求的安全线程ST1的线程标识符来检查该映射表312。作为检查的结果,能够识别出对应于安全线程ST1的应用是应用B1 410。

检查单元313检查许可策略文件317以确定该识别的应用具有何种资源访问特权。作为检查的结果,当识别的应用具有资源访问特权时,检查单元313许可识别的应用访问资源,并且当识别的应用不具有资源访问特权时,拒绝识别的应用访问资源。例如,应用B1 410经过检查单元313询问许可策略文件317。如果作为询问的结果应用B1 410具有对服务325的访问特权,则该组访问特权415被授予应用B1 410。因此,许可应用B1 410访问服务325。

已经参考图4说明了根据本发明的示范实施例的用于管理应用对架构中的资源的访问特权的装置。由于通过使用映射表312识别应用并且检查被识别的应用中的特权代码的许可策略文件317,所以能够管理应用的访问特权,以使得各应用无法恶意访问架构300的资源。同样,当在CLDC OSGi环境中实现架构300时,多个应用可以在一个VM上运行,由此显著地降低存储器的消耗。

图5是说明根据本发明的示范实施例的用于管理应用对架构的资源的访问特权的方法的流程图。

参考图5,在操作510中,在具有唯一线程标识符的安全线程中运行应用中的特权代码。例如,当在CLDC OSGi环境中安装OSGi应用时,可以在线程提供单元提供的安全定制线程中运行OSGi应用和OSGi应用中的特权代码。安全定制线程具有不同于任何其他线程的唯一线程标识符。

在操作520中,运行的应用请求对资源的访问。这里,资源表示架构中的服务或其他应用。

在操作530中,通过根据映射表中将唯一线程标识符与应用标识符映射来识别该应用中的特权代码。

在操作540中,检查许可策略文件以确定该应用具有何种类型的访问特权。在特权管理单元310中,检查单元313通过将该访问请求和存在于CLDCOSGi架构中的许可策略文件317(见图4)进行比较来确定该应用的访问特权。访问特权可以被预先设置,且依赖于诸如位置和签名人的因素。例如,如果预先商定该架构将所有资源访问特权授予公司A的各应用,则当该应用的签名人是请求访问资源的公司A时,该请求可以被接受。

在操作550中,确定该应用是否具有对资源的访问特权。如果在操作550中确定该应用具有对资源的访问特权,则该方法前进到操作560。在操作560中,许可该应用访问该资源。如果在操作550中确定该应用不具有对资源的访问特权,则该方法前进到操作570。在操作570中,拒绝该应用访问该资源。当该应用被拒绝访问资源时,可以运行作为Java架构的错误处理方法的故障程序(exception)。当特权代码的运行完成时,安全线程和应用之间的映射可以与该唯一标识符一起被终止。因此,该架构能够确保各应用不会恶意重新使用用于运行该特权代码的安全线程。

已经参考图5说明了根据本发明的示范实施例的用于管理应用对架构中的资源的访问特权的方法。可以管理该应用的特权代码从而各应用无法恶意访问架构中的资源。同样,当在CLDC OSGi环境中实现该架构时,多个应用可以在一个VM上运行,由此降低存储器的消耗。

本发明可以实现为在计算机可读记录介质上的计算机可读代码。计算机可读记录介质是能够存储随后由计算机系统读取的数据的任何数据存储设备。

计算机可读记录介质的例子包括只读存储器(ROM)、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备。计算机可读记录介质也能够分布在网络耦合的计算机系统上从而以分布方式存储和运行计算机可读代码。同样,完成本发明的功能程序、代码、和代码段能够容易地由本发明所属的技术领域的熟练的程序员推导出来。

本发明也能够实现为计算机可读传输介质上的计算机可读代码。计算机可读传输介质的例子包括载波(诸如经过因特网的数据传输)。

尽管已经参照示范实施例具体示出和描述了本发明,但是本领域的普通技术人员将理解:在不背离由以下权利要求书限定的本发明的精神和范围的情况下,可以在其中进行形式和细节上的各种改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号