一种安卓应用的授权安装方法、扫码支付终端、服务器及系统与流程

文档序号:11775144阅读:785来源:国知局
一种安卓应用的授权安装方法、扫码支付终端、服务器及系统与流程

本发明涉及移动支付终端的控制系统领域,特别是一种安卓应用的授权安装方法,本发明还包括应用该方法的扫码支付终端、授权服务器以及整体系统。



背景技术:

随着移动互联网技术和电子商务的兴起,扫码支付技术在移动支付领域得到了普及应用。扫码支付的过程包括:条码信息被形成于智能手机或智能平板电脑的屏幕。图像识别装置识别条码信息后,将识别信息加密,并通过手机基站或者通过路由器发送至结算服务器。结算服务器结算后,将反馈信息通过手机基站或路由器反馈回,最终完成移动支付的整个过程。由于整个过程涉及数据的加密和安全,因此扫码支付终端系统的安全性是非常重要的问题。

现有不少采取安卓操作系统的扫码终端在应用安装上存在安全隐患。用户在使用安卓设备时,安装一个应用会连带安装好几个不同的应用。而未经授权的应用会导致扫码操作系统处于不安全之中。

基于安全性问题,对于安卓系统的应用安装也出现了不同的技术研究。比如,通过授权和验证服务对安卓系统的apk进行过滤。安装授权系统在安卓后台运行,凡是预安装到安卓系统的apk,该授权系统首先获取调用系统安装服务进行apk安装的调用者进程id,然后根据这个id获取调用者的签名认证信息;同时获取设备厂商的签名文件并生成厂商的签名认证信息;最后对比调用者的签名认证信息与厂商的签名认证信息是否一致,如不一致则提示用户是否授权apk安装;这种的授权方法和授权系统,相当于在apk与安卓系统安装服务(以后台运行的方式)之间筑起了一道防线,任何要安装到安卓设备上的apk都必须经过这道防线的检验,这确实达到了有效阻止未经授权的apk安装到安卓设备的目的。以上授权方法和授权系统代表了目前实施签名验证机制的一种通用方式,但这种方式存在一种马奇诺防线式的风险,也就是说如果有一种apk安装方法绕过上述安装授权系统,直接调用安卓系统安装服务进行apk安装,那么还是无法避免风险(尽管以上发明已经有效防范了大部分的非授权安装的情况),实际上这种方法也是存在,因为这种授权方案运行在应用层,仍然可能会被绕过而直接调用系统层服务进行安装。

为了便于说明本申请的技术方案,对于本发明涉及的技术名称定义如下:apk是androidpackage的缩写,即android安装包(apk)。apk是类似symbiansis或sisx的文件格式,通过将apk文件直接传到android模拟器或android手机中执行即可安装。applicationframework,即安卓系统中的应用程序框架层。



技术实现要素:

本发明首先的目的在于提供一种保障安卓系统以及安卓设备的安全性的apk应用安装方法,用于阻止未经授权的第三方软件以apk的形式安装在安卓设备内,也避免其他apk安装方法存在的apk绕过签名验证机制直接安装到安卓设备内的安全隐患。

本发明的技术方案如下:

一种安卓应用的授权安装方法,用于保证所安装的apk文件是经过合法授权的apk文件,所述安装方法的签名验证机制被嵌入到安卓系统的安装服务中,即所述安装方法在安卓系统applicationframework层的安卓系统安装服务中被实现,该签名验证机制包括:应用安装工具打开apk文件;读取apk文件的校验文件进行校验,用于判断apk文件的完整性,校验不通过的直接删除该apk文件;校验通过的,系统安装服务获取apk的签名信息;将apk文件的签名信息与设备厂商的签名信息进行比较,所述设备厂商的签名信息以内置签名文件列表的形式固化到安卓系统内部,比较结果一致的则安装该apk文件,比较结果不一致的删除该apk文件。

优选的,其特征在于所述合法授权的apk文件由以下方式被进行授权:在授权系统中打开apk文件;由授权者使用证书对apk文件进行签名,所述签名信息以内置签名文件列表的形式固化到apk文件安装终端的安卓系统内部;所述固化过程包括将签名信息按照安卓系统内置签名文件列表的格式,写入到安卓系统镜像文件中,并由安卓系统通过镜像文件安装到设备上实现固化;对附加了签名信息的apk文件进行计算并生成校验文件;将附加了签名信息的apk文件与校验文件一起打包重新生成新的apk文件。

