著录项信息
专利名称 | 一种防应用程序下载劫持的方法及服务器 |
申请号 | CN201510833717.9 | 申请日期 | 2015-11-25 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2016-04-20 | 公开/公告号 | CN105516246A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/08 | IPC分类号 | H;0;4;L;2;9;/;0;8;;;H;0;4;L;2;9;/;0;6查看分类表>
|
申请人 | 魅族科技(中国)有限公司 | 申请人地址 | 广东省珠海市香洲区科技创新海岸魅族科技楼
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 魅族科技(中国)有限公司 | 当前权利人 | 魅族科技(中国)有限公司 |
发明人 | 胡成元 |
代理机构 | 广州三环专利商标代理有限公司 | 代理人 | 郝传鑫;熊永强 |
摘要
本发明实施例公开了一种防应用程序下载劫持的方法及服务器,该方法包括:接收客户端发送的下载目标应用程序的请求消息;向所述客户端发送所述目标应用程序;接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;确定所述客户端下载得到的应用程序与所述目标应用程序不一致;加密所述目标应用程序的下载地址。实施本发明实施例,降低运营商识别出应用下载请求中的特征信息的几率,提升应用下载安全性和用户体验。
1.一种防应用程序下载劫持的方法,其特征在于,应用于服务器,所述服务器包括具备数据存储和处理能力的文件服务器、数据库服务器、应用程序服务器、网站WEB服务器;所述方法包括:
接收客户端发送的下载目标应用程序的请求消息,所述客户端安装于终端设备,所述请求消息中携带所述目标应用程序的下载地址;
向所述客户端发送所述目标应用程序;
接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;
确定所述客户端下载得到的应用程序与所述目标应用程序不一致;
加密所述目标应用程序的下载地址;
所述方法还包括:
向所述客户端发送加密后的所述目标应用程序的下载地址;
接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;
加密所述目标应用程序的名称,所述目标应用程序的加密后的名称对用户不可见;
向所述客户端发送所述名称加密后的所述目标应用程序,所述加密后的所述应用程序用于所述客户端进行解密以还原所述目标应用程序的原始名称。
2.根据权利要求1所述的方法,其特征在于,所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;
所述确定所述客户端下载得到的应用程序与所述目标应用程序不一致,包括:
将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;
若匹配不成功,则确定所述客户端下载得到的应用程序与所述目标应用程序不一致。
3.根据权利要求2所述的方法,其特征在于,所述将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配,包括:
将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;
若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。
4.一种服务器,其特征在于,应用于服务器,所述服务器包括具备数据存储和处理能力的文件服务器、数据库服务器、应用程序服务器、网站WEB服务器;所述服务器包括:
第一接收模块,用于接收客户端发送的下载目标应用程序的请求消息,所述客户端安装于终端设备,所述请求消息中携带所述目标应用程序的下载地址;
发送模块,用于向所述客户端发送所述目标应用程序;
第二接收模块,用于接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;
确定模块,用于确定所述客户端下载得到的应用程序与所述目标应用程序不一致;
加密模块,用于加密所述目标应用程序的下载地址;
所述发送模块,还用于向所述客户端发送加密后的所述目标应用程序的下载地址;
所述第一接收模块,还用于接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;
所述加密模块,还用于加密所述目标应用程序的名称;
发送模块,还用于在所述第一接收模块接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息后,向所述客户端发送所述目标应用程序,所述加密后的所述应用程序用于所述客户端进行解密以还原所述目标应用程序的原始名称。
5.根据权利要求4所述的服务器,其特征在于,所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;
所述确定模块包括:
匹配单元,用于将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;
确定单元,用于若所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息匹配不成功,则确定所述客户端下载得到的应用程序与所述目标应用程序不一致。
6.根据权利要求5所述的服务器,其特征在于,所述匹配单元具体用于:
将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;
若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。
一种防应用程序下载劫持的方法及服务器\n技术领域\n[0001] 本发明涉及应用下载领域,具体涉及一种防应用程序下载劫持的方法及服务器。\n背景技术\n[0002] 用户通过移动应用分发平台下载应用时,下载过程需要经过运营商提供的网络服务。某些运营商可能与其他服务商合作推广应用、游戏,将用户要下载的程序数据包调换,例如,将用户下载的某社交软件的数据包调换为其它公司的推广应用数据包,这种数据包的内容被调换后并不是用户希望下载的。\n[0003] 此外出于节省流量,节省带宽的目的,运营商可能会对用户所在的某个小区进行流量缓存,这可能会导致应用数据包下载中断出错、下载完的文件异常以及文件更新不及时。\n发明内容\n[0004] 本发明实施例公开了一种防应用程序下载劫持的方法及服务器,以期避免运营商劫持用户下载的应用程序,提升用户下载应用的安全性和用户体验。\n[0005] 本发明实施例第一方面公开了一种防应用程序下载劫持的方法,包括:\n[0006] 接收客户端发送的下载目标应用程序的请求消息;\n[0007] 向所述客户端发送所述目标应用程序;\n[0008] 接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0009] 确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0010] 加密所述目标应用程序的下载地址。\n[0011] 本发明实施例第一方面第一种可能的实现方式中,所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;\n[0012] 所述确定所述客户端下载得到的应用程序与所述目标应用程序不一致,包括:\n[0013] 将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;\n[0014] 若匹配不成功,则确定所述客户端下载得到的应用程序与所述目标应用程序不一致。\n[0015] 结合本发明实施例第一方面第一种可能的实现方式,本发明实施例第一方面第二种可能的实现方式中,所述将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配,包括:\n[0016] 将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;\n[0017] 若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。\n[0018] 结合本发明实施例第一方面或第一方面第一种或第二种可能的实现方式,本发明实施例第一方面第三种可能的实现方式中,所述方法还包括:\n[0019] 向所述客户端发送加密后的所述目标应用程序的下载地址;\n[0020] 接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;\n[0021] 向所述客户端发送所述目标应用程序。\n[0022] 结合本发明实施例第一方面第三种可能的实现方式,本发明实施例第一方面第四种可能的实现方式中,所述方法还包括:\n[0023] 加密所述目标应用程序的名称。\n[0024] 本发明实施例中,所述服务器首先接收客户端发送的下载目标应用程序的请求消息,其次,服务器向客户端发送目标应用程序,再次,接收客户端发送的通知消息,该通知消息用于通知服务器客户端下载得到的应用程序,再次,确定客户端下载得到的应用程序与目标应用程序不一致,最后,加密目标应用程序的下载地址。可见,所述服务器能够识别出应用下载被劫持事件,并针对被劫持的应用进行加密,从而降低运营商识别出应用下载请求中的特征信息的几率,提升应用下载安全性和用户体验。\n[0025] 本发明第二方面公开了一种服务器,包括:\n[0026] 第一接收模块,用于接收客户端发送的下载目标应用程序的请求消息;\n[0027] 发送模块,用于向所述客户端发送所述目标应用程序;\n[0028] 第二接收模块,用于接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0029] 确定模块,用于确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0030] 加密模块,用于加密所述目标应用程序的下载地址。\n[0031] 本发明实施例第二方面第一种可能的实现方式中,所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;\n[0032] 所述确定模块包括:\n[0033] 匹配单元,用于将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;\n[0034] 确定单元,用于若所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息匹配不成功,则确定所述客户端下载得到的应用程序与所述目标应用程序不一致。\n[0035] 结合本发明实施例第二方面第一种可能的实现方式,在本发明实施例第二方面第二种可能的实现方式中,所述匹配模块具体用于:\n[0036] 将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;\n[0037] 若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。\n[0038] 结合本发明实施例第二方面或第二方面第一种或第二种可能的实现方式,在本发明实施例第二方面第三种可能的实现方式中,\n[0039] 所述发送模块,还用于向所述客户端发送加密后的所述目标应用程序的下载地址;\n[0040] 所述第一接收模块,还用于接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;\n[0041] 所述发送模块,还用于在所述第一接收模块接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息后,向所述客户端发送所述目标应用程序。\n[0042] 结合本发明实施例第二方面第三种可能的实现方式,在本发明实施例第二方面第四种可能的实现方式中,\n[0043] 所述加密模块,还用于加密所述目标应用程序的名称。\n[0044] 本发明实施例中,服务器首先接收客户端发送的下载目标应用程序的请求消息,接受到请求后服务器向客户端发送目标应用程序,然后服务器再接收客户端发送的通知消息,该通知消息用于通知服务器客户端下载得到的应用程序,服务器再确定客户端下载得到的应用程序与目标应用程序不一致时,加密目标应用程序的下载地址。可见,所述服务器通过识别应用下载被劫持事件,并针对被劫持的应用进行加密,从而降低运营商识别出应用下载请求中的特征信息的几率,避免应用被劫持,提升用户下载应用的安全性和用户体验。\n附图说明\n[0045] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。\n[0046] 图1是本发明实施例公开的一种实现防应用程序下载劫持的方法的网络架构示意图;\n[0047] 图2是本发明一实施例公开的一种防应用程序下载劫持的方法的流程示意图;\n[0048] 图3是本发明另一实施例公开的一种防应用程序下载劫持的方法的流程示意图;\n[0049] 图4是本发明一实施例公开的一种服务器的结构组成框图;\n[0050] 图5是本发明另一实施例公开的另一种服务器的结构组成框图。\n具体实施方式\n[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。\n[0052] 本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。\n[0053] 本发明实施例公开了一种防应用程序下载劫持的方法及服务器,以期降低运营商识别出应用下载请求中的特征信息的几率,提升应用下载安全性和用户体验。\n[0054] 为了更好理解本发明实施例公开的一种防应用程序下载劫持的方法,下面先对本发明实施例适用的网络架构进行描述。请参见图1,图1是本发明实施例提供的一种实现防应用程序下载劫持的方法的网络架构组成框图。该网络架构包括服务器和安装有用于下载应用的客户端的终端设备,所述服务器可以是具备数据存储和处理能力的文件服务器、数据库服务器、应用程序服务器、WEB服务器等,所述客户端可以安装在终端设备上,所述终端设备可以是任何具备显示屏以及通信和存储功能的设备,例如:平板电脑、手机、电子阅读器、个人计算机(Personal Computer,PC)、笔记本电脑、车载设备、网络电视、可穿戴设备等具有网络功能的智能设备。\n[0055] 本发明实施例提供一种防应用程序下载劫持的方法,包括:\n[0056] 接收客户端发送的下载目标应用程序的请求消息;\n[0057] 向所述客户端发送所述目标应用程序;\n[0058] 接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0059] 确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0060] 加密所述目标应用程序的下载地址。\n[0061] 具体的,请参阅图2,图2是本发明一实施例提供的一种防应用程序下载劫持的方法的流程示意图,包括以下步骤:\n[0062] S201,服务器接收客户端发送的下载目标应用程序的请求消息;\n[0063] 其中,所述目标应用程序例如可以是应用程序安装包,其为用户在客户端的应用市场或网页上通过点击下载地址对应的应用程序。请求消息中携带该目标应用程序的下载地址。\n[0064] S202,所述服务器向所述客户端发送所述目标应用程序;\n[0065] 接收到客户端发送的请求消息后,根据请求消息中携带的下载地址调取用户请求下载的目标应用程序,从而将调取的目标应用程序发送给客户端。\n[0066] S203,所述服务器接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0067] 在本发明实施例中,服务器在给客户端发送目标应用程序后,客户端会自动或服务器请求客户端再返回一个通知消息,该通知消息用于反应客户端的下载状况。\n[0068] 所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5(Message-Digest Algorithm 5,消息摘要算法第五版)值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;\n[0069] 上述特征信息代表了特定的应用程序。\n[0070] S204,所述服务器确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0071] 本发明实施例中,所述服务器确定所述客户端下载得到的应用程序与所述目标应用程序不一致的具体实现方式包括以下步骤:\n[0072] 将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;\n[0073] 若匹配不成功,则所述服务器确定所述客户端下载得到的应用程序与所述目标应用程序不一致。\n[0074] 需要说明的是,在本发明实施例中,预先针对服务器中存储的全部或部分应用程序进行一定处理,如提取并存储应用程序的特征信息,即建立了应用程序与特征信息之间的对应关系。\n[0075] 同样的,在客户端完成应用程序的下载后,客户端提取下载的应用程序的特征信息,该特征信息即代表了下载的特定的应用程序,从而将包含该特征信息的通知消息再发送给服务端,服务端将收到的特征信息与用户原本想要下载的应用程序的特征信息进行比较,若不相同,则说明客户端下载得到的应用程序与用户原本想要下载的应用程序不一致,服务端在发送目标应用程序的过程中,目标应用程序被替换成的其它应用程序,即被劫持。\n[0076] 具体实现中,所述服务器将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配的具体实现方式包括以下步骤:\n[0077] 将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;\n[0078] 若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则所述服务器确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。\n[0079] 需要说明的是,本发明实施例中对特征信息的比较可以只比较应用程序的大小,或者应用程序的MD5值,或者应用程序的包名,或者应用程序的版本号;为了进一步提高判断的准确性,可以同时比较应用程序的大小、MD5值、包名、版本号当中的两个或者多个。\n[0080] S205,所述服务器加密所述目标应用程序的下载地址。\n[0081] 当获知客户端下载得到的应用程序与客户端原本想要下载的应用程序不相同时,本发明实施例采取了一定技术手段,避免下次再下载该目标应用程序出现该情况,即对目标应用程序的下载地址进行加密,从而一定程度上避免了运营商通过识别下载地址的特征对应用程序进行劫持。\n[0082] 可选的,本发明实施例中,所述服务器加密所述目标应用程序的下载地址之后,所述服务器还可以执行以下操作:\n[0083] 向所述客户端发送加密后的所述目标应用程序的下载地址;\n[0084] 接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;\n[0085] 向所述客户端发送所述目标应用程序。\n[0086] 可选的,本发明实施例中,所述服务器进一步还可以执行以下操作:\n[0087] 加密所述目标应用程序的名称。\n[0088] 可选的,本发明实施例中,所述服务器加密所述目标应用程序的名称,以及向所述客户端发送所述目标应用程序之后,所述客户端可以执行以下操作:\n[0089] 解密所述加密的目标应用程序的名称以得到所述目标应用程序的原始名称,该原始名称为所述服务器在加密所述目标应用程序之前,所述目标应用程序的名称。如此,客户端在接收到名称加密的应用程序后,可以自动还原目标应用程序的原始名称,从而避免用户看到名称经过加密的无意义的字符串(文件名),确保用户知晓所下载的应用程序的名称,提升用户体验。举例来说,通过地址\n[0090] http://xxx.meizu.com/1680/ebb8a3d2dd124435b22c8f98d97c05c1[0091] 下载QQ时,生成的文件名是com.tencent.mobileqq_242.apk而不是ebb8a3d2dd1\n24435b22c8f98d97c05c1。\n[0092] 可以看出,本发明实施例中,服务器首先接收客户端发送的下载目标应用程序的请求消息,接受到请求后服务器向客户端发送目标应用程序,然后服务器再接收客户端发送的通知消息,该通知消息用于通知服务器客户端下载得到的应用程序,服务器再确定客户端下载得到的应用程序与目标应用程序不一致时,加密目标应用程序的下载地址。可见,所述服务器通过识别应用下载被劫持事件,并针对被劫持的应用进行加密,从而降低运营商识别出应用下载请求中的特征信息的几率,避免应用被劫持,提升用户下载应用的安全性和用户体验。\n[0093] 请参阅图3,图3是本发明另一实施例提供的一种防应用程序下载劫持的方法的流程示意图,如图3所示,包括以下步骤:\n[0094] S301,服务器接收客户端发送的下载目标应用程序的请求消息;\n[0095] 其中,所述目标应用程序例如可以是应用程序安装包,其为用户在客户端的应用市场或网页上通过点击下载地址对应的应用程序。请求消息中携带该目标应用程序的下载地址。\n[0096] S302,所述服务器向所述客户端发送所述目标应用程序;\n[0097] 接收到客户端发送的请求消息后,根据请求消息中携带的下载地址调取用户请求下载的目标应用程序,从而将调取的目标应用程序发送给客户端。\n[0098] S303,所述服务器接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户下载得到的应用程序;\n[0099] 在本发明实施例中,服务器在给客户端发送目标应用程序后,客户端会自动或服务器请求客户端再返回一个通知消息,该通知消息用于反应客户端的下载状况。\n[0100] 所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5(Message-Digest Algorithm 5,消息摘要算法第五版)值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;\n[0101] 上述特征信息代表了特定的应用程序。\n[0102] S304,所述服务器确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0103] 本发明实施例中,所述服务器确定所述客户端下载得到的应用程序与所述目标应用程序不一致的具体实现方式包括以下步骤:\n[0104] 将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;\n[0105] 若匹配不成功,则所述服务器确定所述客户端下载得到的应用程序与所述目标应用程序不一致。\n[0106] 需要说明的是,在本发明实施例中,预先针对服务器中存储的全部或部分应用程序进行一定处理,如提取并存储应用程序的特征信息,即建立了应用程序与特征信息之间的对应关系。\n[0107] 同样的,在客户端完成应用程序的下载后,客户端提取下载的应用程序的特征信息,该特征信息即代表了下载的特定的应用程序,从而将包含该特征信息的通知消息再发送给服务端,服务端将收到的特征信息与用户原本想要下载的应用程序的特征信息进行比较,若不相同,则说明客户端下载得到的应用程序与用户原本想要下载的应用程序不一致,服务端在发送目标应用程序的过程中,目标应用程序被替换成的其它应用程序,即被劫持。\n[0108] 具体实现中,所述服务器将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配的具体实现方式包括以下步骤:\n[0109] 将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;\n[0110] 若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则所述服务器确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。\n[0111] 需要说明的是,本发明实施例中对特征信息的比较可以只比较应用程序的大小,或者应用程序的MD5值,或者应用程序的包名,或者应用程序的版本号;为了进一步提高判断的准确性,可以同时比较应用程序的大小、MD5值、包名、版本号当中的两个或者多个。\n[0112] S305,所述服务器加密所述目标应用程序的下载地址。\n[0113] 当获知客户端下载得到的应用程序与客户端原本想要下载的应用程序不相同时,本发明实施例采取了一定技术手段,避免下次再下载该目标应用程序出现该情况,即对目标应用程序的下载地址进行加密,从而一定程度上避免了运营商通过识别下载地址的特征对应用程序进行劫持。\n[0114] S306,所述服务器向所述客户端发送加密后的所述目标应用程序的下载地址;\n[0115] S307,所述服务器接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;\n[0116] S308,所述服务器向所述客户端发送所述目标应用程序。\n[0117] 可选的,本发明实施例中,所述服务器进一步还可以执行以下操作:\n[0118] 加密所述目标应用程序的名称。\n[0119] 可选的,本发明实施例中,所述服务器加密所述目标应用程序的名称,以及向所述客户端发送所述目标应用程序之后,所述客户端可以执行以下操作:\n[0120] 解密所述加密的目标应用程序的名称以得到所述目标应用程序的原始名称,该原始名称为所述服务器在加密所述目标应用程序之前,所述目标应用程序的名称。如此,客户端在接收到名称加密的应用程序后,可以自动还原目标应用程序的原始名称,从而避免用户看到名称经过加密的无意义的字符串(文件名),确保用户知晓所下载的应用程序的名称,提升用户体验。举例来说,通过地址\n[0121] http://xxx.meizu.com/1680/ebb8a3d2dd124435b22c8f98d97c05c1[0122] 下载QQ时,生成的文件名是com.tencent.mobileqq_242.apk而不是ebb8a3d2dd1\n24435b22c8f98d97c05c1\n[0123] 可以看出,本发明实施例中,服务器首先接收客户端发送的下载目标应用程序的请求消息,接受到请求后服务器向客户端发送目标应用程序,然后服务器再接收客户端发送的通知消息,该通知消息用于通知服务器客户端下载得到的应用程序,服务器再确定客户端下载得到的应用程序与目标应用程序不一致时,加密目标应用程序的下载地址。可见,所述服务器通过识别应用下载被劫持事件,并针对被劫持的应用进行加密,从而降低运营商识别出应用下载请求中的特征信息的几率,避免应用被劫持,提升用户下载应用的安全性和用户体验。\n[0124] 下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例一至三实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明方法实施例。\n[0125] 本发明实施例提供一种服务器,包括:\n[0126] 第一接收模块,用于接收客户端发送的下载目标应用程序的请求消息;\n[0127] 发送模块,用于向所述客户端发送所述目标应用程序;\n[0128] 第二接收模块,用于接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0129] 确定模块,用于确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0130] 加密模块,用于加密所述目标应用程序的下载地址。\n[0131] 具体的,请参阅图4,是本发明一实施例提供的一种服务器的结构示意图,如图4所示,所述服务器包括第一接收模块401、发送模块402、第二接收模块403、确定模块404、加密模块405,其中:\n[0132] 第一接收模块401,用于接收客户端发送的下载目标应用程序的请求消息;\n[0133] 发送模块402,用于向所述客户端发送所述目标应用程序;\n[0134] 第二接收模块403,用于接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0135] 其中,所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;\n[0136] 确定模块404,用于确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0137] 加密模块405,用于加密所述目标应用程序的下载地址。\n[0138] 可选的,确定模块404包括:\n[0139] 匹配单元,将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;\n[0140] 确定单元,用于若所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息匹配不成功,则确定所述客户端下载得到的应用程序与所述目标应用程序不一致。\n[0141] 可选的,所述匹配单元具体用于:\n[0142] 将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;\n[0143] 若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。\n[0144] 可选的,发送模块402,还用于向所述客户端发送加密后的所述目标应用程序的下载地址;\n[0145] 第一接收模块401,还用于接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;\n[0146] 发送模块402,还用于向所述客户端发送所述目标应用程序。\n[0147] 可选的,加密模块405,还用于加密所述目标应用程序的名称。\n[0148] 可以理解的是,本发明实施例的服务器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例二至方法实施例四的相关描述,此处不再赘述。\n[0149] 可以看出,本发明实施例中,服务器中的第一接收模块接收客户端发送的下载目标应用程序的请求消息,接受到请求后服务器中的发送模块向客户端发送目标应用程序,然后第二接收模块接收客户端发送的通知消息,该通知消息用于通知服务器客户端下载得到的应用程序,确定模块再确定客户端下载得到的应用程序与目标应用程序不一致时,加密模块加密目标应用程序的下载地址。可见,所述服务器通过识别应用下载被劫持事件,并针对被劫持的应用进行加密,从而降低运营商识别出应用下载请求中的特征信息的几率,避免应用被劫持,提升用户下载应用的安全性和用户体验。\n[0150] 请参考图5,是本发明另一实施例公开的另一种服务器的结构示意图。如图5所示,本发明实施例中的服务器包括:至少一个处理器501,例如CPU,至少一个接收器503,至少一个存储器504,至少一个发送器505,至少一个通信总线502。其中,通信总线502用于实现这些组件之间的连接通信。其中,本发明实施例中装置的接收器503和发送器505可以是有线发送端口,也可以为无线设备,例如包括天线装置,用于与其他节点设备进行信令或数据的通信。存储器504可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器504可选的还可以是至少一个位于远离前述处理器501的存储装置。存储器504中存储一组程序代码,且处理器501用于调用存储器中存储的程序代码,用于执行以下操作:\n[0151] 处理器501接收客户端发送的下载目标应用程序的请求消息;\n[0152] 处理器501向所述客户端发送所述目标应用程序;\n[0153] 处理器501接收所述客户端发送的通知消息,所述通知消息用于通知服务器所述客户端下载得到的应用程序;\n[0154] 其中,所述通知消息包括特征信息,所述特征信息包括以下至少之一:所述客户端下载得到的应用程序的大小,所述客户端下载得到的应用程序的MD5值,所述客户端下载得到的应用程序的包名,以及所述客户端下载得到的应用程序的版本号;\n[0155] 处理器501确定所述客户端下载得到的应用程序与所述目标应用程序不一致;\n[0156] 其中,处理器501确定所述客户端下载得到的应用程序与所述目标应用程序不一致,包括:\n[0157] 处理器501将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配;\n[0158] 若匹配不成功,则处理器501确定所述客户端下载得到的应用程序与所述目标应用程序不一致。\n[0159] 进一步地,处理器501将所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息进行匹配,包括:\n[0160] 处理器501将所述通知消息包含的特征信息中的每一项特征信息分别与预先存储的所述目标应用程序的特征信息中的相应特征信息进行比较;\n[0161] 处理器501若所述通知消息包含的特征信息中有至少一项特征信息不同于预先存储的所述目标应用程序的特征信息中的相应特征信息,则确定所述通知消息中包含的特征信息与预先存储的所述目标应用程序的特征信息不匹配。\n[0162] 处理器501加密所述目标应用程序的下载地址。\n[0163] 可选的,处理器501还用于:\n[0164] 向所述客户端发送加密后的所述目标应用程序的下载地址;\n[0165] 接收所述客户端根据所述加密后的下载地址发送的下载所述目标应用程序的请求消息;\n[0166] 向所述客户端发送所述目标应用程序。\n[0167] 可选的,处理器501还用于:\n[0168] 加密所述目标应用程序的名称。\n[0169] 可以理解的是,本发明实施例的服务器的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例二至方法实施例四的相关描述,此处不再赘述。\n[0170] 可以看出,本发明实施例中,服务器中的第一接收模块接收客户端发送的下载目标应用程序的请求消息,接受到请求后服务器中的发送模块向客户端发送目标应用程序,然后服务器中的第二接收模块再接收客户端发送的通知消息,该通知消息用于通知服务器客户端下载得到的应用程序,服务器中的确定模块确定客户端下载得到的应用程序与目标应用程序不一致时,服务器中的加密模块加密目标应用程序的下载地址。可见,所述服务器通过识别应用下载被劫持事件,并针对被劫持的应用进行加密,从而降低运营商识别出应用下载请求中的特征信息的几率,避免应用被劫持,提升用户下载应用的安全性和用户体验。\n[0171] 本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任何一种防应用程序下载劫持的方法的部分或全部步骤。\n[0172] 需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。\n[0173] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。\n[0174] 在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。\n[0175] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。\n[0176] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。\n[0177] 所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。\n[0178] 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。\n[0179] 以上对本发明实施例所提供的一种防应用程序下载劫持的方法及服务器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上上述,本说明书内容不应理解为对本发明的限制。
法律信息
- 2019-03-26
- 2016-05-18
实质审查的生效
IPC(主分类): H04L 29/08
专利申请号: 201510833717.9
申请日: 2015.11.25
- 2016-04-20
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2011-04-20
|
2010-12-21
| | |
2
| |
2009-02-04
|
2007-01-17
| | |
3
| |
2014-12-17
|
2014-09-03
| | |
4
| |
2015-09-30
|
2015-06-30
| | |
5
| |
2009-04-08
|
2008-09-27
| | |
6
| |
2014-10-01
|
2014-07-30
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |