通信方法、装置、网络设备、终端设备和通信系统转让专利

申请号 : CN201410631328.3

文献号 : CN105577627B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈勇刘剑

申请人 : 腾讯数码(天津)有限公司

摘要 :

本申请实施例公开了一种通信方法、装置、网络设备、终端设备和通信系统,在终端设备向网络服务器发送访问请求时,网络设备截获终端设备向网络服务器发送的访问请求,然后对终端设备进行验证,验证通过后,才将访问请求发送给网络服务器,而拒绝服务攻击通常是黑客在用户设备侧通过工具模拟合法用户向网络服务器发送大量访问请求,而不会对网络服务器进行响应,因此,非法用户设备不会进行验证响应,因而,通过本申请实施例提供的通信方法、装置、网络设备、终端设备和通信系统,可以防止非法用户发送的访问请求到达网络服务器,降低对网络服务器进行拒绝服务攻击这一事件发生的概率。

权利要求 :

1.一种通信方法,其特征在于,包括:

网络设备截获第一终端设备向网络服务器发送的访问请求;

所述网络设备判断所述第一终端设备是否为非法用户设备;若所述第一终端设备为非法用户设备,则断开所述第一终端设备与所述网络服务器之间的连接;否则,所述网络设备依据所述第一终端设备的识别标识,以及所述网络服务器的识别标识获取验证参数,并向所述第一终端设备发送所述验证参数;所述验证参数用于所述第一终端设备计算加密因子;

若所述网络设备接收到所述第一终端设备以URL参数方式发送的、与所述验证参数相对应的加密因子,则:依据所述验证参数,以及所述第一终端设备的识别码计算本地加密因子;或者,依据所述验证参数、所述第一终端设备的识别码,以及所述第一终端设备接收到所述验证参数时的时间戳计算本地加密因子;

当所述第一终端设备发送的加密因子与所述本地加密因子相同时,确定验证通过;

当验证通过时,所述网络设备向所述网络服务器发送所述访问请求。

2.根据权利要求1所述的方法,其特征在于,还包括:

若所述网络设备未接收到所述第一终端设备以URL参数方式发送的与所述验证参数相对应的加密因子,则丢弃所述第一终端设备发送的访问请求。

3.根据权利要求1所述的方法,其特征在于,还包括:

当验证未通过时,所述网络设备丢弃所述第一终端设备发送的访问请求。

4.根据权利要求2或3所述的方法,其特征在于,还包括:

所述网络设备统计由第一终端设备发送的访问请求在单位时间内被丢弃的次数;

当由第一终端设备发送的访问请求在单位时间内被丢弃的次数大于预设阈值时,确定所述第一终端设备为非法用户设备。

5.根据权利要求4所述的方法,其特征在于,网络设备在接收到第一终端设备向网络服务器发送的访问请求后,在获取验证参数前,还包括:判断所述第一终端设备是否为非法用户设备;

若所述第一终端设备为非法用户设备,则丢弃所述访问请求;否则,执行所述获取验证参数的步骤。

6.一种通信装置,其特征在于,包括:

截获模块,用于截获第一终端设备向网络服务器发送的访问请求;

第二判断模块,用于在所述截获模块截获第一终端设备向网络服务器发送的访问请求后,判断所述第一终端设备是否为非法用户设备;

连接控制模块,用于在所述第二判断模块判断出所述第一终端设备为非法用户设备时,则断开所述第一终端设备与所述网络服务器之间的连接;参数获取模块,用于在所述截获模块截获第一终端设备向网络服务器发送的访问请求后,在所述第二判断模块判断出所述第一终端设备不是非法用户设备时,依据所述第一终端设备的识别标识,以及所述网络服务器的识别标识获取验证参数,并向所述第一终端设备发送所述验证参数;

验证模块,用于在接收到所述第一终端设备以URL参数方式发送的、与所述验证参数相对应的加密因子时,依据所述验证参数,以及所述第一终端设备的识别码计算本地加密因子;或者,依据所述验证参数、所述第一终端设备的识别码,以及所述第一终端设备接收到所述验证参数时的时间戳计算本地加密因子;当所述第一终端设备发送的加密因子与所述本地加密因子相同时,确定验证通过;

第一发送模块,用于在验证通过时,向所述网络服务器发送所述访问请求。

7.根据权利要求6所述的装置,其特征在于,还包括:

第一丢弃模块,用于在未接收到所述第一终端设备以URL参数方式发送的与所述验证参数相对应的加密因子时,丢弃所述第一终端设备发送的访问请求。

8.根据权利要求6所述的装置,其特征在于,还包括:

第二丢弃模块,用于在未验证未通过时,丢弃所述第一终端设备发送的访问请求。

