CN111652958A - 一种增强型图形验证码生成方法、装置及存储介质 - Google Patents
一种增强型图形验证码生成方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111652958A CN111652958A CN202010498487.6A CN202010498487A CN111652958A CN 111652958 A CN111652958 A CN 111652958A CN 202010498487 A CN202010498487 A CN 202010498487A CN 111652958 A CN111652958 A CN 111652958A
- Authority
- CN
- China
- Prior art keywords
- verification code
- information elements
- point position
- elements
- indication
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/36—User authentication by graphic or iconic representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种增强型图形验证码生成方法,包括以下步骤:在背景图片上随机生成N个信息元;按照指示元的约束条件对N个信息元中的M个信息元随机生成出点位置和入点位置;生成M‑1个指示元,并通过所述M‑1个指示元按照生成的出点位置和入点位置连接所述M个信息元,得到图形验证码。其中,N,M均为正整数,N≥2,M≤N。本发明还涉及一种增强型图形验证码生成装置及存储介质。本发明能够在缓慢增加用户人眼识别难度的情况下,提高机器算法破解的难度。
Description
技术领域
本发明涉及互联网应用技术领域,特别是涉及一种增强型图形验证码生成方法。
背景技术
图形验证码在互联网WEB应用中广泛使用,以识别区分真实用户和机器恶意攻击。现有技术主要包括:(一)、字符文字加噪声及变型展示类;(二)、字符文字内容加数学运算等逻辑关系;(三)、第一及第二类方法复合应用;(四)、图片切割后拖动拼图;(五)、基于前述方法的用户响应时间模式分析。
基于加噪声及变型处理的图形验证码,大大增加了用户人眼识别的难度。而在同时,基于深度学习等机器学习算法对噪声变型处理的验证码的识别,其准确率往往高于人眼识别。因此此类方法在可能将真实用户拒之门外的同时,并不能有效阻止恶意刷验证码的攻击。
其它类型的验证码,在技术层面上,均有比较成熟的机器算法可以识别,因而阻止恶意刷验证码的效率比较低。基于用户响应时间模式分析的方法,还存在实施成本高,且对Web应用的性能及可靠性造成比较大的负面影响。
发明内容
本发明所要解决的技术问题是提供一种增强型图形验证码生成方法、装置及存储介质,能够在缓慢增加用户人眼识别难度的情况下,提高机器算法破解的难度。
本发明解决其技术问题所采用的技术方案是:提供一种增强型图形验证码生成方法,包括以下步骤:
(1)在背景图片上随机生成N个信息元;
(2)按照指示元的约束条件对N个信息元中的M个信息元随机生成出点位置和入点位置;
(3)生成M-1个指示元,并通过所述M-1个指示元按照生成的出点位置和入点位置连接所述M个信息元,得到图形验证码;
其中,N,M均为正整数,N≥2,M≤N。
所述步骤(1)中生成的信息元为单个字符、或字符图形、或由字符/字符图形和运算符组合的块单元。
所述步骤(1)中生成的N个信息元所处的位置随机接近或聚合。
所述步骤(2)中还包括对生成的出入点位置进行调整以使得出入点位置接近重叠临近的信息元的步骤。
所述步骤(2)中指示元的约束条件包括指示元的尺寸大小,以及一个指示元对应M个信息元中一个信息元的出点位置和另一个信息元的入点位置。
所述步骤(3)中所述M-1个指示元按照生成的出入点位置连接所述M个信息元时,所述M-1个指示元随机交叉重叠。
所述步骤(3)中生成的指示元为指示标志和直线、或折线、或曲线的组合,其中,直线、折线、曲线采用实线、虚线、点划线等各种不同的形式进行表示。
所述步骤(3)后还包括对所述图形验证码进行变型和加噪声的步骤。
本发明解决其技术问题所采用的技术方案是:提供一种增强型图形验证码生成装置,包括:信息元生成模块,用于在背景图片上随机生成N个信息元;出入点位置生成模块,用于按照指示元的约束条件对N个信息元中的M个信息元随机生成出入点位置;指示元生成及连接模块,用于生成M-1个指示元,并通过所述M-1个指示元按照生成的出入点位置连接所述M个信息元,得到图形验证码;其中,N,M均为正整数,N≥2,M≤N。
本发明解决其技术问题所采用的技术方案是:提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序由处理器执行上述的增强型图形验证码生成方法的步骤。
有益效果
由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明通过引入指示元,从而可以在二维平面内随机排列信息元,通过指示元连接生成验证码序列。通过调整指示元的位置、路径、线型,以及信息元的聚集度等特征参数,可以控制图形验证码的人眼和机器算法识别难度。相对于现有设定背景噪声的方法,本发明在缓慢增加人眼识别难度的情况下,可以显著地提高机器算法识别的难度,从而兼顾了真实用户操作友好性和防范恶意刷码的有效性。
附图说明
图1是本发明第一实施方式的流程图;
图2是采用本发明第一实施方式生成的虚直线形式的图形验证码示意图;
图3是采用本发明第一实施方式生成的虚曲线形式的图形验证码示意图;
图4是采用本发明第一实施方式生成的虚曲线关联推理形式的图形验证码示意图;
图5是本发明的第二实施方式的结构示意图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明的第一实施方式涉及一种增强型图形验证码生成方法,如图1所示,包括以下步骤:在背景图片上随机生成N个信息元;按照指示元的约束条件对N个信息元中的M个信息元随机生成出点位置和入点位置;生成M-1个指示元,并通过所述M-1个指示元按照生成的出点位置和入点位置连接所述M个信息元,得到图形验证码。其中,N,M均为正整数,N≥2,M≤N。
本实施方式中,生成的信息元为单个字符、或字符图形、或由字符/字符图形和运算符组合的块单元。其中,单个字符可以是汉字、英文字符、数字字符等基本元素,如“8”、“9”和“玖”,字符图形可以是麻将牌符号、扑克牌图形等。由字符/字符图形和运算符组合的块单元,可以如“五除五”、“玖-1”、“3乘2”。生成的指示元为指示标志和直线、或折线、或曲线的组合,其中,直线、折线、曲线可以采用虚线形式表示,指示标志可以采用箭头等具有指示顺序功能的标识。指示元的起始位置相对于信息元距离方位均随机可调。
以图2为例,虚直线形式的图形验证码的生成过程如下:
(1)按照预先设定的信息元聚集度,在给定二维背景图片上随机产生四个位置L1、L2、L3、L4,并随机生成4个信息元,按顺序分别放置在位置L1、L2、L3、L4,实际位置可考虑边界因素微调;
(2)按预置直线长短及指向约束条件组,在4个信息元的周围随机生成出入点位置;
(3)生成虚直线连接加箭头的指示元,并用指示元依照出入点位置的顺序依次连接信息元,生成图形验证码;
(4)根据需要对对图形验证码进行变型、加噪声等操作,最终得到如图2所示的图像验证码,该图形验证码的验证序列为5726(即伍→七→二→6)。图2中,“伍”,“七”,“二”和“6乘一”为信息元,各个带箭头的指向线为指示元。
以图3为例,虚曲线形式的图形验证码的生成过程与上述虚直线形式的图形验证码的生成过程类似,区别在于,在步骤(3)中生成虚曲线连接加箭头的指示元,该曲线阶数可预置,最终得到的图形验证码的验证序列为2260(即二→貮→陆→0)。
以图4为例,虚曲线关联推理形式的图形验证码的生成过程与上述虚曲线形式的图形验证码的生成过程类似,区别在于,在步骤(2)和步骤(3)之间,随机选择某出点或入点向临近信息元以适当比例随机调整,形成关联关系上的模糊性。如此,对于真实用户可以利用指示链顺序关系,比较方便地排除该模糊性;于此相反,开发对应的破解算法则非常困难。最终得到的图形验证码的验证序列为6422(即6→肆→2→二)。指示元与起止关联信息元具有模糊对应关系,可能需要依据指示元素顺序逻辑推理确定,这一额外工作,是机器算法所不擅长的,因而能显著增加机器识别难度。
由此可见,本实施方式可以在一般字符信息加噪声型验证码之上,通过引入指示元,从而可以在二维平面内随机排列信息元,通过指示元连接生成验证码序列。通过调整指示元位置、路径、线型,以及信息元的聚集度等特征参数,可以控制图形验证码的人眼和机器算法识别难度。相对于设定背景噪声的一般方法,本实施方式的方法在缓慢增加人眼识别难度的代价下,可以快速显著地提高机器算法识别的难度,从而兼顾了真实用户操作友好性和防范恶意刷码的有效性。值得一提的是,本实施方式还可以通过对指示元和信息元的调整,提高机器识别难度,具体如下:
本实施方式中,生成的指示元可以随机交叉重叠,从而提高机器识别难度,例如图2、图3和图4中的指示元均有交叉重叠的部分。本实施方式还可以通过调整信息元的位置使得信息元随机接近或聚合形成新的图形特征,使得机器识别更加困难,例如图3中,信息元“二”和“二加肆”之间的位置关系。本实施方式中还可以对生成的出入点位置进行调整以使得出入点位置接近重叠临近的信息元,以使得指示元和信息元接近重叠来增加新的图形特征,从而增加机器识别难度,例如图3中信息元“貮”与指示元之间的位置关系,图4中信息元“肆”与指示元的位置关系。本实施方式中指示元可以选用曲线非连续方式,使得机器识别在特征识别后,还需要进行关联分析,从而加大机器识别难度,例如图2、图3和图4中均采用虚线形式的指示元。
从机器算法识别技术角度而言,传统图形验证码上属于单向字符识别技术,而本实施方式生成的图形验证码需要一个“分割、识别、关联、逻辑推理”的迭代过程,因而显著提高了机器识别难度。本实施方式生成的图形验证码,经过实测表明,一般用户可以在2秒内地完成图形验证码的识别输入,无难度感,而在上线试验时,监测到近万次机器刷码攻击,本实施方式生成的图形验证码能够100%防范成功。
可以理解的是,上述方法步骤的执行过程只是一种优选的执行顺序,在实现的过程中可以根据实际需求调整上述执行过程的顺序。
本领域普通技术人员可以理解实现上述实施方式方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所用的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
本发明的第二实施方式涉及一种增强型图形验证码生成装置。如图5所示,包括:信息元生成模块,用于在背景图片上随机生成N个信息元;出入点位置生成模块,用于按照指示元的约束条件对N个信息元中的M个信息元随机生成出入点位置;指示元生成及连接模块,用于生成M-1个指示元,并通过所述M-1个指示元按照生成的出入点位置连接所述M个信息元,得到图形验证码;其中,N,M均为正整数,N≥2,M≤N。
值得一提的是,本实施方式中出入点位置生成模块也可以作为出入点位置设计模块,其能够根据预置难度参数及约束条件,对N个信息元中的M个信息元按照算法设计出入点位置。此时,指示元生成及连接模块也可以作为指示元设计及连接模块,按照预制难度系数设计M-1个指示元曲线路径和线型,并通过之前所设计的出入点位置连接所述M个信息元。
Claims (9)
1.一种增强型图形验证码生成方法,其特征在于,包括以下步骤:
(1)在背景图片上随机生成N个信息元;
(2)按照指示元的约束条件对N个信息元中的M个信息元随机生成出点位置和入点位置;
(3)生成M-1个指示元,并通过所述M-1个指示元按照生成的出点位置和入点位置连接所述M个信息元,得到图形验证码;
其中,N,M均为正整数,N≥2,M≤N。
2.根据权利要求1所述的增强型图形验证码生成方法,其特征在于,所述步骤(1)中生成的信息元为单个字符、或字符图形、或由字符/字符图形和运算符组合的块单元。
3.根据权利要求1所述的增强型图形验证码生成方法,其特征在于,所述步骤(1)中生成的N个信息元所处的位置随机接近或聚合。
4.根据权利要求1所述的增强型图形验证码生成方法,其特征在于,所述步骤(2)中还包括对生成的出入点位置进行调整以使得出入点位置接近重叠临近的信息元的步骤。
5.根据权利要求1所述的增强型图形验证码生成方法,其特征在于,所述步骤(2)中指示元的约束条件包括指示元的尺寸大小,以及一个指示元对应M个信息元中一个信息元的出点位置和另一个信息元的入点位置。
6.根据权利要求1所述的增强型图形验证码生成方法,其特征在于,所述步骤(3)中所述M-1个指示元按照生成的出入点位置连接所述M个信息元时,所述M-1个指示元随机交叉重叠。
7.根据权利要求1所述的增强型图形验证码生成方法,其特征在于,所述步骤(3)中生成的指示元为指示标志和直线、或折线、或曲线的组合。
8.一种增强型图形验证码生成装置,其特征在于,包括:信息元生成模块,用于在背景图片上随机生成N个信息元;出入点位置生成模块,用于按照指示元的约束条件对N个信息元中的M个信息元随机生成出入点位置;指示元生成及连接模块,用于生成M-1个指示元,并通过所述M-1个指示元按照生成的出入点位置连接所述M个信息元,得到图形验证码;其中,N,M均为正整数,N≥2,M≤N。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序由处理器执行如权利要求1-7中任一所述的增强型图形验证码生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010498487.6A CN111652958A (zh) | 2020-06-04 | 2020-06-04 | 一种增强型图形验证码生成方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010498487.6A CN111652958A (zh) | 2020-06-04 | 2020-06-04 | 一种增强型图形验证码生成方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111652958A true CN111652958A (zh) | 2020-09-11 |
Family
ID=72343260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010498487.6A Pending CN111652958A (zh) | 2020-06-04 | 2020-06-04 | 一种增强型图形验证码生成方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111652958A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015003599A1 (en) * | 2013-07-08 | 2015-01-15 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for verification using verification code |
WO2017148315A1 (zh) * | 2016-03-04 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 基于验证码的验证处理方法及装置 |
WO2018059033A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种验证方法、服务器和系统 |
WO2018229269A1 (fr) * | 2017-06-16 | 2018-12-20 | Viaccess | Procédé et dispositif de validation de code d'authentification |
-
2020
- 2020-06-04 CN CN202010498487.6A patent/CN111652958A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015003599A1 (en) * | 2013-07-08 | 2015-01-15 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and system for verification using verification code |
WO2017148315A1 (zh) * | 2016-03-04 | 2017-09-08 | 阿里巴巴集团控股有限公司 | 基于验证码的验证处理方法及装置 |
WO2018059033A1 (zh) * | 2016-09-30 | 2018-04-05 | 华为技术有限公司 | 一种验证方法、服务器和系统 |
WO2018229269A1 (fr) * | 2017-06-16 | 2018-12-20 | Viaccess | Procédé et dispositif de validation de code d'authentification |
Non-Patent Citations (1)
Title |
---|
李欢;高岭;刘琳;邢斌;: "基于随机顺序的图形验证码改进算法设计" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | The robustness of hollow CAPTCHAs | |
Bursztein et al. | Text-based CAPTCHA strengths and weaknesses | |
Gao et al. | Research on the security of microsoft’s two-layer captcha | |
US10997366B2 (en) | Methods, devices and systems for data augmentation to improve fraud detection | |
Starostenko et al. | Breaking text-based CAPTCHAs with variable word and character orientation | |
CN109766885B (zh) | 一种文字检测方法、装置、电子设备及存储介质 | |
Kumar et al. | A systematic survey on CAPTCHA recognition: types, creation and breaking techniques | |
Thomas et al. | Synthetic handwritten captchas | |
CN110427628A (zh) | 基于神经网络算法的web资产分类检测方法及装置 | |
CN106067019A (zh) | 针对图像进行文字识别的方法及装置 | |
JP3709803B2 (ja) | パターン照合装置とそのパターン照合方法、及びパターン照合プログラム | |
CN113742205B (zh) | 一种基于人机协同的代码漏洞智能检测方法 | |
CN109697353A (zh) | 一种点击验证码的验证方法和装置 | |
Chen et al. | An attack on hollow captcha using accurate filling and nonredundant merging | |
CN116305119A (zh) | 基于预测指导原型的apt恶意软件分类方法和装置 | |
Huber et al. | Efficient explainable face verification based on similarity score argument backpropagation | |
Liang et al. | Reassembling shredded document stripes using word-path metric and greedy composition optimal matching solver | |
CN111652958A (zh) | 一种增强型图形验证码生成方法、装置及存储介质 | |
CN112733140A (zh) | 一种针对模型倾斜攻击的检测方法及系统 | |
CN116823146A (zh) | 一种基于文本识别的电力操作票审核方法及系统 | |
CN116563898A (zh) | 基于GhostNet网络的掌静脉图像识别方法、装置、设备及介质 | |
Kumar et al. | Benchmarks for designing a secure devanagari CAPTCHA | |
Roshanbin | Interweaving unicode, color, and human interactions to enhance CAPTCHA security | |
Lim et al. | Definition and Automatic Extraction Performance Analysis of Stroke Elements in the English Alphabet | |
Luo et al. | Is There a Difference between Paper and Electronic Chinese Signatures? |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |