终端识别开发者及划分不同权限开发者的方法技术

技术编号:7759495 阅读:169 留言:0更新日期:2012-09-14 01:58
本发明专利技术公开一种Android平台下终端识别开发者及划分不同权限开发者的方法,其中,Android平台下终端识别开发者的方法,包括以下步骤,判断预置在所述终端中的所有开发者域证书是否都无法验证扩展签名安装文件的开发者公钥证书;若是,则中止所述扩展签名安装文件的安装流程;若否,则进行所述扩展签名安装文件的安装流程。本发明专利技术提供的方法,可在应用程序安装过程中引入扩展的数字签名认证机制,实现对应用程序签名者辨识,这样系统可以有选择地安装应用程序。同时,因为终端设备可以识别应用程序的签发者,所以终端设备可以对来自不同签发者的应用程序授予不同的调用系统接口的权限,从而增强对终端设备系统安全的保障。

【技术实现步骤摘要】

本专利技术涉及计算机Android系统领域,尤其涉及一种Android平台下。
技术介绍
Android系统本身提供一定的permission (应用程序调用特定API的权限)机制,根据保护的API (接口)不同,permission可以分为两类应用程序声明的permission和系统permission。前者来保护当前应用程序向其他应用程序提供的功能接口,在应用程序的配置文件中声明;后者用来保护系统级别的API,在系统配置信息中声明。Android应用程序安装文件,即apk文件,本身是自签名的,签名私钥由应用开发者自行持有。除了验证apk文件数据的完整性之外,apk中的自签名主要用来确立应用程序之间信任关系以及相关的permission授权,比如我们可以在一个apk中声明一个permission只能被授权给使用相同证书签名的apk,即声明该permission仅仅能被授权给来自同一个开发者(他持有签名私钥)的其他apk。系统permission,特别是那些用来保护安全敏感API的permission,被声明为只会授权给特定的应用程序,这些应用程序必须和系统文件使用相同私钥签名。所以,不是和系统一起开发的应用程序,通常不可能被授权这些permissioin。但上述方法存在以下缺点,缺点I :Android的apk的自签名机制,主要用来保护应用程序以及描述应用程序之间的同来源关系,并不能辨识发布者信息,即无法实现“仅有来自特定开发者(签名者)的应用程序才可以被安装”。缺点2 :因为无法辨识apk来源,permission授权方式不够灵活,无法实现“将permission授权给特定的应用程序(来自特定开发者/签名者)”。
技术实现思路
本专利技术主要解决的技术问题是提供一种Android平台下,在应用程序安装过程中引入扩展的数字签名认证机制,实现对应用程序签名者辨识,这样系统可以有选择地安装应用程序,且可以更灵活地对应用程序授权。为解决上述技术问题,本专利技术采用的一个技术方案是提供一种Android平台下终端识别开发者的方法,包括以下步骤,判断预置在所述终端中的所有开发者域证书是否都无法验证扩展签名安装文件的开发者公钥证书;若是,则中止所述扩展签名安装文件的安装流程;若否,则进行所述扩展签名安装文件的安装流程。 其中,所述进行扩展签名安装文件的安装流程的步骤之后还包括步骤,接收应用程序中对所述终端系统调用接口的申请,并判断所述应用程序所属的开发者域是否具有所述调用接口的权限;若是,则将所述调用接口的权限授权给所述应用程序;若否,则不将所述调用接口的权限授权给所述应用程序。其中,所述应用程序的扩展签名安装文件的生成方法具体包括以下步骤,声明应用程序对所述终端系统调用接口的申请并生成应用程序安装文件;使用开发者私钥对所述应用程序安装文件签名,生成签名数据;将应用程序安装文件、开发者公钥证书和签名数据合并,形成应用程序的扩展签名安装文件。其中,所述进行扩展签名安装文件的安装流程的步骤具体包括以下步骤,记录通过验证的扩展签名安装文件所属的开发者域,并使用扩展签名安装文件中 的开发者公钥证书和签名数据校验所述应用程序安装文件的有效性;进行通过验证的应用程序安装文件的安装流程。为解决上述技术问题,本专利技术采用的另一个技术方案是提供一种划分不同权限开发者的方法,包括以下步骤,根据对系统接口调用权限的不同创建不同的开发者域,为各个开发者域生成私钥和开发者域证书,并向每个开发者域分发对应的私钥和开发者域证书;接收开发者递交的公钥和身份信息,核实开发者的身份;将所述开发者分配到相应权限的开发者域,并使用对应的开发者域私钥对开发者提交的公钥和身份信息授权,生成对应开发者证书,并将所述开发者证书颁发回所述开发者。其中,所述开发者域证书具体为执行以下步骤得到,所述开发者域证书具体为执行以下步骤得到,使用预置CA根证书对各个开发者域的公钥数据及其身份信息进行签名,得到开发者域证书。本专利技术的有益效果是区别于现有技术的Android系统无法辨识应用程序安装文件发布者信息,也就是不能实现仅允许安装来自特定开发者(签名者)的应用程序的功能,本专利技术提供一种Android平台下,在应用程序安装过程中引入扩展的数字签名认证机制,实现对应用程序签名者辨识,这样系统可以有选择地安装应用程序。由于不同开发者域调用系统接口的权限不同,那么在不同开发者域中的开发者也就拥有不同的调用接口的权限,对终端设备的系统安全也起到了保障作用。同时,因为终端设备可以识别应用程序的签发者,所以终端设备可以对来自不同签发者的应用程序授予不同的调用系统接口的权限,从而增强对终端设备系统安全的保障。附图说明图I是本专利技术终端识别开发者的方法一流程图;图2是本专利技术终端识别开发者的方法一流程图;图3是本专利技术中扩展签名安装文件生成方法的流程图;图4是本专利技术划分不同权限开发者方法的一流程图。具体实施例方式为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。请参阅图I、图2以及图3,如图I所示的某些实施例中,本专利技术提供一种Android平台下终端识别开发者的方法,包括以下步骤,判断预置在所述终端中的所有开发者域证书是否都无法验证扩展签名安装文件的开发者公钥证书;若是,则中止所述扩展签名安装文件的安装流程;若否,则进行所述扩展签名安装文件的安装流程。在安装应用程序安装文件之前,设备依次尝试使用预置在设备中的开发者域证书来验证扩展签名安装文件中的开发者证书,用以判断该应用程序安装文件是否可被安装。通过上述过程,本专利技术在应用程序安装过程中引入扩展的数字签名认证机制,实现对应用程序签名者辨识,这样系统可以有选择地安装应用程序。在如图2所示的某些实施例中,所述进行扩展签名安装文件的安装流程的步骤之 后还包括步骤,接收应用程序中对所述终端系统调用接口的申请,并判断所述应用程序所属的开发者域是否具有所述调用接口的权限;若是,则将所述调用接口的权限授权给所述应用程序;若否,则不将所述调用接口的权限授权给所述应用程序。在此过程中,收集应用程序中声明的对特定API (接口)权限的申请,对于具有特定API权限的开发者域,则可以将特定API权限授权给开发者。如图3所示的某些实施例中,所述应用程序的扩展签名安装文件的生成方法具体包括以下步骤,声明应用程序对所述终端系统调用接口的申请并生成应用程序安装文件;使用开发者私钥对所述应用程序安装文件签名,生成签名数据;将应用程序安装文件、开发者公钥证书和签名数据合并,形成应用程序的扩展签名安装文件。所述进行扩展签名安装文件的安装流程的步骤具体包括以下步骤,记录通过验证的扩展签名安装文件所属的开发者域,并使用扩展签名安装文件中的开发者公钥证书和签名数据校验所述应用程序安装文件的有效性;进行通过验证的应用程序安装文件的安装流程。这样,安装过程中就有对开发者/签名者的识别过程,也就是对应用程序签名者的辨识,这样系统可以有选择地安装应用程序,且可以更灵活地对应用程序授权,将特定API权限授权给特定的开发者。请参阅图4,为解决上述技术问题,本专利技术采用的另一个技术方案是提供一种划分不同权限开发者的方法,包括以下步骤,根据对系统接口调用权限的不同创本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:陈真孟陆强洪逸轩
申请(专利权)人:福建联迪商用设备有限公司
类型:发明
国别省市:

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

1