9.根据权利要求7或8所述的装置,其特征在于,还包括:

统计模块,用于统计由第一终端设备发送的访问请求在单位时间内被丢弃的次数;

确定模块,用于当由第一终端设备发送的访问请求在单位时间内被丢弃的次数大于预设阈值时,确定所述第一终端设备为非法用户设备。

10.根据权利要求9所述的装置,其特征在于,还包括:

第一判断模块,用于在所述截获模块截获第一终端设备向网络服务器发送的访问请求后,判断所述第一终端设备是否为非法用户设备;

第三丢弃模块,用于在所述第一判断模块判断出所述第一终端设备为非法用户设备时,丢弃所述访问请求;

所述参数获取模块,用于在所述第一判断模块判断出所述第一终端设备不是非法用户设备时,获取验证参数,并向所述第一终端设备发送所述验证参数。

11.一种网络设备,其特征在于,包括如权利要求6-10任意一项所述的通信装置。

12.一种通信系统,其特征在于,包括:终端设备和如权利要求11所述的网络设备;所述终端设备用于向网络服务器发送访问请求;接收网络设备截获所述终端设备向网络服务器发送的访问请求后,获取并向所述终端设备发送验证参数,依据所述验证参数,以及所述终端设备的识别码计算加密因子;或者,依据所述验证参数、所述终端设备的识别码,以及所述终端设备接收到所述验证参数时的时间戳计算所述加密因子;以URL参数方式向所述网络设备发送所述加密因子。

13.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-5中任一项所述的通信方法的各个步骤。

说明书 :

通信方法、装置、网络设备、终端设备和通信系统

技术领域

[0001] 本发明涉及网络技术领域,更具体地说,涉及一种通信方法、装置、网络设备、终端设备和通信系统。

背景技术

[0002] 拒绝服务攻击(DOS)是指非法用户利用大量的数据包淹没目标主机(如网络服务器),耗尽目标主机可用资源乃至系统崩溃,从而使目标主机无法对合法用户做出响应,是黑客常用的攻击手段之一。分布式拒绝服务攻击(DDOS)是在传统的拒绝服务攻击的基础上产生的一类拒绝服务攻击方式,分布式拒绝服务攻击是指将多个计算机联合起来作为攻击平台,对一个或多个目标主机发动拒绝服务攻击,通过海量连接或流量淹没目标主机,使目标主机无法对合法用户做出响应。
[0003] 目前,不管是传统的DOS,还是DDOS,从内容上看,攻击请求与合法请求完全相同,这使得对两者的鉴别非常困难。通过计算请求速率,检查网络数据包的头字段(包括IP头、TCP头、HTTP头等),甚至检查整个应用层的请求内容,都无法有效地区分攻击请求与合法请求。为了达到明显的攻击效果,攻击者往往请求大的Flash、图片、视频文件、或者促使服务器进行负载的数据库查询和数据处理。例如,一个精心构造的HTTP请求,能够促使网络服务器在多个大型数据库表间进行连接、查询和排序操作,这时,使用少量的傀儡主机发送低速率的攻击请求就能迅速消耗目标主机资源,使其无法响应合法用户的请求,攻击的隐蔽性较强,增加了对DOS攻击的检测难度。
[0004] 而目前,还没有一种有效的对分布式拒绝服务攻击进行防护的方法。

发明内容

