登录验证方法、装置及系统与流程

文档序号:17429597发布日期:2019-04-17 03:19阅读:152来源:国知局
登录验证方法、装置及系统与流程

本发明涉及信息安全技术领域,尤其是涉及一种登录验证方法、装置及系统。



背景技术:

验证码是一种区分用户是计算机还是人的公共全自动程序。验证码作为一种辅助安全手段在网络安全中有着特殊的地位,使用验证码是现在很多应用系统登录时身份验证的辅佐验证的方式,可以有效防止恶意注册、破解密码、刷票、论坛灌水等行为。验证码的使用防止非法用户用特定程序暴力破解方式进行不断的登录尝试。验证码的形式多种多样,各类验证码在安全级别、用户体验、使用成本上也各有差异,安全性高、易使用、低成本是验证码技术发展的核心要求。

目前,使用最为广泛的验证码是图形验证码和手势识别验证码技术。图形验证码是将字母、数字、中文等符号及物品图案等输出到图片上,用户按验证指令输入或点选图片上的指定字符或图案,如果输入或点选的内容与图片上按照某种规则计算的结果相等则验证通过,但是这种验证方式易于被光学字符识别技术识别,安全性不高;手势识别验证码是使用体感设备拍摄(摄像头与红外激光扫描仪)并获取用户做出的三维手势动作,对获取的三维手势动作与服务器端预设的手势动作进行比对,比对过程主要是计算三维手势信息与之前发送的三维手势验证码匹配值,根据匹配值判断验证结果并在客户端显示,虽然这种验证方式打破了图形验证码的局限性,但是在实施阶段需要用户购买并配备额外的体感设备,增加了实施部署难度,同时也需要用户支付额外的成本,降低了用户的使用体验。



技术实现要素:

有鉴于此,本发明的目的在于提供一种登录验证方法、装置及系统,以缓解目前验证方式安全性低及验证成本高的技术问题。

第一方面,本发明实施例提供了一种登录验证方法,其中,该方法包括:如果监测到客户端发送的验证请求,根据验证请求生成包含面部遮挡指示的验证信息,并将验证信息返回至客户端;接收客户端根据验证信息返回的验证图像;判断验证图像是否包含连续性动作信息;如果是,提取验证图像中包含的面部遮挡信息;如果面部遮挡信息与验证信息中包含的面部遮挡指示一致,输出验证通过信息。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,根据验证请求生成包含面部遮挡指示的验证信息的步骤包括:随机选取指定数量的面部特征区域的区域标识;根据验证请求和区域标识生成包含面部遮挡指示的验证信息;其中,面部遮挡指示为遮挡面部特征区域的指示;面部特征区域为预先按照面部图像分割规则对面部样本图像分割生成的多个特征区域。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,验证图像为客户端根据验证信息触发图像采集设备在预先设定的时间内采集的动作视频,动作视频包含的动作为用户根据验证信息包含的面部遮挡指示做出的面部遮挡动作;判断验证图像是否包含连续性动作信息的步骤包括:提取动作视频中的多帧连续图像;将多帧连续图像输入至预先训练好的活体检测分类器,通过活体检测分类器判断验证图像是否包含连续性动作信息;其中,活体检测分类器为基于机器学习算法进行训练得到的神经网络模型。

结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,提取验证图像中包含的面部遮挡信息的步骤包括:提取多帧连续图像中包含用户面部特征的面部图像;将面部图像按照预先设置的面部图像分割规则分割成多个特征区域;判断每个特征区域是否被遮挡;如果是,将被遮挡的特征区域的标识标记为验证图像的面部遮挡信息。

结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,特征区域包括以下区域的一种或多种:额头、右眼、左眼、鼻子、嘴巴和下巴;判断每个特征区域是否被遮挡的步骤包括:提取每个特征区域的特征向量,计算每个特征区域的遮挡面积;如果上述遮挡面积大于预先设置的面积阈值,确定特征区域被遮挡。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,该方法还包括:如果在预先设定的时间内未获取到客户端返回的验证图像;向客户端重新发送验证信息。

第二方面,本发明实施例还提供一种登录验证装置,其中,该装置包括:生成模块,用于如果监测到客户端发送的验证请求,根据验证请求生成包含面部遮挡指示的验证信息,并将验证信息返回至客户端;接收模块,用于接收客户端根据验证信息返回的验证图像;判断模块,用于判断验证图像是否包含连续性动作信息;提取模块,用于如果判断模块判断为是时,提取验证图像中包含的面部遮挡信息;输出模块,用于如果面部遮挡信息与验证信息中包含的面部遮挡指示一致,输出验证通过信息。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,上述验证图像为客户端根据验证信息触发图像采集设备在预先设定的时间内采集的动作视频,动作视频包含的动作为用户根据验证信息包含的面部遮挡指示做出的面部遮挡动作;判断模块还用于:提取动作视频中的多帧连续图像;将多帧连续图像输入至预先训练好的活体检测分类器,通过活体检测分类器判断验证图像是否包含连续性动作信息;其中,活体检测分类器为基于机器学习算法进行训练得到的神经网络模型。

第三方面,本发明实施例还提供一种登录验证系统,其中,包括存储器以及处理器,该存储器用于存储支持处理器执行上述方法的程序,处理器被配置为用于执行存储器中存储的程序。

第四方面,本发明实施例还提供一种计算机存储介质,其中,用于存储计算机程序指令,当计算机执行计算机程序指令时,执行上述的方法。

本发明实施例带来了以下有益效果:

本发明实施例提供的一种登录验证方法、装置及系统,能够在监测到客户端发送的验证请求时,根据验证请求生成包含面部遮挡指示的验证信息,并将验证信息返回至客户端;接收客户端根据验证信息返回的验证图像;判断验证图像是否包含连续性动作信息;如果是,提取验证图像中包含的面部遮挡信息;如果面部遮挡信息与验证信息中包含的面部遮挡指示一致,输出验证通过信息,实现应用系统的安全登录,有效降低了验证成本,同时提高了用户的使用体验。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

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

图1为本发明实施例提供的一种登录验证方法的流程图;

图2为本发明实施例提供的一种脸部特征提取的示意图;

图3为本发明实施例提供的一种脸部遮挡图像的示意图;

图4为本发明实施例提供的一种登录验证装置的结构示意图;

图5为本发明实施例提供的一种登录验证系统的结构框图。

具体实施方式

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

目前,主流的图形验证码技术由于易于被光学字符识别技术识别,使得用户在登录应用系统时面临着被破解的险境,因此,单纯的使用图片验证码的方式登录应用系统已无法满足安全性的要求;基于新提出的手势识别验证码技术,虽然能克服图形验证码技术安全性低的技术问题,但是该技术在使用过程中,需要用户购买并配备价格较高的体感设备,例如,摄像头与红外激光扫描仪等额外需要部署的设备,增加了用户的验证成本。降低了用户的使用体验。基于此,本发明实施例提供的一种登录验证方法、装置及系统,可以有效缓解目前验证方式安全性低及验证成本高的技术问题。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种登录验证方法进行详细介绍。

实施例一:

本发明实施例提供了一种登录验证方法,如图1所示的一种登录验证方法的流程图,该方法包括以下步骤:

步骤s102,如果监测到客户端发送的验证请求,根据验证请求生成包含面部遮挡指示的验证信息,并将验证信息返回至所述客户端。

具体实现时,用户在访问应用系统执行账户注册或者登录动作时,客户端会向服务器端发送用户的登录或者注册请求,系统服务器端接收到客户端用户发来的登录或者注册请求后,随机生成包含人脸面部遮挡区域的验证信息,并将该验证信息发送到用户所访问的客户端,返回的验证信息可以是图片的形式,包括遮挡人脸特征部位的图像,供用户参照,遮挡相应的部位做出动作,或者也可以是包含有语音形式的验证信息,通过语音播报的形式,提示用户遮挡指定的面部位置,或者是包含有动画视频的验证信息展示给用户,提示用户按照视频动作遮挡指定的面部位置等等。本发明实施例,对返回至客户端的验证信息的展示形式不进行限定。

步骤s104,接收客户端根据验证信息返回的验证图像。

具体地,当验证信息返回至客户端时,用户可以触发与客户端连接的图像采集设备或者服务器端直接触发图像采集设备,使用户在图像采集设备的有效范围内,根据验证信息提示做出相应的脸部遮挡的动作视频,并将该视频提取的验证图像返回至服务器端。

步骤s106,判断验证图像是否包含连续性动作信息。

步骤s108,如果是,提取验证图像中包含的面部遮挡信息。

步骤s110,如果面部遮挡信息与验证信息中包含的面部遮挡指示一致,输出验证通过信息。

在实际使用时,为了保证验证图像的真实性和有效性,需要对验证图像进行人脸识别验证,该验证过程包含两个步骤:人脸活体检测与人脸遮挡识别。为了防止攻击者使用伪造的二维平面照片或者视频进行欺骗性验证,需要对验证图像进行活体检测,在保证验证图像是真实人像时,进一步检测验证图像的有效性,首先提取验证图像中包含的面部遮挡信息,然后将面部遮挡信息与验证信息进行匹配,如果面部遮挡信息与验证信息中包含的面部遮挡指示相一致,则验证通过,并在客服端显示验证通过的信息;如果不一致,则验证不通过,并在客服端显示验证失败的信息,同时客户端将重新发送验证请求至服务器端,服务器端重新生成随机的包含面部遮挡指示的验证信息返回至客户端。

本发明实施例提供的一种登录验证方法,能够在监测到客户端发送的验证请求时,根据验证请求生成包含面部遮挡指示的验证信息,并将验证信息返回至客户端;接收客户端根据验证信息返回的验证图像;判断验证图像是否包含连续性动作信息;如果是,提取验证图像中包含的面部遮挡信息;如果面部遮挡信息与验证信息中包含的面部遮挡指示一致,输出验证通过信息,实现应用系统的安全登录,有效降低了验证成本,同时提高了用户的使用体验。

进一步,根据验证请求生成包含面部遮挡指示的验证信息的步骤包括:随机选取指定数量的面部特征区域的区域标识;根据验证请求和区域标识生成包含面部遮挡指示的验证信息;其中,面部遮挡指示为遮挡面部特征区域的指示;面部特征区域为预先按照面部图像分割规则对面部样本图像分割生成的多个特征区域。

具体实现时,按照图2示出的一种脸部特征提取的示意图利用主成分分析法(principlecomponentanalysis,pca)将面部样本图像的双耳以及脸部剔除,提取人脸的额头、右眼、左眼、鼻子、嘴巴、下巴6个部分的特征,并将上述六个区域部分作为面部提取的特征。为了便于对生成包含面部遮挡指示验证信息的理解,图3示出了一种脸部遮挡图像的示意图,如图3所示包括单部位遮挡和多部位遮挡,当服务器端接收到验证请求信号时,服务器端会在这六个面部特征区域中随机选取一个或两个面部特征区域进行遮挡,生成包含面部遮挡指示的验证信息。本发明实施例,不对面部特征区域划分部位进行限定。

当验证信息返回至客户端时,用户可以根据该验证信息的指示向服务器端返回验证图像,验证返回的验证图像的真实性和有效性。该验证图像为客户端可以根据验证信息触发图像采集设备在预先设定的时间内采集的动作视频,动作视频包含的动作为用户根据验证信息包含的面部遮挡指示做出的面部遮挡动作;判断验证图像是否包含连续性动作信息的步骤包括:提取动作视频中的多帧连续图像;将多帧连续图像输入至预先训练好的活体检测分类器,通过活体检测分类器判断验证图像是否包含连续性动作信息;其中,活体检测分类器为基于机器学习算法进行训练得到的神经网络模型。

具体实现时,通过摄像头等图像采集设备完整地拍摄下用户在10秒限制时间内所执行的验证行为,并从摄像头所捕捉的视频内容中每隔一定的帧数提取1张人脸图像。本发明实施例中使用的图像采集设备为分辨率为640×480以上的usb(universalserialbus,通用串联总线)摄像头,在10秒的验证动作拍摄过程中共产生240帧图像,为了保证检测的精确性,每隔24帧(1秒)提取一次人脸图像作为检测样本,每次检测一共提取10张人脸图像;利用lbp(localbinarypattern,局部二值模式)和dct(discretecosinetransform,离散余弦变换)技术计算10张人脸图像的一个lbp特征值,将该lbp特征值输入至预先训练好的活体检测分类器中,通过该活体检测分类器将lbp特征值与活体检测分类器中通过样本训练得到的非活体阈值范围和活体阈值范围进行对比,例如,活体检测分类器中通过样本训练得到的非活体阈值范围为10到20的阈值范围,活体阈值范围为100到200的阈值范围,如果该lbp特征值接近非活体阈值范围或者落入非活体阈值范围内,则判断为非法用户的欺骗攻击的进入请求,此时不在继续检测该验证图像的人脸遮挡识别,重新发送验证请求至服务器端;如果该lbp特征值接近活体阈值范围或者落入活体阈值范围内,则判断为合法用户的进入请求,并继续检测该验证图像的人脸遮挡识别。其中,活体检测分类器的构建过程为:获取类别已知的第一人脸样本图像,第一人脸样本图像包括人脸活体图像和非人脸活体图像,对第一人脸样本图像进行滤波,得到第二人脸样本图像,根据第一人脸样本图像和第二人脸样本图像的差异计算第一人脸样本图像的描述特征,利用机器学习算法对标识有类别的第一人脸样本图像的描述特征进行学习,得到活体检测分类器。

