一种第三方应用的身份验证方法及系统的制作方法
【专利摘要】本发明涉及一种第三方应用的身份验证方法及系统,包括在智能终端的第三方App中嵌入SDK;第三方App在使用过程中触发SDK时,智能终端在电子市场下载服务端预先发布的专用辅助App;第三方应用App通过SDK将包括appID和identifier的验证请求发送给专用辅助App;判断专用辅助App中是否存在该appID的验证记录,如果存在,则在智能终端完成身份验证;否则将验证请求发送给服务端,由服务端完成身份验证,并将验证结果反馈给专用辅助App保存,供下次验证使用;本发明在智能终端上增加对第三方应用身份的验证功能,可以有效防止恶意攻击增大服务器端的负载,同时节省流量。
【专利说明】一种第三方应用的身份验证方法及系统
【技术领域】
[0001] 本发明涉及计算机及信息安全领域,尤其涉及一种第三方应用的身份验证方法及 系统。
【背景技术】
[0002] 第三方应用是针对某种软件或应用在功能上的不足,而由非软件编制方的其他组 织或个人开发的相关软件。
[0003] App是英文Application的简称,由于iPhone智能终端的流行,现在的APP多指智 能终端的第三方应用程序。随着智能终端和ipad等移动智能终端的普及,人们逐渐习惯了 使用APP客户端上网的方式,而目前国内各大电商,均拥有了自己的APP客户端,这标志着, APP客户端的商业使用,已经开始初露锋芒。
[0004] 对于App身份的验证,现有技术是完全依托于服务器端来完成的,并且需要网络 的支持(即在验证时,必须保证智能终端处于联网状态)。这种方式存在以下缺点:
[0005] 1.如果黑客通过非法手段得到正确的身份标识(appID),并想通过这个appID与 服务器端进行通讯的话,在智能终端没有加入身份验证功能的前提下,每次攻击都需要通 过服务器端来进行验证,这样便会无形的增大服务器端的负载。
[0006] 2.身份验证的实现需要网络的支持,每次攻击都会耗费用户的流量。
【发明内容】
[0007] 本发明所要解决的技术问题是针对现有技术的不足,提供一种第三方应用的身份 验证方法及系统,在智能终端上增加对第三方应用身份的验证功能,从而大大降低黑客对 服务器进行攻击的安全隐患。
[0008] 本发明解决上述技术问题的技术方案如下:一种第三方应用的身份验证方法,包 括如下步骤:
[0009] 步骤101 :在智能终端的第三方应用App模块中嵌入SDK软件开发模块;
[0010] 步骤102 :第三方应用App模块在使用过程中触发SDK时,智能终端在电子市场下 载服务端预先发布的专用辅助应用App模块;
[0011] 步骤103 :第三方应用App模块通过SDK将包括appID和identifier的验证请求 发送给专用辅助应用App模块;
[0012] 步骤104 :判断专用辅助应用App模块中是否存在该appID的验证记录,如果存 在,则在智能终端完成身份验证;否则将验证请求发送给服务端,由服务端完成身份验证, 并将验证结果反馈给专用辅助应用App模块保存,供下次验证使用。
[0013] 本发明的有益效果是:在智能终端上增加对第三方应用身份的验证功能,首先在 智能终端上对第三方应用的身份进行验证,通过验证则允许调用服务端接口,使用服务端 提供的服务,未通过验证则拒绝访问服务器;对于在智能终端上未能完成身份验证的,则 由服务端进行身份认证,服务端根据appID和identifier验证请求的合法性,对于同一个 appID,在同一个智能终端上,一旦被服务端验证为非法后,便不在可以反复调用服务器端 对外接口,身份验证功能会进行拦截,从而可以防止恶意攻击增大服务器端的负载,同时节 省了流量。
[0014] 在上述技术方案的基础上,本发明还可以做如下改进。
[0015] 进一步,所述验证请求中的appID是通过如下步骤获得的:第三方应用App模块 预先通过其所在的智能终端向服务端提交该第三方应用App模块的基本信息,服务端为该 第三方应用App模块分配一个appID,并将所述第三方应用App模块的基本信息与分配的 appID进行绑定,进而将appID发送给第三方应用App模块。
[0016] 进一步,所述identifier是第三方应用App模块的基本信息之一,其用于唯一标识 该第三方应用App模块。
[0017] 进一步,步骤104中在智能终端完成身份验证的具体实现为:
[0018] 步骤201 :第三方应用App模块将包括appID的验证请求发送给SDK ;
[0019] 步骤202 :SDK调用系统级别api获取第三方应用App模块对应的identifier参 数,将包括appID及identifier的验证请求传递给专用辅助应用App模块;
[0020] 步骤203 :专用辅助应用App模块判断其内的身份验证表中是否存在该appID,如 果存在,则执行步骤204 ;否则在身份验证表中添加该appID及identifier,执行步骤206 ;
[0021] 步骤204 :验证identifier与身份验证表中相应字段保存的数据是否一致,如果一 致,则执行步骤205 ;否则执行步骤206 ;
[0022] 步骤205 :检验身份验证表中结果字段中存储的验证结果是已通过还是未通过, 如果已通过则调用服务端的服务,如果未通过则向智能终端返回拒绝访问的提示信息;
[0023] 步骤206 :调用服务端接口将验证请求发送给服务端,由服务端进行验证。
[0024] 进一步,步骤104中在服务端完成身份验证的具体实现为:
[0025] 步骤301 :专用辅助应用App模块并将包括appID及identifier的访问请求传递 给服务端;
[0026] 步骤302 :服务端验证接收的appID及identifier是否匹配,如果匹配,则验证结 果为通过,允许第三方应用App模块调用服务端的服务,如果不匹配,则验证结果为未通 过,向智能终端反馈拒绝访问的提示信息;
[0027] 步骤303 :将验证结果反馈给专用辅助应用App模块,并保存在身份验证表中,供 下次验证使用。
[0028] 本发明解决上述技术问题的另一技术方案如下:一种第三方应用的身份验证系 统,包括智能终端和服务端,所述智能终端包括第三方应用App模块和专用辅助应用App模 块,所述第三方应用App模块中嵌入SDK软件开发模块;
[0029] 所述第三方应用App模块,其用于发起包括appID和identifier的验证请求;
[0030] 所述SDK软件开发模块,其用于将第三方应用App模块发送的验证请求传送给专 用辅助应用App模块;
[0031] 所述专用辅助应用App模块中保存有身份验证表,用于根据身份验证表中是否存 在与接收的appID对应的验证记录,如果存在则在智能终端完成身份验证;否则在服务端 完成;
[0032] 所述服务端,其用于为第三方应用App模块提供调用端口,并提供服务。
[0033] 进一步,所述身份验证表中包括三个字段,分别为appID字段、identifier字段和 checkResult 字段;
[0034] 所述所述appID字段用于存储第三方应用App模块的appID ;所述identifier用 于存储第三方应用App模块的identifier参数,所述checkResult字段为结果字段,其用于 存储验证结果。
[0035] 进一步,所述第三方应用App模块需要预先通过其所在的智能终端向服务端提交 该第三方应用App模块的基本信息,服务端为该第三方应用App模块分配一个appID,并将 所述第三方应用App模块的基本信息与分配的appID进行绑定,进而将appID发送给第三 方应用App模块。
[0036] 进一步,所述identifier是第三方应用App模块的基本信息之一,其用于唯一标识 该第三方应用App模块。
【专利附图】
【附图说明】
[0037] 图1为本发明所述一种第三方应用的身份验证方法流程图;
[0038] 图2为本发明所述在智能终端完成第三方应用身份验证的流程图;
[0039] 图3为本发明所述在服务端完成第三方应用身份验证的流程图;
[0040] 图4为本发明所述一种第三方应用的身份验证系统框图。
[0041] 附图中,各标号所代表的部件列表如下:
[0042] 1、智能终端,2、服务端,10、第三方应用App模块,11、专用辅助应用App模块,101、 第三方代码模块,102、SDK软件开发模块。
【具体实施方式】
[0043] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并 非用于限定本发明的范围。
[0044] 如图1所示,一种第三方应用的身份验证方法,包括如下步骤:
[0045] 步骤101 :在智能终端的第三方应用App模块中嵌入SDK软件开发模块;
[0046] 步骤102 :第三方应用App模块在使用过程中触发SDK时,智能终端在电子市场下 载服务端预先发布的专用辅助应用App模块;
[0047] 步骤103 :第三方应用App模块通过SDK将包括appID和identifier的验证请求 发送给专用辅助应用App模块;
[0048] 步骤104 :判断专用辅助应用App模块中是否存在该appID的验证记录,如果存 在,则在智能终端完成身份验证;否则将验证请求发送给服务端,由服务端完成身份验证, 并将验证结果反馈给专用辅助应用App模块保存,供下次验证使用。
[0049] 其中,所述验证请求中的appID是通过如下步骤获得的:第三方应用App模块预先 通过其所在的智能终端向服务端提交该第三方应用App模块的基本信息,服务端为该第三 方应用App模块分配一个appID,并将所述第三方应用App模块的基本信息与分配的appID 进行绑定,进而将appID发送给第三方应用App模块。
[0050] 其中,所述identifier是第三方应用App模块的基本信息之一,其用于唯一标识该 第三方应用App模块。
[0051] 如图2所示,步骤104中在智能终端完成身份验证的具体实现为:
[0052] 步骤201 :第三方应用App模块将包括appID的验证请求发送给SDK ;
[0053] 步骤202 :SDK调用系统级别api获取第三方应用App模块对应的identifier参 数,将包括appID及identifier的验证请求传递给专用辅助应用App模块;
[0054] 步骤203 :专用辅助应用App模块判断其内的身份验证表中是否存在该appID,如 果存在,则执行步骤204 ;否则在身份验证表中添加该appID及identifier,执行步骤206 ;
[0055] 步骤204 :验证identifier与身份验证表中相应字段保存的数据是否一致,如果一 致,则执行步骤205 ;否则执行步骤206 ;
[0056] 步骤205 :检验身份验证表中结果字段中存储的验证结果是已通过还是未通过, 如果已通过则调用服务端的服务,如果未通过则向智能终端返回拒绝访问的提示信息;
[0057] 步骤206 :调用服务端接口将验证请求发送给服务端,由服务端进行验证。
[0058] 如图3所示,步骤104中在服务端完成身份验证的具体实现为:
[0059] 步骤301 :专用辅助应用App模块并将包括appID及identifier的访问请求传递 给服务端;
[0060] 步骤302 :服务端验证接收的appID及identifier是否匹配,如果匹配,则验证结 果为通过,允许第三方应用App模块调用服务端的服务,如果不匹配,则验证结果为未通 过,向智能终端反馈拒绝访问的提示信息;
[0061] 步骤303 :将验证结果反馈给专用辅助应用App模块,并保存在身份验证表中,供 下次验证使用。
[0062] 如图4所示,一种第三方应用的身份验证系统,包括智能终端1和服务端2,所述 智能终端1包括第三方应用App模块10和专用辅助应用App模块11,所述第三方应用App 模块10包括第三方代码模块101和引入的SDK软件开发模块102 ;
[0063] 所述第三方应用App模块10,其用于发起包括appID和identifier的验证请求;
[0064] 所述SDK软件开发模块102,其用于将第三方应用App模块10发送的验证请求传 送给专用辅助应用App模块11 ;
[0065] 所述专用辅助应用App模块11中保存有身份验证表,用于根据身份验证表中是否 存在与接收的appID对应的验证记录,如果存在则在智能终端1完成身份验证;否则在服务 端2完成;
[0066] 所述服务端2,其用于为第三方应用App模块10提供调用端口,并提供服务。
[0067] SDK (Software Development Kit,即软件开发工具包),是连接第三方应用App模 块与专用辅助应用App模块之间的桥梁。第三方应用App模块想要发起什么样的请求,就 需要将这种请求对应的参数传递给SDK, SDK在接收到这些参数之后,再将这些参数传递给 专用辅助应用App模块。
[0068] 专用辅助应用App模块则是第三方应用App模块与Server之间的桥梁。第三方 应用App模块发起的所有请求,最终的请求结果都是通过专用辅助应用App模块再返回给 第三方应用App模块。
[0069] Server服务端则是各种请求的最终提供者,这些请求可以是:歌曲查询,会员开 通,彩铃订购等等。
[0070] 如表1所示,所述身份验证表中包括三个字段,分别为appID字段、identifier字 段和checkResult字段;所述所述appID字段用于存储第三方应用App模块的appID ;所述 identifier用于存储第三方应用App模块的identifier参数,所述checkResult字段为结果 字段,其用于存储验证结果。
[0071] 表 1
[0072]
【权利要求】
1. 一种第三方应用的身份验证方法,其特征在于,包括如下步骤: 步骤101 :在智能终端的第三方应用App模块中嵌入SDK软件开发模块; 步骤102 :第三方应用App模块在使用过程中触发SDK软件开发模块时,智能终端在电 子市场下载服务端预先发布的专用辅助应用App模块; 步骤103 :第三方应用App模块通过SDK将包括appID和identifier的验证请求发送 给专用辅助应用App模块; 步骤104 :判断专用辅助应用App模块中是否存在该appID的验证记录,如果存在,贝1J 在智能终端完成身份验证;否则将验证请求发送给服务端,由服务端完成身份验证,并将验 证结果反馈给专用辅助应用App模块保存,供下次验证使用。
2. 根据权利要求1所述一种第三方应用的身份验证方法,其特征在于,所述验证请求 中的appID是通过如下步骤获得的:第三方应用App模块预先通过其所在的智能终端向 服务端提交该第三方应用App模块的基本信息,服务端为该第三方应用App模块分配一个 appID,并将所述第三方应用App模块的基本信息与分配的appID进行绑定,进而将appID 发送给第三方应用App模块。
3. 根据权利要求1所述一种第三方应用的身份验证方法,其特征在于,所述identifier 是第三方应用App模块的基本信息之一,其用于唯一标识该第三方应用App模块。
4. 根据权利要求1所述一种第三方应用的身份验证方法,其特征在于,步骤104中在智 能终端完成身份验证的具体实现为: 步骤201 :第三方应用App模块将包括appID的验证请求发送给SDK ; 步骤202 :SDK调用系统级别api获取第三方应用App模块对应的identifier参数,将 包括appID及identifier的验证请求传递给专用辅助应用App模块; 步骤203 :专用辅助应用App模块判断其内的身份验证表中是否存在该appID,如果存 在,则执行步骤204 ;否则在身份验证表中添加该appID及identifier,执行步骤206 ; 步骤204 :验证identifier与身份验证表中相应字段保存的数据是否一致,如果一致, 则执行步骤205 ;否则执行步骤206 ; 步骤205 :检验身份验证表中结果字段中存储的验证结果是已通过还是未通过,如果 已通过则调用服务端的服务,如果未通过则向智能终端返回拒绝访问的提示信息; 步骤206 :调用服务端接口将验证请求发送给服务端,由服务端进行验证。
5. 根据权利要求1所述一种第三方应用的身份验证方法,其特征在于,步骤104中在服 务端完成身份验证的具体实现为: 步骤301 :专用辅助应用App模块并将包括appID及identifier的访问请求传递给服 务端; 步骤302 :服务端验证接收的appID及identifier是否匹配,如果匹配,则验证结果为 通过,允许第三方应用App模块调用服务端的服务,如果不匹配,则验证结果为未通过,向 智能终端反馈拒绝访问的提示信息; 步骤303 :将验证结果反馈给专用辅助应用App模块,并保存在身份验证表中,供下次 验证使用。
6. -种第三方应用的身份验证系统,其特征在于,包括智能终端和服务端,所述智能终 端包括第三方应用App模块和专用辅助应用App模块,所述第三方应用App模块中嵌入SDK 软件开发模块; 所述第三方应用App模块,其用于发起包括appID和identifier的验证请求; 所述SDK软件开发模块,其用于将第三方应用App模块发送的验证请求传送给专用辅 助应用App模块; 所述专用辅助应用App模块中保存有身份验证表,用于根据身份验证表中是否存在与 接收的appID对应的验证记录,如果存在则在智能终端完成身份验证;否则在服务端完成; 所述服务端,其用于为第三方应用App模块提供调用端口,并提供服务。
7. 根据权利要求6所述一种第三方应用的身份验证系统,其特征在于,所述身份验证 表中包括三个字段,分别为appID字段、identifier字段和checkResult字段; 所述所述appID字段用于存储第三方应用App模块的appID ;所述identifier用于存 储第三方应用App模块的identifier参数,所述checkResult字段为结果字段,其用于存储 验证结果。
8. 根据权利要求6所述一种第三方应用的身份验证系统,其特征在于,所述第三方应 用App模块需要预先通过其所在的智能终端向服务端提交该第三方应用App模块的基本信 息,服务端为该第三方应用App模块分配一个appID,并将所述第三方应用App模块的基本 信息与分配的appID进行绑定,进而将appID发送给第三方应用App模块。
9. 根据权利要求6所述一种第三方应用的身份验证系统,其特征在于,所述identifier 是第三方应用App模块的基本信息之一,其用于唯一标识该第三方应用App模块。
【文档编号】H04L9/32GK104052754SQ201410299094
【公开日】2014年9月17日 申请日期:2014年6月26日 优先权日:2014年6月26日
【发明者】吕麟, 毛蔚 申请人:北京思特奇信息技术股份有限公司