控制应用访问权限

一种基于uid、pid、appid控制应用访问权限方法
【专利摘要】本发明涉及一种基于UID、PID、APPID控制应用访问权限方法,通过程序包发布之前采用应用数字证书对程序包进行签名、程序包访问业务平台时进行程序包代码验签的方式识别程序包真实身份,从而保证访问业务平台的应用的真实可信,由于采用基于数字证书结合PKI的技术来标识和验证程序身份,对比采用应用ID的身份标识具有更高的安全性、防冒充和抗抵赖性。
【专利说明】—种基于UID、PID、APPID控制应用访问权限方法
【技术领域】
[0001]本发明涉及智能机系统应用软件控制领域,尤其是指一种基于nD、PID、APPID控制应用访问权限方法。
【背景技术】
[0002]随着智能手机的日益普及,基于智能系统的应用软件数量增长迅速,能够为用户提供游戏、娱乐、社交、商务、旅行等各方面的业务功能。但可以看到,现有智能系统本身是开放性的,对于应用软件的认证仅要求仅是自签名即可,并不对其来源的真实性、合法性提供认证,所以也为各种恶意软件的散布提供了可乘之机,对于用户的利益也会造成损失。所以为了保证手机应用和业务的安全,有必要对应用软件的真实性、合法性进行认证,保证只有被授权过的合法软件才能够进行业务访问。
[0003]目前手机上对应用的认证通常是使用应用ID识别应用,即首先业务平台为应用分配一个代表应用身份的唯一字符串ID,应用开发者会将此应用ID写入到应用程序包里。在用户使用应用软件访问业务平台时候,该应用软件携带此应用ID向业务平台发起业务请求,业务平台校验应用ID是否有效,如果有效则认为该应用是真实的,且后续的业务请求都关联到此应用ID。
[0004]但不难看出,采用分配应用ID进行应用识别的方法存在较大的安全隐患,比如开发者将应用ID泄露给其他开发者,则其他开发者则可使用此ID来开发另一个假冒应用,而业务平台没有任何办法能够识别出应用ID已被转移使用。
[0005]另外因为应用ID被内置在应用程序包里,存在被攻击者破解程序包后盗用的可能性,而对于持有应用ID的应用开发者来说则毫无察觉。
【发明内容】
[0006]本发明的目的在于克服了上述缺陷,提供一种基于多ID的基于nD、PID、APPID控制应用访问权限方法。
[0007]本发明的目的是这样实现的:一种基于WD、PID、APPID控制应用访问权限方法,它包括,
应用软件签名,包括步骤:
A)、接收待签名应用程序包与应用签名请求,所述待签名应用程序包已植入分配的APPID ;
B)、按照智能系统程序包签名证书格式替换上传应用程序包原有的开发用Debug证书,从而实现应用程序签名;
所述应用签名步骤A和B之间还包括,
Al)、生成包括公钥、私钥的应用签名证书PKI密钥对;
A2)、向CA中心提交包括APPID、应用程序包名称及应用签名证书PKI密钥对的公钥信息并请求应用签名证书;A3)、等待CA中心返回应用签名证书申请成功信息;
A4)、使用应用签名证书PKI密钥的私钥对应用程序包进行签名;
C)、签名后的应用程序包发布至用户终端;
首次应用认证,包括步骤:
A)、接收来自应用发起的业务请求,所述应用携带自身PSID和APPID发起业务请求;
B)、根据PSID查询系统进程信息和应用安装信息,获得PSID对应的包括应用程序WD的应用程序包信息;
C)、对应用程序包进行代码签名验签,若不成功则返回错误信息,成功则继续步骤;本方法中,步骤C还包括根据应用签名证书PKI密钥对的公钥对应用程序包的应用签名证书进行验证;
D)、创建基于PSID、UID和APPID的三元组信息;
E)、处理业务请求并返回业务处理结果;
应用后续认证,包括步骤:
A)、接收来自应用发起的业务请求,所述应用携带自身PSID和APPID发起业务请求;
B)、根据PSID查询系统进程信息和应用安装信息,获得PSID对应的包括应用程序WD的应用程序包信息;
C)、查询是否存在对应请 求应用的PSID、UID,APPID三元组信息,若不存在,则转入首次应用认证环节,存在则处理业务请求并返回业务处理结果。
[0008]上述方法中,所述应用软件签名的步骤由终端设备外的认证平台完成;所述首次应用认证及应用后续认证的步骤由终端设备内的应用认证代理完成;
上述方法中,所述首次应用认证步骤B及应用后续认证步骤B中的程序包信息还包括应用程序包文件路径;
本发明的有益效果在于提供了一种基于WD、PID、APPID控制应用访问权限方法,其通过程序包发布之前采用应用数字证书对程序包进行签名、程序包访问业务平台时进行程序包代码验签的方式识别程序包真实身份,从而保证访问业务平台的应用的真实可信,由于采用基于数字证书结合PKI的技术来标识和验证程序身份,对比采用应用ID的身份标识具有更高的安全性、防冒充和抗抵赖性。
[0009]【【专利附图】
一种基于uid、pid、appid控制应用访问权限方法附图
【附图说明】】
下面结合附图详述本发明的具体结构 图1为本发明的应用开发、签名环节流程图;
图2为本发明的应用首次认证环节流程图;
图3为本发明的应用后续认证环节;
图4为本发明的应用识别认证的方法的系统示意图。
[0010]【【具体实施方式】】
下面结合附图对本发明具体实施例进行详细阐述。
[0011]本发明涉及一种基于nD、PID、APPID控制应用访问权限方法,它包括应用软件签名、首次应用认证及应用后续认证三大环节。最佳的,本专利方法由应用认证平台和应用认证Agent两部分分别执行,
其中应用认证平台负责分配 APPID给应用,并对应用程序包颁发应用签名证书,按照Android程序包签名规范对应用程序包进行签名。
[0012]而应用认证Agent是安装运行在用户移动终端上软件,对于终端设备上的应用软件进行识别和访问控制。
[0013]其中,参见图1为应用软件签名环节,具体包括步骤:
I)、接收待签名应用程序包与应用签名请求,所述待签名应用程序包已植入分配的APPID。
[0014]该步骤通常是应用开发者向应用认证平台上传应用程序包,且应用程序包里已经植入平台分配的APPID,并请求认证平台对其开发的应用进行签名。
[0015]2)、应用认证平台生成包括公钥、私钥的应用签名证书PKI密钥对;
3)、应用认证平台向CA中心提交包括APPID、应用程序包名称及应用签名证书PKI密钥对的公钥信息并请求应用签名证书;
4)、等待CA中心返回应用签名证书申请成功信息;
5)、使用应用签名证书PKI密钥的私钥对应用程序包完成签名;
6)、按照智能系统程序包签名证书格式(例如Android程序包签名证书格式)替换上传应用程序包原有的开发用Debug证书,从而实现应用程序签名;
7)、签名后的应用程序包发布至用户终端;通常在应用签名后,开发者可从应用认证平台下载签名后的应用程序包,然后根据需要将该签名后的程序包发布到用户终端上进行使用。
[0016]参见图2为首次应用认证环节,具体包括步骤:
1)、接收来自应用发起的业务请求,所述应用携带自身PSID和APPID发起业务请求,本实施例中应用是向应用认证Agent发起业务请求的,且携带应用自身的PSID和APPID ;
2)、应用认证Agent根据PSID查询系统进程信息和应用安装信息,获得PSID对应的包括应用程序WD的应用程序包信息,最佳还包括程序包文件路径的信息;
3)、应用认证Agent对应用程序包进行代码签名验签,若不成功则返回错误信息(如应用身份识别错误),成功则则表示应用程序包未被篡改、是真实的,继续步骤;本方法中,步骤C还包括根据应用签名证书PKI密钥对的公钥对应用程序包的应用签名证书进行验证;
除此以外,最佳的应用认证Agent还同时使用内置的平台公钥(为应用认证平台生成应用签名证书PKI密钥对中的公钥)对应用签名证书进行验证,
从而该步骤即可以确保应用签名证书的真实性,又可以确保应用程序包里面包含的APPID的正确性,起到双重验证的作用。
[0017]4)、应用识别验证通过后,应用认证Agent创建基于PSID、UID和APPID的三元组
信息;
5)、应用认证Agent处理业务请求并返回业务处理结果;
在经历过首次认证后,应用后续认证环节就无需那么麻烦,参见图3,具体包括步骤:
1)、与首次认证相同,接收来自应用发起的业务请求,所述应用携带自身PSID和APPID发起业务请求,本实施例中应用是向应用认证Agent发起业务请求的,且携带应用自身的 PSID 和 APPID ;
2)、应用认证Agent根据PSID查询系统进程信息和应用安装信息,获得PSID对应的包括应用程序WD的应用程序包信息,最佳还包括程序包文件路径的信息; 3)、不同的是,此时步骤首先查询是否存在对应请求应用的PSID、nD、APPID三元组信
息,
若不存在,则表示该应用尚未通过应用认证,转入上述的首次应用认证环节里的验证程序代码签名处理流程,对应用重新进行认证。
[0018]若存在,则表示应用已经通过应用认证、是真实的,则继续业务处理,Agent根据应用的授权处理业务请求并返回业务处理结果。
[0019]参见图4,本实施例中的应用认证的Agent的作用主要如下:
1、首次认证时对应用程序包进行代码签名验证,识别应用程序包的真实性,建立起应用程序包的nc、PID、APPID的三元组关系信息。
[0020]2、维持应用程序包nD、PID、APPID的三元组关系,后续认证过程中根据应用程序UID, PID、APPID是否存在,如果存在则判定应用程序包是真实的。
[0021]而认证系统的作用则主要在于:
1、管理和分配应用程序APPID;
2、对应用程序包办法应用签名证书,并对程序包进行签名。
[0022]综上本发明方法通过程序包代码签名/验签、操作系统分配的PSID、UID绑定技术,解决了传统应用认证方式的不足,适用于在智能操作系统(特别是开放的Android操作系统)上对应用的来源真实性进行认证鉴别,能够很好的保证应用程序的来源真实性、应用程序的完整性、应用的防仿冒性。
[0023]相比采用应用APPID来认证应用的安全性极低的简单方式,本专利方法基于PKI密钥和签名验签等密码算法,再结合操作系统的对PSID、UID分配管理的安全机制,不但具有很高的安全性,同时除首次认证对应用程序包进行验证处理耗时外,后续应用认证只是查询三元组关系是否存在,从而具有很高的处理性能。
[0024]因此,本申请专利能够为基于移动互联网上的业务运营提供安全性保障,使得业务能力开放在移动互联网上但只能被授权的应用所访问,为各种移动电子商务以及各类增值服务提供有力的支撑。
[0025]需要指出的是,本发明不限于上述实施方式,任何熟悉本专业的技术人员在基于本发明技术方案内对上述实施例所作的任何简单修改、等同变化与修饰,均属于本发明的保护范围内。
【权利要求】
1.一种基于nD、PID、APPID控制应用访问权限方法,其特征在于:它包括, 应用软件签名,包括步骤: A)、接收待签名应用程序包与应用签名请求,所述待签名应用程序包已植入分配的APPID ; B)、按照智能系统程序包签名证书格式替换上传应用程序包原有的开发用Debug证书,从而实现应用程序签名; C)、签名后的应用程序包发布至用户终端; 首次应用认证,包括步骤: A)、接收来自应用发起的业务请求,所述应用携带自身PSID和APPID发起业务请求; B)、根据PSID查询系统进程信息和应用安装信息,获得PSID对应的包括应用程序WD的应用程序包信息; C)、对应用程序包进行代码签名验签,若不成功则返回错误信息,成功则继续步骤; D)、创建基于PSID、UID和APPID的三元组信息; E)、处理业务请求并返回业务处理结果; 应用后续认证,包括步骤: A)、接收来自应用发起的业务请求,所述应用携带自身PSID和APPID发起业务请求; B)、根据PSID查询系统进程信息和应用安装信息,获得PSID对应的包括应用程序WD的应用程序包信息; C)、查询是否存在对应请求应用的PSID、UID,APPID三元组信息,若不存在,则转入首次应用认证环节,存在则处理业务请求并返回业务处理结果。
2.如权利要求1所述的基于WD、PID、APPID控制应用访问权限方法,其特征在于:所述应用软件签名的步骤由终端设备外的认证平台完成;所述首次应用认证及应用后续认证的步骤由终端设备内的应用认证代理完成。
3.如权利要求1所述的基于WD、PID、APPID控制应用访问权限方法,其特征在于:所述首次应用认证步骤B及应用后续认证步骤B中的程序包信息还包括应用程序包文件路径。
4.如权利要求1-3任意一项所述的基于nD、PID、APPID控制应用访问权限方法,其特征在于:所述应用签名步骤A和B之间还包括, Al)、生成包括公钥、私钥的应用签名证书PKI密钥对; A2)、向CA中心提交包括APPID、应用程序包名称及应用签名证书PKI密钥对的公钥信息并请求应用签名证书; A3)、等待CA中心返回应用签名证书申请成功信息; A4)、使用应用签名证书PKI密钥的私钥对应用程序包进行签名; 对应的,在应用首次认证步骤中的C则包括根据应用签名证书PKI密钥对的公钥对应用程序包的应用签名证书进行验证。
X技术网 原文链接:http://www.xjishu.com/zhuanli/62/201210553970.html

你可能感兴趣的:(控制应用访问权限)