著录项信息
专利名称 | 一种验证方法及系统 |
申请号 | CN201410286028.6 | 申请日期 | 2014-06-24 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-09-10 | 公开/公告号 | CN104038502A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | H04L29/06 | IPC分类号 | H;0;4;L;2;9;/;0;6;;;G;0;6;F;2;1;/;3;6查看分类表>
|
申请人 | 五八同城信息技术有限公司 | 申请人地址 | 天津市滨海新区第一大街79号泰达MSD-C区-C3座2801房间
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 五八同城信息技术有限公司 | 当前权利人 | 五八同城信息技术有限公司 |
发明人 | 李晨;廖禄平;赵剑飞;何松;张爱华 |
代理机构 | 北京律恒立业知识产权代理事务所(特殊普通合伙) | 代理人 | 顾珊;陈轶兰 |
摘要
本发明提供了一种验证方法与系统,该方法包括以下步骤:a)接收验证请求方发送的针对用户的验证请求;b)根据所述请求获取验证码,其中所述验证码包括验证码问题的第一部分、验证码问题的第二部分、…、验证码问题的第N部分以及该验证码问题的验证码答案,其中N≥2且为正整数;c)将所述验证码问题的第一部分通过第一通路发送至该用户,将所述验证码问题的第二部分通过第二通路发送至该用户,…,将所述验证码问题的第N部分通过第N通路发送至该用户;d)接收该用户发送的针对所述验证码问题的反馈;e)将接收的所述反馈与所述验证码答案进行验证;以及f)将验证的结果发送至所述验证请求方。根据本发明的技术方案,可以有效地识别人工操作和机器操作。
1.一种验证方法,包括以下步骤:
a)接收验证请求方发送的针对用户的验证请求,其中所述验证请求附带有用户信息;
b)根据所述请求获取验证码,其中所述验证码包括验证码问题的第一部分、验证码问题的第二部分、…、验证码问题的第N部分以及该验证码问题的验证码答案,其中N≥2且为正整数;
根据所述用户信息确定提供给该用户的验证码等级,并根据所述确定的验证码等级获取与该验证码等级相对应的验证码,其中所述验证码等级根据用户体验度等级及是否加入机器破解难度等级来确定,具体包括如下子步骤:
b1)根据所接收的用户信息更新用户的积分,所述积分表示用户之前的行为特征,所述积分通过如下方式进行用户积分的累积计算:
用户当前积分=用户前一次访问积分‐a1×用户IP地址得分‐a2×验证码输入得分,并且设定每天每个用户增加的积分上限,以及针对不同的恶意行为进行不同分数的扣除,其中a1、a2为权重因子,
其中,所述用户IP地址得分是指通过判断用户的登录与上次访问是否为同一城市的得分,所述验证码输入得分是指为本次验证码之前连续输入错误次数是否超过一定数目的得分;
用户访问特定的域名时,一定时间内超出一定数量的验证码输入会导致验证码锁定;
b2)根据所述用户的积分确定用户的体验度等级并据此确定用户的验证码等级;
b3)判断是否需要增加机器破解难度来改变用户的验证码等级,若需要则根据机器破解难度来确定用户的对应验证码等级;
c)将所述验证码问题的第一部分通过第一通路发送至该用户,将所述验证码问题的第二部分通过第二通路发送至该用户,…,将所述验证码问题的第N部分通过第N通路发送至该用户;
d)接收该用户发送的针对所述验证码问题的反馈;
e)将接收的所述反馈与所述验证码答案进行验证;以及
f)将验证的结果发送至所述验证请求方。
2.如权利要求1所述的验证方法,其中所述验证码问题的第m个部分规定了用户反馈所述验证码问题应遵循的规则,其中m≤N且为正整数。
3.如权利要求1所述的验证方法,其中第一通路、第二通路、…、第N通路为传输数据的不同渠道,所述渠道分别为web渠道、短消息渠道、电子邮件渠道、即时通信软件渠道、彩信渠道中的一种。
4.如权利要求1所述的验证方法,其中步骤d进一步为:通过所述第一通路、第二通路、…、第N通路中的一条通路接收该用户发送的针对所述验证码问题的反馈。
5.如权利要求1所述的验证方法,其中所述用户信息选自用户之前行为的累积信息、用户访问的域名、用户在所登录访问页面下的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数中的一项或多项。
6.如权利要求1所述的验证方法,其中所述积分根据用户的上一次登录的积分、上一次的访问信息以及本次访问的信息进行累积计算的。
7.如权利要求1所述的验证方法,其中所述步骤b3中根据用户信息中违规操作记录的程度或用户的操作页面的类型来确定是否需要加入机器破解难度。
8.一种验证系统,包括验证码服务器以及验证码库,其中,
所述验证码服务器用于:接收来自验证请求方的针对用户的验证请求,所述验证请求附带有用户信息;所述验证码服务器根据接收的用户信息确定提供给该用户的验证码等级,获取与该验证码等级相对应的验证码,所述验证码等级的获取通过如下方式获取:
a)根据所接收的用户信息更新用户的积分,其中所述积分表示用户之前的行为特征,所述用户的积分通过如下方式进行用户积分的累积计算:
用户当前积分=用户前一次访问积分‐a1×用户IP地址得分‐a2×验证码输入得分,并且设定每天每个用户增加的积分上线,以及针对不同的恶意行为进行不同分数的扣除,其中a1、a2为权重因子,
其中,所述用户IP地址得分是指通过判断用户的登录与上次访问是否为同一城市的得分,所述验证码输入得分是指为本次验证码之前连续输入错误次数是否超过一定数目的得分;
用户访问特定的域名时,一定时间内超出一定数量的验证码输入会导致验证码锁定;
b)根据所述用户的积分确定用户的体验度等级并据此确定用户的验证码等级;
c)判断是否需要增加机器破解难度来改变用户的验证码等级,若需要则根据机器破解难度来确定用户的对应验证码等级;
根据接收到的验证码等级在所述验证码库中获取相对应的验证码;其中所述验证码包括验证码问题的第一部分、验证码问题的第二部分、…、验证码问题的第N部分以及该验证码问题的验证码答案;将所述验证码问题的第一部分通过第一通路发送至该用户,将所述验证码问题的第二部分通过第二通路发送至该用户,…,将所述验证码问题的第N部分通过第N通路发送至该用户;接收该用户发送的针对所述验证码问题的反馈,并将接收的所述反馈与所述验证码答案进行验证,其中N≥2且为正整数;将验证结果发送至所述验证请求方;
所述验证码库设置用于存储验证码。
9.如权利要求8所述的验证系统,其中所述验证码问题的第m个部分规定了用户反馈所述验证码问题应遵循的规则,其中m≤N且为正整数。
10.如权利要求8所述的验证系统,其中所述第一通路、第二通路、…、第N通路为传输数据的不同渠道,所述渠道分别为web渠道、短消息渠道、电子邮件渠道、即时通信软件渠道、彩信渠道中的一种。
11.如权利要求8所述的验证系统,其中所述验证码服务器通过所述第一通路、第二通路、…、第N通路中的一条通路接收该用户发送的针对所述验证码问题的反馈。
12.如权利要求8所述的验证系统,其中所述用户信息选自用户上一次登录的积分、用户访问的域名、用户在所登录访问页面下的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数中的一项或多项,其中所述积分表示用户之前的行为特征。
13.如权利要求8所述的验证系统,其中所述积分根据用户的上一次登录的积分、上一次的访问信息以及本次访问的信息进行累积计算的。
14.如权利要求8所述的验证系统,其中根据用户信息中违规操作记录的程度或用户的操作页面的类型来确定是否需要加入机器破解难度。
一种验证方法及系统\n技术领域\n[0001] 本发明涉及验证码方法与系统,特别涉及一种基于多通路的验证系统和方法。\n背景技术\n[0002] 通常,验证码的目的是区别人工操作和计算机操作,但随着OCR(Optical \nCharacter Recognition)光学识别技术的发展,现有的验证码破解程序可以通过图片识别和短信回填来破解一般的验证码,造成验证码未能进行有效验证。\n[0003] 一般来说,现有的验证方法一般包括:\n[0004] 1.短信数字验证码;\n[0005] 2.图片验证码;\n[0006] 3.高级数学公式验证码。\n[0007] 但是,由于现有的验证方法不足以应付高级验证码破解程序,即OCR光学识别技术和短信猫设备。\n[0008] 因此,需要一种能有效地验证的方法,能够避免OCR光学识别技术和短信猫设备等高级验证码破解程序。\n发明内容\n[0009] 本发明的目的在于提供一种验证码方法与系统。\n[0010] 根据本发明的实施方式,验证码方法包括以下步骤:\n[0011] a)接收验证请求方发送的针对用户的验证请求;\n[0012] b)根据所述请求获取验证码,其中所述验证码包括验证码问题的第一部分、验证码问题的第二部分、…、验证码问题的第N部分以及该验证码问题的验证码答案,其中N≥2且为正整数;\n[0013] c)将所述验证码问题的第一部分通过第一通路发送至该用户,将所述验证码问题的第二部分通过第二通路发送至该用户,…,将所述验证码问题的第N部分通过第N通路发送至该用户;\n[0014] d)接收该用户发送的针对所述验证码问题的反馈;\n[0015] e)将接收的所述反馈与所述验证码答案进行验证;以及\n[0016] f)将验证的结果发送至所述验证请求方。\n[0017] 根据本发明的实施方式,验证系统包括验证码服务器以及验证码库,其中,[0018] 验证码服务器用于接收针对用户的验证请求,根据验证请求从验证码库中获取验证码,其中验证码包括验证码问题的第一部分、验证码问题的第二部分、…、验证码问题的第N部分以及该验证码问题的验证码答案;验证码服务器将所述验证码问题的第一部分通过第一通路发送至该用户,将验证码问题的第二部分通过第二通路发送至该用户,…,将验证码问题的第N部分通过第N通路发送至该用户;验证码服务器接收该用户发送的针对所述验证码问题的反馈,并将接收的所述反馈与验证码答案进行验证,其中N≥2且为正整数;\n[0019] 验证码库设置用于存储验证码。\n[0020] 根据本发明公开的实施方式,通过运用多个通路传输验证码问题的多个部分从而进行匹配的方法与系统,有效地识别人工操作和机器操作。根据本发明公开的一些实施例,还可以根据用户友好度和机器破解难度来确定验证码等级。这样既可以防止恶意破解密码、刷票、论坛灌水等网络不安全、不公平行为,又可以使得普通用户具有良好的用户体验。\n[0021] 应当理解,前述大体的描述和后续详尽的描述均为示例性说明和解释,并不应当用作对本发明所要求保护内容的限制。\n附图说明\n[0022] 参考随附的附图,本发明更多的目的、功能和优点将通过本发明实施方式的如下描述得以阐明,其中:\n[0023] 图1是根据本发明实施方式的基于多通路的验证方法的流程图。\n[0024] 图2(a)与图2(b)示出根据本发明实施方式的基于多通路的验证码系统的示意性框图。\n[0025] 图3(a)、3(b)和3(c)示出了根据本发明的实施例的验证码的示意图。\n[0026] 图4示出了根据本发明一个实施例的基于双通路的验证方法的示意性流程图。\n[0027] 图5示出了根据本发明一个实施例的确定验证码等级的方法的示意性流程图。\n具体实施方式\n[0028] 通过参考示范性实施例,本发明的目的和功能以及用于实现这些目的和功能的方法将得以阐明。然而,本发明并不受限于以下所公开的示范性实施例;可以通过不同形式来对其加以实现。说明书的实质仅仅是帮助相关领域技术人员综合理解本发明的具体细节。\n[0029] 在下文中,将参考附图描述本发明的实施例。在附图中,相同的附图标记代表相同或类似的部件,或者相同或类似的步骤。\n[0030] 图1是根据本发明一实施例的验证方法的示意性流程图。如图1所示,根据本发明一个实施例的验证方法包括以下步骤:\n[0031] 步骤100:接收验证请求方发送的针对用户的验证请求。\n[0032] 在本发明一实施例中,验证请求方可为服务器、客户端或用户等等。其中用户的行为可以触发验证动作,使得服务器根据用户的行为发起针对用户的验证请求。其中用户的行为包括但不局限于登录,发帖,修改帖子,回帖,发消息等等。用户的行为也不限定于在网页上操作,还可以包括在app等应用软件上的操作。\n[0033] 在本发明一实施例中,验证请求中附带有该用户的用户信息。用户信息例如可以是用户之前行为的累积信息(如以积分形式呈现的用户之前行为特征的累积信息)、用户访问的域名、用户在该类页面下或应用软件上的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数中的一项或多项等等。\n[0034] 步骤110:根据验证请求获取验证码。\n[0035] 根据本发明的一实施例,验证码包括验证码问题以及该验证码问题的验证码答案,验证码问题包括:验证码问题的第一部分、验证码问题的第二部分、…、验证码问题的第N部分,N≥2且为正整数。\n[0036] 在本发明一实施例中,根据用户信息用于确定该用户的验证码等级。根据所确定的验证码等级获取与验证码等级相对应的验证码,验证码等级根据用户体验度等级及是否加入机器破解难度等级来确定。\n[0037] 在本发明一实施例中,将根据所接收的用户信息更新用户的积分,其中所述积分表示用户之前的行为特征;再根据所述用户的积分确定用户的体验度等级并据此确定用户的验证码等级;之后判断是否需要增加机器破解难度来改变用户的验证码等级,若需要则根据机器破解难度来确定用户的对应验证码等级,在一实例中,根据用户信息中违规操作记录的程度或用户的操作页面的类型来确定是否需要加入机器破解难度。根据本发明一实例,积分是根据用户的上一次登录的积分、上一次的访问信息以及本次访问的信息进行累积计算的。\n[0038] 在本发明一实施例中,验证码问题包括多部分,验证码问题的一些部分例如以图像、数字、字符等方式呈现,例如为一组图片、一串数字、若干个英文字母、一些图标等等,验证码问题的一些部分例如以规定反馈验证码问题时应遵循的规则的形式呈现,例如规定用户应反馈的内容、规定用户应反馈的方式、或是与验证码答案具有逻辑关系的内容等等。例如包括字符显示顺序、基于常理的文字组合顺序、基于问答的文字语义和数理推断、简单的数学运算等逻辑关系。又例如用鼠标某个键依一定次序点击屏幕上的特定区域、念出或说出相应的文字、在屏幕上画出一定的图形等等。\n[0039] 本领域技术人员应该理解的是,验证码问题并不局限于两部分,其可包括更多个部分。其每部分的内容也不限定于上述所列举的两种内容,还可以包括其他内容。根据本发明公开的技术方案,验证码问题的各部分的内容可以相同或者不同。\n[0040] 在一实施例中,验证码问题包含了体现用户对验证码问题进行反馈所应遵循的规则的规定。这些规则并非单纯提示用户对验证码问题所包含的信息(例如图片信息、文字信息等等)进行识别并输入,这些规则使得用户需先对验证码问题所包含的信息进行分析、分类、归纳、运算等等逻辑推理或者逻辑运算,方可对验证码问题进行正确的反馈。在一些实例中,还需用户运用一些基本常识方可做出正确的反馈。\n[0041] 举例来说,例如,验证码问题包括两个部分,其第一部分为一组图片,其第二部分规定用户应按一定的逻辑反馈与该组图片有关的信息。如验证码问题的第一部分呈现三幅图片,即图1为红旗、图2为绿草、图3为蓝天,验证码问题的第二部分规定:用户应顺次反馈显示红旗、蓝天、绿草的图片的编号,即对应该验证码问题的答案为:132;再例如,验证码问题包括三个部分,其第一部分为一串数字例如1、2、3、4、5,第二部分规定用户应反馈这些数字之和以及这些数字之乘积,第三部分规定用户需先反馈这些数字之和,再反馈这些数字之乘积,即对应该验证码问题的答案为:15,120。又例如,验证码问题的第一部分显示某种动物的图片(例如熊猫),验证码的第二部分规定:用户应输入该图片所示动物的主要食物(例如竹子)。再例如,验证码问题的第一部分显示某诗句的上句,验证码问题的第二部分规定用户应反馈该上句的下句。关于验证码详细示例将在图3中进行详细说明。\n[0042] 根据上述实施例,验证码问题中除包含图像、数字、字符、图标等信息外,还包含反馈验证码问题所应遵循的规则,这些规则要求反馈验证码问题时需进行逻辑操作,识别技术仅能够对验证码问题中所包含的信息进行识别,其本身无法进行逻辑判断,亦没有思考的能力,自动发送设备也仅能够实现信息的传输,因此依靠识别技术以及发送设备将无法识别此类验证码问题,此类验证码能够实现有效地验证。\n[0043] 步骤120:将验证码问题的第一部分通过第一通路发送至该用户,将验证码问题的第二部分通过第二通路发送至该用户,…,将验证码问题的第N部分通过第N通路发送至该用户。\n[0044] 在本发明一实施例中,验证码问题的各部分可以分别通过不同的通路发送至用户。即第一通路、第二通路、…、第N通路为传输数据的不同渠道。所述渠道可以为web渠道、短消息渠道、电子邮件渠道、即时通信软件渠道、彩信渠道等等。上述通路可基于具有计算功能和数据通信能力的任何设备搭建,如台式计算机(PC机)、膝上型计算机、电话、智能电话、个人数字助理(PDA)、平板电脑、游戏机、多功能移动终端等。所述通路例如基于网络建立,所述网络选自有线网络、WiFi、Zigbee、WLAN、GPRS、蜂窝网络、GSM网络、3G网络、LTE网络或CDMA网络、蓝牙、NFC、红外线、超声波、Wireless USB、RFID中的至少一种。例如,验证码问题的第一部分通过web渠道发送至用户的客户端,从而发送至用户,优选地,对应于该验证码的标识(如key)也将发送至客户端。而验证码问题的第二部分通过短消息渠道发送至用户的短消息接收端,从而发送至用户,而验证码的第三部分通过软件程序(例如即时通信软件渠道)发送至用户的移动端,从而发送至用户,…,验证码的第N-1部分通过电子邮件渠道发送至用户的邮件接收端,从而发送至用户,验证码的第N部分通过彩信渠道发送至用户的手机,从而发送至用户。本领域技术人员应当理解,本发明的技术方案并不局限于上述所列举的实施例或实例中,验证码问题可通过更多的渠道发送至用户。同时,本发明对于验证码问题各部分的发送顺序并不予以限定,各部分可依一定顺序发送,亦可同时发送。\n[0045] 在本发明一实施例中,验证码问题的各部分均包含与该验证码相联系的标识,用于与该验证码的验证码答案相对应。验证码问题可以采用文字、符号、图片、视频、语音等多种形式,用户通过查看、收听或收看验证码问题从而逻辑推理或计算得出对该验证码问题的反馈。\n[0046] 步骤130:接收用户发送的针对验证码问题的反馈。\n[0047] 在本发明一实施例中,通过第一通路、第二通路、…、第N通路中的一条通路接收该用户发送的针对所述验证码问题的反馈。在本发明一实施例中,可以通过与将验证码问题发送至用户的通路不同的另一种通路接收用户发送的反馈。在本发明一实施例中,可以通过web渠道接收用户发送的针对验证码问题的反馈。在本发明一实施例中,例如可以通过短消息渠道、软件程序(例如即时通信软件)、电子邮件渠道、或彩信渠道等等渠道接收用户发送的针对验证码问题的反馈。\n[0048] 其中,用户可以多种方式对验证码问题进行反馈。例如用户可反馈文字、数字等字符,也可反馈语音、手势等。\n[0049] 步骤140:将接收的反馈与验证码答案进行验证。\n[0050] 在一实施例中,验证的方法为将接收的反馈与验证码答案进行匹配,如二者匹配则验证成功,否则验证不成功。\n[0051] 在一实施例中,反馈中包括与所反馈的验证码相联系的标识,其包括但不限定于用户id、验证码标识(如key)等等,以助于将反馈与相关的验证码答案相对应。\n[0052] 步骤150:将验证的结果发送至验证请求方。\n[0053] 在本发明一实施例中,除将验证的结果发送至验证请求房外,验证成功与否还可触发下一步操作,例如,如验证成功,可向用户发送提示告知用户验证成功,或允许用户进行后续的操作如登录服务器、浏览信息、浏览查询结果等;如验证失败,则可以向用户发送提示告知用户验证失败,可以更新用户信息并接收发起的新的验证请求,即返回到步骤\n100,同时更新用户的操作记录。如果错误次数过多,可向用户发送拒绝响应,或提示隔一段时间再发起验证请求。\n[0054] 图2示出了根据本发明一实施例的验证系统的示意性框图。如图2所示,根据本发明的验证系统包括验证码服务器210以及验证码库220。图2(a)示出了验证码服务器210和验证码库220为分开的实体的情况,图2(b)示出了验证码服务器210和验证码库220为一体的情况。\n[0055] 验证码服务器210接收针对用户的验证请求。在一实施例中,验证请求附带有用户信息。用户信息例如可以是用户之前行为的累积信息(如以积分形式呈现的用户之前行为特征的累积信息)、用户访问的域名、用户在该类页面下或应用软件上的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数中的一项或多项等等。\n[0056] 在本发明一实施例中,验证动作可以由用户的行为引起,从而触发针对用户的验证请求。其中用户的行为包括但不局限于登录,发帖,修改帖子,回帖,发消息等等。用户的行为也不限定于在网页上操作,还可以包括在app等应用软件上的操作。\n[0057] 在本发明一实施例中,验证请求中附带有该用户的用户信息。用户信息例如可以是用户之前行为的累积信息(如以积分形式呈现的用户之前行为特征的累积信息)、用户访问的域名、用户在该类页面下或应用软件上的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数中的一项或多项等等。\n[0058] 验证码服务器210根据验证请求从验证码库220中获取验证码。验证码包括验证码问题以及与该验证码问题相对应的验证码答案。其中验证码问题包括验证码问题的第一部分、验证码问题的第二部分、…、以及验证码问题的第N部分。其中N≥2且为正整数。\n[0059] 在本发明一实施例中,验证码服务器210可根据用户信息确定该用户的验证码等级,并根据所确定的验证码等级在验证码库220中获取与验证码等级相对应的验证码,验证码等级根据用户体验度等级及是否加入机器破解难度等级来确定。\n[0060] 在本发明一实施例中,用户的积分可根据所接收的用户信息而被更新,其中所述积分表示用户之前的行为特征;再根据所述用户的积分确定用户的体验度等级并据此确定用户的验证码等级;之后判断是否需要增加机器破解难度来改变用户的验证码等级,若需要则根据机器破解难度来确定用户的对应验证码等级,在一实例中,根据用户信息中违规操作记录的程度或用户的操作页面的类型来确定是否需要加入机器破解难度。根据本发明一实例,积分是根据用户的上一次登录的积分、上一次的访问信息以及本次访问的信息进行累积计算的。\n[0061] 验证码服务器210将获取的验证码问题的第一部分通过第一通路发送至该用户,将所述验证码问题的第二部分通过第二通路发送至该用户,…,将所述验证码问题的第N部分通过第N通路发送至该用户;验证码服务器210接收该用户发送的针对所述验证码问题的反馈,并将接收的所述反馈与所述验证码答案进行验证。\n[0062] 在本发明一实施例中,验证码问题包括多部分,验证码问题的一些部分例如以图像信息、数字信息、字符信息等方式呈现,例如为一组图片、一串数字、若干个英文字母、一些图标等等,验证码问题的一些部分例如以规定反馈验证码问题应遵循的规则的形式呈现,例如规定用户应反馈的内容、规定用户应反馈的方式等等。例如包括字符显示顺序、基于常理的文字组合顺序、基于问答的文字语义和数理推断、简单的数学运算等逻辑关系。本领域技术人员应该理解的是,验证码问题并不局限于两部分,其可包括更多个部分。其每部分的内容也不限定于上述所列举的两种内容,还可以包括其他内容,亦或验证码问题的一部分中包括上述列举的多种内容。根据本发明公开的技术方案,验证码问题的各部分的内容可以相同或者不同。\n[0063] 在一实施例中,验证码问题包含了用户对验证码问题进行反馈所应遵循的规则。\n这些规定并非单纯提示用户对验证码问题所包含的信息(例如图片信息、文字信息等等)进行识别并输入,这些规定使得用户需先对验证码问题所包含的信息进行分析、分类、归纳、运算等等逻辑操作,方可对验证码问题进行正确的反馈。在一些实例中,还需用户运用一些基本常识方可做出正确的反馈。\n[0064] 根据上述实施例,验证码问题中除包含图像、数字、字符、图标等信息外,还包含反馈验证码问题所应遵循的规则,这些规则要求反馈验证码问题时需进行逻辑操作,识别技术仅能够对验证码问题中所包含的信息进行识别,其本身无法进行逻辑判断,亦没有思考的能力,自动发送设备也仅能够实现信息的传输,因此依靠识别技术以及发送设备将无法识别此类验证码问题,此类验证码能够实现有效地验证。\n[0065] 在本发明一实施例中,验证码问题的各部分均包含该验证码的标识,用于与该验证码的答案相对应。验证码问题可以采用文字、符号、图片、视频、语音等多种形式,用户通过查看、收听或收看验证码问题从而逻辑推理或计算得出对该验证码问题的反馈。\n[0066] 在本发明一实施例中,验证码服务器210将验证码问题的各部分分别通过不同的通路发送至用户。第一通路、第二通路、…、第N通路为传输数据的不同渠道。所述渠道可以为web渠道、短消息渠道、电子邮件渠道、即时通信软件渠道、彩信渠道等等。例如,验证码服务器210将验证码问题的第一部分通过web渠道发送至用户的客户端,从而发送至用户,优选地,对应于该验证码的标识(如key)也将发送至客户端。而验证码问题的第二部分例如通过短消息渠道发送至用户的短消息接收端,从而发送至用户,而验证码的第三部分可通过软件程序(例如即时通信软件)发送至用户的移动端,从而发送至用户,…,验证码的第N-1部分通过电子邮件渠道发送至用户的邮件接收端,从而发送至用户,验证码的第N部分通过彩信渠道发送至用户的手机,从而发送至用户。本领域技术人员应当理解,本发明的技术方案并不局限于上述所列举的实施例或实例中,验证码服务器210可将验证码问题通过更多的渠道发送至用户。同时,本发明对于验证码问题各部分的发送顺序并不予以限定,各部分可依一定顺序发送,亦可同时发送。\n[0067] 验证码服务器210接收用户发送的验证码问题的反馈。在本发明一实施例中,验证码服务器210通过一条通路接收验证码问题的反馈。用于接收反馈的通路可以为用于发送验证码问题的多个通路中的一条,也可以不在发送验证码问题的多个通路中。在本发明一实施例中,可以通过web渠道接收用户发送的针对验证码问题的反馈。在本发明一实施例中,例如可以通过短消息渠道、软件程序(例如即时通信软件)、电子邮件渠道、或彩信渠道等等渠道接收用户发送的针对验证码问题的反馈。\n[0068] 其中,用户可以多种方式对验证码问题进行反馈。例如用户可反馈文字、数字等字符,也可反馈语音、手势等。\n[0069] 验证码服务器210将接收到的验证码问题的反馈与验证码答案进行验证,在一实施例中即为将二者进行匹配,如二者匹配则验证成功,否则验证不成功。在一实施例中,反馈中包括与相关验证码相联系的标识,其包括但不限定于用户id、验证码的标识(如key)等等,以助于将反馈与相关的验证码答案相对应。\n[0070] 在本发明一实施例中,验证成功与否可触发下一步操作,例如验证成功时,可向用户发送提示告知用户验证成功,或允许用户进行后续的操作如登录服务器、浏览信息、浏览查询结果等;如验证失败,则可以向用户发送提示告知用户验证失败,可以更新用户信息并接收发起的新的验证请求,同时更新用户的操作记录。如果错误次数过多,可向用户发送拒绝响应,或提示隔一段时间再发起验证请求。\n[0071] 验证码库220用于存储验证码。在一实施例中,验证码库220划分为多个区域。在一实例中,验证码库220的不同区域用于存储不同类型的验证码。验证码库220可以位于验证码服务器210内部,或为单独存在的实体。\n[0072] 图3(a)-3(c)分别示例性地示出了根据本发明的实施方式的验证码系统的几种不同类型的验证码的示意图。如图3(a)所示,通过第一通路,例如web渠道,传输验证码问题第一部分:“请按照短信发送的数字顺序用鼠标左键依次点击图片上的数字”以及一组包含4位验证码数字2970的图片。第二通路示例性地为短消息渠道,传输验证码问题第二部分,其中包括数字信息“9270”以及规则性内容“请您根据数字顺序用鼠标左键依次点击屏幕上的数字完成验证”。用户根据经第二通路接收到的验证码问题第二部分,进行逻辑解读,然后通过第一渠道按照“9270”的顺序依次点击验证码问题所显示的图片上的数字“9”、“2”、“7”和“0”,从而反馈“9270”。然后,将输入的验证码反馈提交至验证码服务器。\n[0073] 如图3(b)所示,通过第一通路,例如web渠道,传输验证码问题第一部分“请按照手机验证码的文字顺序用鼠标左键依次点击图片上的字”以及一组包含9个汉字的图片至用户。通过第二通路,例如短消息渠道,传输验证码第二部分,其中包括文字信息“熊票果帅”以及规则性内容“请您根据文字顺序用鼠标左键依次点击屏幕上的数字完成验证”。用户根据通过第一和第二通路接收到的验证码问题,进行逻辑解读,然后按照“熊票果帅”的顺序依次点击验证码问题所显示的图片上的字“熊”、“票”、“果”和“帅”,从而通过客户端输入验证码反馈“熊票果帅”,然后反馈至验证码服务器。\n[0074] 如图3(c)所示,第一通路例如为web渠道。传输验证码问题第一部分“请您根据手机验证码的前一句诗,按照后一句诗的顺序用鼠标左键依次点击图上的文字”以及一组包含5个汉字的图片至用户。通过第二通路,例如即时通信软件渠道,收到验证码问题第二部分,其中包括文字信息“床前明月光”以及规则性信息“请您根据上一句诗,按照后一句诗的顺序,用鼠标左键依次点击屏幕上的文字”。用户根据第一通路与第二通路传输的验证码问题,进行逻辑解读,然后通过第一通路,顺序依次点击验证码问题第一部分所显示的图片上的字“疑”、“是”、“地”、“上”和“霜”,从而输入验证码反馈“疑是地上霜”,并将输入的验证码反馈提交至验证码服务器。\n[0075] 本领域技术人员可以理解的是,上述图3(a)-(c)所示的验证码问题仅仅是示例性的,除了所示例性的验证码问题,验证码问题所包含的逻辑关系还包括但不限于以下几种方式:字符显示顺序、基于常理的文字组合顺序(如常用诗句、常用俗语、歇后语等)、基于问答的文字语义、数字基本运算形式和数理推断等关系等等。优选的,可以通过调配数字位数和干扰项数目调整概率难度,从而使得验证码具有不同的等级难度,以适应不同验证场景的需求。例如当需要进行金融类支付场景时,则要求难度较高;需要进行发帖等简单场景时,要求难度较低。\n[0076] 根据本发明的实施方式,采用第一通路作为信息展现通道,向用户提供一部分验证码问题,配合以不同的第二通路、第三通路、…、第N通路向用户提供其他部分验证码问题,使之之间具有逻辑关联的信息内容进行匹配,完成验证程序。验证码信息内容中含有机器难以识别的双通道逻辑关联验证码,用户能够容易清晰地进行逻辑解读,但是机器却很难识别。可以达到有效区分人与机器的效果,较好地防止了机器破解。\n[0077] 优选的,为防止机器重复随机测试,可以调配防破解的规则,包括加大内容格式的难度,如增加位数和干扰项,缩小每次试出的概率,增大机器破解难度;可以配置验证码输入错误时的系统响应,包括调整图片验证码的顺序和重新发送手机等移动设备的验证码;\n可以配置同一第二客户端或同一第一客户端在一个时间段内试错次数的限制,如果超过此限制,系统可以拒绝响应,上述所述的时间段可以根据具体应用场景自行配置。\n[0078] 根据本发明的又一实施例,在图1所示的方法中获取验证码的步骤110中,可以将验证码设定为多个等级,针对随用户的访问请求附带的用户信息确定提供给该用户的验证码等级,从而从验证码库中根据相应的验证码等级选取验证码发送客户。在每个等级中,仍可以采用随机选择验证码的方式。所述的验证码等级可以根据用户体验度等级及是否加入机器破解难度等级来确定。\n[0079] 图4示出根据本发明一实施例的带有验证码等级的基于双通路的验证方法的示意性流程图。如图4所示,根据本发明一实施例的验证方法400包括以下步骤:\n[0080] 在步骤405中,验证请求方200基于用户行为向验证码服务器210发出验证请求,所述用户行为例如登陆访问页面,查询信息等。优选地,验证请求附带有用户信息。所述用户信息例如可以是用户上一次登录的信息累积(如以积分形式呈现的用户之前行为特征的累积信息)、用户访问的域名、用户在该类页面下的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数、用户id中的一项或多项等等。\n[0081] 在步骤410中,验证服务器210接收所述验证请求以及用户信息,根据用户信息确定提供给该用户的验证码等级。根据本发明的优选实施例,验证码服务器根据用户信息来确定用户体验度等级以及判断是否加入机器破解难度等级,然后根据用户体验度等级及机器破解难度确定用户的验证码等级。用户体验度等级和机器破解难度确定验证码等级的方法将在下面通过图5详细说明。\n[0082] 在步骤415中,验证码服务器210根据确定的验证码等级在验证码库220中获取相对应的验证码。其中,验证码服务器210将验证码库220中的验证码划分为不同等级,依据验证码的等级为验证码附上相应的等级标识,优选地将验证码库220划分为多个区域,分别存储不同等级的验证码。所述验证码包括验证码问题以及相应的验证码答案。在一实施例中,验证码服务器210包含验证码库220,在另一实施例中,验证码服务器210与验证码库220彼此独立。\n[0083] 在步骤420中,验证码服务器210将获取的相应等级的验证码问题的第一部分通过第一通路发送至用户,将验证码问题的第二部分通过第二通路发送至用户。优选地,验证码服务器210可以将验证码问题的第一部分发送至第一客户端,例如通过web渠道,更优选地,验证码服务器210将对应于该验证码的标识(如key)发送至第一客户端;验证码服务器210将验证码问题的第二部分发送至第二客户端,例如通过短消息渠道。验证码问题至少一个部分中包括反馈验证码问题所涉及的规则,例如包括字符显示顺序、基于常理的文字组合顺序、基于问答的文字语义和数理推断、简单的数学运算等逻辑关系。验证码规则优选为以文字短信、彩信、即时通讯消息、语音等形式。\n[0084] 在步骤425中,验证码服务器210经由第一通路或第二通路接收用户发送的对验证码问题的反馈。在一实施方式中,用户根据通过不同通路接收到的验证码问题,获取其中的信息,对验证码问题中所涉及的规则进行逻辑解读,依验证码问题中所规定的方式在客户端上输入对验证码问题的反馈。输入的方式例如可以直接输入文字、数字等字符,或者点选客户端上呈现的图像,依或通过语音、手势等方式进行输入。其中,如用户通过第一通路(即web渠道)反馈验证码问题,该反馈中包含验证码标识(例如key)。如用户通过第二通路(即短消息渠道)反馈验证码问题,该反馈中包含该用户的用户id。\n[0085] 在步骤430中,验证码服务器210对用户输入的验证码反馈进行校验。在一实施方式中,验证码服务器210将用户对验证码问题的反馈与验证码答案进行匹配,从而进行验证。其中,由于用户的反馈中包含验证码标识或用户id,因此可使用户反馈与相关的验证码答案相对应,以便校验反馈与相关的验证码答案不相符。\n[0086] 在步骤435中,验证码服务器210将验证的结果发送至验证请求方。\n[0087] 根据校验的结果触发进一步的操作。校验结果可以分为校验成功和校验失败,分别对应于用户输入的验证码与校验码服务器提供的校验码一致的情况和不一致的情况。当校验成功时,可以触发进行下一步操作,例如在第一客户端提示用户通过验证,或允许用户进行后续的操作;当校验失败时,则可以在第一客户端提示用户验证失败,此时可以刷新用户信息并发送新的请求验证,即返回到步骤405,还可更新用户的操作记录。在一实施例中,如果错误次数过多,就会出现系统拒绝响应,或提示用户隔一段时间再获取验证码。\n[0088] 图5示出了根据本发明一个实施例的确定验证码等级的方法的示意性流程图。根据本发明实施例的验证码等级的确定方法500包括以下步骤:\n[0089] 在步骤510中,收集发出访问请求的用户的信息。用户信息可以包括但不限于用户最近一次登录的信息、积分、访问的域名、用户在该类页面下的操作记录、发帖记录、用户的违规操作记录、连续错误输入验证码次数、连续更换验证码次数中的一项或多项等。\n[0090] 在步骤520中,根据用户信息更新用户的积分。根据本发明的实施例,以用户积分的方式来实现用户等级的划分,也就是将用户的行为特征计算为特定的分数来表示用户当前的特征。更优选地,该用户积分对于用户是隐藏不可见的。\n[0091] 根据本发明的一个实施例,验证码服务器210为用户创建一个初始积分,当用户进行操作或再次访问时,在次初始积分的基础上不断进行更新。如上所示的例子为用户的积分随着用户的异常操作行为而不断减少的情况,也可以采用随着用户的正常操作行为而不断增加积分的情况。\n[0092] 根据本发明的一个实施例,用户的积分可以进行累积计算的,即可以根据用户的上一次登录的积分、上一次的访问信息以及本次访问的信息,如访问域名、用户IP地址、用户的账户信息、用户的历史操作记录、连续错误验证码输入次数等更新用户的本次登录的积分。根据一个实施例,可以按如下公式进行用户积分的计算:\n[0093] 用户当前积分=用户前一次访问积分-a1×用户IP地址得分-a2×验证码输入得分[0094] 其中,用户IP地址得分例如通过判断用户的登录与上次访问是否为同一城市,是则为0,否则为1。验证码输入得分例如为本次验证码之前连续输入错误次数是否超过一定数目,例如当连续输入次数超过三次时则为1,否则为0。更优选地,还可以为本次访问信息中的每项因素加入权重因子a1、a2,对应于不同的考虑因素为其赋予不同的权重值。\n[0095] 根据本发明的一个实施例,例如,一个新用户的初始积分可以设定0分,当用户进行正常规范的操作,一次操作完成后就可以增加相应的积分,如发一篇贴加5分,回复加1分,在线时长累计2小时加3分等等。优选地,为了防止恶意用户在短时间内提高积分以提高权限,可以设定每天每个用户增加的积分上限,例如最多增加30分。当用户进行恶意或不规范操作时,可以减少相应的用户积分。例如用户灌水、连续错误输入验证码、连续更换验证码等不规范、不安全行为,或用户连续输入错误验证码,用户发帖被举报并被核实、用户恶意举报他人等情况。可以设定相应的规则对不同的恶意行为扣除不同的分数。例如,当用户操作记录被认定为通过机器程序手段恶意破解验证码,则可以加大分数扣除程度,如机器灌水一次减300分等。若用户发布的信息涉及到违法信息则也可以将用户的积分扣减更多甚至清零。\n[0096] 在步骤530,根据用户的积分确定用户的体验度等级并据此确定用户的验证码等级。\n[0097] 优选地,可以按用户的积分划分多个区间,将不同的积分区间对应于不同的用户体验度等级。例如,用户体验度等级可分为三个等级,高等级、中等级以及低等级,分别对应于不同分数区间的积分,例如低等级对应于0-300分,中等级对应于300-1000,高等级对应于1000-1500分等等。用户体验度等级还可划分为更多个等级,而不限于三个等级。用户体验度等级与之后的验证码等级相匹配,等级越高可以对应于用户在进行验证码验证时的体验度越好。例如,不同的验证码等级对应于不同的体验度等级:\n[0098] 用户体验度等级为高等级时,对应的验证码等级为第1等级,在此等级下,用户的体验度最好,例如验证码可以以直观的方式呈献给用户,用户可以不用思考直接看出验证信息。例如上述图3(a)所示的点选数字的逻辑关系。\n[0099] 用户体验度等级为中等级时,对应的验证码等级为第2等级,在此等级下,用户的体验度中等,例如用户需要通过简单计算给出正确的验证信息,如提示给用户的验证码为3+2,用户需要输入5才能通过验证。\n[0100] 用户体验度等级为低等级时,对应的验证码等级为第3等级,在此等级下,用户的体验度较差,例如用户需要进行一些逻辑思考才可以给出正确的验证信息。例如上述图3(c)所示的诗句搭配逻辑关系。\n[0101] 根据上述步骤520的描述,用户的积分是随着每次验证进行的不同操作而变化的,当用户积分达到一定值时,用户对应的用户体验度等级会提高,此后该用户的验证码匹配变为用户体验度高等级。更优选地,当用户积分达到一定阈值后,还可以设定为不需要验证码。\n[0102] 根据本发明的一个实施例,由于用户每次登录时其用户信息都会被记录,并重新计算其积分,因此当用户再次登录输入验证码的时候,验证码的等级就会对应于积分的改变而改变,这会在用户本次登陆重新获得验证码的时候即发生改变。但是对于用户进行的例如灌水或其他需要人工核定的操作行为,在确定之后,当用户在下一次操作时对应于的体验度的验证码级别就会改变。例如用户下一次发贴时可能就因为验证码级别的提高而变为更为简单的验证码形式。如果人工确定时间较长,在确定用户的体验度级别变化的时候,用户已经退出登陆,则用户在下一次登陆时才会改变验证码等级。对用户积分的调整可由验证码服务器实现。在用户访问特定的域名时,例如访问安全性敏感的页面时,一定时间内超过一定数量的验证码输入会导致验证码锁定,即在一定时间内用户无法获得验证码从而导致用户在这一段时间内无法进行操作。\n[0103] 优选地,用户如果有规范安全的操作、良好的其他用户评价、长时间的登陆时间,则可以增加用户隐藏积分从而提升等级,而违规的操作和连续多次错误输入验证码会降低积分从而降低验证码等级。根据本发明的一个优选实施例,积分在验证码服务器210上以区间划分的形式存在,而并不直接显示出等级,只用相应的验证码等级来匹配。\n[0104] 在步骤540中,判断是否需要为用户增加机器破解难度来改变用户的验证码等级。\n如果不需要则直接进入步骤560,若需要则进入步骤550。根据本发明的优选实施例,当用户有过违规操作行为时,验证码服务器210会记录用户的违规操作行为,当用户下次需要输入验证码时,系统会增加额外的验证程序以提高访问的安全性。所述违规行为例如用户的恶意发帖行为、短时间内连续刷新验证码等行为。验证码服务器210会收集用户的信息来判断其中是否有违规操作记录,从而通过额外加入机器破解难度来确定用户的验证码等级。也可以通过用户的操作页面的类型来确定是否需要加入机器破解难度,例如当用户登录对安全级别要求较高的页面进行操作,如改密码或者交易页面。\n[0105] 在步骤550,当确定了需要额外加入机器破解难度来确定用户的验证码等级时,根据加入的机器破解难度来确定用户的对应验证码等级。根据本发明的一个实施例,加入了机器破解难度的验证码等级可分为如下三个等级:\n[0106] 高用户体验度的机器破解难度,对应的验证码等级为第4等级,在此等级下,验证码可为简单的短信验证码,例如向用户发送数字形式的验证码;\n[0107] 中用户体验度的机器破解难度,对应的验证码等级为第5等级,在此等级下,验证码可为带有四则运算的短信验证码,例如向用户发送数字,让用户进行简单四则运算,以正确的运算结果作为验证码;\n[0108] 低用户体验度的机器破解难度,对应的验证码等级为第6等级,在此等级下,验证码可为带有逻辑问题的短信验证码,例如向用户发送一些简单常识的问题,以正确答案或者正确答案选项作为验证码。\n[0109] 机器破解难度的等级划分类似于上面步骤530中的方法,即可以根据用户的积分确定用户的体验度等级并据此确定用户的验证码等级。优选地,可以按用户的积分划分多个区间,将不同的积分区间对应于不同的用户体验度等级。例如,用户体验度等级可分为三个等级,高等级、中等级以及低等级,分别对应于不同分数区间的积分,例如低等级对应于\n0-300分,中等级对应于300-1000,高等级对应于1000-1500分等等。用户体验度等级还可划分为更多个等级,而不限于三个等级。用户体验度等级与之后的验证码等级相匹配,等级越高可以对应于用户在进行验证码验证时的体验度越好。\n[0110] 当确定了需要额外加入机器破解难度来确定用户的验证码等级时,用户进入验证界面后,不会直接在用户终端上显示验证码,而是通过其他渠道显示验证码,例如显示为用户输入手机号或邮箱地址等其他渠道接收验证码,进行验证码的验证。\n[0111] 如果用户没有违规记录,那么分配给用户的验证码只会在不带有机器破解难度的验证码等级中选择(例如验证码第1-3等级)。如果用户有违规记录,那么分配给他的验证码就会在带有机器破解难度的验证码等级中选择(例如验证码第4-6等级)。如果在有违规记录之后,用户操作记录转为良好,那么分配给他的验证码将会转而回到验证码等级1-3中选择。\n[0112] 根据本发明一个实施例的用户友好度等级和机器破解难度确定验证码等级,根据所述验证码等级匹配相应的验证码,同一等级也可以有多种验证码类型并可以随机生成。\n验证码例如可以包括,传统图片验证码的字体变换、阴影区域干扰、颜色填充干扰、字体重合干扰或者照片形式的图片验证码、图片运算式或者照片运算式,两个数之间运算或者三个数之间运算;带逻辑的验证码,例如比较几张图片,找出不同的一个或者找出位置方向正确的一个等类似需要逻辑思考的问题;短信或邮件验证码,例如发送数字验证码。带有四则运算的短信验证码,向用户发送数字,让用户进行简单四则运算得到结果作为验证码,带有逻辑问题的短信验证码,向用户发送一些简单常识的问题,正确答案或者正确答案选项作为验证码等等。\n[0113] 根据本发明的基于多通路的验证码系统以及验证方法,通过运用多个通路传输验证码问题的各部分并接收用户的反馈,有效地识别人工操作和机器操作。与此同时能增加验证码的趣味性,使用户体验不容易受到影响。更优选地,还可以根据用户友好度和机器破解难度来确定验证码等级。这样既可以防止恶意破解密码、刷票、论坛灌水等网络不安全、不公平行为,又可以使得普通用户具有良好的用户体验。\n[0114] 结合这里披露的本发明的说明和实践,本发明的其他实施例对于本领域技术人员都是易于想到和理解的。说明和实施例仅被认为是示例性的,本发明的真正范围和主旨均由权利要求所限定。
法律信息
- 2018-11-13
- 2014-10-15
实质审查的生效
IPC(主分类): H04L 29/06
专利申请号: 201410286028.6
申请日: 2014.06.24
- 2014-09-10
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2003-11-12
|
2003-03-10
| | |
2
| |
2012-01-11
|
2010-06-30
| | |
3
| |
2012-07-18
|
2011-10-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |