一种对抗程序自动化批量非法行为的方法

文档序号:8301643阅读:420来源:国知局
一种对抗程序自动化批量非法行为的方法
【技术领域】
[0001] 本发明属于网络安全技术领域,具体涉及一种对抗程序自动化批量非法行为的方 法。
【背景技术】
[0002] 随着互联网的快速发展,越来越多的网上交易平台、论坛、技术网站等蓬勃兴起, 同时也面临着各式各样的恶意攻击,其中就包括机器暴力破解密码、批量自动注册与登陆、 论坛灌水、刷页、刷票、大规模匿名发帖、垃圾广告、垃圾邮件等自动化的非法行为。这些恶 意的攻击者为了达到某一目的,同时发起海量的请求,严重时,能致使服务器因为处理大量 请求而使资源耗尽、崩溃,无法正常处理合法用户的请求。
[0003] 当前一般使用Captcha技术来有效抵制这样的攻击。Captcha技术的原理是设计 一种程序来区分人和机器,使得人能够很容易地通过验证,而机器却不能轻而易举地通过 验证,最有代表性的例子就是验证码,它能有效防止黑客采用暴力破解方式进行不断的尝 试,也是现在很多网站通行的方式。
[0004] 研究发现,现有的图片验证码,正常人通过验证的概率为80%?90%,而机器能 通过验证的概率大约30 %左右。如果存在攻击者,进行大量非法的暴力破解,是能通过验证 的,同时频繁的暴力破解,也加大了服务器验证的成本,从而加大了服务器的负担。从理论 上来说,机器能完成人所能做的事情,我们无法区别机器和人。此外,除了暴力破解,OCR识 别以及分布式人工打码等方式都可以破解验证码。另外还有一点就是,Captcha带来的用 户体验并不好,用户需要人工进行验证,对于复杂的验证码,可能正常用户都无法通过。

【发明内容】

[0005] 本发明的目的是提供一种基于密码学的网站通行的对抗程序自动化批量非法行 为的方法,可以有效地控制各种自动化非法请求,包括批量注册与登录、论坛灌水、垃圾邮 件和刷票等行为,并且能从一定程度上缓解和拒绝服务攻击,增强了网络公平性,减小了网 站服务器压力。
[0006] 在本发明中,采用了完全与验证码相悖的思想,不去刻意区分人或者机器,而是通 过某种计算或者验证,来抑制客户自动化操作,使得同一时刻客户端无法发起批量请求,从 而降低服务器的压力。
[0007] 具体来说,本发明采用的技术方案如下:
[0008] -种对抗程序自动化批量非法行为的方法,在客户端(用户)和服务器进行请求 服务与提供服务的过程中,采用K速度不公平加解密算法进行加密和解密,使客户端进行 加密计算的时间成本是服务器端进行解密计算的时间成本的K倍,其中K>1。
[0009] 进一步地,上述方法具体包括如下步骤:
[0010] 1)客户端发起查询请求,随机生成一个数X,并将这个数和自己的ID数Α,即 〈Α,X〉发送给服务器;
[0011] 2)服务器内包含用于进行密钥的生成、管理及存储的密钥生成分配与管理模块, 服务器收到客户端的请求之后,从该密钥生成分配与管理模块中获取密钥e和d,其中e是 用来加密,d用来解密,用e进行加密计算的时间成本是用d进行解密计算的时间成本的K 倍,K>1 ;并同时构造查询需要的凭证<T,Y>,其中T是当前时间,Y是服务器生成的随机数; 服务器将该凭证连同客户端发来的请求〈Α,X,e,Τ,Υ> -起发送至客户端;
[0012] 3)客户端收到服务器的凭证后,从中提取X,判断是否由自己发出,如果是由自己 发出则产生查询条件Q,构成明文M = <Q,Α> ;如果不是由自己发出则不产生查询条件Q ;
[0013] 4)客户端使用e对明文M进行加密,计算得到密文C,将<C,Τ,Υ>发送给服务器;
[0014] 5)服务器获得<C,Τ,Υ>之后先判断<Τ,Υ>的合法性:如果<Τ,Υ>不是自己发出, 则忽视该请求;如果<τ,Υ>是自己发出,则判断<Τ,Υ>在过去一段时间是否出现了多次,如 果出现多次就认为该<τ,Υ>也不合法;如果合法则提取密文C ;
[0015] 6)获得密文C之后,用密钥d进行解密,得到明文Μ,即<Q,Α> ;执行查询条件Q,获 得查询结果R,将结果发送回客户端;
[0016] 7)客户端获得查询条件Q对应的查询结果R,请求服务完成。
[0017] 进一步地,上述步骤4)和步骤6)采用基于Multi-Prime RSA的K速度不公平加解 密算法进行加密和解密,采用对等的公钥和私钥,并用中国剩余定理(Chinese Remainder Theorem, CRT)加速解密过程;或者,上述步骤4)和步骤6)采用基于RSA Time-Lock的K速 度不公平加解密算法进行加密和解密。
[0018] 本发明设计了一种基于公钥密码体制的K速度不公平加解密算法和一种基于K速 度不公平加解密算法的网站通行协议,不仅解决了现有Captcha技术里面的理论缺陷,也 将验证过程完全透明化。客户端想要获得服务,需要进行一定的计算量。这种系统有个显 著的特点就是不对称性:服务请求方必须付出一定的工作量,而服务提供方可以简单进行 验证,不同于Captcha,不是像验证码那样去区分人和机器,而是通过计算与验证的方式完 成服务请求与提供。
[0019] 本发明的技术关键点在于:1、网站通行请求与服务协议;2、采用K速度不公 平加解密算法满足这种网站通行协议;3、基于RSA的4倍不公平加解密算法;4、基于 Multi-Prime RSA的K速度不公平加解密算法;5、基于RSA Time-Lock的K速度不公平加 解密算法。本发明设计的网站通行请求与服务协议以及K速度不公平的非对称加密算法, 两者结合在一起构成了新的网站通行方式,能对抗批量非法行为,具体表现在以下几个方 面:
[0020] 1.网站通行请求与服务协议中客户端随机数X,服务端随机数Y,可以防止重复性 攻击;
[0021] 2.由于服务器解密成本远远低于客户端加密成本,有效降低服务端成本,有效抵 御大量客户端分布式攻击;
[0022] 3.因为高昂的加密计算成本,客户端无法大量的发送查询请求,从而避免单机发 送海量请求,形成批量非法请求与行为,比如恶意破解密码、刷票、论坛灌水等;
[0023] 此外,除了能对抗批量非法行为以外,本发明还具有如下特点:
[0024] 4. K是可控的,意味着可以根据需求设置加密和解密之间的时间比值K。比如,某 段特殊时期,需要设置加密和解密的时间比是1〇〇〇〇:1 ;平常时间,设置加密和解密时间比 是100:1,或者其它数值;
[0025] 5.服务端时间T的控制,以及K速度不公平的非对称加密算法指数一样可以保证 客户端是被公平服务的。
[0026] 本发明将RSA应用推向了一个新的领域,与现有验证码网站通行方式相比,本发 明还有如下优势:
[0027] 1.对用户而言,在验证码情况下,用户必须手动输入结果,用户体验不佳。本发明 通过让协议双方执行一定的计算来抑制同一时间发起大量请求,这个计算过程对用户而言 是透明的。相比于用户通过人工输入验证码,本发明不仅使得用户体验得到了提升,而且人 工操作比机器计算更耗时;
[0028] 2.对客户端而言,在验证码方案的情况下,合法的客户会由于攻击者频繁的非法 行为,导致服务器不能及时处理合法用户的请求;在本发明中,只有计算机配置是相同的, 那么所有客户是被公平服务的;
[0029] 3.对服务器而言,如果对传统验证码技术不断发起验证,那么服务器将会为了验 证是否正确而消耗大量资源。本发明由于抑制了发起请求的速度,同一时刻,不会出现大量 验证请求,服务器也无需进行大量验证工作,而且,对服务器而言,验证的代价低于验证请 求,这样就保证了服务器不会被大量非法行为而消耗资源的情况;
[0030] 4.对攻击
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1