CN106301787A - 一种用时间验证验证码的方法 - Google Patents

一种用时间验证验证码的方法 Download PDF

Info

Publication number
CN106301787A
CN106301787A CN201610661369.6A CN201610661369A CN106301787A CN 106301787 A CN106301787 A CN 106301787A CN 201610661369 A CN201610661369 A CN 201610661369A CN 106301787 A CN106301787 A CN 106301787A
Authority
CN
China
Prior art keywords
time
identifying code
client
code
authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610661369.6A
Other languages
English (en)
Other versions
CN106301787B (zh
Inventor
汪念鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201610661369.6A priority Critical patent/CN106301787B/zh
Publication of CN106301787A publication Critical patent/CN106301787A/zh
Application granted granted Critical
Publication of CN106301787B publication Critical patent/CN106301787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2133Verifying human interaction, e.g., Captcha

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种用时间验证验证码的方法,包括:接收到来自客户端的获取验证码请求时,生成待验证码和参考验证码,确定无效验证时间t;向客户端提供参考验证码,等待接收客户端提交验证码验证信息;若接收到客户端提交的验证码验证信息,则确定验证码验证所花时间T;把所述无效验证时间t与所述验证所花时间T相比较,判断t是否小于T,如果是,则判定用户所提交的所述验证码验证信息有效,否则判定用户所提交的所述验证码验证信息无效。本发明通过把验证码检验和时间相关联,一定程度缓解了恶意程序对破解验证码所产生的影响,同时提高了人们使用互联网的公平性。

Description

一种用时间验证验证码的方法
技术领域
本发明涉及计算机技术领域,具体而言,本发明涉及一种用时间验证验证码的方法。
背景技术
目前,验证码已经被广泛应用在互联网领域。用户在访问网页或在移动终端上使用app时,经常要输入验证码,以防止终端app或者某一页面被恶意使用。验证码通常由服务器端根据客户端的身份验证请求生成并发送给客户端,其形式一般为经过处理的包含一些抽象的数字、英文、汉字或者物品图像的组合的图片,用户只有输入或选择正确的验证码,才能完成身份的验证。
但是,为了防止机器对验证码的破解,客户端所展示的验证码被加工得越来越复杂,越来越难以被人识别。即使如此,随着机器智能越来越高,复杂的验证码也容易被机器所破解。这对人们对互联网的使用构成了很大的威胁,同时也引起了不公平性。
发明内容
为克服上述技术问题或者至少部分地解决上述技术问题, 特提出以下技术方案:
本发明提供一种用时间验证验证码的方法,包括:
接收到来自客户端的获取验证码请求时,生成待验证码和参考验证码,确定无效验证时间t;
向客户端提供参考验证码,等待接收客户端提交验证码验证信息;
若接收到客户端提交的验证码验证信息,则确定验证码验证所花时间T;
把所述无效验证时间t与所述验证所花时间T相比较,判断t是否小于T,如果是,则判定用户所提交的所述验证码验证信息有效,否则判定用户所提交的所述验证码验证信息无效。
需要说明的是,所述待验证码是根据客户端请求生成的,一般为数字、英文、汉字或者物品图像;所述参考验证码是提供给客户端展示的,其形式一般为经过处理的包含所述待验证码的图片,用户根据所述参考验证码输入或选择所述验证信息以便提交验证;所述验证码验证信息是用户根据所述参考验证码填写或选择然后提交的,一般为数字、英文、汉字或者物品图像信息,与所述待验证码对应。
还需要说明的是,所述验证所花时间T为一个时间间隔,可以为从接收到来自客户端的获取验证码请求(设时刻为T1)到对接收到的客户端提交的所述验证码验证信息进行验证(设时刻为T2)之间的某个时间间隔,0<T<=T2-T1。
此外,把所述无效验证时间t与所述验证所花时间T相比较,来判断所述验证码验证信息是否有效,并不是说不需要把所述验证码验证信息与所述待验证码进行匹配,只有当两个验证检测都通过了才能确定此次验证通过。
优选地,所述验证所花时间T为向客户端发送所述参考验证码(设时刻为T1’)到接收到来自客户端的所述验证码验证信息(设时刻为T2’)之间的时间间隔,即T= T2’- T1’。
优选地,所述无效验证时间t包括固定时间t1和可变时间t2。
需要说明的是,所述固定时间t1在每次验证过程中是不变的,除非对该固定值进行调整,调整后的t1在每次验证请求中也是不变的;所述可变时间t2在每次验证过程中是可变化的,即每次的t2值都有可能与上次的不同。
优选地,所述可变时间t2随机产生,为0~t3之间的任一随机值,且t3>=0。
所述t3为一固定时间值,该值不因每次的用户验证请求发生变化。
优选地,所述无效验证时间t、固定时间t1和可变时间t2三者的关系为,t=t1+t2。
所述固定时间t1以及所述可变时间t2的最大值t3,一般通过综合考虑验证码难易程度、应用场景和用户体验等因素来确定。比如所述固定时间t1可以为根据统计得到的用户输入或选择验证码所花费的平均时间,t3的值可取为t1值的一半。
优选地,在响应客户端的获取验证码请求时,除了向客户端发送所述参考验证码外,还需把所述无效验证时间t发送给客户端。
向客户端发送所述无效验证时间t,是为了让客户端知道此次验证过程的有效时间。
优选地,当客户端接收到所述无效验证时间t后,执行如下步骤,包括:
获取所述无效验证时间t并确定接收到该信息的时刻T3,根据t确定客户端验证码的无效发送时间t’,等待所述验证码验证信息提交操作发生;
若检测到所述验证码验证信息提交操作发生,则获取该操作发生的时刻T4;
比较所述无效发送时间t’同T4-T3的大小,若 T4-T3> t’,则发送所述验证码验证信息;若T4-T3<= t’,则不发送所述验证码验证信息。
所述无效发送时间t’的取值与所述无效验证时间t的取值相关,所以所述无效发送时间t’会随着所述无效验证时间t的变化而变化,如果每次验证过程中的所述无效验证时间t不同,则所述无效发送时间t’也会不同。
在客户端设置所述无效发送时间t’,是为了防止客户端因为过早提交所述验证码验证信息,这很可能会造成本次的所述验证所花时间T不大于所述无效验证时间t,从而造成本次验证不通过。
优选地,所述无效发送时间t’与所述无效验证时间t的值的关系为:t’>=t。
使所述无效发送时间t’与所述无效验证时间t的值相等,或者t’>t,能保证本次的所述验证所花时间T大于所述无效验证时间t。
优选地,所述验证码验证信息中,除了包含用户提交的验证码外,还包含有需要对所提交的验证码进行时间有效性检测的消息。
需要说明的是,所述验证码验证信息中带有需要对所提交的验证码进行时间有效性检测的消息,是为了告诉接收者对所述无效验证时间t和所述验证所花时间T进行比较,以确定所提交的验证码在时间上的有效性。
相较于现有技术,本发明提供的一种用时间验证验证码的方法,虽然不能防止机器在某次验证过程中对验证码的破解,但在验证所花时间上,把机器和人放在了一个相对平等的位置。在验证码的验证过程中,即使机器破解了验证码,其验证过程所花时间和人也相差不大,较大程度缓解了恶意程序对网站或移动app的暴力破解。
特别地,在一些购票、抢购等购物网站(或app)中,由于本发明中所设置的所述无效验证时间包含可变时间t2,恶意程序不能按照固定的时间提交验证,甚至提交验证的时间有可能比正常用户晚,有效保证了公平购物。同时,所述参考验证码也可以设计得更便于人识别一些。
此外,本发明提供的一种用时间验证验证码的方法,结构简单,实现容易,且所花费的额外资源几乎可以忽略不计。
附图说明
图1为本发明一种用时间验证验证码的方法的流程图;
图2为本发明中客户端接收到所述无效验证时间t后执行过程的一个实施例的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一种用时间验证验证码的方法的流程图,包括:
步骤101、接收到来自客户端的获取验证码请求时,生成待验证码和参考验证码,确定无效验证时间t;
步骤102、向客户端提供参考验证码,等待接收客户端提交验证码验证信息;
步骤103、若接收到客户端提交的验证码验证信息,则确定验证码验证所花时间T;
步骤104、把所述无效验证时间t与所述验证所花时间T相比较,判断t是否小于T;
步骤105、如果是,则判定用户所提交的所述验证码验证信息有效;
步骤106、否则判定用户所提交的所述验证码验证信息无效。
具体地,所述验证所花时间T为向客户端发送所述参考验证码(设时刻为T1’)到接收到来自客户端的所述验证码验证信息(设时刻为T2’)之间的时间间隔,即T= T2’- T1’。
在具体实施时,把所述无效验证时间t与所述验证所花时间T相比较,来判断所述验证码验证信息是否有效,并不是说不需要把所述验证码验证信息与所述待验证码进行匹配,只有当两个验证检测都通过了才能确定此次验证通过。
作为一个优选方案,所述无效验证时间t包括固定时间t1和可变时间t2。
具体地,所述可变时间t2随机产生,为0~t3之间的任一随机值,且t3>=0。
所述t3为一固定时间值,即为所述可变时间t2的最大值,该值不因每次的用户验证请求发生变化。
具体地,所述无效验证时间t、固定时间t1和可变时间t2三者的关系为,t=t1+t2。
实际实施时,所述固定时间t1可以为根据统计得到的用户输入或选择验证码所花费的平均时间,t3的值可取为t1值的一半。例如t1取3秒,它的一半就是1.5秒,即t3的值为1.5秒。
作为一个较好的实施例,在响应客户端的获取验证码请求时,除了向客户端发送所述参考验证码外,还需向客户端发送所述无效验证时间t。
作为常见的客户端/服务器模式,上述实施例一般都是在服务器端实现的。图2为本发明中客户端接收到所述无效验证时间t后执行过程的一个实施例的流程图,包括如下步骤:
步骤201、获取所述无效验证时间t并确定接收到该信息的时刻T3,根据t确定客户端验证码的无效发送时间t’,等待所述验证码验证信息提交操作发生;
步骤202、若检测到所述验证码验证信息提交操作发生,则确定该操作发生的时刻T4;
步骤203、比较所述无效发送时间t’同T4-T3的大小;
步骤204、若 T4-T3> t’,则发送所述验证码验证信息;
步骤205、若T4-T3<= t’,则不发送所述验证码验证信息。
客户端获取所述无效验证时间t,是为了确定无效发送时间t’。作为一个较好实施例,所述无效发送时间t’与所述无效验证时间t的值的关系为:t’>=t。具体实施时,t’可直接取t的值,即t’=t。
为了较好的用户体验,客户端可以根据所述无效发送时间t’给用户显示是否准备就绪的提醒。例如,可以在客户端界面设置一个计时器,告诉用户还有多少时间可以提交验证码所在的表单。还可以在客户端验证码准备就绪时,由系统立即发送验证码所在的表单。
作为一个较好的实施例,所述验证码验证信息中,除了包含用户提交的验证码外,还包含有需要对所提交的验证码进行时间有效性检测的消息。
也就是说,在具体实施中,客户端在接收到所述参考验证码后的任何时间内,都可以发送检验用户在客户端输入或选择的验证码是否与所述待验证码匹配的请求。
每次验证过程中,所述无效验证时间t、时刻T1’、时刻T2’、时刻T3、时刻T4等时间值的产生都是独立的,非本次验证过程产生的这些值不对本次的造成干扰。
以上实施例的技术方案仅用以说明本发明,而非对其限制。尽管参照前述各实施例的技术方案对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明具体技术方案的精神和范围。

Claims (9)

1.一种用时间验证验证码的方法,其特征在于,包括:
接收到来自客户端的获取验证码请求时,生成待验证码和参考验证码,确定无效验证时间t;
向客户端提供参考验证码,等待接收客户端提交验证码验证信息;
若接收到客户端提交的验证码验证信息,则确定验证码验证所花时间T;
把所述无效验证时间t与所述验证所花时间T相比较,判断t是否小于T,如果是,则判定用户所提交的所述验证码验证信息有效,否则判定用户所提交的所述验证码验证信息无效。
2.根据权利要求1所述的一种用时间验证验证码的方法,其特征在于,所述验证所花时间T为向客户端发送所述参考验证码(设时刻为T1’)到接收到来自客户端的所述验证码验证信息(设时刻为T2’)之间的时间间隔,即T= T2’- T1’。
3.根据权利要求1所述的一种用时间验证验证码的方法,其特征在于,所述无效验证时间t包括固定时间t1和可变时间t2。
4.根据权利要求1和3所述的一种用时间验证验证码的方法,其特征在于,所述可变时间t2随机产生,为0~t3之间的任一随机值,且t3>=0。
5.根据权利要求1和3所述的一种用时间验证验证码的方法,其特征在于,所述无效验证时间t、固定时间t1和可变时间t2三者的关系为,t=t1+t2。
6.根据权利要求1所述的一种用时间验证验证码的方法,其特征在于,在响应客户端的获取验证码请求时,除了向客户端发送所述参考验证码外,还需把所述无效验证时间t发送给客户端。
7.根据权利要求1和6所述的一种用时间验证验证码的方法,其特征在于,当客户端接收到所述无效验证时间t后,执行如下步骤,包括:
获取所述无效验证时间t并确定接收到该信息的时刻T3,根据t确定客户端验证码的无效发送时间t’,等待所述验证码验证信息提交操作发生;
若检测到所述验证码验证信息提交操作发生,则获取该操作发生的时刻T4;
比较所述无效发送时间t’同T4-T3的大小,若 T4-T3> t’,则发送所述验证码验证信息;若T4-T3<= t’,则不发送所述验证码验证信息。
8.根据权利要求7所述的一种用时间验证验证码的方法,其特征在于,所述无效发送时间t’与所述无效验证时间t的值的关系为:t’>=t。
9.根据权利要求1所述的一种用时间验证验证码的方法,其特征在于,所述验证码验证信息中,除了包含用户提交的验证码外,还包含有需要对所提交的验证码进行时间有效性检测的消息。
CN201610661369.6A 2016-08-14 2016-08-14 一种用时间验证验证码的方法 Active CN106301787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610661369.6A CN106301787B (zh) 2016-08-14 2016-08-14 一种用时间验证验证码的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610661369.6A CN106301787B (zh) 2016-08-14 2016-08-14 一种用时间验证验证码的方法

Publications (2)

Publication Number Publication Date
CN106301787A true CN106301787A (zh) 2017-01-04
CN106301787B CN106301787B (zh) 2019-03-22

Family

ID=57668718

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610661369.6A Active CN106301787B (zh) 2016-08-14 2016-08-14 一种用时间验证验证码的方法

Country Status (1)

Country Link
CN (1) CN106301787B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106170004A (zh) * 2016-09-23 2016-11-30 北京小米移动软件有限公司 处理验证码的方法及装置
CN108390882A (zh) * 2018-02-26 2018-08-10 成都六零加信息技术有限公司 连接访问方法、装置及电子设备
CN111753279A (zh) * 2020-05-13 2020-10-09 广州多益网络股份有限公司 一种点选验证方法、装置及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231746A (zh) * 2011-07-11 2011-11-02 华为技术有限公司 验证标识信息的方法及终端
EP2750071A2 (en) * 2011-02-15 2014-07-02 Prevx Limited Methods and apparatus for dealing with malware
CN104217164A (zh) * 2014-09-11 2014-12-17 工业和信息化部电子第五研究所 智能移动终端恶意软件的检测方法与装置
CN106257480A (zh) * 2015-06-05 2016-12-28 北京京东尚科信息技术有限公司 一种防止机器人工具恶意访问页面的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2750071A2 (en) * 2011-02-15 2014-07-02 Prevx Limited Methods and apparatus for dealing with malware
CN102231746A (zh) * 2011-07-11 2011-11-02 华为技术有限公司 验证标识信息的方法及终端
CN104217164A (zh) * 2014-09-11 2014-12-17 工业和信息化部电子第五研究所 智能移动终端恶意软件的检测方法与装置
CN106257480A (zh) * 2015-06-05 2016-12-28 北京京东尚科信息技术有限公司 一种防止机器人工具恶意访问页面的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106170004A (zh) * 2016-09-23 2016-11-30 北京小米移动软件有限公司 处理验证码的方法及装置
CN106170004B (zh) * 2016-09-23 2020-11-20 北京小米移动软件有限公司 处理验证码的方法及装置
CN108390882A (zh) * 2018-02-26 2018-08-10 成都六零加信息技术有限公司 连接访问方法、装置及电子设备
CN111753279A (zh) * 2020-05-13 2020-10-09 广州多益网络股份有限公司 一种点选验证方法、装置及计算机设备

Also Published As

Publication number Publication date
CN106301787B (zh) 2019-03-22

Similar Documents

Publication Publication Date Title
US11190527B2 (en) Identity verification and login methods, apparatuses, and computer devices
WO2016127797A1 (zh) 用户信息获取方法、装置及服务器
CN108011863B (zh) 识别暴力破解的方法及装置
CN110378749B (zh) 客户端相似性的评估方法、装置、终端设备及存储介质
CN106157344B (zh) 验证图片的生成方法及装置
EP3732597B1 (en) Account verification system
CN109257321B (zh) 安全登录方法和装置
CN103984887B (zh) 控制用户权限的方法及装置
CN104994060B (zh) 一种用于为用户登录提供验证的方法和装置
WO2018077087A1 (zh) 一种业务实现方法和装置
CN107135195A (zh) 异常用户账号的检测方法和装置
CN107451819B (zh) 一种基于用户操作行为特征的身份验证方法和装置
US10181024B2 (en) Method, device, and system for updating authentication information
US20130185645A1 (en) Determining repeat website users via browser uniqueness tracking
US20160180073A1 (en) Captcha processing method and device, terminal and server
CN107733883B (zh) 一种检测批量注册账号的方法及装置
US10284565B2 (en) Security verification method, apparatus, server and terminal device
CN106301787A (zh) 一种用时间验证验证码的方法
TWI621078B (zh) Business object verification method and device
WO2013192021A1 (en) Dynamic human interactive proof
EP3211578A1 (en) Verification method and apparatus
CN110120928A (zh) 一种身份认证的方法、装置、服务器及计算机可读介质
US10277579B2 (en) Information processing system that provides a resource to an application of a terminal through a network
CN106657096B (zh) Web漏洞检测方法、装置及系统
CN106230702B (zh) 身份信息验证方法、装置及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant