基于安卓系统的应用认证方法和装置及应用认证服务器制造方法及图纸

技术编号:9644224 阅读:128 留言:0更新日期:2014-02-07 04:49
本发明专利技术提供了一种基于安卓系统的应用认证方法和装置及应用认证服务器。其中,该基于安卓系统的应用认证方法包括以下步骤:将目标应用的属性信息进行上传以进行网络认证,并接收目标应用的网络认证结果;在网络认证结果为合法的情况下,向目标应用提供服务或调用目标应用的服务。利用本发明专利技术提供的技术方案,在需要向目标应用提供服务或者接收目标应用的服务时,对目标应用进行网络认证,验证其安全性。从而可以实现服务提供应用和服务请求应用之间的相互认证,确保应用之间调用服务的安全性。

【技术实现步骤摘要】
基于安卓系统的应用认证方法和装置及应用认证服务器
本专利技术涉及互联网安全领域,特别是涉及一种基于安卓系统的应用认证方法和装置及应用认证服务器。
技术介绍
在安卓Android系统中,为了安全的需要,应用是被限制并运行在沙箱中的。为了实现应用之间的通讯和互动,安卓系统提供了多种方法。例如调用其他应用中的界面组件(Activity);发送广播消息(Intent和BroadcastReceiver);应用作为数据提供者(Provider);通过Socket之间进行数据传输;应用间使用共享内存。以上在应用之间的通讯方法,各有特点。比如,广播和调用Activity方法成本比较低,使用方便。而数据提供者provider则适合于繁多且复杂的数据结构的共享。而Socket则适合应用之间的大数据传输。共享内存则用于避免应用之间的数据传输,提高整体效率,但读写操作控制复杂。总的说来,服务的实现成本是最高的,安卓系统在操作系统层面提供比较全面的支持,可以在应用之间实现比较灵活、更加高层的业务模型,用来完成实现复杂的业务。对安卓系统的服务而言,当作为应用的服务运行时,会启动一个新的进程或者利用应用现有进程,创建一个服务对象。当其他应用调用到此服务时由此服务对象的代码完成具体的业务逻辑。然而按照现有安卓系统的服务提供方式,服务提供应用无法对提供的数据进行存取保护。即使服务请求应用在存取数据时进行安全提示,但对用户而言,也不能有效分清服务请求的来源,在恶意应用请求提供服务时,无法进行有效的保护。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的基于安卓系统的应用认证装置和应用认证服务器和相应的安卓系统的应用认证方法。根据本专利技术的一个方面提供了一种基于安卓系统的应用认证方法。该基于安卓系统的应用认证方法包括以下步骤:将目标应用的属性信息进行上传以进行网络认证,并接收目标应用的网络认证结果;在网络认证结果为合法的情况下,向目标应用提供服务或调用目标应用的服务。可选地,将目标应用的属性信息进行上传以进行网络认证包括:上传目标应用的包名、签名、和版本码中的一项或多项至应用认证服务器,以供应用认证服务器进行黑名单过滤和白名单验证。可选地,上传目标应用的包名、签名、和版本码至应用认证服务器包括:以JSON串方式上传目标应用的包名、签名、和版本码中的一项或多项至应用认证服务器。可选地,接收目标应用的网络认证结果包括:接收认证服务器返回的认证数据包,认证数据包中包括:目标应用的服务提供标识、服务请求标识、读权限、写权限中的一项或多项。可选地,在将目标应用的属性信息进行上传以进行网络认证之前还包括:对目标应用进行本地认证,得到目标应用的本地认证结果;在本地认证结果为合法的情况下,执行将目标应用的属性信息进行上传以进行网络认证的步骤。可选地,对目标应用进行本地认证包括:读取目标应用中预先植入的签署文件,其中签署文件中包含由SDK证书签署的目标应用的属性信息;通过比对目标应用的属性信息与目标应用的签署文件得到本地认证结果。根据本专利技术的另一个方面,还提供了一种基于安卓系统的应用认证装置。该基于安卓系统的应用认证装置包括:网络认证接口,用于将目标应用的属性信息进行上传以进行网络认证,并接收目标应用的网络认证结果;认证完成模块,用于在网络认证结果为合法的情况下,向目标应用提供服务或调用目标应用的服务。可选地,网络认证接口被配置为:上传目标应用的包名、签名、和版本码中的一项或多项至应用认证服务器,以供应用认证服务器进行黑名单过滤和白名单验证;接收认证服务器返回的认证数据包,认证数据包中包括目标应用的服务提供标识、服务请求标识、读权限、写权限。可选地,以上基于安卓系统的应用认证装置还包括:本地认证模块,用于目标应用进行本地认证,得到目标应用的本地认证结果。可选地,本地认证模块被配置为:读取目标应用中预先植入的签署文件,其中签署文件中包含由SDK证书签署的目标应用的属性信息;通过比对目标应用的属性信息与目标应用的签署文件得到本地认证结果。根据本专利技术的另一个方面,还提供了一种应用认证服务器。该应用认证服务器与上述介绍的任一种应用认证装置数据连接。该应用认证服务器包括:请求接收接口,用于接收应用认证装置上传的目标应用的属性信息;数据库计算模块,用于根据目标应用的属性信息与数据库中预先保存的应用名单进行匹配计算,以对目标应用进行安全认证得到目标应用的网络认证结果;结果下发模块,用于将网络认证结果进行数据打包,并下发给应用认证装置。可选地,数据库计算模块包括:黑名单过滤子模块,用于判断目标应用的属性信息是否与数据库中预先保存的应用黑名单的属性信息一致,若是,认定目标应用非法;白名单认证子模块,用于判断目标应用的属性信息是否与数据库中预先保存的应用白名单的属性信息一致,若是,认定目标应用合法。可选地,白名单认证子模块中的应用白名单的属性信息包括以下任意一种或多种:包名,签名,版本码,应用类型,验证类型,信息位;黑名单过滤子模块中的应用黑名单的属性信息包括以下任意一种或多种:包名,签名,版本码,验证类型。根据本专利技术的又一个方面,还提供了另一种基于安卓系统的应用认证方法。该种基于安卓系统的应用认证方法包括:对目标应用进行本地认证,得到目标应用的本地认证结果;在本地认证结果为合法的情况下,向目标应用提供服务或调用目标应用的服务。可选地,对目标应用进行本地认证包括:读取目标应用中预先植入的签署文件,其中签署文件中包含由SDK证书签署的目标应用的属性信息;通过比对目标应用的属性信息与目标应用的签署文件得到本地认证结果。可选地,签署文件由目标应用的证书公钥和包名生成的散列值通过SDK证书签署得到,比对目标应用的属性信息与目标应用的签署文件包括:获取目标应用的证书公钥和包名,并由证书公钥和包名生成第一散列值;判断签署文件的散列值与第一散列值是否匹配,并判断签署文件的签名是否与SDK公钥签名一致。可选地,在对目标应用进行本地认证之后还包括:将目标应用的属性信息进行上传以进行网络认证。根据本专利技术的又一个方面,还提供了另一种基于安卓系统的应用认证装置。该基于安卓系统的应用认证装置包括:本地认证模块,用于对目标应用进行本地认证,得到目标应用的本地认证结果;认证完成模块,用于在本地认证结果为合法的情况下,向目标应用提供服务或调用目标应用的服务。可选地,本地认证模块被配置为:读取目标应用中预先植入的签署文件,其中签署文件中包含由SDK证书签署的目标应用的属性信息;通过比对目标应用的属性信息与目标应用的签署文件得到本地认证结果。可选地,以上应用认证装置还包括:网络认证接口,用于将目标应用的属性信息进行上传以进行网络认证,并接收目标应用的网络认证结果。本专利技术的基于安卓系统的应用认证方法,在需要向目标应用提供服务或者接收目标应用的服务时,对目标应用进行网络认证,验证其安全性。从而可以实现服务提供应用和服务请求应用之间的相互认证,也就是实现了服务使用应用和服务提供应用的相互校验方法,确保双方都是合法安全的。进一步地,本专利技术的技术方案可以采用本地验证和网络验证共同验证安全性其中本地验证可以采用通过比对证书签署文件与目标应用属性的方式进行,网络验证可以采用利本文档来自技高网...
基于安卓系统的应用认证方法和装置及应用认证服务器

【技术保护点】
一种基于安卓系统的应用认证方法,包括:将目标应用的属性信息进行上传以进行网络认证,并接收所述目标应用的网络认证结果;在所述网络认证结果为合法的情况下,向所述目标应用提供服务或调用所述目标应用的服务。

【技术特征摘要】
1.一种基于安卓系统的应用认证方法,包括:对目标应用进行本地认证,得到所述目标应用的本地认证结果;在所述本地认证结果为合法的情况下,将所述目标应用的属性信息进行上传以进行网络认证,并接收所述目标应用的网络认证结果,其中所述属性信息包括所述目标应用的包名、签名、和版本码中的一项或多项;在所述网络认证结果为合法的情况下,向所述目标应用提供服务或调用所述目标应用的服务,对所述目标应用进行本地认证包括:判断所述目标应用中是否存在签署文件,所述签署文件由所述目标应用的证书公钥和包名生成的散列值通过SDK证书签署得到,若否,确定目标应用的本地认证结果为不合法。2.根据权利要求1所述的应用认证方法,其中,将所述目标应用的属性信息进行上传以进行网络认证包括:上传所述目标应用的包名、签名、和版本码中的一项或多项至应用认证服务器,以供所述应用认证服务器进行黑名单过滤和白名单验证。3.根据权利要求1或2所述的应用认证方法,其中,接收所述目标应用的网络认证结果包括:接收所述认证服务器返回的认证数据包,所述认证数据包中包括:所述目标应用的服务提供标识、服务请求标识、读权限、写权限中的一项或多项。4.根据权利要求1所述的应用认证方法,其中,对目标应用进行本地认证的步骤还包括:读取所述目标应用中预先植入的所述签署文件;通过比对所述目标应用的属性信息与所述目标应用的签署文件得到所述本地认证结果。5.根据权利要求4所述的应用认证方法,其中,比对所述目标应用的属性信息与所述目标应用的签署文件包括:获取所述目标应用的证书公钥和包名,并由所述证书公钥和包名生成第一散列值;判断所述签署文件的散列值与所述第一散列值是否匹配,并判断所述签署文件的签名是否与SDK公钥签名一致;若以上判断结果均为是,所述本地认证结果为合法。6.根据权利要求5所述的应用认证方法,其中,所述签署文件由所述目标应用的证书公钥和包名生成的散列值通过SDK证书签署得到,比对所述目标应用的属性信息与所述目标应用的签署文件包括:获取所述目标应用的证书公钥和包名,并由所述证书公钥和包名生成第一散列值;判断所述签署文件的散列值与所述第一散列值是否匹配,并判断所述签署文件的签名是否与SDK公钥签名一致;若以上判断结果均为是,所述本地认证结果为合法。7.一种基于安卓系统的应用认证装置,包括:本地认证模块,用于目标应用进行本地认证,得到所述目标应用的本地认证结果,其中,对所述目标应用进行本地认证包括:判断所述目标应用中是否存在签署文件,所述签署文件由所述目标应用的证书公钥和包名生成的散列值通过SDK证书签署得到,若否,确定目标应用的本地认证结果为不合法;网络认证接口,用于在所述本地认证结果为合法的情况下,将所述目标应用的属性信息进行上传以进行网络认证,并接收所述目标应用的网络认证结果,其中所述属性信息包括所述目标应用的包名、签名、和版本码中的一项或多项;认证完成模块,用于在所述网络认证结果为合法的情况下,向所述目标应用提供服务或调用所述目标应用的服务。8.根据权利要求7所述的应用认证装置,其中,所述网络认证接口被配置为:上传所述目标应用的包名、签名、和版本码中的一项或多项至应用认证服务器,以供所述应用认证服务器进行黑名单过滤和白名单验证;接收所述认证服务器返回的认证数据包,所述认证数据包中包括所述目标应用的服务提供标识、服务请求标识、读权限、写权限。9.根据权利要求7所述的应用认证装置,所述本地认证模块被配置为:读取所述目标应用中预先植入的所述签署文件;通过比对所述目...

【专利技术属性】
技术研发人员:宋照春
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

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

1