CN107888553A - 一种验证方法、服务器和系统 - Google Patents
一种验证方法、服务器和系统 Download PDFInfo
- Publication number
- CN107888553A CN107888553A CN201610878903.9A CN201610878903A CN107888553A CN 107888553 A CN107888553 A CN 107888553A CN 201610878903 A CN201610878903 A CN 201610878903A CN 107888553 A CN107888553 A CN 107888553A
- Authority
- CN
- China
- Prior art keywords
- identifying code
- pictures
- picture
- client
- original images
- 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
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/40—Network security protocols
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Information Transfer Between Computers (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明涉及通信领域,提供一种验证方法,验证码服务器接收接收客户端发送的验证码获取请求;生成并保存系统验证码;其中,系统验证码由一串随机文本确定;将系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;将k张验证码图片发送给客户端;接收客户端发送的验证请求,验证请求携带用户根据k张验证码图片输入的验证码;根据系统验证码,确定用户输入的验证码是否正确。通过上述方案,将随机生成的系统验证码编码到n张原始图片中,既增加机器识别的难度,同时又能保证验证码的安全性。
Description
技术领域
本发明涉及通信领域,尤其涉及一种验证方法、服务器和系统。
背景技术
目前,大部分网站在注册或登录时,都会要求用户输入验证码。验证码可以用来防止黑客用工具自动批量注册网站,以及使用工具暴力破解特定的用户,进而不断的登录、灌水。现有的验证码可以是随机生成的数字或字母,并以图片的形式显示给用户,让用户原样输入,并且只有输入正确,才能进行后续操作。
因此,验证码具有“强制注意”的特点,即用户不得不关注。利用验证码的强制注意的特点,广告商可以将承载验证码的载体作为广告位出售。
为了增加广告效应,广告商可以利用频繁出现的验证码进行广告。一种方法是在验证码输入的地方,置入一个广告图片,广告图片中包括一个显性的随机文本,但是用户熟悉这种方式之后,容易忽略广告内容,直接读取随机文本。另一种方法也可以在验证码输入的地方置入一个广告词图片,广告词图片中有一段广告词,验证码可以根据广告词确定,但是由于验证码服务器中的广告词图片的数量有限,这种形式的广告验证码随机性不足,容易导致穷举攻击。例如,一旦将出现过的广告词图片经由某种方式处理得到图片特征,然后将图片特征与验证码信息的对应关系存储到数据库,下次遇到时候,就能提高机器的破解的概率,因此,这种验证码方案的安全性不足。
发明内容
本发明提供了一种验证方法、服务器和系统,以解决广告效果和验证码安全性的矛盾。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供一种验证方法,该方法应用于验证码服务器,包括:接收客户端发送的验证码获取请求;生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;由于系统验证码由随机文本确定,因此可以避免非法用户暴力破解。
将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;将所述k张验证码图片发送给所述客户端;接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;根据所述系统验证码,确定所述用户输入的验证码是否正确。
相较于现有技术,本发明实施例中验证码图片不是简单的将验证码叠加在一张图片上,而是将验证码编码到多张图片中,使得系统验证码和图片可以分开显示,增加了机器识别验证码的难度。当该多张图片为广告图片时,这种方法将不影响广告图片的显示效果。
在一种可能的设计中,在所述生成k张验证码图片之后,所述方法还包括:
验证码服务器向所述客户端发送脚本程序,所述脚本程序指示客户端监控用户对k张验证码图片中的至少一张验证码图片的操作指令,并且在操作指令使得k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。可选的,该脚本程序中还包括在客户端在预设位置显示提醒用户操作的提示信息,该提示信息例如可以是“请将右侧验证码图片移动至左侧,使其与左侧验证码图片重叠”。
为了实现将系统验证码编码到n张原始图片中,生成k张验证码图片,且这k张验证码图片视觉上无法看到系统验证码,只有当将该k张验证码图片叠加到预设位置时才显示隐藏在k张验证码图片中的系统验证码。本发明实施例提供了多种可能的实现方式:
一种可能的设计中,验证码服务器采用基于(k,n)的视觉密码方法,将系统验证码编码到n张原始图片中,生成k张验证码图片。具体的,验证码服务器将系统验证码转换为秘密图片;获取n张原始图片;基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。
另一种可能的设计中,验证码服务器采用最低有效位替代算法,将系统验证码编码到n张原始图片中,生成k张验证码图片。最低有效位替代算法是将秘密图片嵌入到原始图片像素值的最低有效位,也称最不显著位,改变这一位置对原始图片的品质影响最小。具体的,将所述系统验证码转换为秘密图片;获取2张原始图片;利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。
根据(k,n)视觉密码方法或最低有效位替代算法将系统验证码编码到n张原始图片中得到的k张验证码图片,使得k张验证码图片与原始图片视觉上相同,在视觉上无法直接识别系统验证码,需要用户将该k张验证码图片叠加到预设位置,才能显示隐藏在k张验证码图片中的系统验证码。一方面,这增加了机器识别验证码的难度,提高了验证码的安全性;另一方面,当原始图片是广告图片时,用户将无法忽视视觉上与广告图片相同的验证码图片,从而提高了广告效果。
第二方面,本发明实施例提供了一种验证码服务器,该验证码服务器具有实现上述第一方面中验证码服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,验证码服务器的结构中包括处理器和存储器,所述存储器用于存储支持验证码服务器执行上述方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述验证码服务器还可以包括通信接口,用于验证码服务器与其他设备或通信网络通信。
第三方面,本发明实施例提供了一种计算机存储介质,用于储存为上述验证码服务器所用的计算机软件指令,其包含用于执行上述方面为验证码服务器所设计的程序。
相较于现有技术,本发明提供的方案将随机生成的系统验证码编码到多张原始图片中,生成多张验证码图片,这使得系统验证码和图片可以分开显示。由于系统验证码是随机生成的,因此可以避免暴力破解,保证验证码的安全性;另外,当原始图片是含有广告信息的广告图片时,分开显示保证了广告效果。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
图1为本发明一实施例提供的验证码系统架构;
图2为本发明一实施例提供的计算机设备示意图;
图3为本发明一实施例提供的一种广告验证码使用方法的流程示意图;
图4A为本发明一实施例提供的广告图片;
图4B为本发明一实施例提供的广告图片;
图4C为本发明一实施例提供的用户执行登录操作的时的用户界面图;
图4D为本发明一实施例提供的用户移动广告验证码后的用户界面图;
图5为本发明一实施例提供的验证码服务器结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。
如图1所示,本发明实施例涉及的验证码系统可以在服务器-客户端系统100中实施。该服务器-客户端系统100包括验证码服务器101客户端102以及网络103。客户端102通过网络103,与验证码服务器101通信。其中,验证码服务器101,用于响应用户通过客户端102发送的用于请求验证码图片的验证码获取请求,生成并存储一个随机文本作为系统验证码,将该系统验证码转换成秘密图片;从图片库中获取原始图片,并将秘密图片编码到获取的原始图片中,从而生成k张验证码图片并返回给用户客户端102;接收并验证用户根据操作所述k张验证码图片后识别出的信息输入的验证码,其中k为大于等于2的整数。验证码服务器的管理员可以登录验证码服务器,管理验证码服务器101中的图片库,实现添加、删除、更改和查询验证码服务器中的图片库。客户端102,用于从验证码服务器101获取k张验证码图片,将获取的k张验证码展示给用户;响应用户对k张验证码的操作指令,接收用户输入的验证码,并将用户输入的验证码发送给验证码服务器101。
为了便于理解本发明实施例的技术方案,对本发明实施例涉及的技术术语做以下解释说明:
基于(k,n)的视觉密码:将一张秘密图片编码到n张图片(如本发明实施例中的原始图片)中生成n张影子图片,其中n张影子图片与原来n张图片在视觉上相同。当任何k(k<=n)幅影子图片重叠在一起,通过肉眼在视觉上可以从叠加结果中识别出隐藏的秘密图片的内容,而任意小于k张数量的影子图片将无法得到秘密图片的任何信息。
最低有效位(Least Significant Bit,LSB)替代算法:一种简单常用的图像信息隐藏算法,采用LSB替代算法将随机生成的系统验证码编码到原始图片的最低有效位(也称最不显著位)。由于改变最低有效位对于原始图片的品质影响最小,所以从肉眼观察,无法看出原始图片与验证码图片之间的差别。
在本发明实施例中,验证码服务器101获取n原始图片,并将秘密图片编码到获取的n张原始图片中,生成k张验证码图片,并将生成的k张验证码图片发送给客户端102。客户端102将验证码服务器发送的k张验证码图片展示给用户,并响应用户对该k张验证码图片中格的至少一张验证码图片的操作指令,如通过拖拽或者输入显示坐标的方法,移动k张验证码图片中至少一张验证码图片的显示位置。用户通过操作该k张验证码图片来识别隐藏在k张验证码图片中的信息,并根据识别出的信息,在指定位置输入验证码,客户端102将用户输入的验证码发送给验证码服务器101,以便于验证码服务器101确认客户端102返回的验证码是否正确。
需要说明的是,上述图片库中的图片可以是广告图片。本发明实施例中,验证码图片的广告效果由图片库决定,通过在图片库中设置不同的广告图片,会投放不同的广告。图片库中的图片少,则广告强度大;图片库中的图片多,则广告的内容更丰富。图片库中的图片可以由管理员根据不同的广告策略进行具体设置。广告验证码的安全性由随机文本的生成算法的强度来决定,由于生成的文本是随机的,所以使得暴力破解变得不可能。通过将由随机文本确定的秘密图片编码在有限数量的广告图片中,既保证了广告的效益,又保证了验证码的安全性。
需要说明的是,系统中,客户端102的数量也可以是多个,本发明实施例对此不作限定。具体的,客户端102可以为诸如手机、平板电脑、台式电脑或者笔记本电脑之类的任意终端。
如图2所示,图1中的验证码服务器101可以以图2中的计算机设备(或系统)的方式来实现。
图2所示为本发明实施例提供的计算机设备示意图。计算机设备200包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。
处理器201可以是一个通用中央处理器(CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
通信总线202可包括一通路,在上述组件之间传送信息。所述通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
其中,所述存储器203用于存储执行本发明方案的程序代码,并由处理器201来控制执行。所述处理器201用于执行所述存储器503中存储的程序代码。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备200可以包括多个处理器,例如图2中的处理器201和处理器208。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备200还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备200可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备200可以是台式机、便携式电脑、网络服务器、掌上电脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌入式设备或有图2中类似结构的设备。本发明实施例不限定计算机设备200的类型。
如图1中的验证码服务器可以为图2所示的设备,验证码服务器的存储器中存储了一个或多个软件模块(例如:交互模块、处理模块等)。验证码服务器可以通过处理器以及存储器中的程序代码来实现软件模块,实现本发明实施例提供的验证方法。
基于如图1所示的系统架构图,为更加清楚描述客户端和验证码服务器的处理过程,如图3所示,本发明实施例提供一种验证方法的流程示意图,包括:
步骤301、管理员登录验证码服务器管理验证码服务器中的图片库;
具体的,管理员登录验证码服务器,为了安全,可以对管理员的登录行为进行权限控制。管理员可以根据广告策略,管理图片库中的图片,如,增加或删除图片库中的图片。在本发明实施例中,下文将图片库中的图片称为原始图片。例如,华为P9将与2016年4月6日在伦敦发布,华为公司希望通过广告验证码服务器投放该消息,则管理员可以在图片库中增加图4A和图4B这两张图片。
步骤302、客户端向验证码服务器发送用于请求验证码图片的验证码获取请求;
当前,大部分网站在注册或登录时,都会要求用户输入验证码。因此,在需要输入验证码的场景下,用户执行注册、登录等操作的时候,会自动触发向广告验证码服务器发送验证码获取请求。
步骤303、验证码服务器接收客户端发送的验证码获取请求,生成并保存一个系统验证码;将所述系统验证码编码n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n。
需要说明的是,所述n张原始图片可以是图片库中n张不同的图片,也可以是图片库中的一张或多张图片复制多份得到。本发明实施例对n张原始图片的内容不做限定。
本发明实施例中,通过肉眼观察,k张验证码图片中的每张验证码图片视觉上都与相应的原始图片相同,而系统验证码则隐藏在这些验证码图片中,并且肉眼不可见。用户通过对这k张验证码图片执行叠加操作,可以识别出隐藏的系统验证码,而通过所述k张验证码图片中的任意一张验证码图片或者小于k张的多张验证码图片均无法获得所述系统验证码
方法一:验证码服务器将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:
将该系统验证码转换为秘密图片;
获取n张原始图片;
基于(k,n)的视觉密码方法,将该秘密图片编码到所述n张原始图片中,得到n张影子图片;
根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。
本发明实施例中,基于(k,n)的视觉密码方法,将该秘密图片编码到所述n张原始图片中,得到n张影子图片,可以有多种实现方法,本发明实施例不做限定。
本发明实施例还提供了一种生成验证码图片的方法,方法二:所述k和n均等于2,所述将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:将所述系统验证码转换为秘密图片;获取2张原始图片;利用最低有效位替代算法,处理所述秘密图片和所述2张原始图片,得到2张验证码图片。
其中,所述利用最低有效位替代算法,处理所述秘密图片和所述2张原始图片,得到2张验证码图片,具体为:随机生成一个大小与所述秘密图片相同的随机图片S1;对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。
采用LSB替代算法将秘密图片编码到原始图片的最低有效位(也称最不显著位)。由于改变最低有效位对于原始图片的品质影响最小,所以从肉眼观察,无法看出验证码图片与原始图片之间的差别。
一种可能的设计中,管理员在图片库中增加图片时,标注增加的图片的类型,在生成验证码图片时,当图片的类型是二值型时,则采用方法一生成验证码图片;当图片的类型是RGB彩色图片时,则采用方法二生成验证码图片。
需要说明的是,在将该系统验证码转换为秘密图片时,可以对系统验证码在秘密图片上的显示进行扭曲或加噪处理,以增加机器识别的难度。
步骤304、验证码服务器将生成的k张验证码图片发送给客户端;
步骤305、客户端接收验证码服务器发送的k张验证码图片,并展示该k张验证码图片,响应用户对该k张验证码图片的操作指令,接收用户输入的验证码;
具体的,客户端在输出设备上(如显示器)上向用户展示接收到的k张验证码图片。用户通过拖拽、移动等动作,操作k张验证码图片中的至少一张验证码图片,改变该k张验证码图片的显示位置。当k张验证码图片叠加到预设位置时,客户端显示隐藏在k张验证码图片中的信息。此时,用户通过肉眼观察到隐藏在k张验证码图片中的信息,并根据观察到的信息在预设位置(如验证码输入框401)输入验证码。
一种可能的设计中,客户端还从验证码服务器接收脚本程序;所述脚本程序指示所述客户端监控用户对所述k张验证码图片中的至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。可选的,所述脚本程序中还包括在客户端预设位置显示提醒用户操作的提示信息,所述提示信息例如可以是“请将右侧验证码图片移动至左侧,使其与左侧验证码图片重叠”。
如图4C所示,是本发明实施例给出的一种示例。当用户执行登录操作的时候,客户端从验证码服务器接收到两张验证码图片,并且在验证码显示框402中显示接收到的两张验证码图片。在本发明实施例中,该两张验证码图片从肉眼上看,与图4A和图4B这两张原始图片相同。用户可以通过鼠标拖拽、移动等操作,改变这两张验证码图片在验证码显示框中的显示位置。当两张验证码图片叠加到预设位置的时候(如移动图4C验证码显示框中右侧的验证码图片,使其叠加到左侧的验证码图片上),客户端显示隐藏在这两张验证码图片中的信息,如图4D所示。用户通过肉眼可以识别出该隐藏的信息为“CAPTCHA”,并且将识别出的CAPTCHA,输入到验证码输入框401中。
步骤306、客户端将用户输入的验证码发送给验证码服务器;
如图4D所示,当用户在验证码输入框401中输入信息,并且点击“登录”按钮时,客户端将用户输入的验证码发送给验证码服务器。
步骤307、验证码服务器接收客户端返回的验证码,并对其进行验证;
一种可能的设计中,验证码服务器在步骤303中保存所述系统验证码的时候,为所述系统验证码设置一个标签,并在向客户端返回验证码图片的时候携带该标签,以便于客户端返回用户输入的验证码时携带该标签。验证码服务器根据客户端返回的标签,即可获得对应的系统验证码,从而通过比较客户端返回的用户输入的验证码和系统验证码,确定用户输入的验证码是否正确。该标签例如可以是会话标识或者随机数。
一种可能的设计中,验证码服务器生成系统验证码后,启动计时器,当计时器超时,验证码服务器删除该系统验证码。当服务器接收客户端返回的验证码,并根据标签无法获得相应的系统验证码时,则向客户端返回验证码过期的响应消息。
步骤308、验证码服务器将验证结果发送给客户端,以便于客户端根据验证结果执行相应操作。
一种可能的设计中,当验证结果为成功时,用户可以成功登录;当验证结果为失败时,用户将无法执行登录操作。需要说明的是,本发明对于验证结果的形式,以及用户客户端根据验证结果执行的具体操作不做限定。
本发明实施例提供的方案,将包含有随机文本确定的系统验证码编码到n张原始图片中生成k张验证码图片,其中验证码图片在视觉上与原始图片内容相同,且所述k张验证码图片中的任意一张或者小于k张的多张验证码图片都无法获取隐藏的信息。由于k张验证码图片中隐藏的信息是由随机生成的文本确定的,因此,黑客等非法用户无法通过穷举建立验证码和原始图片的关系,解决了验证码数量有限,容易受到穷举攻击的问题。另外,只要用于广告用途的原始图片不变,则每次生成的k张验证码图片视觉上也是一样的,使得广告更加具有针对,提高了广告效益。
本发明实施例还描述了上述方法实施例属于同一发明构思下的一种验证码服务器的结构示意图。如图5所示,该验证码服务器500用于执行图3上述方法实施例中验证码服务器101的功能,包括:接收单元501,处理单元502和发送单元503。
其中,接收单元501,用于接收客户端发送的验证码获取请求;
处理单元502,用于生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;
发送单元503,用于将所述k张验证码图片发送给所述客户端;
所述接收单元501,还用于接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;
所述处理单元502,还用于根据所述系统验证码,确定所述用户输入的验证码是否正确。
可选的,所述发送单元503,还用于向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片中的至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。
一种可能的实现方式中,所述处理单元502,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:将所述系统验证码转换为秘密图片;获取n张原始图片;基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。
一种可能的实现方式中,所述k和n等于2,所述处理单元502,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:将所述系统验证码转换为秘密图片;获取2张原始图片;利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。其中,利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片,具体为:随机生成一个大小与所述秘密图片相同的随机图片S1;对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。
需要说明的是,上述提及的操作指令,具体可以是拖拽或移动所述k张验证码图片,以改变所述k张验证码图片的显示位置。
在本实施例中,验证码服务器500是以功能单元的形式来呈现。这里的“单元”可以指特定应用集成电路(application-specific integrated circuit,ASIC),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。在一个简单的实施例中,本领域的技术人员可以想到验证码服务器500可以采用图2所示的形式。接收单元501,处理单元502和发送单元503可以通过图2的处理器和存储器来实现,具体的,接收单元501,和发送单元503可以通过由处理器来执行交互模块来实现,处理单元502可以通过由处理器来执行处理模块来实现。
本发明实施例还提供了一种计算机存储介质,用于储存实现上述图5所示的验证码服务器的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。通过执行存储的程序,可以实现本发明实施例提供的验证方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
本领域技术人员应明白,本发明的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机程序存储/分布在合适的介质中,与其它硬件一起提供或作为硬件的一部分,也可以采用其他分布形式,如通过Internet或其它有线或无线电信系统。
本发明是参照本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种验证方法,其特征在于,包括
接收客户端发送的验证码获取请求;
生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;
将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;
将所述k张验证码图片发送给所述客户端;
接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;
根据所述系统验证码,确定所述用户输入的验证码是否正确。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片中至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。
3.如权利要求1或2所述的方法,其特征在于,所述将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:
将所述系统验证码转换为秘密图片;
获取n张原始图片;
基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;
根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。
4.如权利要求1或2所述的方法,其特征在于,所述k和n等于2,所述将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:
将所述系统验证码转换为秘密图片;
获取2张原始图片;
利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。
5.如权利要求4所述的方法,其特征在于,所述利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片,具体为:
随机生成一个大小与所述秘密图片相同的随机图片S1;
对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;
对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;
利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。
6.如权利要求2-5任一所述的方法,其特征在于,所述操作指令,具体为:
移动所述k张验证码图片中的至少一张验证码图片的显示位置。
7.一种验证码服务器,其特征在于,包括:
接收单元,用于接收客户端发送的验证码获取请求;
处理单元,用于生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;将所述系统验证码编码到n张原始图片中,生成k张验证码图片;其中,k和n为大于等于2的整数,且k小于等于n;
发送单元,用于将所述k张验证码图片发送给所述客户端;
所述接收单元,还用于接收所述客户端发送的验证请求,所述验证请求携带用户根据所述k张验证码图片输入的验证码;
所述处理单元,还用于根据所述系统验证码,确定所述用户输入的验证码是否正确。
8.如权利要求7所述的验证码服务器,其特征在于,
所述发送单元,还用于向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。
9.如权利要求7或8所述的验证码服务器,其特征在于,所述处理单元,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:
将所述系统验证码转换为秘密图片;
获取n张原始图片;
基于(k,n)的视觉密码方法,将该秘密图片编码到获取到的n张原始图片中,得到n张影子图片;
根据所述n张影子图片中的任意k张影子图片,得到k张验证码图片。
10.如权利要求7或8所述的验证码服务器,其特征在于,所述k和n等于2,所述处理单元,用于将所述系统验证码编码到n张原始图片中,生成k张验证码图片,具体为:
将所述系统验证码转换为秘密图片;
获取2张原始图片;
利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片。
11.如权利要求10所述的验证码服务器,其特征在于,利用最低有效位替代算法,处理所述秘密图片和获取到的2张原始图片,得到2张验证码图片,具体为:
随机生成一个大小与所述秘密图片相同的随机图片S1;
对所述秘密图片和所述随机图片S1执行逐个像素异或操作,得到异或图片S2;
对所述获取到的2张原始图片进行RGB位平面分解,确定所述获取到的2张原始图片的隐藏载体;所述隐藏载体为R平面、G平面和B平面中的任一个;
利用最低有效位替代算法将所述随机图片S1嵌入到一个原始图片的隐藏载体的最低位,以及将所述或图片S2嵌入到另一个原始图片的隐藏载体的最低位,得到所述2张验证码图片。
12.如权利要求8-11任一所述的验证码服务器,其特征在于,所述操作指令,具体为:
移动所述k张验证码图片中的至少一张验证码图片的显示位置。
13.一种验证码服务器,其特征在于,包括:处理器和存储器,其中,
所述存储器中存有计算机可读程序;
所述处理器通过运行所述存储器中的程序,以用于完成上述权利要求1至6所述的方法。
14.一种验证系统,其特征在于,所述验证系统包括客户端和验证码服务器,
所述客户端,用于向验证码服务器发送验证码获取请求;接收所述验证码服务器发送的k张验证码图片;显示所述k张验证码图片;接收用户对所述k张验证码图片中至少一张验证码图片的操作指令;当所述操作指令使得所述k张验证码图片叠加到预设位置时,显示隐藏在所述k张验证码图片中的信息;接收用户输入的验证码;
所述验证码服务器,用于接收客户端发送的验证码获取请求;生成并保存系统验证码;其中,所述系统验证码由一串随机文本确定;将所述系统验证码编码到n张原始图片中,生成k张验证码图片;将所述k张验证码图片发送给所述客户端;接收所述客户端发送的验证请求,所述验证请求携带用户输入的验证码;根据所述系统验证码,确定所述用户输入的验证码是否正确;其中,k和n为大于等于2的整数,且k小于等于n。
15.如权利要求14所述系统,其特征在于,所述验证码服务器,还用于向所述客户端发送脚本程序,所述脚本程序指示所述客户端监控所述用户对所述k张验证码图片中至少一张验证码图片的操作指令,并且在所述操作指令使得所述k张验证码图片叠加到预设位置时显示隐藏在所述k张验证码图片中的信息。
16.如权利要求14或15所述系统,其特征在于,所述操作指令,具体为移动所述k张验证码图片中的至少一张验证码图片的显示位置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610878903.9A CN107888553B (zh) | 2016-09-30 | 2016-09-30 | 一种验证方法、服务器和系统 |
PCT/CN2017/090880 WO2018059033A1 (zh) | 2016-09-30 | 2017-06-29 | 一种验证方法、服务器和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610878903.9A CN107888553B (zh) | 2016-09-30 | 2016-09-30 | 一种验证方法、服务器和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107888553A true CN107888553A (zh) | 2018-04-06 |
CN107888553B CN107888553B (zh) | 2021-08-13 |
Family
ID=61763261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610878903.9A Active CN107888553B (zh) | 2016-09-30 | 2016-09-30 | 一种验证方法、服务器和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107888553B (zh) |
WO (1) | WO2018059033A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134899A (zh) * | 2020-09-28 | 2020-12-25 | 嘉兴市嘉禾区块链技术研究院 | 一种基于视觉和网络安全的工厂终端控制双重身份验证方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652958A (zh) * | 2020-06-04 | 2020-09-11 | 通华财富(上海)基金销售有限公司 | 一种增强型图形验证码生成方法、装置及存储介质 |
CN112528264A (zh) * | 2020-11-30 | 2021-03-19 | 中冶华天南京工程技术有限公司 | 一种随机轮廓随机位置的行为验证码生成及验证方法 |
CN113158167B (zh) * | 2021-04-30 | 2024-02-23 | 腾讯音乐娱乐科技(深圳)有限公司 | 验证码实现方法及电子设备和计算机可读存储介质 |
CN113240429B (zh) * | 2021-06-16 | 2024-02-23 | 中国银行股份有限公司 | 一种基于图片编码进行支付验证的方法及系统 |
CN113870465A (zh) * | 2021-10-19 | 2021-12-31 | 南方电网数字电网研究院有限公司 | 电子锁控制方法、装置、计算机设备和存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339666A (zh) * | 2008-08-12 | 2009-01-07 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
CN102340402A (zh) * | 2011-10-28 | 2012-02-01 | 中国人民解放军国防科学技术大学 | 基于视觉密码的身份认证方法 |
US20130016409A1 (en) * | 2011-07-13 | 2013-01-17 | Kurtz Andrew F | Method for providing dynamic optical illustion images |
CN102890761A (zh) * | 2011-08-24 | 2013-01-23 | 北京文海思创科技有限公司 | 一种通过图形验证码验证的方法 |
CN103179092A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种验证码信息的提供方法、系统及装置 |
US20140136836A1 (en) * | 2012-11-15 | 2014-05-15 | Yahoo! Inc. | Method and system for providing tokenless secure login by visual cryptography |
CN104200150A (zh) * | 2014-09-01 | 2014-12-10 | 湖北盛天网络技术股份有限公司 | 验证码处理方法和装置 |
CN104462930A (zh) * | 2014-11-18 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 验证码生成方法和装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001186326A (ja) * | 1999-12-27 | 2001-07-06 | Ricoh Co Ltd | 画像の改ざん検証データ埋め込み方法、画像の改ざん検証方法、画像の改ざん検証装置および記録媒体 |
CN102298763A (zh) * | 2010-06-28 | 2011-12-28 | 腾讯科技(北京)有限公司 | 一种图片验证码的生成方法及系统 |
CN101908203B (zh) * | 2010-07-13 | 2012-07-11 | 中国科学院软件研究所 | 一种基于图像和音频再编码处理的隐写防范方法 |
CN101916427B (zh) * | 2010-08-10 | 2012-01-25 | 浙江大学 | 一种基于空间域的图像水印添加方法 |
CN101977194B (zh) * | 2010-10-29 | 2013-01-30 | 深圳市宇初网络技术有限公司 | 一种第三方验证码系统及第三方验证码提供方法 |
CN103379091A (zh) * | 2012-04-16 | 2013-10-30 | 上海博路信息技术有限公司 | 一种随机验证码 |
CN103139204A (zh) * | 2012-12-19 | 2013-06-05 | 姚爱军 | 一种网络验证码的方法及系统 |
CN103973937B (zh) * | 2014-04-29 | 2016-08-17 | 南京邮电大学 | 基于无线多媒体传感器网络的信息隐藏方法 |
CN105787340B (zh) * | 2016-03-18 | 2018-09-18 | 厦门大学嘉庚学院 | 基于文本粘连与视觉补偿的图片验证码实现方法 |
-
2016
- 2016-09-30 CN CN201610878903.9A patent/CN107888553B/zh active Active
-
2017
- 2017-06-29 WO PCT/CN2017/090880 patent/WO2018059033A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339666A (zh) * | 2008-08-12 | 2009-01-07 | 腾讯科技(深圳)有限公司 | 一种图片验证码的生成方法和装置 |
US20130016409A1 (en) * | 2011-07-13 | 2013-01-17 | Kurtz Andrew F | Method for providing dynamic optical illustion images |
CN102890761A (zh) * | 2011-08-24 | 2013-01-23 | 北京文海思创科技有限公司 | 一种通过图形验证码验证的方法 |
CN102340402A (zh) * | 2011-10-28 | 2012-02-01 | 中国人民解放军国防科学技术大学 | 基于视觉密码的身份认证方法 |
CN103179092A (zh) * | 2011-12-22 | 2013-06-26 | 阿里巴巴集团控股有限公司 | 一种验证码信息的提供方法、系统及装置 |
US20140136836A1 (en) * | 2012-11-15 | 2014-05-15 | Yahoo! Inc. | Method and system for providing tokenless secure login by visual cryptography |
CN104200150A (zh) * | 2014-09-01 | 2014-12-10 | 湖北盛天网络技术股份有限公司 | 验证码处理方法和装置 |
CN104462930A (zh) * | 2014-11-18 | 2015-03-25 | 百度在线网络技术(北京)有限公司 | 验证码生成方法和装置 |
Non-Patent Citations (5)
Title |
---|
AKBAS E. ALI: "Generate Animated CAPTCHA Based on Visual Cryptography Concept", 《ENGINEERING & TECHNOLOGY JOURNAL》 * |
MEERA KAMATH: "Extended Visual Cryptography for Color Images Using Coding Tables", 《2012 INTERNATIONAL CONFERENCE ON COMMUNICATION, INFORMATION & COMPUTING TECHNOLOGY (ICCICT)》 * |
MIZUHO NAKAJIMA: "Enhancing registration tolerance of extended visual cryptography for natural images", 《JOURNAL OF ELECTRONIC IMAGING》 * |
RABIA SIRHINDI: "Improved Data Hiding Technique for Shares in Extended Visual Secret Sharing Schemes", 《ICICS 2008: INFORMATION AND COMMUNICATIONS SECURITY》 * |
YOUNG-CHANG HOU: "Visual cryptography for color images", 《PATTERN RECOGNITION》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112134899A (zh) * | 2020-09-28 | 2020-12-25 | 嘉兴市嘉禾区块链技术研究院 | 一种基于视觉和网络安全的工厂终端控制双重身份验证方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018059033A1 (zh) | 2018-04-05 |
CN107888553B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888553A (zh) | 一种验证方法、服务器和系统 | |
US10216923B2 (en) | Dynamically updating CAPTCHA challenges | |
US9813441B2 (en) | Detecting and breaking CAPTCHA automation scripts and preventing image scraping | |
US20090187986A1 (en) | Authentication server, authentication method and authentication program | |
US8132255B2 (en) | Generating a challenge response image including a recognizable image | |
US8819796B2 (en) | Authentication system and method | |
US20140157382A1 (en) | Observable authentication methods and apparatus | |
CN105099707B (zh) | 一种离线认证方法、服务器及系统 | |
JP6226527B2 (ja) | 仮想アバタの認証 | |
CN110378095B (zh) | 基于验证码的交互验证方法、装置、介质和计算设备 | |
CN111241517A (zh) | 一种生物特征验证问答库的构建方法和装置 | |
CN108989269A (zh) | 获取验证码的方法、装置和系统 | |
CN102752115A (zh) | 挑战码生成方法及装置、动态口令认证方法及系统 | |
CN107040518A (zh) | 一种私有云服务器登录方法及系统 | |
CN104348617A (zh) | 验证码处理方法、装置、终端及服务器 | |
US20100024018A1 (en) | Keyboard Display Posing An Identification Challenge For An Automated Agent | |
CN113822973A (zh) | 用于操作虚拟形象的方法、装置、电子设备、介质和程序 | |
CN107483208A (zh) | 验证码图片的生成、验证方法及装置 | |
CN115964755B (zh) | 数据授权及验证方法、装置、设备和存储介质 | |
CN104935436A (zh) | 一种用户验证方法及系统 | |
CN111125671B (zh) | 验证码处理方法及装置、存储介质 | |
CN109726026B (zh) | 一种交互数据处理方法、装置、设备及存储介质 | |
CN106936840B (zh) | 一种信息提示方法及装置 | |
AU2022204469B2 (en) | Large pose facial recognition based on 3D facial model | |
US20160321439A1 (en) | Connection Prediction As Identity Verification |
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 |