[0005] 本发明的目的是提供一种通信方法、装置、网络设备、终端设备和通信系统,以对拒绝服务攻击进行有效防护。
[0006] 为实现上述目的,本发明提供了如下技术方案:
[0007] 一种通信方法,包括:
[0008] 网络设备截获第一终端设备向网络服务器发送的访问请求;
[0009] 所述网络设备获取验证参数,并向所述第一终端设备发送所述验证参数;
[0010] 若所述网络设备接收到所述第一终端设备发送的,与所述验证参数相对应的加密因子,则依据所述验证参数对所述第一终端设备发送的加密因子进行验证;
[0011] 当验证通过时,所述网络设备向所述网络服务器发送所述访问请求。
[0012] 一种通信方法,包括:
[0013] 第一终端设备向网络服务器发送访问请求;
[0014] 所述第一终端设备接收验证参数,所述验证参数由网络设备截获所述第一终端向网络服务器发送的访问请求后获取,并向所述第一终端设备发送;
[0015] 所述第一终端设备依据所述验证参数计算加密因子;
[0016] 所述第一终端设备向所述网络服务器发送所述加密因子。
[0017] 一种通信装置,包括:
[0018] 截获模块,用于截获第一终端设备向网络服务器发送的访问请求;
[0019] 参数获取模块,用于在所述截获模块截获第一终端设备向网络服务器发送的访问请求后获取验证参数,并向所述第一终端设备发送所述验证参数;
[0020] 验证模块,用于在接收到所述第一终端设备发送的,与所述验证参数相对应的加密因子时,对所述第一终端设备发送的加密因子进行验证;
[0021] 第一发送模块,用于在验证通过时,向所述网络服务器发送所述访问请求。
[0022] 一种网络设备,包括如上所述的通信装置。
[0023] 一种通信装置,应用于第一终端设备,所述装置包括:
[0024] 第二发送模块,用于向网络服务器发送访问请求;
[0025] 接收模块,用于接收验证参数,所述验证参数由网络设备截获所述第一终端设备向网络服务器发送的访问请求后获取,并向所述第一终端设备发送;
[0026] 计算模块,用于依据所述验证参数计算加密因子;
[0027] 第三发送模块,用于向所述网络服务器发送所述加密因子。
[0028] 一种终端设备,包括如上所述的通信装置。
[0029] 一种通信系统,包括:如上所述的终端设备和如上所述的网络设备。
[0030] 通过以上方案可知,本申请提供的一种通信方法、装置、网络设备、终端设备和通信系统,在终端设备向网络服务器发送访问请求时,网络设备截获终端设备向网络服务器发送的访问请求,然后对终端设备进行验证,验证通过后,才将访问请求发送给网络服务器,而拒绝服务攻击通常是黑客在用户设备侧通过工具模拟合法用户向网络服务器发送大量访问请求,而不会对网络服务器进行响应,因此,非法用户设备不会进行验证响应,因而,通过本申请实施例提供的通信方法、装置、网络设备、终端设备和通信系统,可以防止非法用户发送的访问请求到达网络服务器,降低对网络服务器进行拒绝服务攻击这一事件发生的概率。

附图说明

[0031] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0032] 图1为本申请实施例提供的通信系统的一种结构示意图;
[0033] 图2为本申请实施例提供的通信方法的一种实现流程图;
[0034] 图3为本申请实施例提供的依据验证参数对第一终端设备发送的加密因子进行验证的一种实现流程图;
[0035] 图4为本申请实施例提供的通信方法的另一种实现流程图;
[0036] 图5为本申请实施例提供的通信方法的又一种实现流程图;
[0037] 图6为本申请实施例提供的通信装置的一种结构示意图;
[0038] 图7为本申请实施例提供的参数获取模块的一种结构示意图;
[0039] 图8为本申请实施例提供的验证模块的一种结构示意图;
[0040] 图9为本申请实施例提供的第一获取单元的一种结构示意图;
[0041] 图10为本申请实施例提供的第一获取单元的另一种结构示意图;
[0042] 图11为本申请实施例提供的通信装置的另一种结构示意图;
[0043] 图12为本申请实施例提供的通信装置的又一种结构示意图;
[0044] 图13为本申请实施例提供的通信装置的又一种结构示意图;
[0045] 图14为本申请实施例提供的通信装置的又一种结构示意图;
[0046] 图15为本申请实施例提供的通信装置的又一种结构示意图;
[0047] 图16为本申请实施例提供的网络设备的一种硬件结构框图;
[0048] 图17为本申请实施例提供的通信装置的又一种结构示意图;
[0049] 图18为本申请实施例提供的计算模块的一种结构示意图;
[0050] 图19为本申请实施例提供的计算模块的另一种结构示意图;
[0051] 图20为本申请实施例提供的终端设备相关的手机的部分结构的框图。
[0052] 说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。

具体实施方式

