存储设备、验证码应用方法和装置与流程

文档序号:17355854发布日期:2019-04-09 21:39阅读:192来源:国知局
存储设备、验证码应用方法和装置与流程

本发明涉及互联网信息安全领域,特别是涉及存储设备、验证码应用方法和装置。



背景技术:

验证码,又称全自动区分计算机和人类的图灵测试(completelyautomatedpublicturingtesttotellcomputersandhumansapart,captcha),是一种区分用户是计算机还是人的公共全自动程序。

通过验证码技术对用户身份进行验证,可以滤除恶意破解密码、刷票和论坛灌水等恶意行为。

验证码技术的基本工作方式包括:在用户界面中,向用户显示验证码图片,验证码图片中包括有计算机不容易辨识的字符、数字或是事物的照片等验证信息。

为了增加计算机辨识上述验证信息的难度,来提高对于计算机的恶意行为的滤除效果,现有技术中,对验证码图片中的验证信息作了越来越复杂的处理;比如,通过增加用户的操作难度、加入更多的噪音数据或是对图片内容进行较大幅度的变形等多种手段,来提高通过计算机手段进行辨识验证信息的难度。

发明人经过研究发现,现有技术中的手持分机至少存在以下缺陷:

随着计算机的图形识别技术和处理能力的不断发展,需要对验证信息做更加复杂的图形处理才能降低计算机的识别率以保证应有的安全性,由此带来的问题是,增加了真实的人类用户辨识和输入正确验证信息的难度,从而降低了用户体验。



技术实现要素:

本发明所要解决的技术问题是如何提高验证码应用过程中的用户体验,具体的:

本发明实施例提供了一种验证码应用方法,其特征在于,包括步骤:

s11、获取客户端的验证请求;

s12、向所述客户端提供验证码,所述验证码包括初级验证码;

s13、获取所述客户端的身份信息和所述客户端的用户当前的行为数据;所述身份信息包括客户端的useragentua信息、设备标识和用户标识中的一种及其任意组合;所述行为数据包括所述客户端的鼠标轨迹数据;

s14、以所述身份信息和行为数据为参数,通过预设的学习模型获取当前的验证行为的评估结果;所述预设学习模型包括:以历史的客户端及用户的身份信息和/或行为数据为依据,构建用于评估验证行为风险等级的学习模型;

s15、以所述评估结果为参数,根据预设规则生成验证结果,或,更新所述验证码,更新后的验证码包括附加验证码;

s16、如果更新所述验证码,则返回步骤s12。

优选的,在本发明实施例中,所述初级验证码包括:

点击式验证码。

优选的,在本发明实施例中,所述附加验证码包括:

滑块式验证码、答题式验证码、图文识别式验证码和图文点选式验证码中的一种及其任意组合。

优选的,在本发明实施例中,所述设备标识包括:

客户端的ip地址或mac地址。

优选的,在本发明实施例中,所述学习模型包括设定规则;

所述设定规则包括:

对于发送所述验证请求的客户端的ip地址的请求频率和次数的统计,和,对于发送所述验证请求的客户端的代理正常与否的统计,和,对于发送所述ua信息正常与否的统计中的一种及其任意组合。

优选的,在本发明实施例中,所述学习模型包括分类模型;

根据所述鼠标轨迹数据进行统计学习构建所述分类模型。

优选的,在本发明实施例中,所述根据预设规则生成验证结果,或,更新所述验证码,包括:

预设风险等级的安全阈值和高危阈值;

当所述风险等级低于所述安全阈值时,生成的验证结果为验证通过;

当所述风险等级高于所述高危阈值时,生成的验证结果为验证失败;

当所述风险等级处于所述安全阈值和所述高危阈值之间时,更新所述验证码。

优选的,在本发明实施例中,还包括:

将所述客户端的身份信息和所述客户端的用户当前的行为数据作为用于所述学习模型的历史数据。

在本发明实施例的另一面,还提供了一种存储设备,包括指令集,所述指令集适于处理器执行:

s11、获取客户端的验证请求;

s12、向所述客户端提供验证码,所述验证码包括初级验证码;

s13、获取所述客户端的身份信息和所述客户端的用户当前的行为数据;所述身份信息包括客户端的useragentua信息、设备标识和用户标识中的一种及其任意组合;所述行为数据包括所述客户端的鼠标轨迹数据;

s14、以所述身份信息和行为数据为参数,通过预设的学习模型获取当前的验证行为的评估结果;所述预设学习模型包括:以历史的客户端及用户的身份信息和/或行为数据为依据,构建用于评估验证行为风险等级的学习模型;

s15、以所述评估结果为参数,根据预设规则生成验证结果,或,更新所述验证码,更新后的验证码包括附加验证码;

s16、如果更新所述验证码,则返回步骤s12。

在本发明实施例的另一面,还提供了一种验证码应用装置,包括总线、通信模块、处理器和存储设备;

所述总线用于连接所述存储器、所述通信模块和所述处理器;

所述通信模块用于与客户端进行通信;

所述处理器用于执行所述存储设备中的指令集;

所述指令集适于处理器执行:

s11、获取客户端的验证请求;

s12、向所述客户端提供验证码,所述验证码包括初级验证码;

s13、获取所述客户端的身份信息和所述客户端的用户当前的行为数据;所述身份信息包括客户端的useragentua信息、设备标识和用户标识中的一种及其任意组合;所述行为数据包括所述客户端的鼠标轨迹数据;

s14、以所述身份信息和行为数据为参数,通过预设的学习模型获取当前的验证行为的评估结果;所述预设学习模型包括:以历史的客户端及用户的身份信息和/或行为数据为依据,构建用于评估验证行为风险等级的学习模型;

s15、以所述评估结果为参数,根据预设规则生成验证结果,或,更新所述验证码,更新后的验证码包括附加验证码;

s16、如果更新所述验证码,则返回步骤s12。

本发明实施例中,预设了学习模型,通过对历史数据的深度学习,来获得客户端的身份信息和用户当前的行为数据与风险等级的对应关系,从而可以判断客户端的验证行为是否是恶意行为。

实际应用中,对在对客户端通过验证码进行验证的时候,首先向客户端发送客户体验较好的初级验证码,然后,通过获得客户端的身份信息和用户当前的行为数据,并利用学习模型来判断客户端当前的验证行的风险等级;在本发明实施例中,还将风险等级设定了不同的范围值来对应不同的验证结果或是确定下一步需要执行的步骤,具体来说:

可以设定一个安全阈值,定义小于该安全阈值的风险等级为安全,可以判定当前的客户端的验证行为的实施者是真实的用户,此时可以直接生成验证结果为通过验证,从而使真实的用户可以方便快捷的完成验证。

此外,还可以设定一个高危阈值,定义大于该安全阈值的风险等级为高危,可以判定当前的客户端的验证行为是由计算机实施的机械性的恶意行为,此时可以直接生成验证结果为验证失败,以达到滤除恶意破解密码、刷票和论坛灌水等恶意行为的目的。

此外,还将安全阈值至高危阈值之间的范围,定义为当前的验证行为的风险等级为中等,认为当前的客户端的验证行为的实施者有可能不是真实的用户,还需要进一步的确认,为此需要通过更新验证码的方式,为客户端再次提供附加的验证过程。

当判定验证行为的风险等级为中等后,本发明实施例还通过更新验证码的方式,为客户端再次提供附加的验证过程,同时还改变了验证码的类型和提高了验证难度,并再次通过学习模型重新对客户端的验证行为进行风险等级进行进一步的判别;由于在本发明实施例中,附加的验证过程中不但改变了验证的类型,还提高了验证难度,所以通过其行为数据进行风险评估的准确性就会进一步的增强,这样,就可以通过多次评估的方式来提高风险评估的准确性,进而减少了误判的可能性。

由上可以看出,通过本发明实施例,可以使真实的用户能够方便快捷的完成验证,以保证用户具有很好的用户体验;同时,还能保有很高的安全性,可以有效的避免恶意破解密码、刷票和论坛灌水等恶意行为。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请中所述验证码应用方法的步骤示意图;

图2为本申请中所述验证码应用方法的又一步骤示意图;

图3为本申请中所述验证码应用装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了提高验证码应用过程中的用户体验,如图1所示,本发明实施例提供了一种验证码应用方法,包括步骤:

s11、获取客户端的验证请求;

本发明实施例的执行主体可以是服务器端,通过接收客户端的验证请求来实现对于客户端的验证过程。

s12、向客户端提供验证码,验证码包括初级验证码;

为了提高用户体验,尽量避免用户验证过程中进行繁复的操作或是经过过多的思考,本发明实施例中,首次向客户端提供的验证码是操作便捷的验证码,如一点即过的点击式验证码,本发明实施例中,将首次提供给客户的较为便捷的验证码称之为初级验证码。

实际应用中,初级验证码可以是只包含一个需要点击一次的图形界面,具体可以是一个简单的矩形框、图片等等ui样式。

s13、获取客户端的身份信息和客户端的用户当前的行为数据;身份信息包括客户端的ua(useragent)信息、设备标识和用户标识中的一种及其任意组合;行为数据包括客户端的鼠标轨迹数据;

在向客户端提供验证码的同时,还需要获取客户端的身份信息和客户端的用户当前的行为数据;在实际应用中,客户端接收到验证码后,其进行验证的过程中的鼠标移动轨迹和点击等行为,以及,浏览器属性或者手机系统属性等上下文信息,可以通过前端js(javascript)或者移动端sdk来进行收集,然后发送至服务器端。

s14、以身份信息和行为数据为参数,通过预设的学习模型获取当前的验证行为的评估结果;预设学习模型包括:以历史的客户端及用户的身份信息和/或行为数据为依据,构建用于评估验证行为风险等级的学习模型;

本发明实施例中,预设了学习模型,以通过深度学习的方式来获得客户端的身份信息和用户当前的行为数据与风险等级的对应关系,从而可以判断客户端的验证行为是否是恶意行为的风险等级。

在本发明实施例中,学习模型可以包括一些设定规则和分类模型来根据不同类型的历史数据来全方位的进行风险等级的评估,举例来说,学习模型所包括的设定规则可以是:

对于发送所述验证请求的客户端的ip地址的请求频率和次数的统计,和,对于发送所述验证请求的客户端的代理正常与否的统计,和,对于发送所述ua信息正常与否的统计中的一种及其任意组合。

学习模型包括分类模型,可以是根据鼠标轨迹数据进行统计学习构建而成的。

通过计算机程序进行验证码的验证行为与人类的真实用户进行验证的鼠标轨迹、点击方式等行为是不同的,通过不断地收集这些行为数据作为历史数据,可以学习到哪些行为数据是人类的操作行为,哪些事由计算机程序实施的操作,这样,就可以通过获取这些行为数据来作为判断验证的风险程度的依据了。

此外,通过计算机程序进行验证码的验证行为还有一些其他的特征,如,进行验证请求的客户端,可以通过其ip的频次、是否使用了代理以及ua属性等指标特性,来判别验证行为是否正常。

需要说明的是,本发明实施例中,学习模型中的设定规则和分类模型可以有本领域技术人员根据需要来增减设定,可以包括但不仅限于本发明实施例中所提及的设定规则和分类模型。

s15、以评估结果为参数,根据预设规则生成验证结果,或,更新验证码,更新后的验证码包括附加验证码;

不同的风险等级,也代表着当前的验证行为是通过计算机程序实现的可能性的大小,为此可以通过划分阈值范围的方式来对验证行为进行认定,如图2所示,具体来说可以是:

s501、预设风险等级的安全阈值和高危阈值;

s502、当风险等级低于安全阈值时,生成的验证结果为验证通过;

s503、当风险等级高于高危阈值时,生成的验证结果为验证失败;

s504、当风险等级处于安全阈值和所述高危阈值之间时,更新验证码。

实际应用中,对在对客户端通过验证码进行验证的时候,首先发送客户体验较好的初级验证码,然后,通过获得客户端的身份信息和用户当前的行为数据,并利用学习模型来判断客户端当前的验证行的风险等级;在本发明实施例中,还将风险等级设定了不同的范围值来对应不同的验证结果或是确定下一步需要执行的步骤,具体来说:

可以设定一个安全阈值,定义小于该安全阈值的风险等级为安全,可以判定当前的客户端的验证行为的实施者是真实的用户,此时可以直接生成验证结果为通过验证,从而使真实的用户可以方便快捷的完成验证。

此外,还可以设定一个高危阈值,定义大于该安全阈值的风险等级为高危,可以判定当前的客户端的验证行为是由计算机实施的机械性的恶意行为,此时可以直接生成验证结果为验证失败,以达到滤除恶意破解密码、刷票和论坛灌水等恶意行为的目的。

此外,还将安全阈值至高危阈值之间的范围,定义为当前的验证行为的风险等级为中等,认为当前的客户端的验证行为的实施者是不是真实的用户,还需要进一步的确认,为此需要通过更新验证码的方式,为客户端再次提供附加的验证过程。

本发明实施例中,附加验证码具体可以包括,滑块式验证码、答题式验证码、图文识别式验证码和图文点选式验证码中的一种及其任意组合。

需要说明的是,本发明实施例中初级验证码和附加验证码的确定,只是根据验证码在进行验证过程中的操作难易程度和安全系数的划分,操作简单安全系数较低的验证码,由于其用户体验往往会比较好,所以适合作为初级验证码;而操作较为复杂的验证码由于其安全系数会较高一些,所以适合作为附加验证码。因此,本发明实施例中关于初级验证码和附加验证码的选用,本领域技术人员还可以自行确定,并不一定仅限于本发明实施例中所确定的方式。

s16、如果更新验证码,则返回步骤s12。

当判定验证行为的风险等级为中等后,说明目前还不能准确的判定验证行为的实施者是不是真实的用户,本发明实施例还通过更新验证码的方式,为客户端再次提供附加的验证过程(即,需要再次从步骤s12开始,来执行本发明实施例中的后续步骤),同时还改变了验证码的类型和提高了验证难度,并再次通过学习模型重新对客户端的验证行为进行风险等级进行进一步的判别;由于在本发明实施例中,附加的验证过程中不但改变了验证的类型,还提高了验证难度,所以通过其行为数据进行风险评估的准确性就会进一步的增强,这样,就可以多次评估的方式来提高风险评估的准确性,进而减少了误判的可能性。

由上可以看出,通过本发明实施例,可以使真实的用户能够方便快捷的完成验证,保证用户具有很好的用户体验的同时,还能保有很高的安全性,可以有效的避免恶意破解密码、刷票和论坛灌水等恶意行为。

进一步的,在本发明实施例中,还可以进一步的包括以下步骤:

将客户端的身份信息和客户端的用户当前的行为数据作为用于学习模型的历史数据。

学习模型中,需要不断地积累历史数据来提高是学习模型的判定结果更加的准确,为此,在本发明实施例中,还可以将当前客户端进行验证行为的身份信息和客户端的用户当前的行为数据作为用于学习模型的历史数据,从而不断地提高学习模型的辨识效果。

在本发明实施例中,还提供了一种存储设备,和,包括有该存储设备的验证码应用装置;其中,存储设备包括指令集,指令集适于处理器执行图1所对应的验证码应用方法中的各个步骤。

本发明实施例可以通过软件程序的方式来实现,即,通过编写用于实现1所对应的验证码应用方法中的各个步骤的软件程序(及指令集),所述软件程序存储于存储设备中,存储设备设于验证码应用装置中,从而可以由验证码应用装置的处理器调用该软件程序以实现本发明实施例的目的。

以验证码应用装置为服务器端为例来说明本发明实施例,如图3所示,服务器端包括总线201、通信模块(通信模块)202、处理器203和存储设备204;

总线201用于连接存储设备204、通信模块202和处理器203;通信模块202用于与客户端进行通信;处理器203用于执行存储设备204中的指令集。

由于本发明实施例中的存储设备和验证码应用装置的工作原理和有益效果已经在图1所对应的验证码应用方法的实施例中做了详尽的记载和描述,这样,就可以参照图1所对应的验证码应用方法的实施例来理解本发明实施例中的存储设备和验证码应用装置,因此,在此就不再赘述。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、reram、mram、pcm、nandflash,norflash,memristor、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1