[发明专利]本地服务单元认证安卓客户端应用程序的方法有效
| 申请号: | 201210344786.X | 申请日: | 2012-09-18 |
| 公开(公告)号: | CN102891843A | 公开(公告)日: | 2013-01-23 |
| 发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 北京深思洛克软件技术股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L9/32 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100084 北京市海淀*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 本地 服务 单元 认证 客户端 应用程序 方法 | ||
技术领域
本发明涉及安卓系统中应用程序安全保护领域,特别涉及一种本地服务单元认证安卓客户端应用程序的方法。
背景技术
在安卓(Android)系统下,为了防止盗版软件的猖獗,谷歌开发了安卓签名机制,安卓签名机制标明了安卓客户端应用程序的发行机构,通过对比客户端应用程序的签名情况,来判断该客户端应用程序是否由“官方”发行,而不是被破解者篡改过重新签名打包的“盗版软件”。
安卓系统要求每一个安装进系统的应用程序都是经过数字证书签名的,数字证书的私钥则保存在程序开发者的手中。安卓系统将数字证书用来标识应用程序的作者和在应用程序之间建立信任关系,数字证书不是用来决定最终用户可以安装哪些应用程序。这个数字证书并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。
通过安卓签名工具签名后的客户端应用程序包中多了一个META-INF的文件夹,该文件夹中包含了加密信息,其他的文件则没有任何改变,这样就可以很容易去掉原有的签名信息,破解应用程序包,对代码篡改,生成恶意软件,然后重新签名,危害了开发者利益,甚至威胁到手机和网络的安全。
为了更进一步维护开发者的版权利益,防止盗版软件的猖獗,保护安卓系统下应用软件的安全,有开发者做了改进,增加安卓客户端应用程序包反编译的难度。目前已提出一种解决方案,意在解决在安卓系统下盗版应用的问题。解决方案如下:服务商提供一个本地服务单元(比如,本地服务程序),本地服务程序在安卓系统下作为原生service(服务),与安卓系统同时启动,在后台一直运行,本地服务程序提供如内存加密、文件加密、云服务器端函数远程调用等功能。安卓客户端应用程序调用本地服务程序提供的接口将关键值(比如游戏类应用程序中的金币值)、关键文件、关键代码等通过本地服务程序进行加密变换,在客户端应用程序运行时,根据客户端应用程序的调用需求对加密对象用本地服务程序进行实时解密运行,使得客户端应用程序难以进行反编译和静态分析,从而实现了对安卓系统应用的有效保护。
在这一过程中,客户端应用程序的关键值和关键代码通过本地服务程序存储在云服务器端,当客户端应用程序向云服务器端存储或获取关键值等需求时,需调用本地服务程序的远程(云服务器端)调用接口,由本地服务程序向云服务器端通信。本地服务程序作为客户端应用程序和云服务器端的中转站,起到连接两端桥梁的作用。
但是如果有一些恶意的客户端应用程序利用现有的本地服务程序不断地向云服务器端进行恶意操作(比如不断地向云服务器端存金币或者获取某些关键值)以获取利益,那么本地服务程序则无法辨别该客户端应用程序是否是从正规渠道下载下来的客户端应用程序,而不是用户自己编写的恶意客户端应用程序。因此,存在这样一种技术需求,即需要提供一种方法,该方法能够辨别安卓客户端应用程序是否被替换,从而及时阻止恶意客户端应用程序的执行,防止客户端应用程序的应用代码被恶意篡改。
发明内容
为了防止安卓系统中有恶意软件利用本地服务程序修改云服务器端数据以谋取利益,本发明提供了一种本地服务程序认证客户端应用程序的方法,所述方法包括如下步骤:
步骤1:采用加密算法对所述应用程序的客户端应用程序包进行加密,生成认证信息文件,其中所述客户端应用程序包对应于所述认证信息文件;
步骤2:在安卓系统后台运行本地服务单元,;
步骤3:所述应用程序与所述本地服务单元建立binder通信;
步骤4:所述本地服务单元根据所述应用程序发送的信息搜索所述客户端应用程序包;
步骤5:如果搜索所述客户端应用程序包成功,则执行步骤6;否则,断开所述本地服务单元与所述应用程序的binder通信;
步骤6:所述本地服务单元读取所述认证信息文件;
步骤7:所述本地服务单元对所述认证信息文件进行认证;
步骤8:如果认证成功,则所述应用程序正常运行;否则,断开所述本地服务单元与所述应用程序的binder通信。
根据本发明的一个方面,在所述步骤1中,所述认证信息文件存于所述客户端应用程序包内部,或者存在远程云服务器端。
根据本发明的一个方面,在所述步骤4中,所述本地服务单元根据所述应用程序发送的用户ID和进程ID搜索对应的所述客户端应用程序包。
根据本发明的一个方面,在所述步骤4中,所述客户端应用程序包是APK包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京深思洛克软件技术股份有限公司,未经北京深思洛克软件技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210344786.X/2.html,转载请声明来源钻瓜专利网。





