移动终端的动态加载软件验证方法、监控方法和装置的制作方法

文档序号:7697066阅读:113来源:国知局
专利名称:移动终端的动态加载软件验证方法、监控方法和装置的制作方法
技术领域
本发明涉及移动终端的软件平台,特别是涉及移动终端的动态加载软件验证方 法、监控方法和装置。
背景技术
随着手机的智能化发展,目前的智能手机允许用户在手机的软件平台上安装各种 动态加载软件,以提供丰富的扩展功能。为了避免不安全或恶意的动态加载软件对手机的 系统运行造成损害,传统上使用数字签名来对各种各样的动态加载软件进行控制。传统的 动态加载软件安装运行流程如图1所示,动态加载软件经过数字签名S1后下载到移动终端 本地进行安装,安装时手机终端系统验证其数字签名S2,如果验证通过则进行安装S3。这种传统的软件保护方法存在一些缺点。首先,这一方法无法体现手机终端系统 对不同的第三方开发群体的授权控制策略,所有的第三方开发群体都能使用终端平台的全 部API (Application Programming Interface,应用程序编程接口)开发动态加载软件,这 样,开发资质较差的开发群体如果使用终端的关键API,其软件有可能对全系统造成破坏, 比如死机或影响其它重要业务应用运行等等,从而影响终端用户的体验;其次,如果传统 的软件保护方法需要增加API访问控制策略,其主要方法是通过在API的对应模块增加检 测代码来实现的,或者通过API接口是否对外开放来实现,这种方法需要对原有模块进行 较大规模的改造,无法平滑升级;再者,使用传统的软件保护方法,无法动态的对手机终端 API访问控制策略进行更新,终端一旦售出,其保护策略将保持固定,无法进行动态调整。

发明内容
本发明所要解决的技术问题是提供一种更加灵活的移动终端的动态加载软件的 验证和监控方法,以针对不同可靠等级的动态加载软件提供不同的监控策略。本发明提出一种移动终端的动态加载软件的验证方法,包括以下步骤设定移动 终端的多个API访问等级值,不同的API访问等级值有权访问的移动终端中的API范围不 同。对动态加载软件添加API访问等级值字段,以赋予一 API访问等级值,然后发布该动态 加载软件。另一方面,创建并发布一 API访问等级配置表,该API访问等级配置表包含移动 终端中的各个API及其对应的设定API访问等级值,其中该API访问等级值与该API访问 等级配置表用以作为移动终端监控动态加载软件对API的访问的依据。在本发明的一实施例中,根据动态加载软件的开发者资质设定上述的多个API防 问等级值。在本发明的一实施例中,API访问等级值越高,有权访问的移动终端中的API范围 越大,并且高的API访问等级值有权访问的API范围,包含低的API访问等级值有权访问的 API范围。在本发明的一实施例中,对动态加载软件添加API访问等级值字段之后还包括对 包含该API访问等级值的动态加载软件进行数字签名。
在本发明的一实施例中,上述的验证方法,还包括,向移动终端发布对该API访问 等级配置表的更新。在一实施例中,通过固件升级包向移动终端发布对该API访问等级配 置表的更新。在本发明的一实施例中,上述的验证方法还包括,向动态加载软件的开发者发布 对该API访问等级配置表的更新,由此动态加载软件可以根据更新后的API访问等级配置 表升级或开发。本发明另提出一种移动终端的动态加载软件的监控方法,包括以下步骤获取动 态加载软件,该动态加载软件包含一 API访问等级值,该API访问等级值对应一移动终端中 的API访问范围。当安装该动态加载软件时,保存动态加载软件的标识与该API访问等级 值。当动态加载软件于移动终端运行时,获取该动态加载软件的API访问等级值,根据一 API访问等级配置表监控该动态加载软件对移动终端中的API的访问,其中该API访问等级 配置表包含移动终端中的各个API及其对应的设定API访问等级值。在本发明的一实施例中,当该动态加载软件的API访问等级值高于或等于该设定 API访问等级值时,允许该动态加载软件访问该API,当该动态加载软件的API访问等级值 低于该设定API访问等级值时,提出警告或终止运行该动态加载软件。在本发明的一实施例中,当安装该动态加载软件时,还包括对动态加载软件进行 数字签名验证,并在验证通过时保存动态加载软件的标识与该API访问等级值。在本发明的一实施例中,上述的监控方法还包括接收对该API访问等级配置表 的更新。在一实施例中,通过固件升级包对该API访问等级配置表进行更新。本发明还提出一种移动终端的动态加载软件的监控装置,包括数据库及监控单 元。该数据库在含有API访问等级值的动态加载软件安装时,保存该动态加载软件的标识 与该API访问等级值,其中该API访问等级值对应移动终端中的API访问范围。当动态加 载软件于移动终端运行时,监控单元获取该动态加载软件的API访问等级值,并根据预置 的API访问等级配置表监控该动态加载软件对移动终端中的API的访问,其中该API访问 等级配置表包含移动终端中的各个API及其对应的设定API访问等级值。在本发明的一实施例中,当该动态加载软件的API访问等级值高于或等于该设定 API访问等级值时,该监控单元允许该动态加载软件访问该API,当该动态加载软件的API 访问等级值低于该设定API访问等级值时,该监控单元提出警告或终止运行该动态加载软 件。本发明由于采用以上技术方案,使之与现有技术相比,具有如下显著优点首先, 移动终端能够根据开发者资质等级对动态加载软件所能使用的API进行保护控制,提高了 手机系统的运行稳定性。其次,对移动终端增加API保护控制策略,不分别针对原有的API 逐个修改,方便实施,平滑升级。再者,便于动态更新终端的API保护控制策略。