优选的,用hash算法对附加了签名信息的apk文件进行计算并生成校验文件。

同时,本发明还提供了实施上述方法的一种基于安卓系统的扫码支付终端,包括:

中央处理单元,适用于实现各指令;存储设备,适于存储多条指令,所述指令适用于由中央处理单元加载并执行:

为了保证所安装的apk文件是经过合法授权的apk文件,,所述安装方法在安卓系统applicationframework层的安卓系统安装服务中被实现,包括:应用安装工具打开apk文件;读取apk文件的校验文件进行校验,用于判断apk文件的完整性,校验不通过的直接删除该apk文件;校验通过的,系统安装服务获取apk的签名信息;将apk文件的签名信息与设备厂商的签名信息进行比较,所述设备厂商的签名信息以内置签名文件列表的形式固化到安卓系统内部,比较结果一致的则安装该apk文件,比较结果不一致的删除该apk文件。

同时,本发明还包括一种对扫码支付终端的安卓应用进行授权的服务器,包括:

服务器中央处理单元,用于实现各种指令:服务器存储设备,适于存储多条指令,所述指令适用于由服务器中央处理单元加载并执行:在所述服务器的授权系统中打开apk文件;由授权者使用证书对apk文件进行签名;对附加了签名信息的apk文件进行计算并生成校验文件;将附加了签名信息的apk文件与校验文件一起打包重新生成新的apk文件;并形成针对扫码支付终端为合法授权的apk文件。

优选的,所述服务器利用hash算法对附加了签名信息的apk文件进行计算并生成校验文件。

优选的,所述授权者使用证书对apk文件进行签名的签名信息,与以内置签名文件列表的形式固化到扫码支付终端安卓系统内部的签名信息一致;所述固化过程包括将签名信息按照安卓系统内置签名文件列表的格式,写入到安卓系统镜像文件中,并由安卓系统通过镜像文件安装到设备上实现固化。

同时,本发明还提供了一个完整的对扫码支付终端的安卓应用进行授权安装的系统,显然该系统包括:基于安卓系统的扫码支付终端,以及与所述扫码支付终端配对的授权服务器;

所述扫码支付终端包括:中央处理单元,适用于实现各指令;存储设备,适于存储多条指令,所述指令适用于由中央处理单元加载并执行:为了保证所安装的apk文件是经过合法授权的apk文件,实施安装方法的签名验证机制被嵌入到安卓系统的安装服务中;该签名验证机制包括:应用安装工具打开apk文件;读取apk文件的校验文件进行校验,用于判断apk文件的完整性,校验不通过的直接删除该apk文件;校验通过的,系统安装服务获取apk的签名信息;将apk文件的签名信息与设备厂商的签名信息进行比较,所述设备厂商的签名信息以内置签名文件列表的形式固化到安卓系统内部,比较结果一致的则安装该apk文件,比较结果不一致的删除该apk文件;

所述授权服务器包括:服务器中央处理单元,用于实现各种指令:服务器存储设备,适于存储多条指令,所述指令适用于由服务器中央处理单元加载并执行:在所述服务器的授权系统中打开apk文件;由授权者使用证书对apk文件进行签名;对附加了签名信息的apk文件进行计算并生成校验文件;将附加了签名信息的apk文件与校验文件一起打包重新生成新的apk文件;并形成针对扫码支付终端为合法授权的apk文件;

其中,所述授权者使用证书对apk文件进行签名的签名信息,与以内置签名文件列表的形式固化到扫码支付终端安卓系统内部的签名信息一致;所述固化过程包括将签名信息按照安卓系统内置签名文件列表的格式,写入到安卓系统镜像文件中,并由安卓系统通过镜像文件安装到设备上实现固化。

本发明的有益效果在于:

1.使用google提供的一整套编译工具进行修改,在linux环境下编译,这涉及到修改applicationframework(应用程序框架)层的源码,将整个签名验证机制植入到系统安装服务内,因此,所述的安装方法在安卓系统applicationframework层的安卓系统安装服务中被实现。由于系统安装服务是任何apk安装到安卓设备必须调用的,所以将签名验证机制植入到系统服务内保证了任何形式的apk安装方法都无法绕过本发明所述的签名验证机制。

