CN109040001B - 一种验证用户的方法、终端和服务器 - Google Patents

一种验证用户的方法、终端和服务器 Download PDF

Info

Publication number
CN109040001B
CN109040001B CN201810152098.0A CN201810152098A CN109040001B CN 109040001 B CN109040001 B CN 109040001B CN 201810152098 A CN201810152098 A CN 201810152098A CN 109040001 B CN109040001 B CN 109040001B
Authority
CN
China
Prior art keywords
image
pixel
user
value
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.)
Active
Application number
CN201810152098.0A
Other languages
English (en)
Other versions
CN109040001A (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.)
Beijing Bangcle Technology Co ltd
Original Assignee
Beijing Bangcle Technology 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 Beijing Bangcle Technology Co ltd filed Critical Beijing Bangcle Technology Co ltd
Priority to CN201810152098.0A priority Critical patent/CN109040001B/zh
Publication of CN109040001A publication Critical patent/CN109040001A/zh
Application granted granted Critical
Publication of CN109040001B publication Critical patent/CN109040001B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • H04L63/0838Network architectures or network communication protocols for network security for authentication of entities using passwords using one-time-passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Abstract

本申请提供了一种验证用户的方法、终端和服务器,涉及通信领域。所述方法包括:向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。所述方法在维持或稍有提高机器对验证码的识别难度的情况下,显著地降低了人类对验证码的识别难度,增强了用户体验。

Description

一种验证用户的方法、终端和服务器
技术领域
本申请涉及网络通信领域,尤其涉及一种验证用户的方法、终端和服务器。
背景技术
随着网络通信技术的发展,越来越多的人们开始使用互联网工作、娱乐和学习。
网络极大的便利和丰富了人们的生活,网络安全也变得越发重要。现有的网络环境中,有些黑客会对某一个特定注册账号用特定程序暴力破解方式进行不断的登陆尝试,以窃取用户的隐私信息,威胁用户的网络信息安全。
验证码(CAPTCHA)是一种比较有效的防止暴力破解用户密码的方式。通过设置验证码,网站服务器可以比较有效区分登陆者是人还是机器,从而可以避免机器对用户密码进行暴力破解。但是,随着人工智能技术的发展,计算机对图像的识别能力越来越强,一些传统的图像验证码难以有效区分登陆者是人还是机器。另一方面,如果进一步提高图像验证码的难度,比如让图像更加模糊,则可能导致合法的人类用户无法识别验证码中的信息。
发明内容
本申请的目的是:提供一种验证用户的方法、终端和服务器,以解决上述问题中的至少一个。
为解决上述技术问题,第一方面,本申请提供了一种验证用户的方法,所述方法包括:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
第二方面,本申请提供了一种验证用户的方法,所述方法包括:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
第三方面,本申请提供一种验证用户的终端,所述终端包括:
一第一输出模块,用于向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
一第二输出模块,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
一第一接收模块,用于接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
第四方面,本申请提供一种验证用户的服务器,所述服务器包括:
一发送模块,用于向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
一接收模块,用于从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
一判断模块,用于根据所述选择输入判断所述用户是人类还是机器。
第五方面,本申请提供一种终端设备,所述终端设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
第六方面,本申请提供一种服务器设备,所述服务器设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
第七方面,本申请提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
第八方面,本申请提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
所述方法、终端及服务器,向用户输出一初始图像和对所述初始图像的像素值进行预定处理后的图像,并让用户按照要求对相应的图像进行选择,从而可以判断用户是人类还是机器。对于人类而言,像素值被处理的图像和未被处理的图像会有明显的不同,而对于计算机而言,却并不容易发现哪个图像是被处理过的。从而,所述被输出的两个图像可以作为一种验证码,该验证码在降低了人类对验证码的识别难度的情况下,基本维持或稍有提高机器对验证码的识别难度。
附图说明
图1是本发明一个实施例所述验证用户的方法流程图;
图2a是本发明一个实施例中所述第一图像的示意图;
图2b是本发明一个实施例中所述第二图像的示意图;
图3是本发明一个实施例的所述验证用户的方法流程图;
图4是本发明一个实施例所述验证用户的方法流程图;
图5是本发明一个实施例所述预定处理的流程图;
图6是本发明另一个实施例所述预定处理的流程图;
图7是本发明另一个实施例所述验证用户的方法流程图;
图8是本发明一个实施例所述验证用户的终端的模块结构示意图;
图9是本发明另一个实施例所述验证用户的终端的模块结构示意图;
图10是本发明所述终端和服务器的网络连接示意图;
图11是本发明一个实施例所述验证用户的服务器的模块结构示意图;
图12是本发明另一个实施例所述验证用户的服务器的模块结构示意图;
图13是本发明一个实施例所述处理模块的模块结构示意图;
图14是本发明另一个实施例所述处理模块的模块构示意图;
图15是本发明另一个实施例所述验证用户的服务器的模块结构示意图;
图16是本发明一个实施例所述验证用户的终端的硬件结构示意图;
图17是本发明一个实施例所述验证用户的服务器的硬件结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。
本领域技术人员理解,在本发明的实施例中,下述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本发明中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
作为一种安全机制,验证码(即CAPTCHA),通过询问一个问题来区别该问题的回答者是人还是机器。对于问题的设计,最基本的要求就是机器回答这个问题的速度比人慢。为了达到这个目的,人和机器在语义识别能力方面的差距往往被用来设计CAPTCHA,例如基于文字的识别(可以参考Mori,Greg,and Jitendra Malik."Recognizing objects inadversarial clutter:Breaking a visual CAPTCHA."Computer Vision and PatternRecognition,2003.Proceedings.2003 IEEE Computer Society Conferenceon.Vol.1.IEEE,2003.),以及基于对图像中物体的识别等。然而随着对象识别技术的发展,基于文字的CAPTCHA已经被破解了。最近,随着深度学习技术的发展,机器对图片语义的理解越来越准确,而基于对图像中物体识别的CAPTCHA也随着人工智能的发展,变得越来不安全。通过扭曲图片中对象的形状来增加机器识别的难度这样的处理方法,往往没有给机器增加多少识别难度,反而给人识别该对象增加了实实在在的困难,降低了用户体验。
在此情况下,本申请提出一种新的验证方法,该验证方法基于对图像的像素值进行处理,并令待验证用户选择被处理的图像(或未被处理的图像)。基于文字的CAPTCHA的破解方法对本方案没有作用。由于本申请方案也不是仅仅识别出图像中的对象,所以基于对象识别的方法也难于破解本方案生成的CAPTCHA。
具体地,本发明提供一种验证用户的方法,如图1所示,所述方法包括:
S120:向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
S140:输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
S160:接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
所述方法,向用户输出像素值被预先处理的第二图像和作为初始图像的第一图像,并让用户按照要求对相应的图像进行选择,从而可以判断用户是人类还是机器。对于人类而言,像素值被处理的图像和未被处理的图像会有明显的不同,而对于机器而言,却并不容易发现哪一个图像是被处理过的,哪个图像是未被处理过的。从而,所述两个图像可以作为一种验证码,该验证码在降低了人类对验证码的识别难度的情况下,基本维持或稍有提高了机器对验证码的识别难度。
以下将结合附图和具体实施方式详细说明所述方法每个步骤的功能。
S120:向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的。
该步骤中,所述方法可以通过一显示屏幕向用户输出所述图像,比如通过电脑或手机的显示屏幕输出所述图像。
所述第一图像可以比如是一网络图像,比如网友分享的风景照片、人物照片。所述第一图像还可以比如是用户本地存储设备上的图像,比如用户存储在本地硬盘上的照片等。所述第二图像上的每个像素分别对应所述第一图像上的一个像素,只是像素值可能会不同。
在一种实施方式中,所述第一图像是灰度图像,所述第一图像的像素值是所述第一图像中每一像素的灰度值。附图2a是本申请一个实施例所述第一图像的示意图,所述第一图像为一黑白照片,照片内容为幼儿园场景。附图2b是对所述第一图像的像素值进行预定处理后得到的第二图像。对比图2a和图2b可以看到,经过对所述第一图像的像素值进行处理后得到的第二图像看上去很“不自然”。人类用户在面对图2a和图2b两个图像时,可以毫不费力的判断出图2b是经过处理后的图像,因为其明显地“不自然”或“不正常”。但是对于机器而言,两个图像并无所谓“自然”与“不自然”。
在另一种实施方式中,所述第一图像是彩色图像,对于彩色图像而言,每个像素具有R、G、B三个分量(即红绿蓝三个分量),相应的所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。发明人在实验中发现,当初始图像为彩色图像时,通过对初始图像进行所述预定处理,处理后的第二图像会显得更加不自然,从而更容易被合法用户(即人类用户)所识别。但是,受限于目前专利申请文件禁止使用彩色附图,我们无法提供相应的附图。
对所述第一图像的预定处理可以由一服务器完成,比如由用户当前尝试登陆的服务器完成。所述服务器对所述第一图像的像素值进行所述预定处理,主要是指对所述第一图像中至少部分像素的像素值进行修改,从而使修改后的图像(即第二图像)的图像风格、色彩等与处理之前不同,进而当人类用户看到修改后的图像时,会感觉修改后的图像是“不自然”或“不正常”的。当然了,所述第一图像也可以由另一图像处理设备进行预先处理,然后将处理后的第二图像和初始的第一图像发送给所述服务器。简单起见,本申请说明书主要以所述服务器直接对所述第一图像进行处理为例进行说明。
具体的,所述服务器可以从网络或者用户的本地存储设备(预先获得用户的授权)先获取所述第一图像,然后对第一图像进行所述预定处理,再将处理后得到的第二图像和所述第一图像通过终端显示器输出给用户。所述预定处理的具体过程后文将详细说明。
S140:输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像。
所述指示信息可以通过文字、语音等方式输出给用户。比如,在一个实施例中,可以在两个图像的下方输出“请点击两个图像中的非正常的图像”以提示用户对所述第二图像进行点击选择。不难理解,所述提示信息也可以提示用户选择两个图像中的正常图像。
另外,对所述两个图像的选择并不仅限于点击选择,比如所述提示信息还可以提示用户将非正常的一个图像拖曳至一目标区域等。
S160:接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
所述方法在接收到用户的选择输入之后,可以将所述选择输入发送给所述服务器,所述服务器可以根据用户的选择输入按照相应的判断标准对所述用户的属性进行判断。
因此,在一个实施方式中,如图3所示,所述方法还进一步包括:
S180:向服务器发送所述选择输入;
S200:从所述服务器接收一判断结果。
比如,当所述提示信息提示用户点击两个图像中的非正常图像时,如果用户点击的是所述第二图像,则判断所述用户是人类。反之,如果用户点击的是所述第一图像,则所述服务器可以判断所述用户较大概率(比如超过70%)是机器。
在另一实施方式中,如图3所示,所述方法还包括:
S220:响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像的对比度高于所述第一图像的对比度。
所述第三图像是一个新的初始图像,通过选择一个对比度更高的初始图像,可以进一步提高机器对所述第三图像和所述第四图像中的“不正常”图像的识别难度,具体原理,后文详述。
也就是说,当所述判断结果是所述用户是机器的概率大于是人类的概率时,为了尽量减少误判,所述终端可以从所述服务器接收一组新的图像,以便对所述用户进行再次验证。如果用户通过了再次验证,则可以判断用户为人类。相反,如果用户验证失败次数达到预定值,比如3次,则可以限制用户在预定时间内禁止登陆相应的网站。
上述内容主要是终端侧对用户进行验证的过程,此外,本申请还提供一种与所述终端侧进行配合的服务器侧对用户进行验证的方法。具体地,如图4所示,所述方法可以包括:
S420:向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
S440:从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
S460:根据所述选择输入判断所述用户是人类还是机器。
以下将结合具体实施方式和附图对所述方法的各个步骤进行说明。
S420:向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的。
所述服务器和所述终端之间可以通过有线网络或者无线网络进行通信。
如前文所述,所述第一图像可以是灰度图像或者彩色图像。当所述第一图像是灰度图像时,所述第一图像的像素值是所述第一图像中每一像素的灰度值。当所述第一图像是彩色图像时,所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。
如前文所述,对所述第一图像的预定处理可以由所述服务器完成,也可以由另一图像处理设备完成后提供给所述服务器,进而由所述服务器发送给所述终端。简单起见,本申请说明书主要介绍由所述服务器直接对所述第一图像进行所述预定处理的情况。
对所述第一图像的预定处理,其目的只是使处理之后的图像(即所述第二图像)让人类用户感觉“不自然”或“不正常”,因此,本申请并不具体限定所述预定处理的具体方式。以下给出两种示例处理方式,本领域技术人员可以据此进行合理的变换。
在一种实施方式中,如图5所示,所述预定处理包括:
S520:对所述第一图像的每一像素的像素值乘以第一预定值;
S540:将乘积以第二预定值做模运算;
S560:将所述模运算的结果作为所述第二图像上对应像素的像素值。
简单起见,先假设所述第一图像为灰度图像,所述第一图像的某一像素的初始像素值为一灰度值Gr0。一般地,如果每个像素占用8比特的存储空间,则所述灰度值Gr0的取值区间为[0,255]。所述步骤S520中,所述第一预定值a可以为任意值,优先为大于1的整数,从而将像素值放大。所述步骤S540中所述第二预定值b一般是所述像素值的最大取值,比如假设所述灰度值Gr0的取值区间为[0,255],则所述第二预定值优选为255,从而可以使运算结果具有较大的分布范围。因此,对于初始灰度值为Gr0的像素而言,其处理后的新的像素值为Gr=(a×Gr0)%b。依次类推,可以对所述第一图像中每个像素的像素值进行如上处理,然后得到所述第二图像。
再者,假设所述第一图像为彩色图像。对于彩色图像而言,每个像素的像素值包括R、G、B三个分量(即红、绿、蓝三个分量),假设所述第一图像某一像素的初始像素值包括R0、G0、B0三个值。类似于对灰度值的处理,可以对该三个值分别进行如上处理。具体的,可以得到处理后的三个分量值依次为R’=(a×R0)%b,G’=(a×G0)%b,B’=(a×B0)%b。也即处理后该像素的R、G、B三个分量依次为R’、G’、B’。依次类推,可以对所述第一图像中每个像素的像素值进行如上处理,然后得到所述第二图像。
另外,本领域技术人员理解,当所述R、G、B分量的存储空间小于8个比特时,所述参数b的取值优选为每个分量的最大取值。比如,假设R分量占用4个比特,则其取值范围为[0,15],相应的所述参数b的取值优选为15。
在另一实施方式中,所述预定处理可以相对简单,以减少运算量。具体,如图6所示,所述预定处理可以包括:
S620:对所述第一图像的每一像素的像素值进行随机设置;
S640:将随机设置后的结果作为所述第二图像上对应像素的像素值。
所述步骤S620中对每个像素的像素值进行随机设置是指在所述像素的像素值取值范围内随机设置。
首先,仍旧假设所述第一图像是灰度图像,所述像素值的取值范围为[0,255]。在处理过程中,可以不考虑所述像素的初始灰度值,而随机生成一个[0,255]范围内的新的灰度值作为所述像素的新的像素值。依次类推,可以对所述第一图像上每个像素的像素值进行如上处理,然后得到所述第二图像。
对于所述第一图像是彩色图像的情况,可以对所述第一图像中的每个像素的R、G、B三个分量分别在取值范围内进行随机设置,以得到三个新的分量,并将该三个新的分量作为所述像素的新的像素值。依次类推,可以对所述第一图像内每个像素的像素值进行如上处理,然后得到所述第二图像。
另外,在另一实施方式中,可以在对所述像素值进行随机设置后,进一步判断随机设置的像素值是否与初始像素值相同,如果相同,则重新进行随机设置。从而,可以实现最大化地对像素值进行修改。
S440:从所述终端接收用户对所述第一图像或所述第二图像的选择输入。
所述终端可以提示用户按照预定的方式对所述第一图像或所述第二图像进行选择输入。比如通过点击、拖曳等方式。用户输入完成后,所述终端可以将用户的输入发送给所述服务器。
S460:根据所述选择输入判断所述用户是人类还是机器。
所述服务器预先知道所述第二图像是非正常图像,所述第一图像是正常图像,同时也知道用户应该选择所述第一图像还是所述第二图像。换句话说,所述服务器知道“问题的答案”。因此,可以根据用户的输入判断用户输入是否正确。
一般地,当用户输入正确时,所述服务器直接判断所述用户是人类。而当用户输入不正确时,所述服务器会再给所述用户至少一次机会,即向用户发送一组新的图像,并接收用户输入。当用户连续多次验证失败时,会判断用户是机器,并可以进一步限制用户在预定时间内禁止登陆等。
如图7所示,在一种实施方式中,所述方法还包括:
S400:建立一图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
S410:从所述图像库中选择一初始图像。
其中,所述初始图像是后续用于进行所述预定处理的图像,比如所述第一图像。
在一个实施方式中,所述步骤S410中,根据对比度(contrast)从所述图像库中选择所述初始图像。所谓对比度是指图像的亮暗对比程度,一副图像上相邻像素之间的亮暗差别越大,则对比度越高,反之,则对比度越低。对所述对比度详细说明及计算公式,可以参考以下网址:http://www.docin.com/p-611781278.html。
本申请中,当按照对比度选择所述初始图像时,所述初始图像的对比度越高,则经过所述预定处理后的图像和处理前的图像的区别越小。因此,机器对两者区分难度越高,更难识别出哪个图像是经过所述预定处理的,人类则几乎不受影响。因此,可以通过选择不同的对比度的所述初始图像,调整所述用户对所述图像的识别难度。比如,当用户第一次验证失败后(也即,判断结果是,所述用户是机器的概率大于是人类的概率),当向所述用户输出新的一组用于验证的图像时,选择一个对比度更高的初始图像。
具体地,在一个实施方式中,所述方法还包括S480:响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像不同于所述第一图像,并且所述第三图像的对比度高于所述第一图像的对比度。
在另一实施方式中,所述步骤S410中,可以根据所述用户对不同图像的熟悉度从一图像库中选择一初始图像。优选地,所述方法会选择用户更加熟悉的图像作为所述初始图像,从而提高合法用户的验证效率。一般地,用户会比较熟悉来自自己的本地存储设备的图像。或者,还可以根据用户的地理位置选择用户比较熟悉的初始图像。比如,一般情况下用户会比较熟悉自己住所附近的街景照,相反会对距离自己住所较远的地方的街景照比较陌生。
本申请所述方法可以选择上述标准中的一个或两个选择所述初始图像。
综上,本申请所述方法可以通过服务器和终端的配合,有效地对用户进行验证,该方法可以降低合法用户的验证难度,同时可以有效避免非法用户借助计算机技术暴力破解验证码,进而进行网络攻击等非法行为。
图8是本申请一种验证用户的终端的模块结构示意图。如图8所示,所示终端800包括:
一第一输出模块820,用于向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
一第二输出模块840,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
一第一接收模块860,用于接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
以下结合附图具体实施方式详细说明各个模块的功能。
所示第一输出模块820,用于向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的。
其中,所示第一输出模块820可以通过一显示屏幕向用户输出所述图像,比如通过电脑或手机的显示屏幕输出所述图像。
所述第一图像可以比如是一网络图像,比如网友分享的风景照片、人物照片。所述图像还可以比如是用户本地存储设备上的图像,比如用户存储在本地硬盘上的照片等。所述第二图像上的每个像素分别对应所述第一图像上的一个像素,只是像素值可能会不同。
在一种实施方式中,所述第一图像是灰度图像,所述第一图像的像素值是所述第一图像中每一像素的灰度值。附图2a是本申请一个实施例所述第一图像的示意图,所述第一图像为一黑白照片,照片内容为幼儿园场景。附图2b是对所述第一图像的像素值进行预定处理后得到的第二图像。对比图2a和图2b可以看到,经过对所述第一图像的像素值进行处理后得到的第二图像看上去很“不自然”。人类用户在面对图2a和图2b两个图像时,可以毫不费力的判断出图2b是经过处理后的图像,因为其明显地“不自然”或“不正常”。但是对于机器而言,两个图像并无所谓“自然”与“不自然”。
在另一种实施方式中,所述第一图像是彩色图像,对于彩色图像而言,每个像素具有R、G、B三个分量,相应的所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。发明人在实验中发现,当初始图像为彩色图像时,通过对初始图像进行所述预定处理,处理后的第二图像会显得更加不自然,从而更容易被合法用户(即人类用户)所识别。
如图9所示,在一个实施方式中,所述终端800还包括:
一第二接收模块810,用于从一服务器接收所述第一图像和所述第二图像,所述预定处理由所述服务器完成。
所述服务器对所述第一图像的像素值进行所述预定处理,主要是指对所述第一图像中至少部分像素的像素值进行修改,从而使所述第一图像的图像风格、色彩等与处理之前不同,进而当人类用户看到处理前和处理后的图像时,会感觉处理后的图像是“不自然”或“不正常”的。
当然了,所述第一图像也可以由另一图像处理设备进行预先处理,然后将处理后的图像(即第二图像)和所述第一图像发送给所述服务器。简单起见,本申请说明书主要以所述服务器直接对所述第一图像进行处理为例进行说明。
具体的,所述服务器可以从网络或者用户的本地存储设备(预先获得用户的授权)先获取初始图像,然后对初始图像进行所述预定处理,再将处理的得到的第二图像和所述第一图像通过终端显示器输出给用户。所述预定处理的具体过程后文将详细说明。
所示第二输出模块840,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像。
所示第二输出模块840可以通过文字、语音等方式将所述指示信息输出给用户。比如,在一个实施例中,可以在两个图像的下方输出“请点击两个图像中的非正常的图像”以提示用户对所述第二图像进行点击选择。不难理解,所述提示信息也可以提示用户选择两个图像中的正常图像。
另外,对所述两个图像的选择并不仅限于点击选择,比如所述提示信息还可以提示用户将非正常的图像拖曳至一目标区域等。
所述第一接收模块860,用于接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
所述第一接收模块860可以通过触摸屏、键盘、鼠标或触摸板等接收用户的选择输入。
如图9所示,在一个实施方式中,所述终端800还包括:
一发送模块870,用于向服务器发送所述选择输入;
一第三接收模块880,用于从所述服务器接收一判断结果。
所述发送模块870可以通过和所述服务器之间的有线或无线连接向所述服务器发送所述选择输入,以及从所述服务器接收所述判断结果。
比如,当所述提示信息提示用户点击两个图像中的非正常图像时,如果用户点击的是所述第二图像,则所述服务器判断所述用户是人类。反之,如果用户点击的是所述第一图像,则所述服务器可以判断所述用户较大概率(比如超过70%)是机器。
如图9所示,在一个实施方式中,所述终端800还包括:
一第四接收模块890,用于响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像的对比度高于所述第一图像的对比度。
其中,所述第三图像是一个新的初始图像,通过选择一个对比度更高的初始图像,可以进一步提高机器对所述第三图像和所述第四图像中的“不正常”图像的识别难度。
也就是说,当所述判断结果是所述用户是机器的概率大于是人类的概率时,为了尽量减少误判,所述终端可以从所述服务器接收一组新的图像,以便对所述用户进行再次验证。如果用户通过了再次验证,则可以判断用户为人类。相反,如果用户验证失败次数达到预定值,比如3次,则可以限制用户在预定时间内禁止登陆相应的网站。
另外,本申请还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
上述内容主要是终端800对用户进行验证的过程,此外,本申请还提供一种与所述终端进行配合的服务器1000。如图10所示,所述终端800和服务器1000可以通过有线或者无线网络进行通信连接。
图11是本申请所述服务器1000的模块结构示意图。如图10所示,所述服务器1000包括:
一发送模块1020,用于向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
一接收模块1040,用于从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
一判断模块1060,用于根据所述选择输入判断所述用户是人类还是机器。
以下将结合附图和具体实施方式详细说明所述服务器1000的各个模块的功能。
所述发送模块1020,用于向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的。
如前文所述,所述第一图像可以是灰度图像或者彩色图像。当所述第一图像是灰度图像时,所述第一图像的像素值是所述第一图像中每一像素的灰度值。当所述第一图像是彩色图像时,所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。
如前文所述,对所述第一图像的预定处理可以由所述服务器1000完成,也可以由另一图像处理设备完成后提供给所述服务器1000,进而由所述服务器1000发送给所述终端800。简单起见,本申请说明书主要介绍由所述服务器1000直接对所述第一图像进行所述预定处理的情况。
对所述第一图像的预定处理,其目的只是使处理之后的图像让人类用户感觉“不自然”或“不正常”,因此,本申请并不具体限定所述预定处理的具体方式。以下给出两种示例处理方式,本领域技术人员可以据此进行合理的变换。
如图12所示,在一个实施方式中,所述服务器1000还包括:一处理模块1010,用于对所述第一图像的像素值进行所述预定处理。
如图13所示,在一个实施方式中,所述处理模块1010包括:
一乘运算单元1011,用于对所述第一图像的每一像素的像素值乘以第一预定值;
一模运算单元1012,用于将乘积以第二预定值做模运算;
一像素修改单元1013,用于将所述模运算的结果作为所述第二图像上对应像素的像素值。
简单起见,先假设所述第一图像为灰度图像,所述第一图像的某一像素的初始像素值为一灰度值Gr0。一般地,如果每个像素占用8比特的存储空间,则所述灰度值Gr0的取值区间为[0,255]。所述乘运算单元1011中,所述第一预定值a可以为任意值,优先为大于1的整数,从而将像素值放大。所述模运算单元1012中所述第二预定值b一般是所述像素值的最大取值,比如假设所述灰度值Gr0的取值区间为[0,255],则所述第二预定值优选为255,从而可以使运算结果具有较大的分布范围。因此,对于初始灰度值为Gr0的像素而言,其处理后的新的像素值为Gr=(a×Gr0)%b。依次类推,可以对所述第一图像中每个像素的像素值进行如上处理,然后得到所述第二图像。
再者,假设所述第一图像为彩色图像。对于彩色图像而言,每个像素的像素值包括R、G、B三个分量,假设所述第一图像中某一像素的初始像素值包括R0、G0、B0三个值。类似于对灰度值的处理,可以对该三个值分别进行如上处理。具体的,可以得到处理后的三个分量值依次为R’=(a×R0)%b,G’=(a×G0)%b,B’=(a×B0)%b。也即处理后该像素的R、G、B三个分量依次为R’、G’、B’。依次类推,可以对所述第一图像中每个像素的像素值进行如上处理,然后得到所述第二图像。
另外,本领域技术人员理解,当所述R、G、B分量的存储空间小于8个比特时,所述参数b的取值优选为每个分量的最大取值。比如,假设R分量占用4个比特,则其取值范围为[0,15],相应的所述参数b的取值优选为15。
如图14所示,在另一实施方式中,所述处理模块1010包括:
一随机设置单元1011’,用于对所述第一图像的每一像素的像素值进行随机设置;
一像素修改单元1012’,用于将随机设置后的结果作为所述第二图像上对应像素的像素值。
所述随机设置单元1011’中对每个像素的像素值进行随机设置是指在所述像素的像素值取值范围内随机设置。
首先,仍旧假设所述第一图像是灰度图像,所述像素值的取值范围为[0,255]。在处理过程中,可以不考虑所述像素的初始灰度值,而随机生成一个[0,255]范围内的新的灰度值作为所述像素的新的像素值。依次类推,可以对所述第一图像上每个像素的像素值进行如上处理,然后得到所述第二图像。
对于所述第一图像是彩色图像的情况,可以对所述第一图像中的每个像素的R、G、B三个分量分别在取值范围内进行随机设置,以得到三个新的分量,并将该三个新的分量作为所述像素的新的像素值。依次类推,可以对所述第一图像内每个像素的像素值进行如上处理,然后得到所述第二图像。
另外,在另一实施方式中,可以在对所述像素值进行随机设置后,进一步判断随机设置的像素值是否与初始像素值相同,如果相同,则由所述随机设置单元1011’重新进行随机设置。从而,可以实现最大化地对像素值进行修改。
所述接收模块1040,用于从所述终端接收用户对所述第一图像或所述第二图像的选择输入。
所述终端800可以提示用户按照预定的方式对所述第一图像或所述第二图像进行选择输入。比如通过点击、拖曳等方式。用户输入完成后,所述终端800可以将用户的输入发送给所述服务器1000。
所述判断模块1060,用于根据所述选择输入判断所述用户是人类还是机器。
所述服务器1000预先知道所述第二图像是非正常图像,所述第一图像是正常图像,同时也知道用户应该选择所述第一图像或所述第二图像。换句话说,所述服务器1000知道“问题的答案”。因此,可以根据用户的输入判断用户输入是否正确。
一般地,当用户输入正确时,所述服务器1000直接判断所述用户是人类。而当用户输入不正确时,所述服务器1000会再给所述用户至少一次机会,即向用户发送一组新的图像,并接收用户输入。当用户连续多次验证失败时,会判断用户是机器,并可以进一步限制用户在预定时间内禁止登陆等。
如图15所示,在一个实施方式中,所述服务器1000还包括:
一图像库建立模块1070,用于建立一图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
一图像选择模块1080,用于从所述图像库中选择一初始图像。
其中,所述初始图像是后续用于进行所述预定处理的图像,比如所述第一图像。
在一个实施方式中,所述图像选择模块1080,用于根据对比度从所述图像库中选择所述初始图像。所谓对比度是指图像的亮暗对比程度,一副图像上相邻像素之间的亮暗差别越大,则对比度越高,反之,则对比度越低。对所述对比度详细说明及计算公式,可以参考以下网址:http://www.docin.com/p-611781278.html。
本申请中,当按照对比度选择所述初始图像时,所述初始图像的对比度越高,则经过所述预定处理后的图像和处理前的图像的区别越小,机器对两者区分难度越高,人类则几乎不受影响。因此,可以通过选择不同的对比度的所述初始图像,调整所述用户对所述图像的识别难度。比如,当用户第一次验证失败后,当向所述用户输出新的一组用于验证的图像时,选择一个对比度更高的初始图像。在一个实施方式中,所述发送模块1020还用于,响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像不同于所述第一图像,并且所述第三图像的对比度高于所述第一图像的对比度。
在另一个实施方式中,所述图像选择模块1080,用于根据所述用户对不同图像的熟悉度从所述图像库中选择所述初始图像。优选地,所述图像选择模块1080会选择用户更加熟悉的图像作为所述初始图像,从而提高合法用户的验证效率。一般地,用户会比较熟悉来自自己的本地存储设备的图像。或者,还可以根据用户的地理位置选择用户比较熟悉的初始图像。比如,一般情况下用户会比较熟悉自己住所附近的街景照,相反会对距离自己住所较远的地方的街景照比较陌生。
本申请所述图像选择模块1080可以基于对运算量的考虑选择上述标准中的一种选择所述初始图像,当然也可以同时结合上述两个标准选择所述初始图像。
另外,本申请还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序使计算机执行下述方法:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
本发明实施例所述终端的一种结构如图16所示。本发明具体实施例并不对所述终端的具体实现做限定,参见图16,所述终端1600可以包括:
处理器(processor)1610、通信接口(Communications Interface)1620、存储器(memory)1630,以及通信总线1640。其中:
处理器1610、通信接口1620,以及存储器1630通过通信总线1640完成相互间的通信。
通信接口1620,用于与服务器通信。
处理器1610,用于执行程序1632,具体可以执行上述图1所示的方法实施例中的相关步骤。
具体地,程序1632可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1610可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1630,用于存放程序1632。存储器1630可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1632具体可以执行以下步骤:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器。
程序1632中各步骤的具体实现可以参见上述实施例中的相应步骤或模块,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本发明实施例一种服务器的结构如图17所示。本发明具体实施例并不对所述服务器的具体实现做限定,参见图17,所述服务器1700可以包括:
处理器(processor)1710、通信接口(Communications Interface)1720、存储器(memory)1730,以及通信总线1740。其中:
处理器1710、通信接口1720,以及存储器1730通过通信总线1740完成相互间的通信。
通信接口1720,用于与终端通信。
处理器1710,用于执行程序1732,具体可以执行上述图4所示的方法实施例中的相关步骤。
具体地,程序1732可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1710可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1730,用于存放程序1732。存储器1730可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。程序1732具体可以执行以下步骤:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器。
程序1732中各步骤的具体实现可以参见上述实施例中的相应步骤或模块,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,控制器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (29)

1.一种验证用户的方法,其特征在于,所述方法包括:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器;
其中,所述预定处理包括:
将所述第一图像的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述第二图像上对应像素的像素值;
或者,
所述预定处理包括:
对所述第一图像的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述第二图像上对应像素的像素值。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
从一服务器接收所述第一图像和所述第二图像,所述预定处理由所述服务器完成。
3.如权利要求1所述的方法,其特征在于,所述第一图像是灰度图像,所述第一图像的像素值是所述第一图像中每一像素的灰度值。
4.如权利要求1所述的方法,其特征在于,所述第一图像是彩色图像,所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
向服务器发送所述选择输入;
从所述服务器接收一判断结果。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像的对比度高于所述第一图像的对比度。
7.一种验证用户的方法,其特征在于,所述方法包括:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器;
其中,所述预定处理包括:
对所述第一图像的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为第二图像上对应像素的像素值;
或者,
所述预定处理包括:
对所述第一图像的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述第二图像上对应像素的像素值。
8.如权利要求7所述的方法,其特征在于,所述第一图像是灰度图像,所述第一图像的像素值是所述第一图像中每一像素的灰度值。
9.如权利要求7所述的方法,其特征在于,所述第一图像是彩色图像,所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。
10.如权利要求7所述的方法,其特征在于,所述方法还包括:
根据对比度从一图像库中选择所述第一图像。
11.如权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述用户对不同图像的熟悉度从一图像库中选择所述第一图像。
12.如权利要求10或11所述的方法,其特征在于,所述方法还包括:
建立所述图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
13.如权利要求7所述的方法,其特征在于,所述方法还包括:
响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像的对比度高于所述第一图像的对比度。
14.一种验证用户的终端,其特征在于,所述终端包括:
一第一输出模块,用于向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
一第二输出模块,用于输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
一第一接收模块,用于接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器;
一第二接收模块,用于从一服务器接收所述第一图像和所述第二图像,所述预定处理由所述服务器的处理模块完成;
所述处理模块包括:
一乘运算单元,用于对所述第一图像的每一像素的像素值乘以第一预定值;
一模运算单元,用于将乘积以第二预定值做模运算;
一像素修改单元,用于将所述模运算的结果作为第二图像上对应像素的像素值;
或者,所述处理模块包括:
一随机设置单元,用于对所述第一图像的每一像素的像素值进行随机设置;
一像素修改单元,用于将随机设置后的结果作为所述第二图像上对应像素的像素值。
15.如权利要求14所述的终端,其特征在于,所述第一图像是灰度图像,所述第一图像的像素值是所述第一图像中每一像素的灰度值。
16.如权利要求14所述的终端,其特征在于,所述第一图像是彩色图像,所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。
17.如权利要求14所述的终端,其特征在于,所述终端还包括:
一发送模块,用于向服务器发送所述选择输入;
一第三接收模块,用于从所述服务器接收一判断结果。
18.如权利要求17所述的终端,其特征在于,所述终端还包括:
一第四接收模块,用于响应于所述判断结果是,所述用户是机器的概率大于是人类的概率,从所述服务器接收第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像的对比度高于所述第一图像的对比度。
19.一种验证用户的服务器,其特征在于,所述服务器包括:
一发送模块,用于向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
一接收模块,用于从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
一判断模块,用于根据所述选择输入判断所述用户是人类还是机器;
一处理模块,用于对所述第一图像的像素值进行所述预定处理;
所述处理模块包括:
一乘运算单元,用于对所述第一图像的每一像素的像素值乘以第一预定值;
一模运算单元,用于将乘积以第二预定值做模运算;
一像素修改单元,用于将所述模运算的结果作为第二图像上对应像素的像素值;
或者,所述处理模块包括:
一随机设置单元,用于对所述第一图像的每一像素的像素值进行随机设置;
一像素修改单元,用于将随机设置后的结果作为所述第二图像上对应像素的像素值。
20.如权利要求19所述的服务器,其特征在于,所述第一图像是灰度图像,所述第一图像的像素值是所述第一图像中每一像素的灰度值。
21.如权利要求19所述的服务器,其特征在于,所述第一图像是彩色图像,所述第一图像的像素值是所述第一图像中每一像素的RGB值中至少一个分量值。
22.如权利要求19所述的服务器,其特征在于,所述服务器还包括:
一图像选择模块,用于根据对比度从一图像库中选择所述第一图像。
23.如权利要求19所述的服务器,其特征在于,所述服务器还包括:
一图像选择模块,用于根据所述用户对不同图像的熟悉度从一图像库中选择所述第一图像。
24.如权利要求22或23所述的服务器,其特征在于,所述服务器包括:
一图像库建立模块,用于建立所述图像库,所述图像库中的图像来自网络或所述用户的本地存储设备。
25.如权利要求19所述的服务器,其特征在于,所述发送模块还用于,响应于判断结果是,所述用户是机器的概率大于是人类的概率,向所述终端发送第三图像和第四图像,所述第三图像是一初始图像,所述第四图像是对所述第三图像的像素值进行预定处理后得到的,所述第三图像的对比度高于所述第一图像的对比度。
26.一种终端设备,其特征在于,所述终端设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器;
所述预定处理包括:
将所述第一图像的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述第二图像上对应像素的像素值;
或者,
所述预定处理包括:
对所述第一图像的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述第二图像上对应像素的像素值。
27.一种服务器设备,其特征在于,所述服务器设备包括:
一存储器,用于存储指令;
一处理器,用于执行所述存储器存储的指令,所述指令使得所述处理器执行以下操作:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器;
所述预定处理包括:
将所述第一图像的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述第二图像上对应像素的像素值;
或者,
所述预定处理包括:
对所述第一图像的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述第二图像上对应像素的像素值。
28.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序使计算机执行下述方法:
向用户输出第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
输出一指示信息,所述指示信息用于指示所述用户选择所述第一图像或所述第二图像;
接收所述用户对所述第一图像或所述第二图像的选择输入,所述选择输入用于判断所述用户是人类还是机器;
所述预定处理包括:
将所述第一图像的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述第二图像上对应像素的像素值;
或者,
所述预定处理包括:
对所述第一图像的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述第二图像上对应像素的像素值。
29.一种计算机可读存储介质,其存储有计算机程序,其特征在于,所述计算机程序使计算机执行下述方法:
向一终端发送第一图像和第二图像,所述第一图像是一初始图像,所述第二图像是对所述第一图像的像素值进行预定处理后得到的;
从所述终端接收用户对所述第一图像或所述第二图像的选择输入;
根据所述选择输入判断所述用户是人类还是机器;
所述预定处理包括:
将所述第一图像的每一像素的像素值乘以第一预定值;
将乘积以第二预定值做模运算;
将所述模运算的结果作为所述第二图像上对应像素的像素值;
或者,
所述预定处理包括:
对所述第一图像的每一像素的像素值进行随机设置;
将随机设置后的结果作为所述第二图像上对应像素的像素值。
CN201810152098.0A 2018-02-14 2018-02-14 一种验证用户的方法、终端和服务器 Active CN109040001B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810152098.0A CN109040001B (zh) 2018-02-14 2018-02-14 一种验证用户的方法、终端和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810152098.0A CN109040001B (zh) 2018-02-14 2018-02-14 一种验证用户的方法、终端和服务器

Publications (2)

Publication Number Publication Date
CN109040001A CN109040001A (zh) 2018-12-18
CN109040001B true CN109040001B (zh) 2021-07-27

Family

ID=64629306

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810152098.0A Active CN109040001B (zh) 2018-02-14 2018-02-14 一种验证用户的方法、终端和服务器

Country Status (1)

Country Link
CN (1) CN109040001B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660402A (zh) * 2013-11-19 2015-05-27 深圳市腾讯计算机系统有限公司 一种对终端进行验证的方法、装置及系统
CN105323065A (zh) * 2014-07-21 2016-02-10 腾讯科技(深圳)有限公司 一种安全验证方法及装置
CN106156595A (zh) * 2015-04-02 2016-11-23 深圳市腾讯计算机系统有限公司 一种通过验证码图片进行验证的方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100046790A1 (en) * 2008-08-22 2010-02-25 Koziol Anthony R Method and system for generating a symbol identification challenge
US20120291122A1 (en) * 2011-05-13 2012-11-15 University Of Wollongong Multi Dimensional CAPTCHA System and Method
CN107453876A (zh) * 2017-08-02 2017-12-08 微梦创科网络科技(中国)有限公司 一种基于图片的验证码实现方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660402A (zh) * 2013-11-19 2015-05-27 深圳市腾讯计算机系统有限公司 一种对终端进行验证的方法、装置及系统
CN105323065A (zh) * 2014-07-21 2016-02-10 腾讯科技(深圳)有限公司 一种安全验证方法及装置
CN106156595A (zh) * 2015-04-02 2016-11-23 深圳市腾讯计算机系统有限公司 一种通过验证码图片进行验证的方法、装置及系统

Also Published As

Publication number Publication date
CN109040001A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
EP2892198B1 (en) Detecting and breaking captcha automation scripts and preventing image scraping
US8826406B2 (en) Password security input system using shift value of password key and password security input method thereof
KR102069759B1 (ko) 캡차(captcha) 챌린지의 동적 업데이트
US8141146B2 (en) Authentication server, authentication method and authentication program
US7549170B2 (en) System and method of inkblot authentication
US10439818B2 (en) Captcha image generation method and apparatus, and server
US20060288226A1 (en) System and method for establishing and authorizing a security code
US20150205942A1 (en) Password Authentication System And Password Authentication Method Using Consecutive Password Authentication
US20160180073A1 (en) Captcha processing method and device, terminal and server
CN1998174A (zh) 生成用于监视用户与计算机的交互的图像的方法和系统
WO2015032281A1 (en) Method and system for generating and processing challenge-response tests
CN114266033A (zh) 验证码生成方法、装置、验证码登录系统及电子设备
CN106997432A (zh) 图片密码认证方法和图片密码认证装置
JP5353492B2 (ja) 認証装置、認証方法、及び認証プログラム
JP2018536931A (ja) 傍受防止認証および暗号化システムならびに方法
CN109040001B (zh) 一种验证用户的方法、终端和服务器
KR101654797B1 (ko) 피싱 대응 상호 작용 캡차 시스템
CN107169341B (zh) 图片密码生成方法和图片密码生成装置
JPWO2018066426A1 (ja) 偽ウェブページ判別装置、偽ウェブページ判別システム、偽ウェブページ判別方法及び偽ウェブページ判別プログラム
CN106789850A (zh) 信息处理方法、登录服务器的方法、装置、服务器及终端
KR101516565B1 (ko) 온라인 상에서의 이미지를 이용한 인증방법 및 장치
US20220382848A1 (en) Human Verification Based on Trans-Saccadic Memory
CN109033792A (zh) 一种验证用户的方法、终端和服务器
EP4258142A1 (en) Method for validating user authentication in information systems
CN110851814B (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