[0053] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0054] 请参阅图1,图1为本申请实施例提供的通信系统的一种结构示意图,其中,。
[0055] 终端设备11通过路由器12接入互联网,并可以与网络服务器14建立连接以进行通信,网络设备13可以截获终端设备11向网络服务器14发送的信息,并对终端设备11的合法性进行验证,当确定终端设备11合法时,才将终端设备11向网络服务器14发送的信息转发给网络服务器14,否则就丢弃终端设备11向网络服务器14发送的信息。
[0056] 其中,终端设备11可以是个人计算机(PC机)、笔记本电脑或移动终端,只要该设备可以接入互联网即可。
[0057] 基于图1所示通信系统,本申请提供的通信方法的一种实现流程图如图2所示,可以包括:
[0058] 步骤S21:网络设备截获第一终端设备向网络服务器发送的访问请求;
[0059] 第一终端设备向网络服务器发送的访问请求被网络设备截获。
[0060] 所述访问请求可以符合HTTP协议的访问请求,例如,可以是GET请求,网络设备可以以GET方式请求网络服务器上某个通用网关接口(Common Gateway Interface,CGI)以获取所需资源。
[0061] 当然,所述访问请求还可以是HTTP协议中的其它类型的请求,如POST请求、HEAD请求等。
[0062] 步骤S22:所述网络设备获取验证参数,并向所述第一终端设备发送所述验证参数;
[0063] 网络设备在截获第一终端设备向网络服务器发送的访问请求后,获取验证参数,并将该验证参数发送给第一终端设备。
[0064] 可选的,可以依据所述第一终端设备的识别标识,以及所述网络服务器的识别标识获取验证参数。具体的,
[0065] 网络设备可以根据访问请求中携带的源IP(即第一终端设备的IP)和目的IP(即网络服务器的IP)计算验证参数。
[0066] 可选的,可以依据源IP和目的IP进行HMAC(Hash-based Message Authentication Code)运算,即计算基于散列消息的身份验证代码,以得到验证码。
[0067] 可选的,网络设备也可以根据访问请求中携带的第一终端设备的硬件地址(如MAC地址)和目的IP计算验证参数。
[0068] 同理,可以依据第一终端设备的硬件地址和目的IP进行HMAC(Hash-based Message Authentication Code)运算,以得到验证码。
[0069] 具体可以依据如下公式(1)计算。
[0070] $js1=HMAC($srcip,$dstip)     (1)
[0071] 其中,$js1为进行HMAC运算的结果,即验证码;$srcip和$dstip分别为第一终端设备的识别标识和网络服务器的识别标识。
[0072] 步骤S23:若所述网络设备接收到所述第一终端设备发送的,与所述验证参数相对应的加密因子,则依据所述验证参数对所述第一终端设备发送的加密因子进行验证。
[0073] 发明人在实现本发明的过程中发现,通常,拒绝服务攻击通常是黑客在用户设备侧通过工具模拟合法用户向网络服务器发送大量访问请求,其目的是为了对网络服务器进行攻击,而不是从网络服务器侧获取资源,因此,被黑客控制的用户设备通常不会对验证参数进行响应,也就不会计算验证因子,更不会发送验证因子。
[0074] 而正常的终端设备(即没有被黑客控制额终端设备)则会对验证参数进行响应,即,计算验证因子,并发送该验证因子。
[0075] 因此,本申请实施例中,当第一终端设备为合法用户时,在网络正常的情况下,网络设备会接收到第一终端设备发送的,与所述验证参数相对应的加密因子;而当第一终端设备是由黑客控制的非法用户时,网络设备则通常不会接收到第一终端设备发送的,与所述验证参数相对应的加密因子。
[0076] 当网络法设备接收到所述第一终端设备发送的,与所述验证参数相对应的加密因子后,对加密因子进行验证,以确定第一终端设备的合法性。
[0077] 步骤S24:当验证通过时,所述网络设备向所述网络服务器发送所述访问请求。
[0078] 当加密因子验证通过时,网络设备将第一终端设备发送的访问请求转发给网络服务器。实现了合法用户设备与网络服务器之间的通信。
[0079] 本申请提供的通信方法,在终端设备向网络服务器发送访问请求时,网络设备截获终端设备向网络服务器发送的访问请求,然后对终端设备进行验证,验证通过后,才将访问请求发送给网络服务器,而拒绝服务攻击通常是黑客在用户设备侧通过工具模拟合法用户向网络服务器发送大量访问请求,而不会对网络服务器进行响应,因此,非法用户设备不会进行验证响应,因而,通过本申请实施例提供的通信方法,可以防止非法用户发送的访问请求到达网络服务器,降低对网络服务器进行拒绝服务攻击这一事件发生的概率。
[0080] 上述实施例中,可选的,所述依据所述验证参数对所述第一终端设备发送的加密因子进行验证的一种实现流程图如图3所示,可以包括以下步骤:
[0081] 步骤S31:所述网络设备依据所述验证参数获取本地加密因子;
[0082] 网络设备与第一终端设备采用相同的算法计算本地加密因子。
[0083] 可选的,网络设备可以依据所述验证参数,以及所述第一终端设备的识别码计算本地加密因子。
[0084] 可选的,网络设备可以依据公式(2)计算本地加密因子。
[0085] $sessionkey-b=HMAC($key1,$imei,$js1))     (2)
[0086] 其中,$sessionkey-b为本地加密因子;$key1为网络设备与终端设备的共享密钥;$imei,为终端设备发送的终端设备的识别码(如IMEI号)或随机数;$js1为验证参数。
[0087] 可选的,网络设备也可以依据所述验证参数、所述第一终端设备的识别码,以及所述第一终端设备接收到所述验证参数时的时间戳计算本地加密因子。
[0088] 可选的,网络设备可以依据公式(3)计算本地加密因子。
[0089] $sessionkey-b=HMAC($key1,$imei,$timestamp,$js1))     (3)[0090] 其中,$sessionkey-b为本地加密因子;$key1为网络设备与终端设备的共享密钥;$imei,为终端设备发送的终端设备的识别码(如IMEI号)或随机数;$timestamp为时间戳;$js1为验证参数。
[0091] 步骤S32:当所述第一终端设备发送的加密因子与所述本地加密因子相同时,确定验证通过。
[0092] 在获取本地加密因子后,可以将本地加密因子与第一终端设备发送的加密因子进行比对,如果第一终端设备发送的加密因子与本地加密因子相同,则确定验证通过;否则,可以确定验证未通过。
[0093] 上述实施例中,可选的,本申请提供的通信方法的另一种实现流程图如图4所示,可以包括:
[0094] 步骤S41:网络设备截获第一终端设备向网络服务器发送的访问请求;
[0095] 步骤S42:所述网络设备获取验证参数,并向所述第一终端设备发送所述验证参数;
[0096] 步骤S43:判断是否接收到第一终端设备发送的,与验证参数相对应的加密因子;如果是,则执行步骤S44;如果否,则执行步骤S47;
[0097] 可选的,可以判断在向第一终端设备发送所述验证参数后的预设时长内是否接收到第一终端设备发送的,与验证参数相对应的加密因子,如果在所述预设时长内接收到第一终端设备发送的,与验证参数相对应的加密因子,则可以确定接收到第一终端设备发送的,与验证参数相对应的加密因子,否则,可以确定没有接收到第一终端设备发送的,与验证参数相对应的加密因子。
[0098] 步骤S44:依据所述验证参数对所述第一终端设备发送的加密因子进行验证;
[0099] 步骤S45:判断是否验证通过;如果验证通过,则执行步骤S46;否则执行步骤S47;
[0100] 步骤S46:所述网络设备向所述网络服务器发送所述访问请求。
[0101] 步骤S47:丢弃所述第一终端设备发送的访问请求。
[0102] 在丢弃第一终端设备发送的访问请求后,还可以阻断第一终端设备与网络服务器之间的连接。
[0103] 本申请实施例中,若没有接收到第一终端设备发送的,与验证参数相对应的加密因子,或者,验证未通过,都丢弃第一终端设备向网络服务器发送的访问请求,即不会将该第一终端设备发送的访问请求转发给网络服务器。
[0104] 上述实施例中,可选的,本申请实施例提供的通信方法还可以包括:
[0105] 网络设备统计由第一终端设备发送的访问请求在单位时间内被丢弃的次数;
[0106] 可以统计一段时间内由第一终端设备发送的访问请求被丢弃的总次数,将总次数除以统计时长就可以确定由第一终端设备发送的访问请求在单位时间内被丢弃的次数,即由第一终端设备发送的访问请求被丢弃的频率。
[0107] 当由第一终端设备发送的访问请求在单位时间内被丢弃的次数大于预设阈值时,确定所述第一终端设备为非法用户设备。
[0108] 可选的,在确定第一终端设备为非法用户设备后,网络设备在接收到第一终端设备向网络服务器发送的访问请求后,在获取验证参数前,还可以包括:
[0109] 判断所述第一终端设备是否为非法用户设备;
[0110] 若所述第一终端设备为非法用户设备,则丢弃所述访问请求;否则,执行所述获取验证参数的步骤。
[0111] 本实施例中,在确定第一终端设备为非法用户设备后,如果接收到第一终端设备发送的访问请求,则直接丢弃该访问请求,而不再对第一终端设备的合法性进行验证,降低网络设备的资源耗费。进一步的,还可以阻断第一终端设备与网络服务器的连接,使得第一终端设备不能再发送访问请求,可以抵抗蛮力攻击,增强自身的稳定性。
[0112] 可选的,在确定第一终端设备为非法用户设备后,网络设备在接收到第一终端设备向网络服务器发送的访问请求后,在获取验证参数前,还可以包括:
[0113] 判断所述第一终端设备是否为非法用户设备;
[0114] 若所述第一终端设备为非法用户设备,则断开所述第一终端设备与所述网络服务器之间的连接;否则,执行所述获取验证参数的步骤。
[0115] 本实施例中,在确定第一终端设备为非法用户设备后,如果接收到第一终端设备发送的访问请求,则直接阻断第一终端设备与网络设备的连接,使得第一终端设备不能再发送访问请求,可以抵抗蛮力攻击,增强自身的稳定性。进一步的,还可以丢弃第一终端设备发送的访问请求,防止该第一终端设备发送的访问请求占用网络设备的内存空间。
[0116] 本申请提供的通信方法的又一种实现流程图如图5所示,可以包括:
[0117] 步骤S51:第一终端设备向网络服务器发送访问请求;
[0118] 所述访问请求可以是符合HTTP协议的访问请求。
[0119] 步骤S52:所述第一终端设备接收验证参数,所述验证参数由网络设备截获所述第一终端设备向网络服务器发送的访问请求后获取,并向所述第一终端设备发送;
[0120] 步骤S53:所述第一终端设备依据所述验证参数计算加密因子;
[0121] 第一终端设备在接收到验证参数后,依据该验证参数计算加密因子,第一终端设备与网络设备采用相同的方法计算加密因子。
[0122] 可选的,第一终端设备可以依据所述验证参数,以及该第一终端设备的识别码计算加密因子。
[0123] 可选的,第一终端设备可以依据公式(4)计算加密因子。
[0124] $sessionkey-a=HMAC($key1,$imei,$js1))  (4)
[0125] 其中,$sessionkey-a为加密因子;$key1为网络设备与第一终端设备的共享密钥;$imei,为第一终端设备的识别码(如IMEI号)或随机数;$js1为验证参数。
[0126] 可选的,第一终端设备也可以依据所述验证参数、所述第一终端设备的识别码,以及所述第一终端设备接收到所述验证参数时的时间戳计算加密因子。
[0127] 可选的,第一终端设备可以依据公式(5)计算本地加密因子。
[0128] $sessionkey-a=HMAC($key1,$imei,$timestamp,$js1))    (5)
[0129] 其中,$sessionkey-a为加密因子;$key1为网络设备与终端设备的共享密钥;$imei,为第一终端设备的识别码(如IMEI号)或随机数;$timestamp为时间戳;$js1为验证参数。
[0130] 步骤S54:所述第一终端设备向所述网络服务器发送所述加密因子。
[0131] 该加密因子被网络设备截获后进行验证,如果验证通过,网络设备会将该第一终端设备发送的访问请求转发给网络服务器,否则就不会将该访问请求转发给网络服务器。
[0132] 第一终端设备可以以URL参数方式发送加密因子,发送的GET请求的URL可以为如下形式(其中可能有多个参数):
[0133] http://www.example.com/?SK=$sessionkey&IMEI=$imei
[0134] 其中SK为用户提交的加密的待认证的加密因子,IMEI为用户本机的某个可识别编号(如手机可用IMEI码,PC可用随机生成的数)。
[0135] 本实施例中,第一终端设备要想访问网络服务器,需要通过验证后才能进行访问。
[0136] 与方法实施例相对应,本申请还提供一种通信装置。本申请提供的通信装置的一种结构示意图如图6所示,可以包括:
[0137] 截获模块61,参数获取模块62、验证模块63和第一发送模块64;其中,[0138] 截获模块61用于截获第一终端设备向网络服务器发送的访问请求;
[0139] 参数获取模块62用于在所述截获模块截获第一终端设备向网络服务器发送的访问请求后获取验证参数,并向所述第一终端设备发送所述验证参数;
[0140] 验证模块63用于在接收到所述第一终端设备发送的,与所述验证参数相对应的加密因子时,对所述第一终端设备发送的加密因子进行验证。
[0141] 第一发送模块64用于在所述第一终端设备发送的加密因子验证通过时,向所述网络服务器发送所述访问请求。
[0142] 本申请提供的通信装置,在终端设备向网络服务器发送访问请求时,网络设备截获终端设备向网络服务器发送的访问请求,然后对终端设备进行验证,验证通过后,才将访问请求发送给网络服务器,而拒绝服务攻击通常是黑客在用户设备侧通过工具模拟合法用户向网络服务器发送大量访问请求,而不会对网络服务器进行响应,因此,非法用户设备不会进行验证响应,因而,通过本申请提供的通信装置,可以防止非法用户发送的访问请求到达网络服务器,降低对网络服务器进行拒绝服务攻击这一事件发生的概率。
[0143] 上述实施例中,可选的,参数获取模块62的一种结构示意图如图7所示,可以包括:
[0144] 参数获取单元71,用于依据所述第一终端设备的识别标识,以及所述网络服务器的识别标识获取验证参数。
[0145] 上述实施例中,可选的,验证模块63的一种结构示意图如图8所示,可以包括:
[0146] 第一获取单元81和第一确定单元82;其中,
[0147] 第一获取单元81用于获取本地加密因子;
[0148] 第一确定单元82用于当所述第一终端发送的加密因子与所述本地加密因子相同时,确定验证通过。
[0149] 上述实施例中,可选的第一获取单元81的一种结构示意图如图9所示,可以包括:
[0150] 第一获取子单元91,用于依据所述验证参数,以及所述第一终端设备的识别码计算本地加密因子。
[0151] 上述实施例中,可选的,第一获取单元81的另一种结构示意图如图10所示,可以包括:
[0152] 第二获取子单元101,用于依据所述验证参数、所述第一终端设备的识别码,以及所述第一终端设备接收到所述验证参数时的时间戳计算本地加密因子。
[0153] 上述实施例中,可选的,在图6所示实施例的基础上,本申请提供的通信装置的另一种结构示意图如图11所示,还可以包括:
[0154] 第一丢弃模块111,用于在未接收到所述第一终端发送的与所述验证参数相对应的加密因子时,丢弃所述第一终端设备发送的访问请求。
[0155] 需要说明的是,第一丢弃模块111也适用于图7至图10任意一图所示的实施例中。
[0156] 上述实施例中,可选的,在图6所示实施例的基础上,本申请提供的通信装置的又一种结构示意图如图12所示,还可以包括:
[0157] 第二丢弃模块121,用于在未验证通过时,丢弃所述第一终端设备发送的访问请求。
[0158] 需要说明的是,第二丢弃模块121也适用于图7至图11任意一图所示的实施例中。
[0159] 在图11所示实施例的基础上,本申请提供的通信装置的又一种结构示意图如图13所示,还可以包括:
[0160] 统计模块131和确定模块132;其中,
[0161] 统计模块131用于统计由第一终端设备发送的访问请求在单位时间内被丢弃的次数;
[0162] 确定模块132用于当由第一终端设备发送的访问请求在单位时间内被丢弃的次数大于预设阈值时,确定所述第一终端设备为非法用户设备。
[0163] 需要说明的,本实施例提供的统计模块131和确定模块132也可以适用于图12所示实施例。
[0164] 上述实施例中,可选的,在图13所示实施例的基础上,本申请提供的通信装置的又一种结构示意图如图14所示,还可以包括:
[0165] 第一判断模块141和第三丢弃模块142;其中,
[0166] 第一判断模块141用于在所述截获模块61截获第一终端设备向网络服务器发送的访问请求后,判断所述第一终端设备是否为非法用户设备;
[0167] 第三丢弃模块142用于在所述第一判断模块判断出所述第一终端设备为非法用户设备时,丢弃所述访问请求;
[0168] 所述参数获取模块62具体用于,在所述第一判断模块141判断出所述第一终端设备不是非法用户设备时,获取验证参数,并向所述第一终端设备发送所述验证参数。
[0169] 本实施例中,在确定第一终端设备为非法用户设备后,如果接收到第一终端设备发送的访问请求,则直接丢弃该访问请求,而不再对第一终端设备的合法性进行验证,降低网络设备的资源耗费。
[0170] 进一步的,第三丢弃模块142在丢弃所述访问请求后,还可以阻断第一终端设备与网络服务器的连接,使得第一终端设备不能再发送访问请求。
[0171] 上述实施例中,可选的,在图13所示实施例的基础上,本申请提供的通信装置的又一种结构示意图如图15所示,还可以包括:
[0172] 第二判断模块151和连接控制模块152;其中,
[0173] 第二判断模块151用于在所述截获模块61截获第一终端设备向网络服务器发送的访问请求后,判断所述第一终端设备是否为非法用户设备;
[0174] 连接控制模块153用于在所述第二判断模块判断出所述第一终端设备为非法用户设备时,则断开所述第一终端设备与所述网络服务器之间的连接;
[0175] 所述参数获取模块62具体用于,在所述第二判断模块151判断出所述第一终端设备不是非法用户设备时,获取验证参数,并向所述第一终端设备发送所述验证参数。
[0176] 本实施例中,在确定第一终端设备为非法用户设备后,如果接收到第一终端设备发送的访问请求,则直接阻断第一终端设备与网络设备的连接,使得第一终端设备不能再发送访问请求。
[0177] 进一步的,连接控制模块153还可以丢弃第一终端设备发送的访问请求,防止该第一终端设备发送的访问请求占用网络设备的内存空间。
[0178] 本申请还提供一种网络设备,该网络设备具有如图6-图15任意一图所示的通信装置。
[0179] 图16示出了本申请提供的网络设备的一种硬件结构框图,该网络设备可以包括:
[0180] 处理器1,通信接口2,存储器3和通信总线4;
[0181] 其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
[0182] 可选的,通信接口2可以为通信模块的接口,如GSM模块的接口,或以太网接口等;
[0183] 处理器1,用于执行程序;
[0184] 存储器3,用于存放程序;
[0185] 程序可以包括程序代码,所述程序代码包括计算机操作指令。
[0186] 处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0187] 存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0188] 其中,程序可具体用于:
[0189] 截获第一终端设备向网络服务器发送的访问请求;
[0190] 获取验证参数,并向所述第一终端设备发送所述验证参数;
[0191] 若收到所述第一终端设备发送的,与所述验证参数相对应的加密因子,则依据所述验证参数对所述第一终端设备发送的加密因子进行验证;
[0192] 当验证通过时,向所述网络服务器发送所述访问请求。
[0193] 本申请提供的通信装置的又一种结构示意图如图17所示,可以包括:
[0194] 第二发送模块171,接收模块172,计算模块173和第三发送模块174;其中,[0195] 第二发送模块171用于向网络服务器发送访问请求;
[0196] 接收模块172用于接收验证参数,所述验证参数由网络设备截获所述第一终端设备向网络服务器发送的访问请求后获取,并向所述第一终端设备发送;
[0197] 计算模块173用于依据所述验证参数计算加密因子;
[0198] 第三发送模块174用于向所述网络服务器发送所述加密因子。
[0199] 本实施例中,第一终端设备要想访问网络服务器,需要通过验证后才能进行访问。
[0200] 上述实施例中,可选的,计算模块173的一种结构示意图如图18所示,可以包括:
[0201] 第一计算单元181,用于依据所述验证码,以及所述第一终端设备的识别码计算所述加密因子。
[0202] 上述实施例中,可选的,计算模块173的另一种结构示意图如图19所示,可以包括:
[0203] 第二计算单元191,用于依据所述验证参数、所述第一终端设备的识别码,以及所述第一终端设备接收到所述验证参数时的时间戳计算所述加密因子。
[0204] 本申请还提供一种终端设备,该终端设备具有如图17至图19任意一图所示实施例所述的通信装置。
[0205] 下面对本发明实施例提供的终端设备的硬件结构进行描述,下文描述中涉及通信方法的部分,可参照上文图5所示实施例。该终端设备可以为手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑等任意通信设备,以终端设备为手机为例:
[0206] 图20示出的是与本发明实施例提供的终端设备相关的手机的部分结构的框图。参考图20,手机包括:射频(Radio Frequency,RF)电路1110、存储器1120、输入单元1130、显示单元1140、传感器1150、音频电路1160、无线保真(wireless fidelity,WiFi)模块1170、处理器1180、以及电源1190等部件。本领域技术人员可以理解,图20中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0207] 下面结合图20对手机的各个构成部件进行具体的介绍:
[0208] RF电路1110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1180处理;另外,将设计上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low  Noise Amplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobile communication,GSM)、通用分组无线服务(General Packet Radio Service,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE))、电子邮件、短消息服务(Short Messaging Service,SMS)等。
[0209] 存储器1120可用于存储软件程序以及模块,处理器1180通过运行存储在存储器1120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0210] 输入单元1130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1130可包括触控面板1131以及其他输入设备1132。触控面板1131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1131上或在触控面板1131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1180,并能接收处理器1180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1131。除了触控面板1131,输入单元1130还可以包括其他输入设备1132。具体地,其他输入设备1132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0211] 显示单元1140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1140可包括显示面板1141,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1141。进一步的,触控面板1131可覆盖显示面板1141,当触控面板1131检测到在其上或附近的触摸操作后,传送给处理器1180以确定触摸事件的类型,随后处理器1180根据触摸事件的类型在显示面板1141上提供相应的视觉输出。虽然在图12中,触控面板1131与显示面板1141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1131与显示面板1141集成而实现手机的输入和输出功能。
[0212] 手机还可包括至少一种传感器1150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板
1141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
[0213] 音频电路1160、扬声器1161,传声器1162可提供用户与手机之间的音频接口。音频电路1160可将接收到的音频数据转换后的电信号,传输到扬声器1161,由扬声器1161转换为声音信号输出;另一方面,传声器1162将收集的声音信号转换为电信号,由音频电路1160接收后转换为音频数据,再将音频数据输出处理器1180处理后,经RF电路1110以发送给比如另一手机,或者将音频数据输出至存储器1120以便进一步处理。
[0214] WiFi属于短距离无线传输技术,手机通过WiFi模块1170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图20示出了WiFi模块1170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
[0215] 处理器1180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1120内的软件程序和/或模块,以及调用存储在存储器1120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1180可包括一个或多个处理单元;优选的,处理器1180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1180中。
[0216] 手机还包括给各个部件供电的电源1190(比如电池),优选的,电源可以通过电源管理系统与处理器1180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0217] 尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
[0218] 在本发明实施例中,该通信设备所包括的处理器1180还具有以下功能:
[0219] 向网络服务器发送访问请求;
[0220] 接收验证参数,所述验证参数由网络设备截获所述第一终端向网络服务器发送的访问请求后获取,并向所述第一终端设备发送;
[0221] 依据所述验证参数计算加密因子;
[0222] 向所述网络服务器发送所述加密因子。
[0223] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0224] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0225] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0226] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0227] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0228] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质[0229] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。
对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。