2.对验证不通过的apk进行清除。出于安全性的考虑,本发明认为所有未经授权的apk必须删除,排除病毒、恶意软件等的侵害。

3.本发明将用于比较验证的设备厂商签名文件以安卓系统内置签名文件列表的形式固化到安卓系统内部,这样保证了厂商签名信息无法被篡改。所谓固化是指将签名信息按照安卓系统内置签名文件列表的格式,写入到安卓系统镜像文件中(安卓系统镜像文件也就是通常所说的刷机固件),当安卓系统通过镜像文件安装到设备上之后,该签名信息就已经包含在了安卓系统里,实现固化。

附图说明

图1为本发明验证流程图;

图2为本发明授权流程图;

图3为本发明的功能模块图。

具体实施方式

以下将结合附图1-3对本发明的实施例进行说明。

如图1和图2所示,为本发明的授权验证方法的流程图,具体为:

参见图1为安卓应用的安装方法,这种方法保证了所安装的apk文件是经过合法授权的apk文件。首先,所述安装方法的签名验证机制被嵌入到安卓系统的安装服务中,该签名验证机制包括:应用安装工具打开apk文件;读取apk文件的校验文件进行校验,用于判断apk文件的完整性,校验不通过的直接删除该apk文件;校验通过的,系统安装服务获取apk的签名信息;将apk文件的签名信息与设备厂商的签名信息进行比较,所述设备厂商的签名信息以内置签名文件列表的形式固化到安卓系统内部,比较结果一致的则安装该apk文件,比较结果不一致的删除该apk文件。

图2为apk文件被授权的过程。只有经过该授权流程获得的apk文件才成为合法授权的apk文件,也只有这种文件才有可能被顺利的验证安装。

首先,在授权系统中打开apk文件;由授权者使用证书对apk文件进行签名,所述签名信息以内置签名文件列表的形式固化到apk文件安装终端的安卓系统内部;对附加了签名信息的apk文件用hash算法进行计算并生成校验文件;将附加了签名信息的apk文件与校验文件一起打包重新生成新的apk文件。

这里的hash算法主要用于信息安全领域中加密算法,它把一些不同长度的信息转化成杂乱的128位的编码里,叫做hash值。hash算法在信息安全方面的应用主要体现在以下方面:1)文件校验hash算法的"数字指纹"特性,使它成为目前应用最广泛的一种文件完整性校验和(checksum)算法。2)数字签名hash算法也是现代密码体系中的一个重要组成部分。由于非对称算法的运算速度较慢,所以在数字签名协议中,单向散列函数扮演了一个重要的角色。对hash值,又称"数字摘要"进行数字签名,在统计上可以认为与对文件本身进行数字签名是等效的。

图3为本发明的模块原理图,具体为一种对扫码支付终端的安卓应用进行授权安装的系统,包括:基于安卓系统的扫码支付终端1;与所述扫码支付终端配对的授权服务器2;

所述扫码支付终端包括:中央处理单元11,适用于实现各指令;存储设备12,适于存储多条指令,所述指令适用于由中央处理单元加载并执行:为了保证所安装的apk文件是经过合法授权的apk文件,实施安装方法的签名验证机制被嵌入到安卓系统的安装服务中;该签名验证机制包括:应用安装工具打开apk文件;读取apk文件的校验文件进行校验,用于判断apk文件的完整性,校验不通过的直接删除该apk文件;校验通过的,系统安装服务获取apk的签名信息;将apk文件的签名信息与设备厂商的签名信息进行比较,所述设备厂商的签名信息以内置签名文件列表的形式固化到安卓系统内部,比较结果一致的则安装该apk文件,比较结果不一致的删除该apk文件;

所述授权服务器2包括:服务器中央处理单元21,用于实现各种指令:服务器存储设备22,适于存储多条指令,所述指令适用于由服务器中央处理单元加载并执行:在所述服务器的授权系统中打开apk文件;由授权者使用证书对apk文件进行签名;对附加了签名信息的apk文件进行计算并生成校验文件;将附加了签名信息的apk文件与校验文件一起打包重新生成新的apk文件;并形成针对扫码支付终端为合法授权的apk文件。

所述授权者使用证书对apk文件进行签名的签名信息,与以内置签名文件列表的形式固化到扫码支付终端安卓系统内部的签名信息一致。

根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1