为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具 体实施方式作详细说明,其中图1示出现有的手机终端软件安装运行过程。图2示出本发明一实施例的动态加载软件发布、验证及监控过程。
图3示出本发明一实施例的API访问范围划分示意图。图4示出本发明一实施例的移动终端的动态加载软件监控装置。图5示出本发明一实施例的移动终端的动态加载软件详细监控流程。图6示出通过DM方式升级用户终端固件的示例。图7示出DM业务固件升级的配置环境。
具体实施例方式为了确保动态加载软件的性能稳定,确保动态加载软件不对终端系统和终端系统 的其它运行业务造成影响,在一实施例中,根据不同的第三方软件开发群体的资质对终端 API (Application Programming Interface,应用程序编程接口)进行等级分级,不同资质 等级的开发群体所开发的动态加载软件所能访问的终端API有不同的等级限制,移动终端 (如手机)能够根据等级限制策略对动态加载软件进行监控,确保动态加载软件运行在其 等级限制范围内,从而保证终端的稳定运行。同时,终端平台的等级限制策略可动态更新、 第三方软件开发群体的资质也可例如根据它们的既往表现得到动态调整。图2示出本发明一实施例的动态加载软件发布、安装及验证过程。参考图2所示, 在一个终端平台厂商的远端主机,例如验证服务器100上进行动态加载软件的验证及发布 流程。于步骤S101,设定移动终端的多个API访问等级值,以作为动态加载软件访问权限的 划分依据,其中不同的API访问等级值有权访问的移动终端中的API范围不同。例如,较高 的访问等级值有权访问的移动终端中的API范围越大。作为举例,可以根据动态加载软件 的开发者资质设定API访问等级值,如图3所示,例如可以对第三方软件开发群体的资质划 分一级普通开发者资质(比如学生、试用者等开发群体)二级初级开发者资质(比如具有一定专业背景的个人开发群体)三级中级开发者资质(比如对终端软件平台有一定了解,但无针对本平台的成 功开发案例的公司开发群体)四级高级开发者资质(比如对终端软件平台比较熟悉,有针对本平台的成功开 发案例的公司开发群体)五级VIP开发者资质(比如对终端软件平台非常熟悉,有针对本平台较多成功 案例,并且有定制开发能力的公司开发群体)根据对第三方软件开发群体的资质等级划分,对终端平台向开发者发布开放的 API进行相应的访问等级划分一级开发者资质API 发布开放给普通开发者资质群体;二级开发者资质API 发布开放给初级开发者资质群体;三级开发者资质API 发布开放给中级开发者资质群体;四级开发者资质API 发布开放给高级开发者资质群体;五级开发者资质API 发布开放给VIP开发者资质群体。在一实施例中,对于不同的开发者群体,所获得发布的API范围是增量发布,即等 级较高的API访问等级值有权访问的API范围包含等级较低的API访问等级值有权访问的 API范围,例如发布给二级开发者的API范围包含一级开发者资质API和二级开发者资质API,发布给三级开发者的API范围包含一级开发者资质API、二级开发者资质API和三级开 发者资质API,以下依次类推,不逐一描述。这将简化API访问的监控,但是本发明并不局限 于这样的安排。于步骤S102,对提交的验证动态加载软件进行数字签名,并且例如根据此软件的 开发者资质,赋予一API访问等级值(如3级)。此API等级值可以作为数字签名的一个字 段进行添加,同时也添加软件标识(ID),然后使用签名打包工具对软件进行数字签名。在本 实施例中,数字签名一方面可以确保该软件的确经过验证中心验证确认的,同时也是对添 加的API访问等级值提供一致性检验的手段。尽管如此,在其他实施例中,也可以添加API 访问等级值字段而不经过数字签名,或者使用其他的手段来提供一致性检验。于步骤S103,发布该动态加载软件,该动态加载软件可通过移动通讯网络传送到 终端供下载。于步骤S104,创建并发布一 API访问等级配置表,该API访问等级配置表包含移动 终端中的各个API与其设定API访问等级值的对应关系。这一对应关系的例子可以参照下 表1所示。步骤S104可以在验证服务器上独立于前述步骤101-103执行。基于该API访 问等级配置表的发布,不同级别开发者资质API的划分可以不依据终端中API的自有属性, 而是依据平台提供商对开发者开放API的策略而定,这将有利于这些策略的灵活调整。表1终端API访问等级配置表 由表1可看出,各个API具有不同的访问等级值。举例来说,ID为001的API,其 访问等级为2,这意味着具有二级或以上的API访问等级值的动态加载软件才能访问它。终 端平台厂商对API访问等级划分主要是根据平台向第三方软件开发群体的发布开放策略 而定。同时,终端平台厂商可根据新增特性(如新增API开放)以及不同等级API的重要 性变化,对上述访问等级划分进行调整(比如一些原属3级的API也开放给2级使用)。因此,通过在验证服务器100对动态加载软件赋予上述的API访问等级值,以及动 态地发布API访问等级配置表,用以作为移动终端监控动态加载软件对API的访问的依据。下面参照图2说明移动终端200的动态软件安装、验证及监控流程。于步骤S201,下载动态加载软件,该动态加载软件已按照前述步骤101-103进行 处理,动态加载软件中包含API访问等级值(如3级),此API访问等级值对应于本移动终 端中的API访问范围。在本实施例中,动态加载软件可以是经过数字签名的,也可以是未经
7过数字签名的。于步骤S202,在进行软件安装时,首先通过终端预置的签名数字证书对动态加载 软件进行数字签名验证,并取得其API访问等级值。于步骤S203,当通过验证时,保存动态加载软件的标识(ID)与API访问等级值,并 继续安装流程;反之,如果验证失败,向用户发出警告等信息,并终止安装流程。对于不需要进行数字签名验证的软件,当安装该动态加载软件时,步骤202-203 可简化为直接保存动态加载软件的标识与该API访问等级值。于步骤S204,当动态加载软件于移动终端运行时,获取动态加载软件的API访问 等级值,根据一 API访问等级配置表监控动态加载软件对移动终端中的API的访问。API访 问等级配置表包含移动终端中的各个API与其API访问等级值的对应关系。API访问等级 配置表的示例如表1。于步骤S205判断是否越级访问。举例来说,当该API访问等级值为3级,而动态 加载软件要访问的API的设定API访问等级值为2级或3级时,终端允许动态加载软件访 问该API (步骤S206);而当第动态加载软件要访问的API的设定API访问等级值为4级, 终端提出警告或终止运行该动态加载软件(步骤S207)。在一实施例中,上述的API访问等级配置表可以在终端出厂时预置于终端的存储 空间内。于步骤S208,上述的API访问等级配置表可以独立于上述的步骤201-204的执行, 而动态地从验证服务器100接收更新,以便动态的调整API的监控策略。图4示出本发明一实施例的移动终端的动态加载软件监控装置。参照图4所示,于 移动终端200中具有一动态组件系统210,当动态加载软件访问终端API时,动态组件系统 210通过API对应的桩函数212来调用位于主程序230中的API跳转表232,从而访问API 实体地址。在API对应的桩函数212与API跳转表232之间设置本实施例的监控装置220, 其包含监控单元222及数据库224。数据库224保存移动终端中的各个动态加载软件的标 识与其API访问等级值,这些数据例如是在动态加载软件通过验证(若需要验证的话)时 保存。监控单元222中预置并维护API等级访问配置表226,当动态加载软件访问终端API 时,在从API对应的桩函数212通过API跳转表232访问API实体地址前,监控单元222调 用API访问等级配置表226及数据库224对该API进行访问等级检验,如果没有越级访问 (即动态加载软件的API访问等级值高于或等于要访问的API的访问等级值),则允许访问 API实体,如果发生越级访问(即动态加载软件的API访问等级值要访问的API的访问等级 值),系统告警或中止运行。图5示出本发明一实施例的监控单元的详细监控流程。于步骤S31,监控单元222 通过数据库224,获取该动态加载软件的API访问等级值A ;于步骤S32,监控单元222进一 步从API等级配置表226获取要访问的API函数在配置表中的设置等级值B;然后于步骤 S33,比较A、B值,判断是否越级访问。于步骤S34,当越级时转入步骤S36,发出告警或中止 软件运行,当没有越级时转入步骤S35,查找该API的实体地址,该动态加载软件本次系统 API访问成功,软件继续运行(步骤S37)。例如,动态加载软件在测试及数字签名时API访问等级值被设定是3,当该软件在终端下载并验证合法然后运行时,需要访问API_n()这个API,此时监控单元222查询该 API在等级配置表226中的等级值是4,比较得出3比4小(假如设定1为最低等级,其后 数值越大等级越高),判断得出动态软件试图访问比其等级高的API,亦即发生越级访问, 访问被阻止;如果该API在等级配置表中值是2,则没有越级访问,访问被许可。以上等级监控过程主要是通过在平台虚接口向平台API实体函数的映射过程中 增加检测来实现的,不会涉及到任何原有API模块的修改。通过本方案,终端平台无须对原 有API自身进行任何修改,而是通过增加API访问等级监控装置来完成对API的访问等级 监控保护。随着终端平台的新增功能需要以及原有API的重要性发生变化从而需要发布给 低等级的开发资质群体,终端平台厂商需要对API访问等级控制策略进行调整。调整主要 包含两方面工作1)将最新的API等级配置信息发布给相应资质的软件开发群体(以下简称CP, content provider),CP将根据新的API等级策略,一方面对原有软件进行升级并发布升级 版本供用户下载使用;另一方面,新开发的软件将按最新的API等级策略进行开发,确保动 态软件和API配置调整同步进行;2)终端平台厂商根据新的终端功能和新的API访问等级配置表通过空口的方式 对用户终端软件进行更新,例如参照图2的步骤103所示,通过验证服务器100向移动终端 200发布访问等级配置表的更新,确保用户终端的API访问等级配置表保持最新。例如但不限于,终端平台厂商可以DM (Device Management,指0MA组织的设备管 理业务)的方式更新用户终端的固件,从而更新用户终端的API访问等级配置表。具体方 式是终端平台厂商制作包含新的API访问等级配置表等信息的新的差分包(固件升级包), 升级用户终端固件。通过DM方式升级用户终端固件的示例图如图6和图7所示。这一过程中所涉及 的经过调整的终端API访问等级配置表示例如表2所示表2调整后的系统API配置表示例 另外,随着第三方开发群体的软件使用状况,终端平台厂商同时也可对开发者的资质进行调整(比如中级开发资质厂商升级为高级开发资质厂商,其软件在进行签名时所 添加的API等级访问字段也进行相应的更新)。 虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技 术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范 围当以权利要求书所界定的为准。
权利要求
一种移动终端的动态加载软件的验证方法,包括设定移动终端的多个API访问等级值,不同的API访问等级值有权访问的移动终端中的API范围不同;对动态加载软件添加API访问等级值字段,以赋予一API访问等级值;发布该动态加载软件;创建并发布一API访问等级配置表,该API访问等级配置表包含移动终端中的各个API及其对应的设定API访问等级值;其中该API访问等级值与该API访问等级配置表用以作为移动终端监控动态加载软件对API的访问的依据。
2.如权利要求1所述移动终端的动态加载软件的验证方法,其特征在于,根据动态加载软件的开发者资质设定所述多个API访问等级值。
3.如权利要求1所述移动终端的动态加载软件的验证方法,其特征在于,API访问等级 值越高,有权访问的移动终端中的API范围越大,并且高的API访问等级值有权访问的API 范围,包含低的API访问等级值有权访问的API范围。
4.如权利要求1所述移动终端的动态加载软件的验证方法,其特征在于,对动态加载 软件添加API访问等级值字段之后还包括对包含该API访问等级值的动态加载软件进行数 字签名。
5.如权利要求1所述移动终端的动态加载软件的验证方法,其特征在于,还包括,向移 动终端发布对该API访问等级配置表的更新。
6.如权利要求5所述移动终端的动态加载软件的验证方法,其特征在于,通过固件升 级包向移动终端发布对该API访问等级配置表的更新。
7.如权利要求2所述移动终端的动态加载软件的验证方法,其特征在于,还包括,向动 态加载软件的开发者发布对该API访问等级配置表的更新,其中动态加载 软件根据更新后 的API访问等级配置表升级或开发。
8.一种移动终端的动态加载软件的监控方法,包括获取动态加载软件,该动态加载软件包含一 API访问等级值,该API访问等级值对应一 移动终端中的API访问范围;当安装该动态加载软件时,保存动态加载软件的标识与该API访问等级值;当动态加载软件于移动终端运行时,获取该动态加载软件的API访问等级值,根据一 API访问等级配置表监控该动态加载软件对移动终端中的API的访问,其中该API访问等级 配置表包含 动终端中的各个API及其对应的设定API访问等级值。
9.如权利要求8所述的移动终端的动态加载软件的监控方法,其特征在于,当该动态 加载软件的API访问等级值高于或等于该设定API访问等级值时,允许该动态加载软件访 问该API,当该动态加载软件的API访问等级值低于该设定API访问等级值时,提出警告或 终止运行该动态加载软件。
10.如权利要求8所述的移动终端的动态加载软件的监控方法,其特征在于,当安装该 动态加载软件时,还包括对动态加载软件进行数字签名验证,并在验证通过时保存动态加 载软件的标识与该API访问等级值。
11.如权利要求8所述的移动终端的动态加载软件的监控方法,其特征在于,还包括接收对该API访问等级配置表的更新。
12.如权利要求11所述的移动终端的动态加载软件的监控方法,其特征在于,通过固 件升级包对该API访问等级配置表进行更新。
13.—种移动终端的动态加载软件的监控装置,包括一数据库,在含有API访问等级值的动态加载软件安装时,保存该动态加载软件的标 识与该API访问等级值,其中该API访问等级值对应一移动终端中的API访问范围;一监控单元,当动态加载软件于移动终端运行时,获取该动态加载软件的API访问等 级值,并根据一 API访问等级配置表监控该动态加载软件对移动终端中的API的访问,其中 该API访问等级配置表包含移动终端中的各个API及其对应的设定API访问等级值。
14.如权利要求13所述的移动终端的动态加载软件的监控装置,其特征在于,当该动 态加载软件的API访问等级值高于或等于该设定API访问等级值时,该监控单元允许该动 态加载软件访问该API,当该动态加载软件的API访问等级值低于该设定API访问等级值 时,该监控单元提出警告或终止运行该动态加载软件。
全文摘要
本发明涉及移动终端的动态加载软件验证方法、监控方法和装置,以更加灵活的方式进行访问控制策略的控制。终端平台厂商对动态加载软件进行数字签名,并赋予一API访问等级值,该API访问等级值对应一移动终端中的API访问范围。在移动终端侧,获取经过数字签名的动态加载软件。当安装该动态加载软件时,对动态加载软件进行数字签名验证,并保存通过验证的动态加载软件的标识与该API访问等级值。动态加载软件于移动终端运行时,获取该动态加载软件的API访问等级值,根据一API访问等级配置表监控该动态加载软件对移动终端中的API的访问,该API访问等级配置表包含为移动终端中的各个API所设定的API访问等级值,并可通过例如固件升级的方式进行更新。
文档编号H04W88/02GK101854624SQ20091004871
公开日2010年10月6日 申请日期2009年4月2日 优先权日2009年4月2日
发明者叶文虎, 方加元 申请人:联芯科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1