CN113190310A - 基于随机位置对象语义识别的验证码设计方法 - Google Patents
基于随机位置对象语义识别的验证码设计方法 Download PDFInfo
- Publication number
- CN113190310A CN113190310A CN202110460425.0A CN202110460425A CN113190310A CN 113190310 A CN113190310 A CN 113190310A CN 202110460425 A CN202110460425 A CN 202110460425A CN 113190310 A CN113190310 A CN 113190310A
- Authority
- CN
- China
- Prior art keywords
- verification code
- picture
- verification
- dragging
- code server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Abstract
本发明公开一种基于随机位置对象语义识别的验证码生成及验证方法。所述的方法包括下述步骤:S1)、验证码服务端接收客户端验证码申请;S2)、验证码服务端从对象数据库中选取任一个对象组,并从中随机取出K个对象实例;验证码服务端再从对象数据库的其它对象组中随机取出1个对象实例;S3)、验证码服务端按下列方法生成前景图片、验证码图片;S4)、验证码服务端将背景图片、前景图片、坐标[xP,yP]、以及说明文字发给客户端;S5)、验证码服务端接收客户端通过鼠标拖拽或者手指滑动形成的拖拽轨迹;S6)、验证码服务端对用户鼠标或手指拖拽的行为进行分析判决,并将判决结果反馈给客户端。
Description
技术领域:
本发明涉及一种基于语义的行为验证码生成及验证方法,应用于计算机应用与信息安全领域。
背景技术:
验证码是一种区分用户是人还是机器的公共全自动程序,可以抵御机器通过运行脚本程序模拟人类行为恶意破解密码、撞库,防范刷票、薅羊毛、恶意订购、批量注册、恶意攻击等有害操作,保护网站和各类用户的信息安全和财产安全。传统验证码包括纯字母、纯数字、字母数字组合、算术计算等多种形态,很容易被机器程序自动识别。此后,出现了图片点触式验证码,需要人工识别出图片语义后按照规则进行一次或若干次点击以完成验证。但是,随着机器视觉技术的发展,简单的图片点触式验证码仍可被机器程序快速识别,如果一味地增加图片点触次数,或者提升语义识别难度,虽然可以降低被机器程序识别的可能性,但也给用户带来了使用上的麻烦、不友好。
行为验证码是一类依赖于用户行为的验证码方案,通常采用拖动、连线或其它方式代替键盘输入与鼠标单击,增大了机器程序模拟操作的难度,并具有用户操作简单、适合手机屏幕的优势。
发明内容:
针对现有验证码技术仍存在的安全隐患,本发明提出一种基于随机位置对象语义识别的行为验证码设计方法。
为达到上述目的,本发明基于随机位置对象语义识别的验证码生成及验证方法,所述的方法包括下述步骤:
S1)、验证码服务端接收客户端验证码申请;
S2)、验证码服务端从对象数据库中选取任一个对象组,并从中随机取出K个对象实例;验证码服务端再从对象数据库的其它对象组中随机取出1个对象实例;
S3)、验证码服务端按下列方法生成前景图片、验证码图片;
31)制备一个具有明显预定轮廓的前景图片;
32)为每个步骤二得到的(K+1)个对象实例添加预定轮廓形成对象实例图片;
33)将对象实例图片随机叠加到背景图片上,各对象实例图片相互之间轮廓不遮挡、不相接;
34)记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xK,yK]和异类对象实例几何重心所在的坐标[xK+1,yK+1];
35)将背景图片和(K+1)个对象实例图片合成验证码图片;
36)服务端在背景图片范围内随机选择一个点P,用于标志前景图片叠加的位置;记录点P的坐标[xP,yP];
S4)、验证码服务端将背景图片、前景图片、坐标[xP,yP]、以及说明文字发给客户端;
S5)、验证码服务端接收客户端通过鼠标拖拽或者手指滑动形成的拖拽轨迹;
S6)、验证码服务端对用户鼠标或手指拖拽的行为进行分析判决,并将判决结果反馈给客户端。
进一步的,所述的分析判决过程为:验证码服务器判断拖拽终点是否位于[xK+1,yK+1]处;判断方法是将终点坐标[x,y]与[xK+1,yK+1]的欧式距离与预设的判决门限T进行比较,若则验证通过,反之验证不通过;
进一步的,所述的预定轮廓可以是任意折线或曲线构成的图形。
进一步的,验证码服务端进一步对拖拽轨迹的合理性进行判决,轨迹合理则验证通过,反之验证不通过。
进一步的,所述的合理性判决为:计算轨迹的实际长度L和拖拽起点到拖拽终点的直线距离D,设α为预设的某个大于1的系数,若L≤αD则判决通过,反之不通过。
为达到上述目的,本发明基于随机位置对象语义识别的验证码生成方法,包括下述步骤:
61)制备一个具有明显预定轮廓的前景图片;
62)制备对象实例图片:
从对象数据库中选取任一个对象组,并从中随机取出K个对象实例;再从对象数据库的其它对象组中随机取出1个对象实例;
用获取的(K+1)个对象实例添加预定轮廓形成对象实例图片;
63)将对象实例图片随机叠加到背景图片上,各对象实例图片相互之间轮廓不遮挡、不相接;
64)记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xK,yK]和异类对象实例几何重心所在的坐标[xK+1,yK+1];
65)将背景图片和(K+1)个对象实例图片合成验证码图片;
66)在背景图片范围内随机选择一个点P,用于标志前景图片叠加的位置;记录点P的坐标[xP,yP]。
本发明设计的验证码生成和验证方法,通过同时展现若干同类对象和一个异类对象,在客户端经语义判断识别出异类对象并通过拖拽行为将其标志出来,根据拖拽行为的分析判决完成验证过程。本发明有效解决了当前验证码易被机器程序破解的问题。该方法一方面继承了拖动式验证码的操作简单、体验好的优势,另一方面通过机器程序在语义识别上的劣势,抑制机器程序自动识别验证码,而且结合拖拽轨迹合理性的验证可以进一步增大机器程序自动识别验证码的难度。
附图说明
图1为本发明涉及的对象数据库的某设计例示意图。
图2为一种基于随机位置对象语义识别的验证码生成与验证过程示意图。
图3为客户端应用本验证码方法的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
实施例1
请参阅附图,本实施例的基于随机位置对象语义识别的行为验证码设计方法,具体的技术实现过程如下:
在验证码服务端按如下要求管理对象数据库。(1)该数据库设计了M组对象,M为正整数,每一组对象代表同一类型的语义。(2)每组对象都保存了不少于K个对象实例,K为正整数。即对第m组对象(m=1,2,…,M),有Nm个对象实例,Nm为正整数且Nm≥K。(3)该数据库的维护规则有:a)经人工甄别,确保不同类对象所表达的语义具有明显的差异;b)任一对象实例在加入到数据库时,须经人工甄别以确保其高度符合所属对象的语义,不存在歧义;c)任一对象实例在数据库中只出现一次,即只归属到某一类对象。图1给出了数据库中对象及对象实例的例子,其中K=8。
验证码的生成与验证过程如图2所示,包括:
步骤一、验证码服务端接收客户端的验证码申请。
步骤二、验证码服务端从对象数据库中选取任一组对象,并从中随机取出K个对象实例(属于同类对象)。然后,服务端再从对象数据库的其它组对象中随机取出1个对象实例(属于异类对象)。
步骤三、验证码服务端按下列方法生成前景图片、验证码图片:
制备一个具有明显预定轮廓,内部透明的前景图片。预定轮廓可以是任意折线或曲线构成的图形,优选方形、矩形或圆形。
为每个步骤二得到的(K+1)个对象实例经适当缩放添预定加轮廓形成对象实例图片。再将对象实例图片随机叠加到背景图片上,各对象实例图片满足相互之间轮廓不遮挡、不相接。服务端记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xK,yK]和异类对象实例几何重心所在的坐标[xK+1,yK+1]。背景图片和(K+1)个对象实例图片合成验证码图片。
服务端在背景图片范围内随机选择一个点P,用于标志前景图片叠加的位置。记录点P的坐标[xP,yP]。
步骤四、验证码服务端将背景图片、前景图片及位置坐标[xP,yP]、以及说明文字发给客户端。
客户端的验证码插件将收到的验证码图片渲染出来,并以坐标[xP,yP]为几何重心把前景图片透明地显示在背景图片图层上。
图3给出了一个在客户端应用本验证码方法的例子。
用户解读背景图中(K+1)个对象实例的语义,识别出与众不同的那一个对象实例。然后用户通过鼠标拖拽或者手指滑动,把前景图片自由拖拽到该对象实例处,让两者的轮廓尽量重合。
步骤五、验证码服务端接收客户端将采集到的拖拽轨迹(拖拽经过的各点坐标,包括终点坐标[x,y])。
步骤七、验证码服务端对用户鼠标或手指拖拽的行为进行分析判决,并将判决结果反馈给客户端。判决过程中,验证码服务器判断拖拽终点是否位于[xK+1,yK+1]处,判断方法是将坐标[x,y]与[xK+1,yK+1]的欧式距离与预设的判决门限T进行比较,若则验证通过,反之验证不通过。
实施例2
本实施例的基于随机位置对象语义识别的行为验证码设计方法,实现过程如下:
在验证码服务端按如下要求管理对象数据库。(1)该数据库设计了M组对象,M为正整数,每一组对象代表同一类型的语义。(2)每组对象都保存了不少于K个对象实例,K为正整数。即对第m组对象(m=1,2,…,M),有Nm个对象实例,Nm为正整数且Nm≥K。(3)该数据库的维护规则有:a)经人工甄别,确保不同类对象所表达的语义具有明显的差异;b)任一对象实例在加入到数据库时,须经人工甄别以确保其高度符合所属对象的语义,不存在歧义;c)任一对象实例在数据库中只出现一次,即只归属到某一类对象。图1给出了数据库中对象及对象实例的例子,其中K=8。
验证码的生成与验证过程如图2所示,包括:
步骤一、验证码服务端接收客户端的验证码申请。
步骤二、验证码服务端从对象数据库中选取任一组对象,并从中随机取出K个对象实例(属于同类对象)。然后,服务端再从对象数据库的其它组对象中随机取出1个对象实例(属于异类对象)。
步骤三、验证码服务端按下列方法生成前景图片、验证码图片:
制备一个具有明显预定轮廓,内部透明的前景图片。预定轮廓可以是任意折线或曲线构成的图形,优选方形、矩形或圆形。
为每个步骤二得到的(K+1)个对象实例经适当缩放添预定加轮廓形成对象实例图片。再将对象实例图片随机叠加到背景图片上,各对象实例图片满足相互之间轮廓不遮挡、不相接。服务端记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xK,yK]和异类对象实例几何重心所在的坐标[xK+1,yK+1]。背景图片和(K+1)个对象实例图片合成验证码图片。
服务端在背景图片范围内随机选择一个点P,用于标志前景图片叠加的位置。记录点P的坐标[xP,yP]。
服务端还生成一串说明文字,用于对用户进行验证操作提供必要的提示。
步骤四、验证码服务端将背景图片、前景图片及位置坐标[xP,yP]、以及说明文字发给客户端。
客户端的验证码插件将收到的验证码图片渲染出来,并以坐标[xP,yP]为几何重心把前景图片透明地显示在背景图片图层上。
客户端还把说明文字以合适的方式显示在背景图外,或直角渲染在背景图上。
图3给出了一个在客户端应用本验证码方法的例子。
用户解读背景图中(K+1)个对象实例的语义,识别出与众不同的那一个对象实例。然后用户通过鼠标拖拽或者手指滑动,把前景图片自由拖拽到该对象实例处,让两者的轮廓尽量重合。
步骤五、验证码服务端接收客户端将采集到的拖拽轨迹(拖拽经过的各点坐标,包括终点坐标[x,y])。
步骤七、验证码服务端对用户鼠标或手指拖拽的行为进行分析判决,并将判决结果反馈给客户端。判决过程中,验证码服务器判断拖拽终点是否位于[xK+1,yK+1]处,判断方法是将坐标[x,y]与[xK+1,yK+1]的欧式距离与预设的判决门限T进行比较,若则验证通过,反之验证不通过。
验证码服务端进一步对拖拽轨迹的合理性进行判决,轨迹合理则验证通过,反之验证不通过。所述的合理性判决为:计算轨迹的实际长度L和拖拽起点到拖拽终点的直线距离D,设α为预设的某个大于1的系数,若L≤αD则判决通过,反之不通过。
显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。而且,本实施例中所提供的示意图仅以示意方式说明本发明的基本构想,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件。基于实施例的各种变形,均属于本发明的保护范围。
Claims (6)
1.一种基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的方法包括下述步骤:
S1)、验证码服务端接收客户端验证码申请;
S2)、验证码服务端从对象数据库中选取任一个对象组,并从中随机取出K个对象实例;验证码服务端再从对象数据库的其它对象组中随机取出1个对象实例;
S3)、验证码服务端按下列方法生成前景图片、验证码图片;
31)制备一个具有明显预定轮廓的前景图片;
32)为每个步骤二得到的(K+1)个对象实例添加预定轮廓形成对象实例图片;
33)将对象实例图片随机叠加到背景图片上,各对象实例图片相互之间轮廓不遮挡、不相接;
34)记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xK,yK]和异类对象实例几何重心所在的坐标[xK+1,yK+1];
35)将背景图片和(K+1)个对象实例图片合成验证码图片;
36)服务端在背景图片范围内随机选择一个点P,用于标志前景图片叠加的位置;记录点P的坐标[xP,yP];
S4)、验证码服务端将背景图片、前景图片、坐标[xP,yP]、以及说明文字发给客户端;
S5)、验证码服务端接收客户端通过鼠标拖拽或者手指滑动形成的拖拽轨迹;
S6)、验证码服务端对用户鼠标或手指拖拽的行为进行分析判决,并将判决结果反馈给客户端。
3.如权利要求1所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的预定轮廓可以是任意折线或曲线构成的图形。
4.如权利要求1所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,验证码服务端进一步对拖拽轨迹的合理性进行判决,轨迹合理则验证通过,反之验证不通过。
5.如权利要求4所述的基于随机位置对象语义识别的验证码生成及验证方法,其特征在于,所述的合理性判决为:计算轨迹的实际长度L和拖拽起点到拖拽终点的直线距离D,设α为预设的某个大于1的系数,若L≤αD则判决通过,反之不通过。
6.一种基于随机位置对象语义识别的验证码生成方法,其特征在于,所述的方法包括下述步骤:
61)制备一个具有明显预定轮廓的前景图片;
62)制备对象实例图片:
从对象数据库中选取任一个对象组,并从中随机取出K个对象实例;再从对象数据库的其它对象组中随机取出1个对象实例;
用获取的(K+1)个对象实例添加预定轮廓形成对象实例图片;
63)将对象实例图片随机叠加到背景图片上,各对象实例图片相互之间轮廓不遮挡、不相接;
64)记录下同类对象实例几何重心所在的坐标[x1,y1],[x2,y2],…,[xK,yK]和异类对象实例几何重心所在的坐标[xK+1,yK+1];
65)将背景图片和(K+1)个对象实例图片合成验证码图片;
66)在背景图片范围内随机选择一个点P,用于标志前景图片叠加的位置;记录点P的坐标[xP,yP]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460425.0A CN113190310B (zh) | 2021-04-27 | 2021-04-27 | 基于随机位置对象语义识别的验证码设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110460425.0A CN113190310B (zh) | 2021-04-27 | 2021-04-27 | 基于随机位置对象语义识别的验证码设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113190310A true CN113190310A (zh) | 2021-07-30 |
CN113190310B CN113190310B (zh) | 2023-03-14 |
Family
ID=76979460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110460425.0A Active CN113190310B (zh) | 2021-04-27 | 2021-04-27 | 基于随机位置对象语义识别的验证码设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113190310B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114067040A (zh) * | 2022-01-05 | 2022-02-18 | 北京顶象技术有限公司 | 一种动态生成验证码背景图的方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2692505A1 (en) * | 2010-01-29 | 2011-07-29 | Christopher L. Ivey | System and method for restricting access to a computer system to live persons by means of semantic association of images |
CN102360409A (zh) * | 2011-09-29 | 2012-02-22 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
CN103107977A (zh) * | 2011-11-10 | 2013-05-15 | 中兴通讯股份有限公司 | 信息安全传输方法、系统及接入服务节点 |
US20150096004A1 (en) * | 2013-09-29 | 2015-04-02 | Tencent Technology (Shenzhen) Co., Ltd. | Method and apparatus for service login based on third party's information |
CN106897601A (zh) * | 2015-12-18 | 2017-06-27 | 北京百度网讯科技有限公司 | 验证码的验证方法和装置 |
CN111125671A (zh) * | 2019-12-19 | 2020-05-08 | 字节跳动有限公司 | 验证码处理方法及装置、存储介质 |
CN111368835A (zh) * | 2018-12-25 | 2020-07-03 | 顺丰科技有限公司 | 验证码自动识别方法及装置 |
CN111563941A (zh) * | 2020-05-08 | 2020-08-21 | 拉扎斯网络科技(上海)有限公司 | 一种图片验证码生成方法、验证方法、装置及相关设备 |
CN112528264A (zh) * | 2020-11-30 | 2021-03-19 | 中冶华天南京工程技术有限公司 | 一种随机轮廓随机位置的行为验证码生成及验证方法 |
-
2021
- 2021-04-27 CN CN202110460425.0A patent/CN113190310B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2692505A1 (en) * | 2010-01-29 | 2011-07-29 | Christopher L. Ivey | System and method for restricting access to a computer system to live persons by means of semantic association of images |
CN102360409A (zh) * | 2011-09-29 | 2012-02-22 | 北京百度网讯科技有限公司 | 一种生成验证码的方法、验证的方法及其装置 |
CN103107977A (zh) * | 2011-11-10 | 2013-05-15 | 中兴通讯股份有限公司 | 信息安全传输方法、系统及接入服务节点 |
US20150096004A1 (en) * | 2013-09-29 | 2015-04-02 | Tencent Technology (Shenzhen) Co., Ltd. | Method and apparatus for service login based on third party's information |
CN106897601A (zh) * | 2015-12-18 | 2017-06-27 | 北京百度网讯科技有限公司 | 验证码的验证方法和装置 |
CN111368835A (zh) * | 2018-12-25 | 2020-07-03 | 顺丰科技有限公司 | 验证码自动识别方法及装置 |
CN111125671A (zh) * | 2019-12-19 | 2020-05-08 | 字节跳动有限公司 | 验证码处理方法及装置、存储介质 |
CN111563941A (zh) * | 2020-05-08 | 2020-08-21 | 拉扎斯网络科技(上海)有限公司 | 一种图片验证码生成方法、验证方法、装置及相关设备 |
CN112528264A (zh) * | 2020-11-30 | 2021-03-19 | 中冶华天南京工程技术有限公司 | 一种随机轮廓随机位置的行为验证码生成及验证方法 |
Non-Patent Citations (1)
Title |
---|
胡金蓉;王玲;: "基于字符特征的随机问题阅读式验证码技术" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114067040A (zh) * | 2022-01-05 | 2022-02-18 | 北京顶象技术有限公司 | 一种动态生成验证码背景图的方法及装置 |
CN114067040B (zh) * | 2022-01-05 | 2022-05-13 | 北京顶象技术有限公司 | 一种动态生成验证码背景图的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113190310B (zh) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108229130B (zh) | 一种验证方法及装置 | |
TWI222032B (en) | Hand-written input authentication apparatus, hand-written input authentication method and storage medium storing hand-written input authentication program | |
CN102804195B (zh) | 图形认证 | |
US8990959B2 (en) | Manipulable human interactive proofs | |
CN107066983A (zh) | 一种身份验证方法及装置 | |
US9311472B2 (en) | Methods and apparatus for authenticating user login | |
Salehi-Abari et al. | On purely automated attacks and click-based graphical passwords | |
JP4936513B2 (ja) | 画像処理装置、画像処理方法、サイン登録プログラム及び記憶媒体 | |
Guerar et al. | Gotta CAPTCHA’Em all: a survey of 20 Years of the human-or-computer Dilemma | |
US10387645B2 (en) | Method for recognizing if a user of an electronic terminal is a human or a robot | |
CN112528264A (zh) | 一种随机轮廓随机位置的行为验证码生成及验证方法 | |
WO2017193165A1 (en) | Authenticating a user | |
CN110135262A (zh) | 敏感数据防偷窥处理方法、装置、设备及存储介质 | |
WO2018072028A1 (en) | Face authentication to mitigate spoofing | |
CN104966016A (zh) | 移动终端儿童用户协作式判断及限制操作权限的方法 | |
CN106778151A (zh) | 基于笔迹的用户身份识别方法和装置 | |
CN106250756A (zh) | 验证码的生成方法、验证方法及相应装置 | |
Roshanbin et al. | ADAMAS: Interweaving unicode and color to enhance CAPTCHA security | |
CN113190310B (zh) | 基于随机位置对象语义识别的验证码设计方法 | |
Dinh et al. | Recent advances of Captcha security analysis: a short literature review | |
Dinh et al. | Human-artificial intelligence approaches for secure analysis in CAPTCHA codes | |
CN110246207A (zh) | 基于多图层的图形验证码生成方法 | |
CN111125672A (zh) | 一种图像验证码的生成方法及装置 | |
Nohara et al. | Personal identification by flick input using self-organizing maps with acceleration sensor and gyroscope | |
Brodić et al. | The CAPTCHA: Perspectives and Challenges: Perspectives and Challenges in Artificial Intelligence |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |