基于常识知识的人机验证方法技术

技术编号:27409555 阅读:43 留言:0更新日期:2021-02-21 14:24
本发明专利技术提出了一种基于常识知识的人机验证方法,在保证用户友好性的基础上提升验证码的安全性,从而有效提高人机验证的准确率,实现步骤为:1.构建图像数量列表和关键词列表;2.获取基于常识知识的验证码;3.生成人机验证系统的用户验证界面;4.获取用户的点击行为信息;5.获取人机验证结果。本发明专利技术利用人与机器对常识知识理解程度的差异,将常识知识应用到验证码的生成中,在人机验证系统对用户进行人机验证时增加了人工智能算法破解验证问题的难度,提升了验证码的安全性,从而有效提高了人机验证的准确率,降低了互联网在登陆、注册等网络场景下受到基于人工智能算法的恶意攻击的风险。击的风险。击的风险。

【技术实现步骤摘要】
基于常识知识的人机验证方法


[0001]本专利技术属于安全防护
,涉及一种人机验证方法,具体涉及一种基于常识知识的人机验证方法,可用于登陆、注册等网络场景下对用户进行人机验证。

技术介绍

[0002]人机验证是一种通过全自动区分计算机和人类的图灵测试,其设计实现主要包括验证码、用户验证界面和人机判定系统。人机验证的难点在于保证人机验证结果的准确率,人机验证结果的准确率越高,互联网在登陆、注册等网络场景下受到基于人工智能算法的恶意攻击的风险越低,其中,表征人机验证准确率的重要指标为验证码的安全性。验证码作为一种标准的计算机安全机制,广泛应用于防御恶意计算机程序和僵尸程序,是网络应用中区分人机最重要的手段。目前,验证码主要分为以下几个基本类别:图像验证码、文本验证码和音频视频验证码。图像验证码作为验证码的主流方式之一,主要形式以显示一幅或多幅图像为主,其验证过程需要用户识别图像内容,并根据验证问题给出正确答案来完成人机验证。
[0003]随着人工智能领域的飞速发展,传统的图像验证码很容易被计算机视觉和深度学习技术中的图像分类网络自动识别,并以高准确率被破解,其安全性亟需提高。目前影响图像验证码的安全性的因素主要可以分为两个方面:(1)图像验证码中候选图像被图像分类网络正确识别的难易程度,候选图像越难被图像分类网络正确识别,图像验证码越不易被机器破解,安全性越高,但人类辨别候选图像内容的难度也随之提升,使得用户友好性下降;(2)图像验证码中验证问题的难易程度,验证问题越难,图像验证码越不易被机器破解,安全性越高,但人类自身通过图像验证码的难度也随之提升,使得用户友好性下降。
[0004]现有的图像验证码一般是通过改进验证问题的形式及内容来提高安全性的,包括设计一些新颖的基于逻辑认知的验证码,其主要利用不同物体之间的逻辑关系来构建验证码,从而提高人机验证的准确率,例如,申请公布号为CN109740334A,名称为“一种空间推理验证方法、服务器以及终端”的专利技术专利申请,公开了一种基于空间推理的人机验证方法,通过在3D场景中随机添加具有不同空间位置和属性关系的目标物体,并获取包含所述3D场景和所述目标物体的目标图片构建验证码的候选答案;又根据所述目标物体的属性信息以及所述目标物体与所述3D场景之间的关联信息,生成验证问题,将所述验证问题和所述目标图片发送给人机验证系统,以供人机验证系统对用户进行人机验证,从而使得传统图像识别方法在此类人机验证中难以得到验证码的候选答案,导致机器无法给出验证问题的正确答案。该方法存在的缺陷是,验证码的验证问题包含的逻辑属性关系简单,易于推理,且候选答案中的物体类别有限,不具备抵御对抗攻击的能力,容易被基于深度学习的图像识别方法识别,降低验证码的安全性,导致验证的准确率较低。

技术实现思路