通常,提取验证图像中包含的面部遮挡信息的步骤包括:提取多帧连续图像中包含用户面部特征的面部图像;将面部图像按照预先设置的面部图像分割规则分割成多个特征区域;判断每个特征区域是否被遮挡;如果是,将被遮挡的特征区域的标识标记为验证图像的面部遮挡信息。

具体地,由于验证步骤中,需要识别用户是否对面部的指定部位执行了遮挡动作,为了提高识别的正确性,同时提升识别的效率,服务器端需要将验证图像进行部位分割。基于pca技术将验证图像分割成额头、右眼、左眼、鼻子、嘴巴和下巴六个脸部特征区域,提取每个特征区域的特征向量,计算出每个特征区域的遮挡面积,并将验证图像中的额头、右眼、左眼、鼻子、嘴巴和下巴这六个部位的遮挡面积与预先建立的人脸遮挡分类器中通过样本训练得到的额头、右眼、左眼、鼻子、嘴巴和下巴这六个部位的遮挡阈值范围分别进行对比,如果验证图像的各个特征区域的遮挡面积在相应的脸部特征区域遮挡阈值范围内,则输出相应的遮挡标识,例如,额头、右眼、左眼、鼻子、嘴巴和下巴的遮挡标识分别为a、b、c、d、e、f,如果只有鼻子的遮挡面积在鼻子的遮挡阈值范围内,则鼻子为有效遮挡输出d;如果只有鼻子和嘴巴的遮挡面积在相应的鼻子和嘴巴的遮挡阈值范围内,则鼻子和嘴巴为有效遮挡输出d和e,将输出的遮挡标识与验证信息中的遮挡标识进行匹配,如果两者标识一致,则验证通过,如果两者标识不一致,则验证失败,重新发送验证请求至服务器端。

进一步,如果在预先设定的时间内未获取到客户端返回的验证图像;向客户端重新发送验证信息。

在实际使用时,如果在10s规定的时间内,图像采集设备没有采集到用户的动作视频,则视为验证失败,客户端将重新发送验证请求至服务器端,服务器端重新生成随机的包含面部遮挡指示的验证信息返回至客户端。

实施例二:

对应于上述实施方式提供的登录验证方法,本发明实施例还提供了一种登录验证装置,如图4所示的一种登录验证装置的结构示意图,上述装置包括:

生成模块402,用于如果监测到客户端发送的验证请求,根据验证请求生成包含面部遮挡指示的验证信息,并将验证信息返回至客户端;

接收模块404,用于接收客户端根据验证信息返回的验证图像;

判断模块406,用于判断验证图像是否包含连续性动作信息;

提取模块408,用于如果判断模块判断为是时,提取验证图像中包含的面部遮挡信息;

输出模块410,用于如果面部遮挡信息与验证信息中包含的面部遮挡指示一致,输出验证通过信息。

进一步,上述验证图像为客户端根据验证信息触发图像采集设备在预先设定的时间内采集的动作视频,动作视频包含的动作为用户根据验证信息包含的面部遮挡指示做出的面部遮挡动作;判断模块406还用于:提取动作视频中的多帧连续图像;将多帧连续图像输入至预先训练好的活体检测分类器,通过活体检测分类器判断验证图像是否包含连续性动作信息;其中,活体检测分类器为基于机器学习算法进行训练得到的神经网络模型。

本发明实施例提供的登录验证装置,与上述实施例提供的登录验证方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本发明实施例还提供了一种登录验证系统,其中,包括存储器以及处理器,存储器用于存储支持处理器执行上述方法的程序,处理器被配置为用于执行存储器中存储的程序。

参见图5所示的一种登录验证系统的结构框图,包括:处理器500,存储器501,总线502和通信接口503,所述处理器500、通信接口503和存储器501通过总线502连接;处理器500用于执行存储器501中存储的可执行模块,例如计算机程序。

其中,存储器501可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口503(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。

总线502可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器500可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器500中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器500可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现成可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器501,处理器500读取存储器501中的信息,结合其硬件完成上述方法的步骤。

本发明实施例还提供了一种计算机存储介质,其中,用于存储计算机程序指令,当计算机执行计算机程序指令时,执行上述的方法。

本发明实施例所提供的登录验证方法、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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