CN109670291B - 一种验证码的实现方法、装置及存储介质 - Google Patents

一种验证码的实现方法、装置及存储介质 Download PDF

Info

Publication number
CN109670291B
CN109670291B CN201710967338.8A CN201710967338A CN109670291B CN 109670291 B CN109670291 B CN 109670291B CN 201710967338 A CN201710967338 A CN 201710967338A CN 109670291 B CN109670291 B CN 109670291B
Authority
CN
China
Prior art keywords
image
verification
question
images
answer
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.)
Active
Application number
CN201710967338.8A
Other languages
English (en)
Other versions
CN109670291A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710967338.8A priority Critical patent/CN109670291B/zh
Priority to PCT/CN2018/110210 priority patent/WO2019076259A1/zh
Publication of CN109670291A publication Critical patent/CN109670291A/zh
Priority to US16/588,460 priority patent/US11341227B2/en
Application granted granted Critical
Publication of CN109670291B publication Critical patent/CN109670291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/36User authentication by graphic or iconic representation
    • 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/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • 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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

一种验证码的实现方法、装置及存储介质,所述方法包括:获取至少一个图像,确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系;根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从至少一个图像中标注出与每个验证问题匹配的答案图像;根据各图像的至少一个图像属性和生成的验证问题,对至少一个图像进行渲染处理,生成至少一个验证码图片,验证码图片对应至少一个验证问题;对应存储生成的验证问题和至少一个验证码图片,为终端设备提供验证问题的入口。通过采用本方案,能够提高验证码的抗破解性,提高人机身份验证的准确性,对抗目前的机器学习算法破解验证码。

Description

一种验证码的实现方法、装置及存储介质
技术领域
本申请涉及终端与应用技术领域,尤其涉及一种验证码的实现方法、装置及存储介质。
背景技术
在互联网中,采用验证码来区分真实人类和计算机,验证码可用来防止坏人利用自动化程序进行暴力破解用户密码、恶意刷取投票、恶意批量发布内容等行为。具体来说,在验证码测试中,作为服务器的计算机会自动生成一个问题,并由用户来解答,并由计算机评判。由于问题只有人类才能解答,计算机无法解答验证码的问题,那么最后回答出问题的用户就可以被认为是人类。
目前主要采用字符型验证码和滑动拼图,其中字符型验证码要求用户输入字符,但容易被机器学习破解,滑动拼图这类行为验证码缺少对抗性,行为轨迹容易被重放攻击。
可见,目前的区分人类和计算机的提问验证码的抗破解性都较低,容易被机器学习,无法有效的避免恶意刷票、暴力破解用户密码等行为。
发明内容
本申请提供了一种验证码的实现方法、装置及存储介质,能够解决现有技术中提问验证码的抗破解性较低的问题。
本申请第一方面提供一种验证码的实现方法,所述方法包括:
获取至少一个图像;
确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系;
根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像;
根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片,所述验证码图片对应至少一个验证问题;
对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
本申请第二方面提供一种实现验证码的装置,具有实现对应于上述第一方面提供的验证码的实现方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。
一种可能的设计中,所述装置包括:
收发模块,用于获取至少一个图像;
处理模块,用于确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系;
根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像;
根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片,所述验证码图片对应至少一个验证问题;
对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
本申请又一方面提供了一种计算机装置,其包括处理器、存储器和收发器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行上述第一方面所述的方法。
本申请又一方面提供了一种计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
相较于现有技术,本申请提供的方案中,在获取至少一个图像后,根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从至少一个图像中标注出与每个验证问题匹配的答案图像;根据各图像的至少一个图像属性和生成的验证问题,对至少一个图像进行渲染处理,生成至少一个验证码图片,验证码图片对应至少一个验证问题。本申请从验证问题的维度上进行加强,能够提高验证码的抗破解性,以及提高人机身份验证的准确性,也能对抗目前的机器学习算法破解验证码。
附图说明
图1-1为本申请实施例中服务器的一种架构示意图;
图1-2为本申请实施例中生产后台的一种架构示意图;
图2为本申请实施例中验证码的实现方法的一种流程示意图;
图3为本申请实施例中验证码图片的一种示意图;
图4为本申请实施例中验证码的另一种示意图;
图5为本申请实施例中验证码的另一种示意图;
图6为本申请实施例中验证码的另一种示意图;
图7为本申请实施例中验证码的另一种示意图;
图8为本申请实施例中验证码的另一种示意图;
图9为本申请实施例中验证码的实现装置的一种结构示意图;
图10为本申请实施例中验证码的实现装置的另一种结构示意图;
图11为本申请实施例中服务器的一种结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个***中,或一些特征可以忽略,或不执行,另外,所显示的或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块之间的间接耦合或通信连接可以是电性或其他类似的形式,本申请中均不作限定。并且,作为分离部件说明的模块或子模块可以是也可以不是物理上的分离,可以是也可以不是物理模块,或者可以分布到多个电路模块中,可以根据实际的需要选择其中的部分或全部模块来实现本申请方案的目的。
本申请供了一种校验码的实现方法、装置及存储介质,该方法可应用于服务器侧,服务器可用于生成验证码以及对访问服务器的终端设备进行验证码验证。一些实施方式中,如图1-1所示,本申请实施例中的服务器主要包括三个功能部分:生产后台、前端交互平台和校验后台。
其中,生产后台主要用于生成图像、图像属性配置文件、验证码图片和验证问题。生产后台还可包渲染引擎,渲染引擎可用于对图像进行渲染,以得到验证码图片。渲染引擎可以集成于生产后台,也可独立部署,具体本申请不作限定。图1-2为生产后台的一种架构示意图,生产后台生成图像属性配置文件后,进行图像合法性校验,验证问题生成器基于图像属性配置文件匹配现有的问题规则库生成验证问题(例如验证问题1、验证问题2…验证问题n),图像生成器根据图像内的物件属性,渲染出验证码图片和答案区域,并对生成的验证码图片进行文本有效性裁剪。其中,答案区域会作为正确答案的标准传输给校验后台使用,验证码图片和验证问题将传至前端交互平台,呈现给用户。交互框架则是用于与用户交互,通过获取用户针对验证问题的输入去验证用户。
前端交互平台主要用于与终端设备的验证码验证的交互,其可以以网页、交互式应用或服务端的形式实现。其可以存储验证码图片和验证问题,并且与终端设备进行交互。
校验后台主要用于存储验证问题和已标注答案区域的验证码图片,并且在对前端交互平台传送的答案进行验证。
生产后台生成图像属性配置文件和验证问题后,可将验证问题传送到前端交互平台,以及将图像属性配置文件传送到渲染引擎,渲染引擎可基于图像属性配置文件渲染出验证码图片。然后渲染引擎将渲染得到的验证码图片传送到前端交互平台。
前端交互平台向终端设备推送验证的交互界面,终端设备可通过网页、安装的客户端在交互界面上回答问题,并在该交互界面输入答案。当前端交互平台收到来自终端设备输入的答案后,获取用户在终端设备上的轨迹数据,再将答案和轨迹数据发送给校验后台。
校验后台基于接收到的答案和轨迹数据对答案进行校验,若校验成功,则会向前端交互平台返回一个检验结果。
其中,需要特别说明的是,本申请涉及的终端设备,可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless Local Loop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。
为解决上述技术问题,参照图2,以下对本申请提供一种验证码的实现的方法进行举例说明,本申请实施例主要包括:
201、获取至少一个图像。
其中,一个图像可对应一个对象,对象则是指该图像所表示的物体。
一些实施方式中,获取的所述至少一个图像可以是基于先验知识生成,也可以是预先生成的有固定含义的图像,然后通过选择、拖拽等方式添加。
例如,基于先验知识生成上述至少一个图像时,可以直接定义生成三角形、立方体、圆柱体、汽车、钟表等各种类型的物体,可以对这些物体设置颜色、尺寸、纹理等图像属性。
又例如,可以预先获取各种类型的图像,这些图像已经具备图像属性,然后可自定义的进行挑选,例如从其中挑选出着色的三角形、立方体、圆柱体、汽车、钟表等各种类型的物体。
202、确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系。
其中,图像属性至少可包括图像在验证码图片中的位置、相同图像的数量、图像尺寸、图像颜色、图像形状和图像纹理等。
图像间的关联关系至少可包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。例如图像间的相似度可以是指两个图像是否都表示同一类型的物体,两个图像的纹理是否相似等;图像间的空间关系可以是指两个图像之间的相对位置关系,例如前后左右,或者遮挡等空间关系。
203、根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像。
在一些实施方式中,生成至少一个验证问题,以及标注出答案图像,具体可包括:
(1)在确定出所述至少一个图像的图像属性和所述图像间的关联关系后,可根据所述至少一个图像的图像属性和所述图像间的关联关系,生成图像属性配置文件。例如可对至少一个所述图像进行随机组合,以生成所述图像属性配置文件。其中,所述图像属性配置文件包括图像的图像信息,至少一个各图像的至少一个图像属性和多个对象,对象与图像对应。例如,所述图像属性配置文件可包括物体形状、颜色、纹理、字符、大小、位置、光源位置、摄像机角度等,对于一个图像来说,其可能代表一个圆柱体,该圆柱体还相应的具备颜色、纹理、尺寸等属性,可以将这些属性成为其所属的图像的图像属性。
例如图3所示,图3呈现了图像属性配置文件所包含的东西,例如其中包括三个正方体、三个球体以及两个圆柱体。其中,三个正方体中有两个尺寸、颜色和纹理相同,另外一个尺寸、颜色和纹理均与这两个正方体不同。两个圆柱体的尺寸不同,颜色和纹理相同。三个球体中有两个球体的尺寸和纹理相同但颜色不同,两个球体的尺寸不同但颜色和纹理相同。
可选的,在一些实施方式中,考虑到生成的图像属性配置文件可能会存在物体被遮挡、超出图像可视区域、重合等原因影响实际的验证效果。所以,在生成图像属性配置文件之后,还可以对所述验证码图片中的至少一个图像进行光栅化处理。通过光栅化处理后,获得其在验证码图片的可见性,从而对验证码图片的合法性进行判断。
(2)根据所述图像属性配置文件生成至少一个验证问题。
可根据所述图像属性配置文件去匹配问题规则库中的规则,进而生成所述至少一个验证问题。
例如,基于图3所示的图像属性配置文件,将其与问题规则库进行匹配时,可能会匹配出以下验证问题:请点击图中的两个尺寸相同的球体、请点击图中的两个尺寸不同但颜色相同的球体、请点击图中的正方体。诸如此类的验证问题都可以匹配出。
在一些实施方式中,具体生成验证问题的问题维度可包括:数量、尺寸、相关关系、图像属性、空间关系、形状、纹理或重叠等图像属性。
例如图3所示,还可以根据空间关系来生成验证问题,这样可以提高验证的难度。可以生成类似的如下验证问题:请点击尺寸较大的圆柱体后面的第一个正方体、请点击红色球体前的正方体。诸如此类,均可以有效减少机器学习,提高识别人工回答的正确率,一定程度上可屏蔽恶意刷验证码的行为。
在一些实施方式中,还可以通过增加以下问题维度:物体是否可以拼合、物体的模糊程度、中文汉字模型等,这样可以进一步扩大问题维度的范围,进而增加验证码的抗破解性。
(3)根据生成的验证问题,标注所述图像属性配置文件中与验证问题匹配的答案图像。
基于图3,由图3可以生成多个验证问题,若针对验证问题“请点击图中的两个尺寸相同的球体”,则可以对球体1和球体2进行标注,如图4所示;若针对验证问题“请点击红色球体前的正方体”,则可以对正方体2进行标注,如图5所示。其他验证问题对应的答案图像的标注类似,不作赘述。具体标注的方式可以是被选中的状态、框选,背景变亮等,具体本申请不作限定。
可选的,在一些实施方式中,在生成验证问题时,还可以直接生成所匹配的图片内的物体属性列表,可以简化问题生成的流程,从而提高运算效率。
204、根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片。
其中,所述验证码图片对应至少一个验证问题。可选的,在渲染验证码图片时,可以采用2D渲染引擎来实现图片渲染,这样可以降低运算负荷。
205、对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
可选的,在本申请的一些实施例中,所述生成至少一个验证码图片之后,所述方法还包括:
(a)根据生成的验证问题和验证问题对应的答案图像,计算所述答案图像映射到所述验证码图片中的坐标点区域。
(b)根据所述坐标点区域,在所述验证码图片中分别生成与验证问题匹配的答案区域,所述答案区域是指针对答案图像的有效操作区域,当用户的轨迹数据落入对应的答案区域,则表示该答案区域验证正确。答案区域可以是针对一个或多个答案图像的有效点操作区域,答案区域可以是连续或分离的区域,只有当每个答案区域都验证正确时,才可以确定验证成功。
其中,答案区域可用类似100px<x<130px、50px<y<80px等像素范围表示,只要用户的轨迹数据落入预先生成的像素范围即可。答案区域会传至校验后台,渲染好的图片会连同问题传至前端交互平台。
与现有机制相比,本申请实施例中,在获取至少一个图像后,根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从至少一个图像中标注出与每个验证问题匹配的答案图像;根据各图像的至少一个图像属性和生成的验证问题,对至少一个图像进行渲染处理,生成至少一个验证码图片,验证码图片对应至少一个验证问题。本申请从验证问题的维度上进行加强,能够提高验证码的抗破解性,以及提高人机身份验证的准确性,也能对抗目前的机器学习算法破解验证码。
可选的,在本申请的一些实施例中,还可以根据所述至少一个随机图像生成验证码图片,或者还可以生成图像属性配置文件。
基于所述验证码图片内各随机图像的图像属性,生成与所述验证码图片对应的至少一个验证问题,以及在所述验证码图片中标注对应每个验证问题的答案图像。
根据生成的验证问题和验证问题对应的答案图像,在所述验证码图片中分别生成与验证问题匹配的答案区域,最后对应存储所述验证问题和已生成答案区域的所述验证码图片,为终端设备提供验证问题的入口。
例如,图中的蓝色球体和蓝色正方体可匹配到问题“请点击图中的蓝色物体”时,二者被标注,然后生成对应的验证码图片1;图中的绿色正方体和蓝色正方体可匹配到问题“请点击图中的正方体”时,二者被标注,然后生成对应的验证码图片2。
具体是先生成包含的固定图像、固定的图像间的关联关系的验证码图片,再去生成对应的验证问题,还是动态的根据图像属性配置文件匹配出验证问题后,再动态的根据匹配的验证问题生成对应的验证码图片。本申请均不作限定,只要验证码图片和验证问题是基于图像的图像属性、以及图像间的关联关系即可。
可选的,在本申请的一些实施例中,所述至少一个验证问题至少基于以下项之一得到:
问题规则库、图像的至少一个物体属性、以及至少一个图像的图像属性。
例如,在生成验证问题时,可基于获取的图像的图像属性,或者多个图像的图像属性来生成相应的验证问题,还可以基于图像属性的共性或者相似度来生成验证问题。
例如,获取的图像中包括3个正方体,其中两个正方体尺寸和纹理相同,那么可以生成一个验证问题“请点击尺寸和纹理相同的正方体”。
又例如,获取的图像中包括3个正方体、2个圆柱体和3个球体,其中有1个正方体、1个圆柱体和2个球体的颜色相同,那么,可以生成一个验证问题“请点击颜色相同的图像”。
又例如,获取的图像中包括1座桥、2艘船和2条高架,其中,1搜船在桥上有指示牌的一侧,1艘船在该桥没有指示牌的另一侧,那么可以生成一个验证问题“请点击靠近桥上有指示牌的1艘船”。
又例如,获取的图像中包括2艘船,其中,1搜船的甲板上站有人,1艘船的甲板无人,那么可以生成一个验证问题“请点击甲板上有人的一艘船”。
通过上述举例,可见本申请实施例中生成验证问题的机制较为复杂,从而使得用户在回答验证问题时,需要从验证码图片中进行判断,而普通的程序则很难从用户的判断思维去回答验证问题,从而提高机器学习的对抗性。
可选的,在本申请的一些实施例中,所述方法还包括:
(a)接收终端设备发送的访问请求后,向所述终端设备发送验证问题的交互界面,所述交互界面包括待验证问题、所述待验证问题对应的验证码图片、以及引导图标;所述引导图标用于引导所述终端设备在回答所述待验证问题时的交互方式,引导图标可包括点击、拖拽、画圈、涂抹、框选和滑动等。图6为所述交互界面的一种示意图,引导图标包括涂抹和框选。
(b)接收终端设备针对所述待验证问题输入的指令,所述指令携带问题答案,所述问题***括所述验证码图片中至少一个图像。
(c)获取所述输入指令在所述验证码图片上产生的轨迹数据。
例如图6所示,用户针对所述待验证问题对圆柱体进行涂抹,将涂抹的区域内产生的轨迹作为本次验证的轨迹数据。
例如图7所示,用户针对所述待验证问题对正方体进行框选,将框选区域内产生的轨迹作为轨迹数据。
例如图8所示,用户针对所述待验证问题对正方体进行拖拽,将选中的正方体拖至图8中右侧的桶中。
(d)基于所述待验证问题和所述轨迹数据,验证所述轨迹数据是否在所述验证码图片中标注的答案区域。
若所述轨迹数据在所述验证码图片中标注的答案区域内,则向所述终端设备返回验证成功的消息,确定所述终端设备验证成功。
图1-1至图8中任一所对应的实施例中的特征也同样适用于本申请中的图9和图10所对应的实施例,后续类似之处不再赘述。
以上对本申请中一种验证码的实现方法进行说明,以下对执行上述验证码的实现方法的装置进行说明。该装置可以是安装了服务端的服务器,也可以是安装于服务器上的服务端。
参照图9,所述装置包括:
收发模块,用于获取至少一个图像;
处理模块,用于确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系;
根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像;
根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片,所述验证码图片对应至少一个验证问题;
对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
本申请实施例中,在收发模块获取至少一个图像后,所述处理模块根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从至少一个图像中标注出与每个验证问题匹配的答案图像;根据各图像的至少一个图像属性和生成的验证问题,对至少一个图像进行渲染处理,生成至少一个验证码图片,验证码图片对应至少一个验证问题。本申请从验证问题的维度上进行加强,能够提高验证码的抗破解性,以及提高人机身份验证的准确性,也能对抗目前的机器学习算法破解验证码。
可选的,图像属性至少包括图像在验证码图片中的位置、相同图像的数量、图像尺寸、图像形状和图像纹理;
图像间的关联关系至少包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。
可选的,在本申请的一些实施例中,所述处理模块具体用于:
根据所述至少一个图像的图像属性和所述图像间的关联关系,组合至少一个所述图像,以生成图像属性配置文件,所述图像属性配置文件包括图像的图像信息,至少一个各图像的至少一个图像属性和多个对象,对象与图像对应;
根据所述图像属性配置文件生成至少一个验证问题;
根据生成的验证问题,标注所述图像属性配置文件中与验证问题匹配的答案图像。
可选的,所述至少一个验证问题至少基于以下项之一得到:
问题规则库、图像的至少一个物体属性、以及至少一个图像的图像属性。
可选的,在本申请的一些实施例中,所述生成图像属性配置文件之后,所述处理模块还用于:
对所述验证码图片中的至少一个图像进行光栅化处理。
可选的,在本申请的一些实施例中,所述处理模块还用于:
通过所述收发模块接收终端设备发送的访问请求后,通过所述收发模块向所述终端设备发送验证问题的交互界面,所述交互界面包括待验证问题、所述待验证问题对应的验证码图片、以及引导图标;所述引导图标用于引导所述终端设备在回答所述待验证问题时的交互方式;
通过所述收发模块接收终端设备针对所述待验证问题输入的指令,所述指令携带问题答案,所述问题***括所述验证码图片中至少一个图像;
通过所述收发模块获取所述输入指令在所述验证码图片上产生的轨迹数据;
基于所述待验证问题和所述轨迹数据,验证所述轨迹数据是否在所述验证码图片中标注的答案区域;
若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功。
可选的,在本申请的一些实施例中,所述生成至少一个验证码图片之后,所述处理模块还用于:
根据生成的验证问题和验证问题对应的答案图像,计算所述答案图像映射到所述验证码图片中的坐标点区域;
根据所述坐标点区域,在所述验证码图片中分别生成与验证问题匹配的答案区域,所述答案区域是指针对答案图像的有效操作区域。
上面从模块化功能实体的角度对本申请实施例中的网络认证服务器和终端设备进行了描述,下面从硬件处理的角度分别对本申请实施例中的服务器进行描述。需要说明的是,在本申请图9所示的实施例中的收发模块对应的实体设备可以为收发器,处理模块对应的实体设备可以为处理器。图9所示的装置可以具有如图10所示的结构,当图9所示的装置具有如图10所示的结构时,图10中的处理器和收发器能够实现前述对应该装置的装置实施例提供的处理模块和收发模块相同或相似的功能,图10中的存储器存储处理器执行上述验证码的实现方法时需要调用的程序代码。
图11是本发明实施例提供的一种服务器结构示意图,该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(英文全称:centralprocessing units,英文简称:CPU)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。
服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作***1141,例如Windows Server,Mac OS X,Unix,Linux,FreeBSD等。
上述实施例中由服务器所执行的步骤可以基于该图11所示的服务器结构。
例如,所述中央处理器1122可以调用存储介质1130中存储的指令执行如下操作:
通过输入输出接口1158获取至少一个图像;
确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系;
根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像;
根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片,所述验证码图片对应至少一个验证问题;
对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
可选的,图像属性至少包括图像在验证码图片中的位置、相同图像的数量、图像尺寸、图像形状和图像纹理;
图像间的关联关系至少包括图像间的相似度、图像所示的物体的类型、以及图像间的空间关系。
在本申请的一些实施例中,所述中央处理器1122还可以调用存储介质1130中存储的指令执行如下操作:
根据所述至少一个图像的图像属性和所述图像间的关联关系,组合至少一个所述图像,以生成图像属性配置文件,所述图像属性配置文件包括图像的图像信息,至少一个各图像的至少一个图像属性和多个对象,对象与图像对应;
根据所述图像属性配置文件生成至少一个验证问题;
根据生成的验证问题,标注所述图像属性配置文件中与验证问题匹配的答案图像。
可选的,所述至少一个验证问题至少基于以下项之一得到:
问题规则库、图像的至少一个物体属性、以及至少一个图像的图像属性。
可选的,所述生成图像属性配置文件之后,所述中央处理器1122还可以调用存储介质1130中存储的指令执行如下操作:
对所述验证码图片中的至少一个图像进行光栅化处理。
可选的,所述中央处理器1122还可以调用存储介质1130中存储的指令执行如下操作:
通过所述输入输出接口1158接收终端设备发送的访问请求后,通过所述输入输出接口1158向所述终端设备发送验证问题的交互界面,所述交互界面包括待验证问题、所述待验证问题对应的验证码图片、以及引导图标;所述引导图标用于引导所述终端设备在回答所述待验证问题时的交互方式;
通过所述输入输出接口1158接收终端设备针对所述待验证问题输入的指令,所述指令携带问题答案,所述问题***括所述验证码图片中至少一个图像;
通过所述输入输出接口1158获取所述输入指令在所述验证码图片上产生的轨迹数据;
基于所述待验证问题和所述轨迹数据,验证所述轨迹数据是否在所述验证码图片中标注的答案区域;
若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功。
可选的,所述生成至少一个验证码图片之后,所述中央处理器1122还可以调用存储介质1130中存储的指令执行如下操作:
根据生成的验证问题和验证问题对应的答案图像,计算所述答案图像映射到所述验证码图片中的坐标点区域;
根据所述坐标点区域,在所述验证码图片中分别生成与验证问题匹配的答案区域,所述答案区域是指针对答案图像的有效操作区域。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (14)

1.一种验证码的实现方法,其特征在于,所述方法包括:
获取至少一个图像;
确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系,所述图像间的关联关系至少包括图像间的相似度以及图像间的空间关系;
根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像,生成的验证问题的问题维度至少包括:数量、尺寸、相关关系、形状、纹理或重叠中的至少一种;
根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片,所述验证码图片对应至少一个验证问题;
对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
2.根据权利要求1所述的方法,其特征在于,图像属性至少包括图像在验证码图片中的位置、相同图像的数量、图像尺寸、图像形状和图像纹理;
图像间的关联关系还包括图像所示的物体的类型。
3.根据权利要求1或2所述的方法,其特征在于,所述根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像,包括:
根据所述至少一个图像的图像属性和所述图像间的关联关系,组合至少一个所述图像,以生成图像属性配置文件,所述图像属性配置文件包括图像的图像信息,至少一个各图像的至少一个图像属性和多个对象,对象与图像对应;
根据所述图像属性配置文件生成至少一个验证问题;
根据生成的验证问题,标注所述图像属性配置文件中与验证问题匹配的答案图像。
4.根据权利要求3所述的方法,其特征在于,所述至少一个验证问题至少基于以下项之一得到:
问题规则库、图像的至少一个物体属性、以及至少一个图像的图像属性。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端设备发送的访问请求后,向所述终端设备发送验证问题的交互界面,所述交互界面包括待验证问题、所述待验证问题对应的验证码图片、以及引导图标;所述引导图标用于引导所述终端设备在回答所述待验证问题时的交互方式;
接收终端设备针对所述待验证问题输入的指令,所述输入的指令携带问题答案,所述问题***括所述验证码图片中至少一个图像;
获取所述输入的指令在所述验证码图片上产生的轨迹数据;
基于所述待验证问题和所述轨迹数据,验证所述轨迹数据是否在所述验证码图片中标注的答案区域;
若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功。
6.根据权利要求1所述的方法,其特征在于,所述生成图像属性配置文件之后,所述方法还包括:
对所述验证码图片中的至少一个图像进行光栅化处理。
7.根据权利要求1所述的方法,其特征在于,所述生成至少一个验证码图片之后,所述方法还包括:
根据生成的验证问题和验证问题对应的答案图像,计算所述答案图像映射到所述验证码图片中的坐标点区域;
根据所述坐标点区域,在所述验证码图片中分别生成与验证问题匹配的答案区域,所述答案区域是指针对答案图像的有效操作区域。
8.一种验证码的实现装置,其特征在于,所述装置包括:
收发模块,用于获取至少一个图像;
处理模块,用于确定所述至少一个图像中各图像的至少一个图像属性和图像间的关联关系,所述图像间的关联关系至少包括图像间的相似度以及图像间的空间关系;
根据各图像的至少一个图像属性和图像间的关联关系,生成至少一个验证问题,以及从所述至少一个图像中标注出与每个验证问题匹配的答案图像,生成的验证问题的问题维度至少包括:数量、尺寸、相关关系、形状、纹理或重叠中的至少一种;
根据所述各图像的至少一个图像属性和生成的验证问题,对所述至少一个图像进行渲染处理,生成至少一个验证码图片,所述验证码图片对应至少一个验证问题;
对应存储生成的验证问题和所述至少一个验证码图片,为终端设备提供验证问题的入口。
9.根据权利要求8所述的装置,其特征在于,图像属性至少包括图像在验证码图片中的位置、相同图像的数量、图像尺寸、图像形状和图像纹理;
图像间的关联关系还包括图像所示的物体的类型。
10.根据权利要求8或9所述的装置,其特征在于,所述处理模块具体用于:
根据所述至少一个图像的图像属性和所述图像间的关联关系,组合至少一个所述图像,以生成图像属性配置文件,所述图像属性配置文件包括图像的图像信息,至少一个各图像的至少一个图像属性和多个对象,对象与图像对应;
根据所述图像属性配置文件生成至少一个验证问题;
根据生成的验证问题,标注所述图像属性配置文件中与验证问题匹配的答案图像。
11.根据权利要求8所述的装置,其特征在于,所述处理模块还用于:
通过所述收发模块接收终端设备发送的访问请求后,通过所述收发模块向所述终端设备发送验证问题的交互界面,所述交互界面包括待验证问题、所述待验证问题对应的验证码图片、以及引导图标;所述引导图标用于引导所述终端设备在回答所述待验证问题时的交互方式;
通过所述收发模块接收终端设备针对所述待验证问题输入的指令,所述输入的指令携带问题答案,所述问题***括所述验证码图片中至少一个图像;
通过所述收发模块获取所述输入的指令在所述验证码图片上产生的轨迹数据;
基于所述待验证问题和所述轨迹数据,验证所述轨迹数据是否在所述验证码图片中标注的答案区域;
若所述轨迹数据在所述验证码图片中标注的答案区域内,则确定所述终端设备验证成功。
12.根据权利要求8所述的装置,其特征在于,所述生成至少一个验证码图片之后,所述处理模块还用于:
根据生成的验证问题和验证问题对应的答案图像,计算所述答案图像映射到所述验证码图片中的坐标点区域;
根据所述坐标点区域,在所述验证码图片中分别生成与验证问题匹配的答案区域,所述答案区域是指针对答案图像的有效操作区域。
13.一种计算机装置,其特征在于,所述装置包括:
至少一个处理器、存储器和收发器;
其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行如权利要求1-7任一项所述的方法。
14.一种计算机存储介质,其特征在于,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7任一所述的方法。
CN201710967338.8A 2017-10-17 2017-10-17 一种验证码的实现方法、装置及存储介质 Active CN109670291B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201710967338.8A CN109670291B (zh) 2017-10-17 2017-10-17 一种验证码的实现方法、装置及存储介质
PCT/CN2018/110210 WO2019076259A1 (zh) 2017-10-17 2018-10-15 验证码的生成方法、装置、计算机设备及存储介质
US16/588,460 US11341227B2 (en) 2017-10-17 2019-09-30 Verification code generation method and apparatus, computer device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710967338.8A CN109670291B (zh) 2017-10-17 2017-10-17 一种验证码的实现方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109670291A CN109670291A (zh) 2019-04-23
CN109670291B true CN109670291B (zh) 2022-08-09

Family

ID=66141311

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710967338.8A Active CN109670291B (zh) 2017-10-17 2017-10-17 一种验证码的实现方法、装置及存储介质

Country Status (3)

Country Link
US (1) US11341227B2 (zh)
CN (1) CN109670291B (zh)
WO (1) WO2019076259A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382413A (zh) * 2018-12-28 2020-07-07 武汉极意网络科技有限公司 存储器、基于推理的验证码实现方法、装置和设备
CN112448915B (zh) * 2019-08-28 2023-03-24 华为技术有限公司 配置报文的验证方法及装置、计算机存储介质
CN110598392A (zh) * 2019-09-12 2019-12-20 同盾控股有限公司 人机验证方法、装置、存储介质及电子设备
CN113496017B (zh) * 2020-04-08 2024-07-12 阿里巴巴集团控股有限公司 验证方法、装置、设备和存储介质
CN111523105B (zh) * 2020-04-15 2023-02-24 闽南科技学院 基于语义理解的交互式图片验证方法
CN111563941B (zh) * 2020-05-08 2023-12-22 拉扎斯网络科技(上海)有限公司 一种图片验证码生成方法、验证方法、装置及相关设备
CN111966990B (zh) * 2020-08-21 2024-06-04 网易(杭州)网络有限公司 验证码的处理方法及装置、电子设备、存储介质
CN112839026B (zh) * 2020-11-30 2022-07-26 中冶华天南京工程技术有限公司 基于随机网格与随机水印轮廓的行为验证码生成及验证方法
CN114124462B (zh) * 2021-10-26 2023-12-19 北京达佳互联信息技术有限公司 验证码传输方法、装置、电子设备及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8001613B2 (en) * 2006-06-23 2011-08-16 Microsoft Corporation Security using physical objects
US8959621B2 (en) * 2009-12-22 2015-02-17 Disney Enterprises, Inc. Human verification by contextually iconic visual public turing test
US8959648B2 (en) * 2010-10-01 2015-02-17 Disney Enterprises, Inc. Audio challenge for providing human response verification
SG194267A1 (en) * 2012-05-03 2013-11-29 C3S Pte Ltd Method and system for protecting a password during an authentication process
CN104135365B (zh) * 2013-05-03 2018-11-09 阿里巴巴集团控股有限公司 对访问请求进行验证的方法、服务器及客户端
CN104468101A (zh) * 2013-09-12 2015-03-25 深圳市腾讯计算机***有限公司 一种用户身份的验证方法、装置和验证服务***
CN104580117B (zh) * 2013-10-28 2018-07-27 深圳市腾讯计算机***有限公司 身份验证方法、装置及***
RU2016130455A (ru) * 2013-12-30 2018-02-08 Общество с ограниченной ответственностью "Мэйл.Ру" Способ и система для определения того, является ли пользователь человеком
US9411950B1 (en) * 2014-06-17 2016-08-09 Susan Olsen-Kreusch Methods and systems for user authentication in a computer system using image-based log-ins
CN105323066B (zh) * 2014-07-21 2020-03-17 腾讯科技(深圳)有限公司 身份验证方法及装置
CN106250756A (zh) * 2016-07-29 2016-12-21 智者四海(北京)技术有限公司 验证码的生成方法、验证方法及相应装置

Also Published As

Publication number Publication date
WO2019076259A1 (zh) 2019-04-25
CN109670291A (zh) 2019-04-23
US11341227B2 (en) 2022-05-24
US20200026844A1 (en) 2020-01-23

Similar Documents

Publication Publication Date Title
CN109670291B (zh) 一种验证码的实现方法、装置及存储介质
CN104834839B (zh) 一种条码生成方法、基于条码的鉴权方法及相关终端
EP2892198B1 (en) Detecting and breaking captcha automation scripts and preventing image scraping
US8745729B2 (en) Preventing abuse of services through infrastructure incompatibility
CN104618315B (zh) 一种验证信息推送和信息验证的方法、装置及***
CN109933970B (zh) 一种图形验证码检测方法、装置及存储介质
US20190043030A1 (en) User attribute value transfer method and terminal
CN103810767A (zh) 一种线下活动签到方法及***
CN106385403B (zh) 一种自助打印设备的用户账号注册方法及相关设备
CN103455965A (zh) 一种基于验证图片的验证方法、装置及服务器
CN108647501A (zh) 多应用程序共享密码解锁方法、装置、设备及存储介质
CN107888553A (zh) 一种验证方法、服务器和***
CN108985421B (zh) 编码信息的生成方法和识别方法
CN105357008A (zh) 身份验证方法及装置
CN110113329A (zh) 一种验证码的验证方法及装置
CN112036882A (zh) 账户登录方法、装置及电子设备
CN109902611A (zh) 目标证件的检测方法、装置和终端设备
CN105653911A (zh) 基于二维码的解锁方法及解锁***
CN109413004B (zh) 验证方法、装置及设备
CN104079527A (zh) 一种信息处理方法及电子设备
CN111090849A (zh) 存储器、验证码实现方法、装置和设备
CN106850519A (zh) 应用安全性认证方法及装置
CN112687042A (zh) 认证方法、认证装置和电子设备
US20230186666A1 (en) Secure document authentication
CN111625805B (zh) 验证方法、装置、电子设备及存储介质

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