[0005]本专利技术的目的在于克服上述现有技术存在的缺陷,提出了一种基于常识知识的人
机验证方法,用于解决现有技术中存在的验证码的安全性较低导致的验证准确率较低的技术问题。
[0006]为实现上述目的,本专利技术采取的技术方案包括如下步骤:
[0007](1)构建图像数量列表和关键词列表:
[0008](1a)从英语词库WordNet的名词体系中随机选取C个不重复且元素类型为字符串的独立起始概念,组成元素类型为字符串的名词类别列表,其中,1≤C≤25;
[0009](1b)初始化长度均为s,且元素类型为字符串的关键词列表keywordList和元素类型为整数的图像数量列表numList,初始化相似度阈值α,随机生成图像的总数n,并令s=0,其中,0≤α≤0.5,n>1;
[0010](1c)随机生成图像数量m,并将m存入numList中,其中1≤m≤n;
[0011](1d)随机选取名词类别列表中的一个名词,并采用wordnet.synsets()函数查找该名词在WordNet中的第一个词集objectSysnets,然后采用wordnet.hyponyms()函数在WordNet中查找objectSysnets的所有下位词,再将从查找结果中随机选取的一个下位词存入keywordList中;
[0012](1e)判断s≥1是否成立,若是,采用wordnet.path_similarity()函数计算keywordList中的最后一个元素和第一个元素的相似度t,并执行步骤(1f),否则,令s=s+1,并执行步骤(1c);
[0013](1f)判断t>α是否成立,若是,删除keywordList和numList中的最后一个元素,并执行步骤(1c),否则,令s=s+1,并执行步骤(1g);
[0014](1g)判断numList中所有元素的元素值之和h是否满足h<n,若是,执行步骤(1c),否则,令n=h,得到关键词列表keywordList和图像数量列表numList;
[0015](2)获取基于常识知识的验证码:
[0016](2a)获取基于常识知识的验证码的初始问题:
[0017](2a1)通过从常识知识图谱ConceptNet中随机选取的R个语义关系,构建元素类型为字符串的语义关系列表,其中,1≤R≤34;
[0018](2a2)将keywordList中的第一个元素作为目标关键词keyword,同时从语义关系列表中随机选取一个语义关系k,并利用超文本传输协议HTTP,向ConceptNet的在线语义关系查询接口发起查询ConceptNet中与keyword存在k的常识知识的请求;
[0019](2a3)随机选取在线语义关系查询接口根据查询请求所查询的所有常识知识中一条值为“surfaceText”的键所对应的字符串,并将其作为基于常识知识的验证码的初始问题;
[0020](2b)获取基于常识知识的验证码的候选图像集:
[0021](2b1)初始化基于常识知识的验证码的候选图像集H和关键词索引i,令i=0;
[0022](2b2)利用HTTP,向图像搜索引擎发起搜索与关键词列表keywordList中的关键词keywordList[i]语义相关的图像地址的请求,并从图像搜索引擎根据搜索请求搜索到的图像地址中随机选取numList[i]个图像地址作为统一资源定位器URL库中的URL.Get()函数的输入,然后将利用URL.Get()函数在互联网中下载的所有图像存入H中;
[0023](2b3)判断i≥1是否成立,若是,则执行步骤(2b6),否则,执行步骤(2b4);
[0024](2b4)采用预训练好的图像分类网络依次对H中的每一张图像进行分类,得到H中
所有图像的分类结果;
[0025](2b5)判断H中所有图像的分类结果中不为keyword的图像的个数w与numList[i]是否满足w<numlist[i],若是,删除H中分类结果不为keyword的图像,并令numlist[i]=numlist[i]-w,n=n本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于常识知识的人机验证方法,其特征在于,包括如下步骤:(1)构建图像数量列表和关键词列表:(1a)从英语词库WordNet的名词体系中随机选取C个不重复且元素类型为字符串的独立起始概念,组成元素类型为字符串的名词类别列表,其中,1≤C≤25;(1b)初始化长度均为s,且元素类型为字符串的关键词列表keywordList和元素类型为整数的图像数量列表numList,初始化相似度阈值α,随机生成图像的总数n,并令s=0,其中,0≤α≤0.5,n>1;(1c)随机生成图像数量m,并将m存入numList中,其中1≤m≤n;(1d)随机选取名词类别列表中的一个名词,并采用wordnet.synsets()函数查找该名词在WordNet中的第一个词集objectSysnets,然后采用wordnet.hyponyms()函数在WordNet中查找objectSysnets的所有下位词,再将从查找结果中随机选取的一个下位词存入keywordList中;(1e)判断s≥1是否成立,若是,采用wordnet.path_similarity()函数计算keywordList中的最后一个元素和第一个元素的相似度t,并执行步骤(1f),否则,令s=s+1,并执行步骤(1c);(1f)判断t>α是否成立,若是,删除keywordList和numList中的最后一个元素,并执行步骤(1c),否则,令s=s+1,并执行步骤(1g);(1g)判断numList中所有元素的元素值之和h是否满足h<n,若是,执行步骤(1c),否则,令n=h,得到关键词列表keywordList和图像数量列表numList;(2)获取基于常识知识的验证码:(2a)获取基于常识知识的验证码的初始问题:(2a1)通过从常识知识图谱ConceptNet中随机选取的R个语义关系,构建元素类型为字符串的语义关系列表,其中,1≤R≤34;(2a2)将keywordList中的第一个元素作为目标关键词keyword,同时从语义关系列表中随机选取一个语义关系k,并利用超文本传输协议HTTP,向ConceptNet的在线语义关系查询接口发起查询ConceptNet中与keyword存在k的常识知识的请求;(2a3)随机选取在线语义关系查询接口根据查询请求所查询的所有常识知识中一条值为“surfaceText”的键所对应的字符串,并将其作为基于常识知识的验证码的初始问题;(2b)获取基于常识知识的验证码的候选图像集:(2b1)初始化基于常识知识的验证码的候选图像集H和关键词索引i,令i=0;(2b2)利用HTTP,向图像搜索引擎发起搜索与关键词列表keywordList中的关键词keywordList[i]语义相关的图像地址的请求,并从图像搜索引擎根据搜索请求搜索到的图像地址中随机选取numList[i]个图像地址作为统一资源定位器URL库中的URL.Get()函数的输入,然后将利用URL.Get()函数在互联网中下载的所有图像存入H中;(2b3)判断i≥1是否成立,若是,则执行步骤(2b6),否则,执行步骤(2b4);(2b4)采用预训练好的图像分类网络依次对H中的每一张图像进行分类,得到H中所有图像的分类结果;(2b5)判断H中所有图像的分类结果中不为keyword的图像的个数w与numList[i]是否满足w<numlist[i],若是,删除H中分类结果不为keyword的图像,并令numlist[i]=
numlist[i]-w,n=n-w,执行步骤(2b6),否则,执行步骤(2b2);(2b6)判断i<s是否成立,若是,令i=i+1,执行步骤(2b2),否则,得到包含n幅图像的基于常识知识的验证码的候选图像集H,其中,H={H1,...,H
j
,...,H
n
},H
j
表示第j幅基于常识知识的验证码的候选图像,1≤j≤n;(2c)获取基于常识知识的验证码:(2c1)利用字符串替换方法,将初始问题中的“[[”和“]]”都替换为空值None,同时将初始问题中的所有关键词之前的定冠词“the”、不定冠词“a”和“an”,以及定语“yours”均替换为空值None,并将初始问题中的keyword替换为疑问代词,得到基于常识知识的验证码的验证问题question;(2c2)利用对抗攻击算法,通过H中的候选图像H
j...

【专利技术属性】
技术研发人员:高海昌高艺鹏韦依儿毛文杰罗赛男资洋
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1