一种人机识别方法、系统及终端设备、可读存储介质与流程

文档序号:11234360阅读:357来源:国知局
一种人机识别方法、系统及终端设备、可读存储介质与流程

本发明涉及竞品分析技术领域,尤其涉及一种人机识别方法、系统及终端设备、可读存储介质。



背景技术:

人机识别系统(区分计算机与人的完全自动化的公共图灵机测试)是一类进行问答式身份验证的安全措施。人机识别系统针对个人有助于保护免受垃圾邮件和密码解密的干扰;针对企业可有效阻止垃圾评论、论坛灌水、恶意注册、刷单、薅羊毛等行为。该系统会要求您完成一个简单的测试,以证明您是人,而不是一台试图攻入受密码保护帐户、或恶意批量操作的计算机。

关于人机识别系统,下面统称为验证码。目前,总体验证码存在的形态比较多,但从技术及体验角度大致可分为如下几类:

1.标准型验证码

这类图形验证码是简单图形验证,通过把数字/字母/汉字转化成图像,然后用户识别后还原为原始的数字/字母/汉字输入。系统通过比对用户的输入和原始数据,就可以返回是否通过验证的结果。由于数字、字母或文字有限,且简单地固定拼接,因此通过现有成熟的ocr(光学字符识别)技术可轻松准确识别,识别率可达到100%,因此已完全失去防护作用

2.扭曲,粘连模糊型验证码

因标准型验证码极易被ocr技术识别。因此在标准验证码防护过程中,在图片中加入了相应的图像模糊、扭曲、粘连、及干扰点线等处理手段,以降低ocr有效识别(光学字符识别)。这种方案在初期起到一定作用,使破解率下降,识别度达到20%。但随后经过一段时间的发展,随着图像处理技术增强,通过预处理、分割、识别等技术。预处理过程采用比较传统的方式分离前景、背景以及降噪。在分割阶段,基于字符笔划的分割策略,将前景像素分类为曲线像素和直线像素,通过检测直线笔划趋势,分离直线像素,从而同样可以100%识别。但经过扭曲变形后的验证码,却对人工产生大量干扰,导致验证速度及准确性极具下降,严重影响用户体验。

3.知识型验证码

这类验证码基于第二代验证码的核心思想(通过人类知识可以解答,而计算机难以解答的问题进行人机判断)而产生的创新的交互优化型验证码。此类验证码基于第二代验证码的核心原理--“人机之间知识的差异”,拓展出大量创新型验证码。但此类验证码的问题及答案是有限的,很易被爬虫技术将所有验证码进行下载,并进行有效匹配,从而达到破解目的。另可通过建立七层卷积神经网络,基于搜索引擎进行获取答案,从而达到破解目的。

4.手机短信、及语音验证码

这种方式需要用户输入手机获取到的短信、语音验证码,这种方式一方面用起来极不方便,容易受手机信号等因素影响,经常有短信收到已过时效的情况发生,另一方面这种方式也不安全,短信很容易受到截取。另外此类验证码发送依赖于运营商平台,因此本身有一定的费用成本,这样会导致这类验证码自身被攻击,刷取流量,产生费用损耗。

5.交互式验证码

此类验证码,又称为无知识型行为交互式验证码,针对大多数的用户能够无需思考,直接通过。不存在业务和流程的打断,体验流畅,对用户体验的提升毋庸质疑。较前三代验证码在用户体验上有很大提升。但因此类验证码行为数据收集及判断逻辑,均有javascrpit实现,因此在代码的安全性方面非常差,极易被破解及数据伪造,从而失去安全防护做用。

在实现本发明过程中,发明人发现目前市面上存在的验证码实现技术至少存在以下问题:脚本明文易破解,人机识别的准确率较低,用户体验差。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的人机识别方法、系统及终端设备、可读存储介质。

本发明实施例提供的人机识别方法,应用于客户端,该方法包括:

从验证服务端动态获取验证码的图片碎片,对所述图片碎片进行重组,得到完整的验证码;

展示所述验证码以及对应的验证指令,所述验证指令用于指示触发主体基于所述验证码进行验证交互,所述验证指令中包含指示所述触发主体执行的操作行为;

采集触发主体在进行验证交互过程中的操作行为轨迹;

将所述操作行为轨迹发送到所述服务端,以供所述验证服务端根据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别;

其中,所述行为特征模型为依据若干操作样本训练得到的、人类操作和机器操作的分类器。

其中,在所述从验证服务端动态获取验证码的图片碎片之前,还包括:

目标应用界面加载时,执行预先设置于所述目标应用中的第一可执行代码,所述第一可执行代码中包括验证服务端的地址信息和所述目标应用授权的授权id,以根据所述地址信息将所述授权id发送到所述验证服务端,以供所述验证服务端对所述授权id进行验证,验证通过后所述验证服务端返回第二可执行代码;

执行所述第二可执行代码,加载基于安全套接字层ssl协议的交互模块。

其中,所述第二可执行代码中携带有服务端验证标识;

所述从验证服务端动态获取验证码的图片碎片,包括:

响应于触发主体所触发的人机识别验证请求,基于ssl协议向所述验证服务端发送验证码获取请求,所述验证码获取请求中携带有所述授权id和所述服务端验证标识,以供所述验证服务端对所述授权id和所述服务端验证标识进行验证,验证通过后所述验证服务端随机生成唯一的验证码,并返回所述验证码的图片碎片;

所述展示所述验证码以及对应的验证指令,包括:

调用所述交互模块展示所述验证码以及对应的验证指令。

其中,所述采集触发主体在进行验证交互过程中的操作行为轨迹,包括:

调用所述交互模块基于浏览器采集在进行验证交互过程中系统应用层的硬件信息轨迹数据,以及基于预设的系统驱动程序采集在进行验证交互过程中系统驱动层的硬件信息轨迹数据。

其中,所述将所述操作行为轨迹发送到所述服务端,包括:

对所述操作行为轨迹进行加密计算,并基于ssl协议将加密后的操作行为轨迹发送到所述服务端,以供所述验证服务端在对接收到的操作行为轨迹进行解密计算后,判定得到的操作行为轨迹是否正确,若正确则依据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别。

其中,所述验证码在所述验证服务端具有预设时间长度的有效缓存时间;

在所述对所述操作行为轨迹的触发主体进行人机识别之后,所述方法还包括:所述验证服务端根据所述验证码的有效缓存时间,判定基于所述验证码的人机识别行为是否有效。

其中,所述方法还包括:

向企业服务器发送业务交互请求,所述业务交互请求中携带有所述验证服务端返回的识别结果对应的识别结果校验码,所述企业服务器根据所述识别结果校验码与所述验证服务端进行识别结果的验证,并在验证通过后进行业务交互。

本发明实施例还提供了一种人机识别系统,应用于客户端,该系统包括:

验证模块,用于从验证服务端动态获取验证码的图片碎片,对所述图片碎片进行重组,得到完整的验证码;

交互模块,用于展示所述验证码以及对应的验证指令,所述验证指令用于指示触发主体基于所述验证码进行验证交互,所述验证指令中包含指示所述触发主体执行的操作行为;

采集模块,用于采集触发主体在进行验证交互过程中的操作行为轨迹;

通信模块,用于将所述操作行为轨迹发送到所述服务端,以供所述验证服务端,依据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别;

其中,所述行为特征模型为依据若干操作样本训练得到的、人类操作和机器操作的分类器。

本发明实施例还提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。

本发明实施例提供的人机识别方法、系统及终端设备、可读存储介质,通过基于碎片重组的验证码进行验证交互,并将触发主体在进行验证交互过程中的操作行为轨迹作为带校验信息,以对操作行为轨迹的触发主体进行人机识别,本发明能够准确识别当前操作用户为正常用户还是异常用户,提高人机识别的准确率,提高用户体验。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1为本发明实施例的一种人机识别方法的流程图;

图2为本发明实施例的一种人机识别方法的具体信令流程图;

图3为本发明实施例的一种人机识别方法的实现效果示意图一;

图4为本发明实施例的一种人机识别方法的实现效果示意图二;

图5为本发明实施例的一种人机识别方法的实现效果示意图三;

图6为本发明实施例的一种人机识别系统的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。

图1示意性示出了本发明一个实施例的人机识别方法的流程图。本实施例提供的人机识别方法被配置在终端设备中,例如,计算机、笔记本、pda(个人数字助理,personaldigitalassistant)等各种能够安装亏护短客户端应用程序的电子设备。参照图1,本发明实施例的人机识别方法具体包括以下步骤:

s11、从验证服务端动态获取验证码的图片碎片,对所述图片碎片进行重组,得到完整的验证码。

本实施例中,验证服务端通过将图片格式的验证码进行碎片化,可以确保验证码传输过程的安全性,客户端应用从验证服务端动态获取验证码的图片碎片之后,能够根据图片组合算法自动还原图片,得到完整的验证码。

s12、展示所述验证码以及对应的验证指令,所述验证指令用于指示触发主体基于所述验证码进行验证交互,所述验证指令中包含指示所述触发主体执行的操作行为。

本实施例中,客户端可以使用插件的形式实现验证码以及对应的验证指令的展示,以避免明文代码被破解。

s13、采集触发主体在进行验证交互过程中的操作行为轨迹。

为了确保数据采集的全面性,本实施例中可以基于浏览器及系统内核对硬件层面进行多维度、精准数据采集,

s14、将所述操作行为轨迹发送到所述服务端,以供所述验证服务端根据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别;

其中,所述行为特征模型为依据若干操作样本训练得到的、人类操作和机器操作的分类器。

本发明实施例提供的人机识别方法,通过基于碎片重组的验证码进行验证交互,并将触发主体在进行验证交互过程中的操作行为轨迹作为带校验信息,以对操作行为轨迹的触发主体进行人机识别,本发明能够准确识别当前操作用户为正常用户还是异常用户,提高人机识别的准确率,提高用户体验。

本发明实施例中,在所述从验证服务端动态获取验证码的图片碎片之前,还包括以下步骤:目标应用界面加载时,执行预先设置于所述目标应用中的第一可执行代码,所述第一可执行代码中包括验证服务端的地址信息和所述目标应用授权的授权id,以根据所述地址信息将所述授权id发送到所述验证服务端,以供所述验证服务端对所述授权id进行验证,验证通过后所述验证服务端返回第二可执行代码;执行所述第二可执行代码,加载基于安全套接字层ssl协议的交互模块。其中,安全套接字层,是客户端到服务器端的认证。主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性。

在实际应用中,企业用户在自己的网站或应用中,需要放置人机识别产品的位置放置整个验证码集成的标准代码即第一可执行代码。此代码中需要设置验证服务器的ip地址、当前应用所授权的合法id,及以根据自身网站样式,基于人机识别产品提供的标准api,进行设置识别产品具体样式,例如:颜色、大小等。具体的,在企业应用页面初始加载时,第一可执行代码会自动运行,以加载js客户端集成脚本模块(即组件1),以将当前的授权id向指定验证服务端对应的验证服务器,以ssl协议方式进行异步数据请求,验证服务器判断id合法、ssl端可信情况下会自动返回第二可执行代码,执行所述第二可执行代码,以加载基于安全套接字层ssl协议的js交互模块即组件2。

具体的,js交互模块的主要功能是用于与本地客户端插件程序,基于ssl双向认证协议进行数据通信,双方基于客户端插件启动的本地域名映射(localhost)进行数据通信,两者之间会根据业务需求建立心跳检测,由js向客户端插件发送密文指令,进行相关业务交互操作。其中,二者之前数据均为独有pki加密技术实现。在初次运行时组件2会自动检测,当前客户端环境是否已经安装客户端验证码程序,如未安装,则会界面提示用户先下载安全组件;如安装则会自动发送信号给客户端验证码程序,双方启动通信心跳检测。

在本发明的一个可选实施例中,第二可执行代码中还携带有服务端验证标识。

相应地,步骤从验证服务端动态获取验证码的图片碎片,具体实现流程如下:响应于触发主体所触发的人机识别验证请求,基于ssl协议向所述验证服务端发送验证码获取请求,所述验证码获取请求中携带有所述授权id和所述服务端验证标识,以供所述验证服务端对所述授权id和所述服务端验证标识进行验证,验证通过后所述验证服务端随机生成唯一的验证码,并返回所述验证码的图片碎片。本实施例中,客户端基于ssl协议向所述验证服务端发送加密格式的验证码获取请求,验证服务端对接收到客户端发送的验证码获取请求后,先进性相应的解密处理,得到验证码获取请求中携带的授权id和服务端验证标识,然后在验证授权合法后,自动随机生成永不重复的验证码图片,并进行碎片化,已将验证码的图片碎片返回给客户端。

进一步地,步骤展示所述验证码以及对应的验证指令,具体可通过调用所述交互模块展示所述验证码以及对应的验证指令。

本实施例中,操作行为轨迹包括系统应用层的硬件信息轨迹数据和系统驱动层的硬件信息轨迹数据,其中,所述采集触发主体在进行验证交互过程中的操作行为轨迹的实现流程具体如下:调用所述交互模块基于浏览器采集在进行验证交互过程中系统应用层的硬件信息轨迹数据,以及基于预设的系统驱动程序采集在进行验证交互过程中系统驱动层的硬件信息轨迹数据。

本实施例中,所述将所述操作行为轨迹发送到所述服务端,具体实现流程如下:对所述操作行为轨迹进行加密计算,并基于ssl协议将加密后的操作行为轨迹发送到所述验证服务端,以供所述验证服务端在对接收到的操作行为轨迹进行解密计算后,判定得到的操作行为轨迹是否正确,若正确则依据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别。

具体的,可以通过独有pki加密技术,基于ssl协议将采集的操作行为轨迹上传至验证服务端。

独有pki加密技术主要包括如下技术内容:

1、随机因子;

2、rsa非对称密钥算法;

3、aes对称密钥算法;

4、sha256哈希值摘要算法。

在pki加密技术中,数据加密报文格式包含5个参数:appid(即应用所授权的合法授权id)、key密钥(30位的用于aes加密的workkey)、checker(完整性验证码)、zip(压缩数据流标识)、postmsg(提交的数据),所有参数值要在传入前需要先做htmlencode、再做urlencode后再进行提交。其中:

1.appid为应用所授权的合法授权id,传输时要求base64(utf8编码)加密。

2.key是为包体加密算法aes使用的key(由数字、字母组成的16位随机因子aeskey,和14位时间串yyyymmddhhmmss组成。

具体的,前16位随机码用于为包体做aes加、减密,后14位时间串用于服务器校验包体是否在有效期内(每个数据包发送与服务器时间相差不能超过5分钟,否则就算包失效)。此key值在向服务器发送时,需要使用云端提供的授权公钥进行rsa加密。

3.checker为完整性校验,将加密后的postmsg(包体)做sha256即可(sha256(postmsg))。

4.zip标识请求数据是否进行过7zip压缩。具体的,0不压缩,1压缩。

5.postmsg为请求的主体数据包,此数据要求为json格式(传送时内容为aeskey做为加密key、偏移量对包体进行aes加密)。

进一步地,所述验证码在所述验证服务端具有预设时间长度的有效缓存时间。其中,预设时间长度的具体取值可根据实际应用场景进行设置,对此,本发明实施例不作具体限定。相应的,在所述对所述操作行为轨迹的触发主体进行人机识别之后,所述方法还包括:所述验证服务端根据所述验证码的有效缓存时间,判定基于所述验证码的人机识别行为是否有效。

在实际应用中,如图2所示,在收到js交互模块发送的相关指令后,首先客户端程序会根据js所收集的浏览器信息,自动判断当前js运行环境是否为标准常用浏览器,以防止通过webview或webbrowser等进行仿冒浏览器进行相关恶意操作。然后js交互模块会根据用户点击验证码工具栏的动作,向客户端程序即组件3发送相关指令,组件3在收到用户点击动作指令后,会向服务器获取最新验证码图片碎片,验证服务器在解密请求并验证授权合法后,会自动随机生成永不重复的验证码图片,并进行碎片化,返回给组件3;组件3根据图片组合算法自动还原图片并由组件2进行呈现;接着组件2根据用户相关验证操作行为,自动基于浏览器收集用户鼠标、键盘、陀螺仪等相关硬件信息轨迹数据,并将最终收集数据提交组组件3;在组件2收集用户操作行为的同时,组件3会调用预设的系统驱动程序即组件4,采集在进行验证交互过程中系统驱动层的硬件信息轨迹数据。其中,硬件发送的相关真实数据用以防止轨迹模拟程序基于应用层进行行为伪造。然后,由组件3根据用户操作的结果,自动结束本次验证流程,并将组件2收集的相关数据,及组件3基于系统层收集的应用环境、及硬件信息、驱动信息等数据,整体通过独有pki加密技术,基于ssl协议将数据上传至验证服务端的云端分控验证中心即组件5。其中,云端分控验证中心为人机识识别系统云端计算的核心版块,接收客户端提交的验证数据,云端基于客户端采集的全面信息,根据五层防控模型依次逐层运算,策略池-模型组-特征计算-风控规则引擎计算-决策树,并将计算结果及challengeid返回客户端。客户端根据结果将注册信息及challengeid一并提交企业服务器。企业服务器基于challengeid与验证服务器校验验证码有效性,通过后方可执行企业相关业务操作。

其中,组件3与浏览器采用基于sslhttps进行通信,因此可以做到跨浏览器运行,同时组件3内部基于不同应用采用独立沙箱隔离技术,可以使得组件3只需一次安装,可以为不同网站、不同应用提供安全服务;同时又保障各应用数据相关独立。

本实施例中的客户端系统驱动程序(即组件4)属于硬件驱动,用于配合组件3基于驱动层收集用户真实硬件操作行为,例如:鼠标移动、点击等相关轨迹事件,基于硬件环境的不同收集信息不同,例如:windows\mac下收集鼠标、键盘信息;又如:移动设备下收集屏幕点击、陀螺仪相关数据。其中,相关驱动代码均由合法代码签证机构,提供相关签证。

本实施例中,客户端通过向企业服务器发送业务交互请求,所述业务交互请求中携带有所述验证服务端返回的识别结果对应的识别结果校验码,所述企业服务器根据所述识别结果校验码与所述验证服务端进行识别结果的验证,并在验证通过后进行业务交互。

实际应用中,所述验证服务端在对采集的操作行为轨迹的触发主体进行人机识别之后,返回识别结果以及对应的识别结果校验码即challengeid,向企业服务器发送业务交互请求,所述业务交互请求中携带有所述验证服务端返回的识别结果对应的challengeid,所述企业服务器根据所述识别结果校验码与所述验证服务端进行识别结果的验证,并在验证通过后进行业务交互。

本发明实施例中,还包括设置于验证服务端的服务器端二次认证sdk(即组件6)。组件6用于企业服务器与组件5进行二次确认提供服务的sdk。当客户端将验证结果challengeid,及业务相关数据提交企业服务器后,企业服务器首先通过组件6与组件5,基于challengeid进行确认当前验证结果,以防止客户端验证结果伪造,challengeid一次性有效,在与组件5确认后,即刻失效;组件6将确认结果返回给企业服务器,企业服务器根据确认的验证结果再进行相关业务操作。本实施例中,验证服务端采用风险计算引擎,结合完善的模型进行计算;采用机器智能训练,实时自我优化风险控制模型,并自动调整计算维度;采用深度机器学习(结合贝叶斯算法)完善行为训练及识别;采用高并发架构方案,以确保满足企业高并发验证需求;提供人性化的saas管理平台,可全面多维度的分析验证数据,及个性化的验证码安全设置。

为了提高js在浏览器工作环境下的安全性,本发明实施例利用js+插件技术实现人机识别,具体的,通过在用户网站集成少量标准js代码,然后根据集成代码中提供的授权id,自动从服务器下载插件,并提示用户首次使用安装;之后插件会基于系统独立运行,并通过一个标准https协议,与js进行跨浏览器通信,以实现验证码呈现,及基于驱动层的用户操作行为信息采集,并将采集后的信息基于独有pki加密技术,进行加密后上传服务器;最后由服务器根据采集数据及用户行为进行多维度计算,并最终给出计算结果及challengeid(自定义的返回密文串,用于企业服务器与验证码服务器进行云端二次确认查询,实现识别结果的验证,并验证结果将返回客户端,以供客户端根据结果,将当前用户操作的业务数据上传至企业服务器,进行后续企业服务相关操作。具体实现效果可参见图3-图5所示,图3-图5中以点击验证码图片中的某一图像为例触发主体需执行的操作行为,后续可基于触发主体的点击操作对应的操作行为轨迹对触发主体进行人机识别。

本实施例中,利用js与客户端插件(独立应用程序)进行交互技术,客户端核心验证及交互技术均有插件实现,通过从服务器端动态获取随机码图片碎片,经过客户端解密进行重组,拼接成正常可视图片后,提示用户进行验证交互。然后基于驱动层采用用户操作行为轨迹,并将一系列轨迹基于pki技术将数据加密后,提交服务端进行验证。从而实现人机识别、同时保障客户端安全。本发明采用全新的无知识型行为验证交互方式,保障用户体验简洁、高效。而且采用js+插件验证码模式、内核级驱动技术,可有效保障客户端计算的精准性。

本发明实施例提出的人机识别方法,是一种基于内核、驱动级人机识别方法,该方法采用双向ssl认证,保障网络安全;采用pki(publickeyinfrastructure公钥加密体系)保障数据采集安全,另使用c语言进行开发,保障数据采集全面,客户端代码安全。从而达到与传统验证相比较,既简洁又安全。

需要说明的是,本发明实施例中,js、插件、服务器之间均采用双向ssl认证,防止第三方仿冒或数据篡改。其中,插件采用c语言开发,并采用独有加固技术,防止代码反编、动态调试、内存篡改。

需要说明的是,本发明实施例中提出的双向ssl数字证书需要由合法机关提供,代码签名证书需要由相关合法机关提供。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

图6示意性示出了本发明一个实施例的人机识别系统的结构示意图。参照图6,本发明实施例的人机识别系统具体包括验证模块601、交互模块602、采集模块603以及通信模块604,其中,验证模块601,用于从验证服务端动态获取验证码的图片碎片,对所述图片碎片进行重组,得到完整的验证码;交互模块602,用于展示所述验证码以及对应的验证指令,所述验证指令用于指示触发主体基于所述验证码进行验证交互,所述验证指令中包含指示所述触发主体执行的操作行为;采集模块603,用于采集触发主体在进行验证交互过程中的操作行为轨迹;通信模块604,用于将所述操作行为轨迹发送到所述服务端,以供所述验证服务端,依据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别。

本实施例中,所述行为特征模型为依据若干操作样本训练得到的、人类操作和机器操作的分类器。

对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

此外,本发明实施例还提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现各个人机识别方法实施例中的步骤,例如图1所示的步骤:从验证服务端动态获取验证码的图片碎片,对所述图片碎片进行重组,得到完整的验证码;展示所述验证码以及对应的验证指令,所述验证指令用于指示触发主体基于所述验证码进行验证交互,所述验证指令中包含指示所述触发主体执行的操作行为;采集触发主体在进行验证交互过程中的操作行为轨迹;将所述操作行为轨迹发送到所述服务端,以供所述验证服务端根据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别。本发明能够准确识别当前操作用户为正常用户还是异常用户,提高人机识别的准确率,提高用户体验。或者,所述处理器执行所述计算机程序时实现上述各系统实施例中各模块/单元的功能。

示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。例如,所述计算机程序可以被分割成验证模块601、交互模块602、采集模块603以及通信模块604,各模块具体功能如下:验证模块601,用于从验证服务端动态获取验证码的图片碎片,对所述图片碎片进行重组,得到完整的验证码;交互模块602,用于展示所述验证码以及对应的验证指令,所述验证指令用于指示触发主体基于所述验证码进行验证交互,所述验证指令中包含指示所述触发主体执行的操作行为;采集模块603,用于采集触发主体在进行验证交互过程中的操作行为轨迹;通信模块604,用于将所述操作行为轨迹发送到所述服务端,以供所述验证服务端,依据预先设置好的行为特征模型,对所述操作行为轨迹的触发主体进行人机识别。

所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,所述终端设备可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例方法中的步骤。

上述终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。

本发明实施例提供的人机识别方法、系统及终端设备、可读存储介质,通过基于碎片重组的验证码进行验证交互,并将触发主体在进行验证交互过程中的操作行为轨迹作为带校验信息,以对操作行为轨迹的触发主体进行人机识别,本发明能够准确识别当前操作用户为正常用户还是异常用户,提高人机识别的准确率,提高用户体验。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

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

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