限制批量请求服务的方法和装置的制造方法_2

文档序号:8922849阅读:来源:国知局
并行执行256个批处理线程,每线程消耗IM内存,每次注册网络流量消耗8K字节,每个线程I秒注册成功一个新用户,则I分钟可以注册256X60 = 15360个新用户;其资源消耗为内存256X 1M,流量消耗256X8K = 2M字节。
[0040]采用本方法,服务提供者要求请求者每次注册用户需要解决一道题目,其需要的资源提高以CPU以100%负载计算2s、内存消耗1G、网络流量消耗IM字节来计算,对于上面的例子,攻击者如果还是启动256个线程,I分钟内最多只能注册成功30个用户,而资源消耗为CPU负载100%、256G内存消耗、256M字节网络流量。
[0041]图1是根据本发明实施例的限制批量请求服务的方法的主要步骤的示意图。该方法由上述的服务提供者所维护的服务器来执行。
[0042]步骤Sll:服务端接收终端发送的服务请求信息。这里的终端即为用户使用的客户端软件。该服务请求信息可能是正常用户所发送,也可能是恶意用户所发送。
[0043]步骤S12:服务端向该终端发送一个计算题目。如前文所述,该计算题目对于终端的计算资源需求量要大于其对服务端的计算资源需求量,以实现对终端的计算资源的适当消耗。
[0044]步骤S13:服务端接收终端对题目的计算结果。
[0045]步骤S14:服务端验证收到的计算结果是否正确。若正确,进入步骤S15,向终端提供服务;否则进入步骤S16,拒绝向终端提供服务。当然无论结果正确与否,都会向终端发送相应的提示信息。
[0046]为保证解题和验算资源需求的不对称性,需要仔细设计验证题目,以下从三个方面的资源要求来分别阐述。
[0047]CPU计算资源消耗:存在多种非对称算法,例如大数分解,解题的计算复杂度可以通过目标数的位数来控制,解题与验算的计算资源要求具不对称性,验算成本很低(执行有限次的乘法操作);在实际系统中可以使用几种算法交错使用进一步提高安全性。
[0048]内存资源消耗:基于信息不对称性,可通过如下方法实现资源需求的不对称性:对于服务提供者,只需要随机选择一个数据区片作为问题,且只需要保存这一个数据区片(甚至只需要保存该数据区片的摘要);而对于服务请求者,因为不知道服务提供者会要求回答哪个数据区片的数据内容,只能选择保存所有的数据区片。按照这种方式,服务端可以向终端多次地发送服务端设备的内存中的不同数据区片,然后给终端出的题目内容可以是“X区片的数据是什么”,其中X表示指定的一个区片。可以看出这种方式对于服务端和请求服务的终端的内存资源消耗是非对称的。
[0049]网络资源消耗:可以建立一个资料库,资料库中存放一系列指向Internet网上的公开文件的链接,每个文件的数字摘要值都预先算出保存,在验证时服务提供者随机选择一个文件,服务请求者被要求下载此文件,并计算数字摘要值以通过验证。
[0050]图2是根据本发明实施例的限制批量请求服务的装置的主要模块的示意图。该装置作为计算机软件,可设置在上述的服务端设备中。如图2所示,限制批量请求服务的装置20主要包括:接收模块21、出题模块22、以及验证响应模块23。接收模块21用于接收终端发送的服务请求信息;出题模块22用于向所述终端发送一个计算题目,该计算题目对于所述终端的计算资源需求量大于其对所述服务端的计算资源需求量;验证响应模块23用于接收所述终端对所述题目的计算结果,然后对该结果进行验证,若正确,则向所述终端返回表示验证通过的信息,否则向所述终端返回表示验证未通过的信息。
[0051]计算题目可包括用于消耗终端的内存的计算题目。这样,装置20还可包括内存数据发送模块,用于向终端发送服务端设备的内存中的多个数据区片的数据;并且计算题目可包括:要求终端提供所述多个数据区片中的一个指定数据区片中的数据。
[0052]计算题目可包括用于消耗终端的网络资源的计算题目。这样,装置20还可包括网络地址保存模块,用于保存多个网络地址,其中每个网络地址上有一个文件;并且保存所述多个网络地址上的文件的数字摘要值;并且计算题目可包括:要求终端提供所述多个网络地址中的指定网络地址上的文件的数字摘要值。
[0053]根据本发明实施例的技术方案,提供服务的服务端对请求服务的终端出具计算题目,该计算题目对于服务端和终端的计算资源需求是不对称的。这种方式使终端必须解题才可以进一步获得服务,这种限制无法绕过;并且对于仅请求一次或几次的合法终端来说并不消耗太多计算资源,从而不会降低服务的可用性;而对于使用程序恶意批量请求的终端来说则会有效消耗其计算资源使其难以继续进行请求;另外本技术方案显然也避免了现有的以验证码检查终端、手机短信认证终端等方案的局限性。
[0054]以上结合具体实施例描述了本发明的基本原理,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0055]上述【具体实施方式】,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
【主权项】
1.一种限制批量请求服务的方法,其特征在于,包括: 服务端接收终端发送的服务请求信息; 所述服务端向所述终端发送一个计算题目,该计算题目对于所述终端的计算资源需求量大于其对所述服务端的计算资源需求量; 所述服务端接收所述终端对所述题目的计算结果,然后对该结果进行验证,若正确,则向所述终端提供服务,否则拒绝向所述终端提供服务。2.根据权利要求1所述的方法,其特征在于,所述计算题目包括用于消耗所述终端的内存的计算题目。3.根据权利要求2所述的方法,其特征在于, 所述服务端向所述终端发送一个计算题目之前,还包括:所述服务端向所述终端发送服务端设备的内存中的多个数据区片的数据; 所述计算题目包括:要求所述终端提供所述多个数据区片中的一个指定数据区片中的数据。4.根据权利要求1所述的方法,其特征在于,所述计算题目包括用于消耗所述终端的网络资源的计算题目。5.根据权利要求4所述的方法,其特征在于, 所述服务端向所述终端发送一个计算题目之前,还包括:保存多个网络地址,其中每个网络地址上有一个文件;并且保存所述多个网络地址上的文件的数字摘要值; 所述计算题目包括:要求所述终端提供所述多个网络地址中的指定网络地址上的文件的数字摘要值。6.一种限制批量请求服务的装置,其特征在于,包括: 接收模块,用于接收终端发送的服务请求信息; 出题模块,用于向所述终端发送一个计算题目,该计算题目对于所述终端的计算资源需求量大于其对所述服务端的计算资源需求量; 验证响应模块,用于接收所述终端对所述题目的计算结果,然后对该结果进行验证,若正确,则向所述终端返回表示验证通过的信息,否则向所述终端返回表示验证未通过的信息。7.根据权利要求6所述的装置,其特征在于,所述计算题目包括用于消耗所述终端的内存的计算题目。8.根据权利要求7所述的装置,其特征在于, 还包括内存数据发送模块,用于向所述终端发送服务端设备的内存中的多个数据区片的数据; 所述计算题目包括:要求所述终端提供所述多个数据区片中的一个指定数据区片中的数据。9.根据权利要求6所述的装置,其特征在于,所述计算题目包括用于消耗所述终端的网络资源的计算题目。10.根据权利要求9所述的装置,其特征在于, 还包括网络地址保存模块,用于保存多个网络地址,其中每个网络地址上有一个文件;并且保存所述多个网络地址上的文件的数字摘要值; 所述计算题目包括:要求所述终端提供所述多个网络地址中的指定网络地址上的文件的数字摘要值。
【专利摘要】本发明提供一种限制批量请求服务的方法和装置,有助于对批量地请求服务的行为做出限制,并有助于克服现有技术中的一些不足之处。本发明的限制批量请求服务的方法包括:服务端接收终端发送的服务请求信息;所述服务端向所述终端发送一个计算题目,该计算题目对于所述终端的计算资源需求量大于其对所述服务端的计算资源需求量;所述服务端接收所述终端对所述题目的计算结果,然后对该结果进行验证,若正确,则向所述终端提供服务,否则拒绝向所述终端提供服务。
【IPC分类】G06F21/31
【公开号】CN104899482
【申请号】CN201510148230
【发明人】李伟奇
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
【公开日】2015年9月9日
【申请日】2015年3月31日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1