应用程序的认证方法及装置制造方法及图纸

技术编号:17565352 阅读:46 留言:0更新日期:2018-03-28 14:56
本申请公开了一种应用程序的认证方法及装置。其中,该方法包括:第一APP通过监听本地套接字LocalSocket接收来自第二APP的请求;所述第一APP从所述请求中获取所述第二APP的凭证;所述第一APP依据所述第二APP的凭证获取所述第二APP的签名证书,并对所述第二APP的签名证书进行验证;在所述第二APP的签名证书通过验证时,确定所述第二APP通过认证。

【技术实现步骤摘要】
应用程序的认证方法及装置
本申请涉及网络安全领域,具体而言,涉及一种应用程序(Application,简称为APP)的认证方法及装置。
技术介绍
因业务平台中某些业务需求,需要App间进行通信完成业务数据的交互。在通信交互过程存在App端伪造,可导致与任意App通信、数据被窃取等攻击,这就需要在App间通信时进行身份认证,当App身份符合时才进行后续的数据交互或功能执行。App间通信有多种方式,如Android中通过导出的Activity、ContentProvider、Broadcast、Service进行通信。目前,在基于本地套接字(LocalSocket)的通信过程中尚无对APP进行身份认证的方案,这使得基于LocalSocket的通信过程的安全受到威胁。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种应用程序的认证方法及装置,以至少解决相关技术中尚无在基于LocalSocket的通信过程中对APP进行身份认证的技术方案的技术问题。根据本申请实施例的一个方面,提供了一种APP的认证方法,包括:第一APP通过监听第一本地套接字(LocalSocket)接收来自第二APP的请求;所述第一APP从所述请求中获取所述第二APP的凭证;所述第一APP依据所述第二APP的凭证获取所述第二APP的签名证书,并对所述第二APP的签名证书进行验证;在所述第二APP的签名证书通过验证时,确定所述第二APP通过认证.根据本申请实施例的又一方面,还提供了一种APP的认证装置,所述装置包括:接收模块,用于通过监听本地套接字LocalSocket接收来自第二APP的请求;获取模块,用于从所述请求中获取所述第二APP的凭证;认证模块,用于依据所述第二APP的凭证获取所述第二APP的签名证书,并对所述第二APP的签名证书进行验证;以及在所述第二APP的签名证书通过验证时,确定所述第二APP通过认证。在本申请实施例中,采用通过监听第一APP的本地LocaSocket接收来自第二APP的请求的方式建立了APP间的连接,并且,第一APP可以从上述请求中获取第二APP的凭证,从而依据凭证得到第二APP的签名证书,并对该签名证书进行验证,从而实现了对第二APP的身份认证。需要说明的是,第二APP也可以使用类似的处理过程对第一APP进行身份认证。通过上述方案,可以解决相关技术中尚无在基于LocalSocket的通信过程中对APP进行身份认证的技术方案的技术问题。可以实现App间通信过程中对通信双方中的一方或两方进行身份认证,防止恶意软件伪装成App进行通信导致的未授权访问,进而增强了基于LocaSocket通信过程的安全性。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的一种计算机终端的结构示意图;图2是根据本申请实施例的一种APP的认证方法的流程图;图3是根据本申请实施例的一种可选的单向认证的流程示意图;图4是根据本申请实施例的一种可选的双向认证的流程示意图;图5为根据本申请实施例的一种APP的认证装置的结构框图;图6是根据本申请实施例的另一种计算机终端的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:进程间通讯(Inter-ProcessCommunication,简称为IPC):操作系统进程或线程间进行数据传输的方式。在Andorid操作系统中,App双方或多方以某种方式建立IPC通道进行数据交互。这里的某种方式在Android系统中可以用Activity组件,BinderService等,也可用Socket等。签名证书:又称为数字证书,为互联网通讯中标志通信各方身份信息的一串字符串(可以为一串数字),在本申请实施例中为用于验证App签名的证书。凭证(Credential):应用程序的凭证主要记录APP进程的pid,uid等,用于标识应用程序的来源(可以通过该来源中的pid、uid等识别应用)。实施例1在基于LocalSocket的App间通信过程中,相关技术中并未涉及对通信双方的认证。针对上述问题,本申请实施例在基于LocalSocket方式进行App间通信过程中进行身份认证(即通过对目标客体身份标识的读取、解析,然后与自有认证体系的对比识别并判定目标客体身份的过程),主要有两种认证方案,第一种是单向认证,通信过程中只验证ClientApp的身份;第二种是双向认证,通信过程中相互验证对方(ClientApp和ServerApp)的身份。以下详细说明:本申请实施例提供了一种APP的认证方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本申请实施例1所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现APP的认证方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件本文档来自技高网
...
应用程序的认证方法及装置

【技术保护点】
一种应用程序APP的认证方法,其特征在于,包括:第一APP通过监听本地套接字LocalSocket接收来自第二APP的请求;所述第一APP从所述请求中获取所述第二APP的凭证;所述第一APP依据所述第二APP的凭证获取所述第二APP的签名证书,并对所述第二APP的签名证书进行验证;在所述第二APP的签名证书通过验证时,确定所述第二APP通过认证。

【技术特征摘要】
1.一种应用程序APP的认证方法,其特征在于,包括:第一APP通过监听本地套接字LocalSocket接收来自第二APP的请求;所述第一APP从所述请求中获取所述第二APP的凭证;所述第一APP依据所述第二APP的凭证获取所述第二APP的签名证书,并对所述第二APP的签名证书进行验证;在所述第二APP的签名证书通过验证时,确定所述第二APP通过认证。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:所述第二APP接收所述第一APP依据所述请求反馈的响应;所述第二APP从所述响应中获取所述第一APP的凭证;所述第二APP依据所述第一APP的凭证获取所述第一APP的签名证书,并对所述第一APP的签名证书进行验证;在所述第一APP的签名证书通过验证时,确定所述第一APP通过认证。3.根据权利要求2所述的方法,其特征在于,对所述第一APP的签名证书进行验证包括:所述第二APP判断第二预设签名证书库中是否存在所述第一APP的签名证书;其中,如果存在则确定所述第一APP的签名证书通过验证,如果不存在,则确定所述第一APP的签名证书未通过验证。4.根据权利要求2所述的方法,其特征在于,所述第二APP依据所述第一APP的凭证获取所述第一APP的签名证书,包括:所述第二APP依据所述凭证中所述第二APP的标识信息获取所述第一APP的签名证书。5.根据权利要求4所述的方法,其特征在于,所述第一APP的标识信息包括以下至少之一:进程标识Pid、用户标识Uid。6.根据权利要求1所述的方法,其特征在于,对所述第二APP的签名证书进行验证包括:所述第一APP判断第一预设签名证书库中是否存在所述第二APP的...

【专利技术属性】
技术研发人员:彭大伟
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1