CN113422687B - 一种验证方法、验证服务器和验证系统 - Google Patents
一种验证方法、验证服务器和验证系统 Download PDFInfo
- Publication number
- CN113422687B CN113422687B CN202110708046.9A CN202110708046A CN113422687B CN 113422687 B CN113422687 B CN 113422687B CN 202110708046 A CN202110708046 A CN 202110708046A CN 113422687 B CN113422687 B CN 113422687B
- Authority
- CN
- China
- Prior art keywords
- verification
- picture
- image block
- tile
- target
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
- H04L9/3228—One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- User Interface Of Digital Computer (AREA)
- Collating Specific Patterns (AREA)
Abstract
本申请提供了一种验证方法、验证服务器和验证系统,该方法包括:基于接收到的来自客户端的拉取验证码的请求,生成验证图片和多个验证图块;多个验证图块包括目标图块和经过增广处理的至少一个增广图块,目标图块是对预存的原始图片进行图片切割得到的,增广图块是对目标图块进行增广处理得到的;向客户端发送验证图片和多个验证图块;接收来自客户端的拼图,拼图中包括验证图片和第一验证图块,验证之后向客户端发送验证结果,通过对目标图块进行简单的增广处理,得到多个增广图块,使得黑客只有在识别出目标图块且目标图块在验证图片中的位置正确的情况下,才能破解验证码,降低了黑客的一次成功率,提高了验证码的安全性。
Description
技术领域
本申请涉及通信安全领域,并且更具体地,涉及一种验证方法、验证服务器和验证系统。
背景技术
随着电子信息技术的发展,各种对客系统为用户提供的服务也越来越丰富,因而防范黑客攻击的压力也越来越大。
目前,在常规对客网站系统中,为防止黑客恶意攻击,通常采用在用户登录、用户注册等特定操作中额外增加一项验证码输入,用来校验本次操作是否是正常业务操作。例如,验证码有随机生成的数字图片验证码、两个或若干个数字与操作符号组合的计算验证码、一维滑块的拼图验证码等等。但上述验证码的安全性较低,黑客一次破解的成功率较高。
因此,为防止黑客恶意攻击,亟需提供一种安全性较高、用户便于操作、且生成方式简单的验证方法。
发明内容
本申请提供了一种验证方法、验证服务器和验证系统,以期能够在不过多增加用户操作的前提下,提高验证码的安全性,降低破解的一次成功率。
第一方面,本申请提供了一种验证方法,该方法可以由验证服务器执行,或者也可以由部署在验证服务器中的部件(如芯片、芯片系统等)执行。本申请实施例对此不作限定。下文仅为示例,以验证服务器作为执行主体来描述了第一方面提供的方法。
示例性地,该方法包括:基于接收到的来自客户端的拉取验证码的请求,生成验证图片和多个验证图块;所述多个验证图块包括未经过增广处理的目标图块和经过增广处理的至少一个增广图块,所述目标图块是对预存的原始图片进行图片切割得到的,所述验证图片是从所述原始图片中切割所述目标图块之后得到的不完整的图片,所述增广图块是对所述目标图块进行增广处理得到的;向所述客户端发送所述验证图片和所述多个验证图块;接收来自所述客户端的拼图,所述拼图是基于用户对所述多个验证图块中的第一验证图块的操作得到的,所述拼图中包括所述验证图片和所述第一验证图块;向所述客户端发送验证结果,所述验证结果是基于对所述拼图的验证得到的。
基于上述技术方案,验证服务器可以基于接收到的客户端的拉取验证码的请求,生成验证图片和验证图块,并发送给客户端,验证图块包含目标图块和增广图块,增广图块是由目标图块经过增广处理得到的,再根据接收到的来自客户端的拼图,确定客户端选择的验证图块是否正确,通过简单的增广变换,得到多个验证图块,生成方式简单,而且在对客户端的拼图的验证过程中,需要客户端选择的验证图块正确且验证图块的位置正确,用户才能通过验证,在不过多增加用户操作的前提下,提高了验证码的安全性。
结合第一方面,在第一方面的某些可能的实现方式中,在向所述客户端发送验证结果之前,所述方法还包括:基于所述拼图,对所述用户进行验证。
结合第一方面,在第一方面的某些可能的实现方式中,所述基于所述拼图,对所述用户进行验证,包括:确定所述拼图中的所述第一验证图块不为所述目标图块;确定对所述用户的验证失败。
结合第一方面,在第一方面的某些可能的实现方式中,所述基于所述拼图,对所述用户进行验证,包括:确定所述拼图中的第一验证图块为所述目标图块;基于所述第一验证图块在所述验证图片中的位置,对所述用户进行验证。
结合第一方面,在第一方面的某些可能的实现方式中,所述方法还包括:基于所述第一验证图块与所述目标图块的相似度,确定所述第一验证图块是否为所述目标图块;其中,若所述第一验证图块与所述目标图块的相似度大于或等于第一预设门限,所述第一验证图块为所述目标图块;或,若所述第一验证图块与所述目标图块的相似度小于所述第一预设门限,所述第一验证图块不为所述目标图块。
结合第一方面,在第一方面的某些可能的实现方式中,所述基于所述第一验证图块在所述验证图片中的位置,对所述用户进行验证,包括:若所述第一验证图块在所述验证图片中与缺失区域有重合,且重合区域与所述缺失区域的比例大于或等于第二预设门限,确定对所述用户的验证成功;或若所述第一验证图块在所述验证图片中与缺失区域没有重合,或者,若所述第一验证图块在所述验证图片中与所述缺失区域有重合,但重合区域与所述缺失区域的比例小于第二预设门限,确定对所述用户的验证失败。
结合第一方面,在第一方面的某些可能的实现方式中,所述第一验证图块包括校验点,所述第一验证图块在所述验证图片中的位置与所述校验点在所述验证图片中的位置相对应,以及所述基于所述第一验证图块在所述验证图片中的位置,对所述用户进行验证,包括:确定预定义的标准点在所述验证图片中的位置,所述标准点与所述校验点对应;基于所述标准点在所述验证图片中的位置与所述校验点在所述验证图片中的位置,确定所述校验点与所述标准点之间的距离;若所述校验点与所述标准点之间的距离小于或等于第三预设门限,确定对所述用户的验证成功;或若所述校验点与所述标准点之间的距离大于所述第三预设门限,确定对所述用户的验证失败。
结合第一方面,在第一方面的某些可能的实现方式中,所述标准点是所述原始图片中的像素点,且所述标准点与所述原始图片的任意一个边的距离大于或等于预设值。
结合第一方面,在第一方面的某些可能的实现方式中,所述目标图块为正方形,所述预设值为所述正方形的边长,或,所述正方形的边长的二分之一。
结合第一方面,在第一方面的某些可能的实现方式中,在生成验证图片和多个验证图块之前,所述方法还包括:从预存的多个图片中随机选择一个图片作为所述原始图片;对所述原始图片进行图片切割,得到所述目标图块和所述验证图片;对所述目标图块进行至少一种增广处理,得到所述至少一个增广图块。
结合第一方面,在第一方面的某些可能的实现方式中,在对所述目标图块进行至少一种增广处理,得到所述至少一个增广图块之后,所述方法还包括:从所述至少一个增广图块中将与所述目标图块的相似度大于或等于第四预设门限的增广图块过滤。
可选地,所述增广处理包括如下一种或多种:平面旋转、对称翻转、缩放、裁剪、色彩变化、对比度变化和加噪。
结合第一方面,在第一方面的某些可能的实现方式中,所述至少一个增广图块中任意一个增广图块与所述目标图块的尺寸相同。
结合第一方面,在第一方面的某些可能的实现方式中,所述原始图片中留白区域的面积与所述原始图片的面积之比小于第五预设门限。
第二方面,本申请提供了一种验证装置,包括用于实现第一方面以及第一方面任一种可能实现方式中的方法的模块。应理解,各个模块可通过执行计算机程序来实现相应的功能。
第三方面,本申请提供了一种验证服务器,包括处理器,所述处理器用于执行第一方面以及第一方面任一种可能实现方式中所述的验证方法。
所述验证服务器还可以包括存储器,用于存储指令和数据。所述存储器与所述处理器耦合,所述处理器执行所述存储器中存储的指令时,可以实现上述第一方面和第一方面任一种可能实现方式中描述的方法。所述装置还可以包括通信接口,所述通信接口用于该装置与其它设备进行通信,示例性地,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
第四方面,本申请提供了一种验证系统,该验证系统包括客户端和验证服务器,所述验证服务器用于支持实现上述第一方面以及第一方面任一种可能实现方式中所涉及的功能。
第五方面,本申请提供了一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得计算机实现第一方面以及第一方面任一种可能实现方式中的方法。
第六方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行第一方面以及以及第一方面任一种可能实现方式中的方法。
应当理解的是,本申请的第二方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1是适用于本申请实施例提供的验证方法的系统的示意图;
图2是本申请实施例提供的一维拼图验证码的示意图;
图3是本申请实施例提供的验证方法的示意性流程图;
图4是本申请实施例提供的原始图片中的规定区域示意图;
图5是本申请实施例提供的通过验证页面显示的验证图片和验证图块示意图;
图6是本申请实施例提供的验证流程的示意图;
图7是本申请实施例提供的验证装置的示意性框图;
图8是本申请实施例提供的验证装置的另一示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
在介绍本申请实施例之前,首先对本申请中涉及到的术语作简单说明。
1、验证码:验证码的全称为全自动区分计算机和人类的图灵测试(completelyautomated public turing test to tell computers and humans apart,CAPTCHA),是一种区分用户是计算机还是人的公共全自动程序。验证码在一定程度上可以防止恶意破解密码、刷票、论坛灌水,某个黑客对某一个特定用户用特定程序暴力破解方式进行不断的登录尝试。
2、撞库:黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登录其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这可以理解为撞库攻击。
3、一次成功率:指黑客编写随机数生成程序,随意的尝试验证码输入规则,在不进行分析的情况下,每一次随机尝试成功的概率。
图1是适用于本申请实施例提供的验证方法的系统100的示意图。如图1所示,该系统100包括验证服务器110和客户端120。该验证服务器110和客户端120可以通过有线网络或无线网络连接,以进行数据交互。
客户端120可响应于用户的操作,向验证服务器110发送拉取验证码的请求,以进行安全验证。验证服务器120可基于该拉取验证码的请求,生成验证码,并发送至客户端120,以便于用户在客户端120完成验证操作。在本申请实施例中,该验证码可以是二维拼图验证码。用户可以在客户端120通过点击后拖拽的操作、选择后拖拽的操作等,将验证图块拉至验证图片中的空缺区域,以得到拼图验证码。客户端120可以将拼图验证码发送给验证服务器110以完成安全验证。
其中,验证服务器110是服务器的一例,可以是一台服务器,也可以是多台服务器。例如,验证服务器110可以包括网页服务器、素材存储服务器、规则总控服务器中的一台或多台,或者,也可以是可用于实现网页服务器、素材存储服务器、规则总控服务器中的功能的一台服务器。图1仅示出了一台验证服务器110,但本申请对服务器的个数以及类型不作限定。
此外,物理上的多台服务器可以实现相同的功能,也可以实现不同的功能,例如,用于生成验证图块和验证图片,用于对拼图验证码进行验证。本申请对此不作限定。
客户端120可以包括但不限于,智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(moving picture experts group audio layer III,MP3)播放器、动态影像专家压缩标准音频层面4(moving picture experts group audio layer IV,MP4)播放器、便携计算机、车载电脑、可穿戴设备、台式计算机、机顶盒、智能电视等等。
目前,在常规对客网站系统中,为防止黑客恶意攻击,采用撞库的形式或暴力枚举等方法破解用户密码,常常采用增加图形验证码的形式避免攻击。图2示出了通过拼图验证码进行验证的一例。如图2所示,该传统的一维拼图验证码包括验证图片和验证图块,该验证图块是从验证图片中切割一个子块得到的,用户只需要将验证图块移动到验证图片缺失的部分即可完成验证。
可以看到,在目前的一维拼图验证码中,用户需要在特定的轨道上拖拽滑块,以完成图片填充,进行安全验证。但这种一维拼图拖拽式验证码的方法安全性较低,黑客仅采用生成随机数的方法就可以破解,一次成功率较高。
因此,本申请提供了一种验证方法,该方法经过对目标图块进行一系列的增广处理,得到多个增广图块,实现二维拼图验证码的生成,从而和目标图块构成验证图块,以供用户选择,进而完成安全验证,使得黑客要想破解上述验证码,还需要从验证图块中识别出目标图块,降低了黑客破解的一次成功率,提高了验证码的安全性。
下面将结合附图对本申请实施例提供的验证方法进行详细说明。
应理解,下文所示的实施例从客户端与验证服务器交互的角度描述该方法,其中,客户端可以是上文所述的任意一个终端设备,该验证服务器可以是图1中所示的验证服务器110,也可以是其他类型的服务器。客户端与验证服务器连接,可以进行数据交互。
还应理解,下文示出的实施例虽然以客户端与验证服务器的交互为例来描述,但不应对该方法的执行主体构成任何限定。只要能够通过运行记录有本申请实施例提供的方法的代码的程序,便可执行本申请实施例提供的方法。例如,客户端也可以替换为配置在客户端中的部件(如,芯片、芯片系统或其他能够调用程序并执行程序的功能模块等),验证服务器也可以替换为配置在验证服务器中的部件(如,芯片、芯片系统或其他能够调用程序并执行程序的功能模块等)。本申请实施例对此不作限定。
图3是本申请实施例提供的验证方法300的示意性流程图。图3所示的方法可以包括S310和S360,下面对图3中的各个步骤做详细说明。
S310、客户端向验证服务器发送拉取验证码的请求。
相应地,验证服务器接收来自于客户端的拉取验证码的请求。该拉取验证码的请求用于获取验证码,验证码用于客户端的用户进行安全验证。
响应于客户端的用户登录或用户注册等操作,客户端可以生成拉取验证码的请求,并发送给验证服务器,验证服务器接收到上述拉取验证码的请求。
S320、验证服务器生成验证图片和多个验证图块。
基于接收到的来自客户端的拉取验证码的请求,验证服务器生成验证图片和多个验证图块。其中,多个验证图块包含未经过增广处理的目标图块和经过增广处理的至少一个增广图块,目标图块是对预存的原始图片进行图片切割得到的,增广图块是对目标图块进行增广处理得到的。验证图片是对预存的原始图片中切割目标图块之后得到的不完整的图片。
应理解,验证服务器的数据库中存储有多个图片,图片的内容丰富,当接收到来自客户端的拉取验证码的请求后,验证服务器可以从该数据库中任意选择一张图片,以便生成验证图片和验证图块。
一种可能的实现方式是,验证服务器基于接收到的来自客户端的拉取验证码的请求,从数据库中随机选择一张图片作为原始图片,然后对原始图片进行图片切割,得到目标图块和验证图片,并对目标图块进行增广处理,得到至少一个增广图块。
可选地,增广处理包括如下一种或多种:平面旋转、对称翻转、缩放、裁剪、色彩变化、对比度变化和加噪。
通过对目标图块进行一种或多种增广处理,可以生成一个或多个增广图块。例如,对目标图块进行不同程度的平面旋转,以生成至少一个增广图块;或,对目标图块进行平面旋转和对称翻转,以生成平面旋转后的增广图块、对称翻转后的增广图块和平面旋转且对称翻转后的增广图块;或,对目标图块进行色彩变化、对称翻转和加噪等,为了简洁,此处不再一一列举。
在本申请实施例中,经过增广处理得到的至少一个增广图块和目标图块、验证图片一同被发送至客户端,以通过客户端呈现给用户,从而可以混淆目标图块,使得黑客一次破解成功的几率得以大大降低。
可选地,增广图块中任意一个增广图块的尺寸与目标图块的尺寸相同。
可选地,在对目标图块进行至少一种增广处理,得到至少一个增广图块之后,从至少一个增广图块中将与目标图块的相似度大于或等于第四预设门限的增广图块过滤。
应理解,增广图块与目标图块的相似度太高,用户不易识别,可能会导致验证成功的可能性极低,从而导致用户体验不佳。因此,在生成增广图块之后,可以将增广图块中与目标图块的相似度大于或等于第四预设门限的增广图块过滤掉。
下面详细介绍一种验证服务器对原始图片的切割方法。
验证服务器从数据库中选择好原始图片后,在原始图片规定区域内随机选择标准像素点,也即标准点,按照预设的比例切割一个子图,可以得到验证图片与目标图块,其中,被切割下来的子图为目标图块,原始图片被切割了一个子图之后剩下的不完整的图片为验证图片。目标图块中与标准点重合的像素点可以作为校验点,并且记录目标图块的校验点在原始图片上的位置坐标。其中,规定区域可以是指,以该区域内任何像素点作为标准点进行切割,所切割的子图均不会超出原始图片范围的区域。也就是说,标准点与原始图片的任意一个边的距离大于或等于预设值。
可选地,目标图块为正方形,上述预设值为正方形的边长或正方形的边长的二分之一。
图4示出了原始图片中的规定区域的一个示例。如图4所示,以正方形的顶点作为标准点,从原始图片的各个边框向内减去一个边长的间距,可以得到如图4中所示的规定区域。以该规定区域内的任意一个像素点作为正方形的顶点,对该原始图片进行切割,所切割的图块都不会超出原始图片的范围。
可以理解,图4所示仅为示例,若以正方形的中心作为标准点,从该原始图片的各个边框向内减去二分之一边长的间距,也可以得到一规定区域。以该规定区域内的任意一个像素点作为正方形的中心,对该原始图片进行切割,所切割的图块也不会超出原始图片的范围。为了简洁,这里未附图示例。
此外,还应理解,目标图块也可以为其他形状,如矩形、三角形等,与之对应的规定区域也可以随之发生变化。本领域的技术人员基于相同的构思,可以确定不同形状的目标图块对应的规定区域。本申请实施例对此不作限定。
可选地,原始图片中留白区域的面积与原始图片的面积之比小于第五预设门限。
这里,留白区域也可以称为负空间。留白区域并不代表该区域为白色,也可以是其他颜色,比如黑色、蓝色、绿色等等。在本申请实施例中,留白区域可以是指像素值相同或近似相同的区域。由于在该区域内的像素点的像素值相同或近似相同,即便通过旋转、翻转等增广操作,所得到的增广图块与目标图块也是相同或近似相同的,因此无法区分目标图块和增广图块,也即无法实现后续的验证流程。因此,在进行图片切割之前,可以对原始图片进行筛选,将含有较大留白区域的图片过滤掉,而将留白区域较少的图片作为原始图片。为了便于对图片进行筛选,引入了第五预设门限。若某一图片的留白区域的面积与该图片的面积之比小于该第五预设门限,则可以将该图片作为原始图片。
S330、验证服务器将验证图片和验证图块发送给客户端。
验证图片和验证图块用于客户端的用户完成安全验证。客户端接收到验证图片和验证图块后,便可通过验证页面显示该验证图片和验证图块,以便于对客户进行验证。
图5示出了通过验证页面显示的验证图片和验证图块的一个示例。如图5所示,该验证页面包括一个验证图片和多个验证图块,该多个验证图块包括目标图块和增广图块。从图中可以看出,增广图块是由目标图块通过平面旋转、对称翻转等增广处理得到的,只有目标图块可以填补验证图片的空缺部分,从而得到原始图片,增广图块的大小虽然和空缺部分相同,但是无法恢复成原始图片。
S340、客户端将拼图发送给验证服务器。
响应于用户在客户端的对第一验证图块的点击或触摸的操作,第一验证图块被拖拽至验证图片缺失区域的附近。基于用户对该第一验证图块的释放,可以确定用户将该第一验证图块拖放所至的位置,进而可以得到最后的拼图。
其中,第一验证图块是用户通过点击或触摸的操作所选择的验证图块,可能为目标图块,也可能为增广图块,以待验证服务器进一步验证。
客户端将用户完成的拼图发送给验证服务器,相应地,验证服务器接收到拼图。该拼图包括验证图片和第一验证图块,是基于用户对多个验证图块中的第一验证图块的操作得到的。
S350、验证服务器基于接收到的拼图,对用户进行验证。
验证服务器接收到拼图之后,可以基于拼图对客户端的用户进行验证。
首先,验证服务器可以基于拼图中的第一验证图块对用户进行验证。
一种可能的实现方式是,验证服务器可以基于第一验证图块与目标图块的相似度,确定第一验证图块是否为目标图块。若该第一验证图块是目标图块,则可继续执行后续的验证流程,基于第一验证图块在验证图片中的位置,对用户进行验证;若该第一验证图块不是目标图块,则可确定对该用户的验证失败。
示例性地,若第一验证图块与目标图块的相似度大于或等于第一预设门限,则第一验证图块为目标图块,则可继续执行后续的验证流程;若第一验证图块与目标图块的相似度小于第一预设门限,则第一验证图块不为目标图块,则可确定对该用户的验证失败,可中断该验证流程。
在确定第一验证图块为目标图块之后,验证服务器可以基于第一验证图块在验证图片中的位置,对客户端的用户进行验证,以验证用户是否将第一验证图块拖拽至验证图片的缺失区域。
一种可能的实现方式是,通过判断第一验证图块在验证图片中与缺失区域是否重合以及重合的程度,确定用户是否通过验证。示例性地,若第一验证图块在验证图片中与缺失区域有重合,且重合区域与缺失区域的比例大于或等于第二预设门限,确定对用户的验证成功;若第一验证图块在验证图片中与缺失区域没有重合,或,第一验证图块在验证图片中与缺失区域有重合,但重合区域与缺失区域的比例小于第二预设门限,确定对用户的验证失败。
另一种可能的实现方式是,基于校验点以及标准点在验证图片中的位置,确定对用户的验证是否成功。第一验证图块包括校验点,且第一验证图块在验证图片中的位置与校验点在验证图片中的位置相对应。首先,验证服务器确定出预定义的标准点在验证图片中的位置,该标准点与校验点对应。再根据校验点和标准点在验证图片中的位置,利用距离公式,计算出校验点与标准点之间的距离。若校验点与标准点之间的距离小于或等于第三预设门限,则确定对用户的验证成功;若校验点与标准点之间的距离大于第三预设门限,则确定对用户的验证失败。
应理解,第一预设门限、第二预设门限、第三预设门限均为预先设定的具体数值,本申请实施例对数值的大小不作限定。
S360、验证服务器将验证结果发送给客户端,该验证结果是基于对拼图的验证得到的。
验证服务器通过上述方法对拼图进行验证,得到验证结果,并将验证结果发送给客户端,客户端接收到验证结果后,基于验证结果确定用户是否通过安全验证。若验证结果指示对用户的验证成功,则客户端可以显示验证成功;若验证结果指示对用户的验证结果失败,则客户端可以显示验证失败,请重新验证。
基于上述技术方案,验证服务器接收到来自客户端的拉取验证码的请求后,生成验证图片、目标图块、以及对目标图块增广处理之后的增广图块,以供用户完成二维拼图验证码,并对用户完成的拼图进行验证。从而通过对目标图块进行增广处理,生成多个易混淆的增广图块,使得黑客要想破解上述验证码,需要识别出目标图块,并且目标图块在验证图片中的位置正确,大大降低了黑客破解该验证码的一次成功率,提高了验证码的安全性。
图6是本申请实施例提供的验证流程的示意图,下面结合图6对整体的验证流程作简单说明。
如图6所示,验证服务器随机选择一张原始图片,按照设定的比例切割原始图片,即将原始图片切割为验证图片和目标图块。然后,将目标图块进行旋转、翻转等变换生成增广图块,将增广图块、目标图块以及验证图片同时呈现给用户,响应于用户点击后拖拽或触摸后拖拽第一验证图块到缺失区域的操作,客户端生成拼图,验证服务器基于接收到的拼图判断第一验证图块的选择以及位置是否有效,若是,则验证成功,若否,则验证失败。
下文将结合图7和图8详细说明本申请实施例提供的验证装置。
图7为本申请实施例提供的验证装置700的示意性框图。如图7所示,该装置700可以包括:收发单元710和处理单元720。
可选地,该装置700可对应于上文方法实施例中的验证服务器,应理解,验证服务器仅为服务器的一示例。例如,该装置700可对应于上文方法实施例中的验证服务器,或者,配置在验证服务器中的部件,如芯片、芯片系统等。并且,该装置700中的各单元可用于实现图3所示的方法300中验证服务器执行的相应流程。例如,收发单元710可以用于接收来自客户端的拉取验证码的请求,向客户端发送验证图片和多个验证图块,接收来自客户端的拼图,向客户端发送验证结果等;处理单元720可用于生成验证图片和多个验证图块;多个验证图块包括未经过增广处理的目标图块和经过增广处理的至少一个增广图块,目标图块是对预存的原始图片进行图片切割得到的,验证图片是从原始图片中切割目标图块之后得到的不完整的图片,增广图块是对目标图块进行增广处理得到的。具体参见方法实施例中的详细描述,此处不作赘述。
应理解,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
图8是本申请实施例提供的验证服务器800的另一示意性框图。该验证服务器800可以为芯片系统,或者,也可以为配置了芯片系统,以用于实现上述方法实施例中验证的功能的装置。在本申请实施例中,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。
如图8所示,该验证服务器800可以包括处理器810和通信接口820。其中,通信接口820可用于通过传输介质和其它设备进行通信,从而用于验证服务器800中的装置和其它设备进行通信。所述通信接口820例如可以是收发器、接口、总线、电路或者能够实现收发功能的装置。处理器810可利用通信接口820输入输出数据,并用于实现图3或图6对应的实施例中所述的验证方法。具体地,该验证服务器800可用于实现上述方法实施例验证服务器的功能。
示例性地,若该验证服务器800用于实现本申请实施例提供的方法中验证服务器的功能,该处理器810可用于生成验证图片和多个验证图块;并可用于对拼图进行验证。具体参见方法实施例中的详细描述,此处不作赘述。
可选地,该验证服务器800还包括至少一个存储器830,用于存储程序指令和/或数据。存储器830和处理器810耦合。本申请实施例中的耦合是装置、单元或模块之间的间接耦合或通信连接,可以是电性,机械或其它的形式,用于装置、单元或模块之间的信息交互。处理器810可能和存储器830协同操作。处理器810可能执行存储器830中存储的程序指令。所述至少一个存储器中的至少一个可以包括于处理器中。
本申请实施例中不限定上述处理器810、通信接口820以及存储器830之间的具体连接介质。本申请实施例在图8中以处理器810、通信接口820以及存储器830之间通过总线840连接。总线840在图8中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请还提供一种计算机程序产品,所述计算机程序产品包括:计算机程序(也可以称为代码,或指令),当所述计算机程序被运行时,使得计算机执行图3或图6所示实施例中验证服务器执行的方法。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)。当所述计算机程序被运行时,使得计算机执行图3或图6所示实施例中验证服务器执行的方法。
应理解,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本说明书中使用的术语“单元”、“模块”等,可用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各种说明性逻辑块(illustrative logical block)和步骤(step),能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,各功能单元的功能可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令(程序)。在计算机上加载和执行所述计算机程序指令(程序)时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,数字通用光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (16)
1.一种验证方法,其特征在于,包括:
基于接收到的来自客户端的拉取验证码的请求,生成验证图片和多个验证图块;所述多个验证图块包括未经过增广处理的目标图块和经过增广处理的至少一个增广图块,所述目标图块是对预存的原始图片进行图片切割得到的,所述验证图片是从所述原始图片中切割所述目标图块之后得到的不完整的图片,所述增广图块是对所述目标图块进行增广处理得到的;
向所述客户端发送所述验证图片和所述多个验证图块;
接收来自所述客户端的拼图,所述拼图是基于用户对所述多个验证图块中的第一验证图块的操作得到的,所述拼图中包括所述验证图片和所述第一验证图块;
向所述客户端发送验证结果,所述验证结果是基于对所述拼图的验证得到的;
在生成验证图片和多个验证图块之前,所述方法还包括:
从预存的多个图片中随机选择一个图片作为所述原始图片;
对所述原始图片进行图片切割,得到所述目标图块和所述验证图片;
对所述目标图块进行至少一种增广处理,得到所述至少一个增广图块;
从所述至少一个增广图块中将与所述目标图块的相似度大于或等于第四预设门限的增广图块过滤;
所述原始图片中留白区域的面积与所述原始图片的面积之比小于第五预设门限。
2.如权利要求1所述的方法,其特征在于,在向所述客户端发送验证结果,之前,所述方法还包括:
基于所述拼图,对所述用户进行验证。
3.如权利要求2所述的方法,其特征在于,所述基于所述拼图,对所述用户进行验证,包括:
确定所述拼图中的所述第一验证图块不为所述目标图块;
确定对所述用户的验证失败。
4.如权利要求2所述的方法,其特征在于,所述基于所述拼图,对所述用户进行验证,包括:
确定所述拼图中的第一验证图块为所述目标图块;
基于所述第一验证图块在所述验证图片中的位置,对所述用户进行验证。
5.如权利要求3或4所述的方法,其特征在于,所述方法还包括:
基于所述第一验证图块与所述目标图块的相似度,确定所述第一验证图块是否为所述目标图块;其中,若所述第一验证图块与所述目标图块的相似度大于或等于第一预设门限,所述第一验证图块为所述目标图块;或,若所述第一验证图块与所述目标图块的相似度小于所述第一预设门限,所述第一验证图块不为所述目标图块。
6.如权利要求4所述的方法,其特征在于,所述基于所述第一验证图块在所述验证图片中的位置,对所述用户进行验证,包括:
若所述第一验证图块在所述验证图片中与缺失区域有重合,且重合区域与所述缺失区域的比例大于或等于第二预设门限,确定对所述用户的验证成功;或
若所述第一验证图块在所述验证图片中与缺失区域没有重合,或者,若所述第一验证图块在所述验证图片中与所述缺失区域有重合,但重合区域与所述缺失区域的比例小于第二预设门限,确定对所述用户的验证失败。
7.如权利要求4所述的方法,其特征在于,所述第一验证图块包括校验点,所述第一验证图块在所述验证图片中的位置与所述校验点在所述验证图片中的位置相对应,以及
所述基于所述第一验证图块在所述验证图片中的位置,对所述用户进行验证,包括:
确定预定义的标准点在所述验证图片中的位置,所述标准点与所述校验点对应;
基于所述标准点在所述验证图片中的位置与所述校验点在所述验证图片中的位置,确定所述校验点与所述标准点之间的距离;
若所述校验点与所述标准点之间的距离小于或等于第三预设门限,确定对所述用户的验证成功;或
若所述校验点与所述标准点之间的距离大于所述第三预设门限,确定对所述用户的验证失败。
8.如权利要求7所述的方法,其特征在于,所述标准点是所述原始图片中的像素点,且所述标准点与所述原始图片的任意一个边的距离大于或等于预设值。
9.如权利要求8所述的方法,其特征在于,所述目标图块为正方形,所述预设值为所述正方形的边长,或,所述正方形的边长的二分之一。
10.如权利要求1所述的方法,其特征在于,所述增广处理包括如下一种或多种:平面旋转、对称翻转、缩放、裁剪、色彩变化、对比度变化和加噪。
11.如权利要求1所述的方法,其特征在于,所述至少一个增广图块中任意一个增广图块与所述目标图块的尺寸相同。
12.一种验证装置,其特征在于,包括用于实现如权利要求1至11中任一项所述的方法的模块。
13.一种验证服务器,其特征在于,包括至少一个处理器,用于调用程序代码,以实现如权利要求1至11中任一项所述的方法。
14.一种验证系统,其特征在于,包括:
客户端,和
验证服务器,所述验证服务器用于执行如权利要求1至11中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机执行时,使得所述计算机执行如权利要求1至11中任一项所述的方法。
16.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得计算机执行如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110708046.9A CN113422687B (zh) | 2021-06-24 | 2021-06-24 | 一种验证方法、验证服务器和验证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110708046.9A CN113422687B (zh) | 2021-06-24 | 2021-06-24 | 一种验证方法、验证服务器和验证系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113422687A CN113422687A (zh) | 2021-09-21 |
CN113422687B true CN113422687B (zh) | 2023-02-28 |
Family
ID=77716588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110708046.9A Active CN113422687B (zh) | 2021-06-24 | 2021-06-24 | 一种验证方法、验证服务器和验证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113422687B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113918922A (zh) * | 2021-09-30 | 2022-01-11 | 重庆富民银行股份有限公司 | 一种智能验证系统及方法 |
CN115242558B (zh) * | 2022-09-22 | 2022-12-09 | 城云科技(中国)有限公司 | Api接口安全加密方法和认证方法及装置、可读存储介质 |
CN118627050B (zh) * | 2024-08-12 | 2024-10-18 | 成都赛力斯科技有限公司 | 图片交互验证方法、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310139A (zh) * | 2013-05-10 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种输入验证方法和输入验证装置 |
CN104580104A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 身份验证的方法、装置及系统 |
CN104660402A (zh) * | 2013-11-19 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 一种对终端进行验证的方法、装置及系统 |
CN105323065A (zh) * | 2014-07-21 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 一种安全验证方法及装置 |
CN107872435A (zh) * | 2016-09-27 | 2018-04-03 | 中兴通讯股份有限公司 | 一种安全验证的方法及装置 |
CN110266497A (zh) * | 2013-12-04 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 身份验证方法、装置、服务器、用户终端及存储介质 |
CN111666555A (zh) * | 2020-06-03 | 2020-09-15 | 广州酷狗计算机科技有限公司 | 验证码生成方法、装置以及计算机存储介质 |
CN111783902A (zh) * | 2020-07-30 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 数据增广、业务处理方法、装置、计算机设备和存储介质 |
-
2021
- 2021-06-24 CN CN202110708046.9A patent/CN113422687B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103310139A (zh) * | 2013-05-10 | 2013-09-18 | 百度在线网络技术(北京)有限公司 | 一种输入验证方法和输入验证装置 |
CN104580104A (zh) * | 2013-10-24 | 2015-04-29 | 深圳市腾讯计算机系统有限公司 | 身份验证的方法、装置及系统 |
CN104660402A (zh) * | 2013-11-19 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 一种对终端进行验证的方法、装置及系统 |
CN110266497A (zh) * | 2013-12-04 | 2019-09-20 | 腾讯科技(深圳)有限公司 | 身份验证方法、装置、服务器、用户终端及存储介质 |
CN105323065A (zh) * | 2014-07-21 | 2016-02-10 | 腾讯科技(深圳)有限公司 | 一种安全验证方法及装置 |
CN107872435A (zh) * | 2016-09-27 | 2018-04-03 | 中兴通讯股份有限公司 | 一种安全验证的方法及装置 |
CN111666555A (zh) * | 2020-06-03 | 2020-09-15 | 广州酷狗计算机科技有限公司 | 验证码生成方法、装置以及计算机存储介质 |
CN111783902A (zh) * | 2020-07-30 | 2020-10-16 | 腾讯科技(深圳)有限公司 | 数据增广、业务处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113422687A (zh) | 2021-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113422687B (zh) | 一种验证方法、验证服务器和验证系统 | |
KR102069759B1 (ko) | 캡차(captcha) 챌린지의 동적 업데이트 | |
US9781105B2 (en) | Fallback identity authentication techniques | |
EP3378214B1 (en) | Controlling access to online resources using device validations | |
JP5330567B2 (ja) | コンピュータ実施認証インターフェイスシステム | |
US20160044025A1 (en) | System and method for security enhancement | |
CN104796428A (zh) | 一种动态验证方法、客户端、服务器和系统 | |
US20230267463A1 (en) | Authenticating a transaction | |
US11956229B2 (en) | Multi-factor authentication using customizable physical security token | |
US20240275778A1 (en) | Browser extensionless phish-proof multi-factor authentication (MFA) | |
KR20220116483A (ko) | 악성 프로그램 코드 주입으로부터의 보호를 위한 시스템 및 방법 | |
US9715583B2 (en) | Verification of a pattern based passcode | |
WO2015062441A1 (zh) | CGI web界面下的多会话验证码的产生及验证方法 | |
KR101654797B1 (ko) | 피싱 대응 상호 작용 캡차 시스템 | |
CN110661623B (zh) | 用于使用个人认证设备(pad)认证用户的方法和系统 | |
CN112544057A (zh) | 区块链节点设备及其认证方法、装置、存储介质 | |
WO2018066426A1 (ja) | 偽ウェブページ判別装置、偽ウェブページ判別システム、偽ウェブページ判別方法及び偽ウェブページ判別プログラム | |
US11888844B2 (en) | Electrical circuit testing device and method | |
KR101516565B1 (ko) | 온라인 상에서의 이미지를 이용한 인증방법 및 장치 | |
CN114631109A (zh) | 用于交叉耦合风险分析和一次性口令的系统及方法 | |
KR101178828B1 (ko) | 문맥 기반의 캡차를 이용한 인터넷 계좌 이체 방법 | |
Cho et al. | Threat modeling analysis on FireStormcx’s webcam system | |
US11240267B1 (en) | Identifying and blocking fraudulent websites | |
CN105207979A (zh) | 一种基于用户输入特征的用户验证方法及装置 | |
KR101170822B1 (ko) | 다양한 비밀퍼즐을 이용한 승인 방법 |
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 |