CN112380508B - 基于常识知识的人机验证方法 - Google Patents

基于常识知识的人机验证方法 Download PDF

Info

Publication number
CN112380508B
CN112380508B CN202011277327.5A CN202011277327A CN112380508B CN 112380508 B CN112380508 B CN 112380508B CN 202011277327 A CN202011277327 A CN 202011277327A CN 112380508 B CN112380508 B CN 112380508B
Authority
CN
China
Prior art keywords
verification
user
image
list
knowledge
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
CN202011277327.5A
Other languages
English (en)
Other versions
CN112380508A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202011277327.5A priority Critical patent/CN112380508B/zh
Publication of CN112380508A publication Critical patent/CN112380508A/zh
Application granted granted Critical
Publication of CN112380508B publication Critical patent/CN112380508B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

基于常识知识的人机验证方法
技术领域
本发明属于安全防护技术领域,涉及一种人机验证方法,具体涉及一种基于常识知识的人机验证方法,可用于登陆、注册等网络场景下对用户进行人机验证。
背景技术
人机验证是一种通过全自动区分计算机和人类的图灵测试,其设计实现主要包括验证码、用户验证界面和人机判定系统。人机验证的难点在于保证人机验证结果的准确率,人机验证结果的准确率越高,互联网在登陆、注册等网络场景下受到基于人工智能算法的恶意攻击的风险越低,其中,表征人机验证准确率的重要指标为验证码的安全性。验证码作为一种标准的计算机安全机制,广泛应用于防御恶意计算机程序和僵尸程序,是网络应用中区分人机最重要的手段。目前,验证码主要分为以下几个基本类别:图像验证码、文本验证码和音频视频验证码。图像验证码作为验证码的主流方式之一,主要形式以显示一幅或多幅图像为主,其验证过程需要用户识别图像内容,并根据验证问题给出正确答案来完成人机验证。
随着人工智能领域的飞速发展,传统的图像验证码很容易被计算机视觉和深度学习技术中的图像分类网络自动识别,并以高准确率被破解,其安全性亟需提高。目前影响图像验证码的安全性的因素主要可以分为两个方面:(1)图像验证码中候选图像被图像分类网络正确识别的难易程度,候选图像越难被图像分类网络正确识别,图像验证码越不易被机器破解,安全性越高,但人类辨别候选图像内容的难度也随之提升,使得用户友好性下降;(2)图像验证码中验证问题的难易程度,验证问题越难,图像验证码越不易被机器破解,安全性越高,但人类自身通过图像验证码的难度也随之提升,使得用户友好性下降。
现有的图像验证码一般是通过改进验证问题的形式及内容来提高安全性的,包括设计一些新颖的基于逻辑认知的验证码,其主要利用不同物体之间的逻辑关系来构建验证码,从而提高人机验证的准确率,例如,申请公布号为CN109740334A,名称为“一种空间推理验证方法、服务器以及终端”的发明专利申请,公开了一种基于空间推理的人机验证方法,通过在3D场景中随机添加具有不同空间位置和属性关系的目标物体,并获取包含所述3D场景和所述目标物体的目标图片构建验证码的候选答案;又根据所述目标物体的属性信息以及所述目标物体与所述3D场景之间的关联信息,生成验证问题,将所述验证问题和所述目标图片发送给人机验证系统,以供人机验证系统对用户进行人机验证,从而使得传统图像识别方法在此类人机验证中难以得到验证码的候选答案,导致机器无法给出验证问题的正确答案。该方法存在的缺陷是,验证码的验证问题包含的逻辑属性关系简单,易于推理,且候选答案中的物体类别有限,不具备抵御对抗攻击的能力,容易被基于深度学习的图像识别方法识别,降低验证码的安全性,导致验证的准确率较低。
发明内容
本发明的目的在于克服上述现有技术存在的缺陷,提出了一种基于常识知识的人机验证方法,用于解决现有技术中存在的验证码的安全性较低导致的验证准确率较低的技术问题。
为实现上述目的,本发明采取的技术方案包括如下步骤:
(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,...,Hj,...,Hn},Hj表示第j幅基于常识知识的验证码的候选图像,1≤j≤n;
(2c)获取基于常识知识的验证码:
(2c1)利用字符串替换方法,将初始问题中的“[[”和“]]”都替换为空值None,同时将初始问题中的所有关键词之前的定冠词“the”、不定冠词“a”和“an”,以及定语“yours”均替换为空值None,并将初始问题中的keyword替换为疑问代词,得到基于常识知识的验证码的验证问题question;
(2c2)利用对抗攻击算法,通过H中的候选图像Hj的像素值计算Hj的对抗样本Hj′,得到对抗样本集合H′={Hj′|1≤j≤n},并将H′作为基于常识知识的验证码的候选答案集answers;
(2c3)将验证问题question和候选答案集answers组合为基于常识知识的验证码;
(3)生成人机验证系统的用户验证界面:
将用户终端的屏幕划分成常识问题区域和候选图像区域,并将候选图像区域划分成n个子网格,将验证码包含的answers中的每幅Hj′随机不重复的显示在候选图像区域的网格内,并将验证码包含的question显示在常识问题区域,生成人机验证系统的用户验证界面;
(4)获取用户的点击行为信息:
(4a)构建长度为numList[0]且元素类型为整数的答案索引列表I,初始化长度l为且元素类型为整数的用户点击列表clickList,并令l=0,其中I={Ig|0≤Ig≤numList[0]-1};
(4b)获取用户终端检测到的用户在用户验证界面对Hj′的鼠标点击次数dj,并将满足djmod 2=1的l′个dj对应的序号j依次存入clickList,并将这令l=l′,得到用户点击列表clickList;
(4f)将用户每次点击用户验证界面的Hj′的时刻tj、clickList和l作为用户的点击行为信息;
(5)获取人机验证结果:
(5a)根据用户的点击行为信息中时刻tj,计算用户每次点击用户验证界面的图像的时间间隔Δt,并判断Δt与预先设置的阈值β是否满足||Δt||≥β,若是,执行步骤(5b),否则判定用户为机器,其中0≤β≤1000,单位为毫秒;
(5b)记图像数量列表numList中的第一个元素的元素值为验证码的验证问题的答案个数ansNum,并判断ansNum与用户的点击行为信息中的l是否满足l=ansNum,若是,执行步骤(5c),否则判定用户为机器;
(5c)判断用户的点击行为信息中的clickList和答案索引列表I中的元素是否完全一致,若是,判定用户为人类,否则,判定用户为机器。
本发明与现有技术相比,具有如下优点:
1.本发明所采用的验证码是基于常识知识获取的,其中包含的验证问题是从常识知识图谱ConceptNet中获取的基于常识知识的初始问题,逻辑属性关系复杂,利用人与机器对常识知识理解程度的差异,使得机器对其难以推理;其中包含的候选答案是与从英语词库WordNet中获取的关键词有关的基于常识知识的图像并利用对抗攻击算法生成的对抗样本,物体类别丰富,具备抵御对抗攻击的能力,不易被基于深度学习的图像识别方法识别,并且人机验证的操作方式简单,用户只需要进行简单地点击操作就可以完成人机验证,在具有同等用户友好性的情况下,提升了验证码的安全性,与现有技术相比,有效提高了人机验证的准确率。
2.本发明的基于常识知识的验证码可以采用不同的常识知识图谱和不同的图像搜索引擎进行构建,这导致攻击者难以搜集具有代表性的验证码数据来训练人工智能算法对本发明的人机验证方法进行攻击,提升了验证码的安全性,从而进一步提高了人机验证的准确率。
附图说明
图1为本发明的实现流程图;
图2为本发明的人机验证系统的用户验证界面示意图。
具体实施方式
以下结合附图和具体实施例,对本发明作进一步详细描述:
参照图1,本发明包括如下步骤:
步骤1)构建图像数量列表和关键词列表:
步骤1a)从英语词库WordNet的名词体系中随机选取C个不重复且元素类型为字符串的独立起始概念,组成元素类型为字符串的名词类别列表,其中,1≤C≤25。本实施例中,C=14,选取的14独立起始概念具体包括:natural、food、animal、plant、naturalphenomenon、artifact、person、body、shape、location、quantity、event、group和substance。
步骤1b)初始化长度均为s,且元素类型为字符串的关键词列表keywordList和元素类型为整数的图像数量列表numList,初始化相似度阈值α,随机生成图像的总数n,并令s=0,其中,0≤α≤0.5,n>1。本实施例中,α=0.5,n=12。
步骤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。本实施例中,R=8,选取的8语义关系具体包括:IsA、HasProperty、UsedFor、HasA、MadeOf、CapableOf、CreatedBy和PartOf。
步骤2a2)将keywordList中的第一个元素作为目标关键词keyword,同时从语义关系列表中随机选取一个语义关系k,并利用超文本传输协议HTTP,向ConceptNet的在线语义关系查询接口发起查询ConceptNet中与keyword存在k的常识知识的请求。本实施例中,k为IsA,具体使用python的requests库中的requests.get()方法,传入地址http://api.conceptnet.io/query?node=/c/en/keyword&rel=/r/IsA,返回得到ConceptNet中与keyword具有IsA语义关系的所有常识知识。ConceptNet中的常识知识表示为(开始结点、关系、结束节点)的三元组,其中开始结点和结束节点分别表示为star和end,或者均可以表示为结点node,语义关系表示为rel。在查询过程中,以目标关键词keyword作为node的参数值,以随机选择的常识关系k作为rel的参数值,此外,此接口还提供了几个可选参数:limit参数表示每页显示几条查询结果,offset参数表示显示第几页的查询结果,所有的参数之间用“&”连接,其中,取limit=50,offset=1。
步骤2a3)随机选取在线语义关系查询接口根据查询请求所查询的所有常识知识中一条值为“surfaceText”的键所对应的字符串,并将其作为基于常识知识的验证码的初始问题。其中,在线语义关系查询接口根据查询请求所查询的结果是以边“edge”的形式表示,每条边记录一条常识知识,包括该条记录的开始结点信息,结束结点信息,语义关系信息以及具体的常识知识信息,所有结果保存为json格式的文件,具体的常识知识名称为“surfaceText”,随机选取一条不为空的键值为surfaceText对应的字符串作为基于常识知识的验证码的初始问题。
步骤2b)获取基于常识知识的验证码的候选图像集:
步骤2b1)初始化基于常识知识的验证码的候选图像集H和关键词索引i,令i=0。
步骤2b2)利用HTTP,向图像搜索引擎发起搜索与关键词列表keywordList中的关键词keywordList[i]语义相关的图像地址的请求,并从图像搜索引擎根据搜索请求搜索到的图像地址中随机选取numList[i]个图像地址作为统一资源定位器URL库中的URL.Get()函数的输入,然后将利用URL.Get()函数在互联网中下载的所有图像存入H中。
本实施例中,采用百度图片搜索引擎,使用python的requests库中的requests.get()函数,传入地址:http://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=keyword[i],传入参数keywordList[i],表示当前需要下载的图像类别,传入可选参数pages,表示一共要下载的页数,取pages=30,则requests.get()函数会返回与keywordList[i]相关的30张图像的URL地址。之后在这30张图像的URL地址中随机选择numList[i]个URL地址,调用URL库的URL.Get()函数,传入URL地址进行图像下载,并将下载的图像保存到H中。
步骤2b3)判断i≥1是否成立,若是,则执行步骤(2b6),否则,执行步骤(2b4)。
步骤2b4)采用预训练好的图像分类网络依次对H中的每一张图像进行分类,得到H中所有图像的分类结果。本实施例中,采用预训练好的SeNet网络对图像进行分类。
步骤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,...,Hj,...,Hn},Hj表示第j幅基于常识知识的验证码的候选图像,1≤j≤n。
步骤2c)获取基于常识知识的验证码:
步骤2c1)利用字符串替换方法,将初始问题中的“[[”和“]]”都替换为空值None,同时将初始问题中的所有关键词之前的定冠词“the”、不定冠词“a”和“an”,以及定语“yours”均替换为空值None,并将初始问题中的keyword替换为疑问代词“which one”,得到基于常识知识的验证码的验证问题question;本实施例中,使用python库中的字符串替换函数replace()对验证问题进行上述替换。
步骤2c2)利用对抗攻击算法中的快速梯度下降法FGSM,对H中的每幅候选图像Hj计算其相应的对抗样本Hj′,得到对抗样本集合H′={Hj′|1≤j≤n},并H′将作为基于常识知识的验证码的候选答案集answers。其中,计算对样样本是为了使得验证码的候选答案集具有抵御对抗攻击的能力,计算公式为:
Figure BDA0002779136130000081
Figure BDA0002779136130000082
Figure BDA0002779136130000083
其中,ε为控制对抗扰动大小的参数,ε=0.3,sign()为符号函数,
Figure BDA0002779136130000084
为L对于Hj的梯度,L()为交叉熵损失函数,θ为预训练好的SeNet网络的网络参数,yj为Hj的真实概率分布,
Figure BDA0002779136130000085
为SeNet网络对Hj的预测概率分布,
Figure BDA0002779136130000086
步骤2c3)将验证问题question和候选答案集answers组合为基于常识知识的验证码。
步骤3)生成人机验证系统的用户验证界面:
将用户终端的屏幕划分成常识问题区域和候选图像区域,并将候选图像区域划分成n个子网格,将验证码包含的answers中的每幅Hj′随机不重复的显示在候选图像区域的网格内,并将验证码包含的question显示在常识问题区域,生成的人机验证系统的用户验证界面如图2所示。
步骤4)获取用户的点击行为信息:
步骤4a)构建长度为numList[0]且元素类型为整数的答案索引列表I,初始化长度l为且元素类型为整数的用户点击列表clickList,并令l=0,其中I={Ig|0≤Ig≤numList[0]-1}。
步骤4b)获取用户终端的屏幕检测到的用户在用户验证界面对Hj′的鼠标点击次数dj,当用户终端在某幅图像内检测到一次鼠标点击行为,则认为该图像被选中,,当再次在该图像内检测到鼠标点击行为,则认为该图像未被选中,将满足djmod 2=1的l′个dj对应的序号j依次存入clickList,并将这令l=l′,得到用户点击列表clickList。
步骤4f)将用户每次点击用户验证界面的Hj′的时刻tj、clickList和l作为用户的点击行为信息。
步骤5)获取人机验证结果:
步骤5a)根据用户的点击行为信息中时刻tj,利用公式Δt=tj-tj-1,计算用户每次点击用户验证界面的图像的时间间隔Δt,并判断Δt与预先设置的阈值β是否满足||Δt||≥β,若是,执行步骤(5b),否则判定用户为机器,其中0≤β≤1000,单位为毫秒。本实施例中,β=1000。
步骤5b)记图像数量列表numList中的第一个元素的元素值为验证码的验证问题的答案个数ansNum,并判断ansNum与用户的点击行为信息中的l是否满足l=ansNum,若是,执行步骤(5c),否则判定用户为机器。
步骤5c)判断用户的点击行为信息中的clickList和答案索引列表I中的元素是否完全一致,若是,判定用户为人类,否则,判定用户为机器。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (6)

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,...,Hj,...,Hn},Hj表示第j幅基于常识知识的验证码的候选图像,1≤j≤n;
(2c)获取基于常识知识的验证码:
(2c1)利用字符串替换方法,将初始问题中的“[[”和“]]”都替换为空值None,同时将初始问题中的所有关键词之前的定冠词“the”、不定冠词“a”和“an”,以及定语“yours”均替换为空值None,并将初始问题中的keyword替换为疑问代词,得到基于常识知识的验证码的验证问题question;
(2c2)利用对抗攻击算法,通过H中的候选图像Hj的像素值计算Hj的对抗样本Hj′,得到对抗样本集合H′={Hj′|1≤j≤n},并将H′作为基于常识知识的验证码的候选答案集answers;
(2c3)将验证问题question和候选答案集answers组合为基于常识知识的验证码;
(3)生成人机验证系统的用户验证界面:
将用户终端的屏幕划分成常识问题区域和候选图像区域,并将候选图像区域划分成n个子网格,将验证码包含的answers中的每幅Hj′随机不重复的显示在候选图像区域的网格内,并将验证码包含的question显示在常识问题区域,生成人机验证系统的用户验证界面;
(4)获取用户的点击行为信息:
(4a)构建长度为numList[0]且元素类型为整数的答案索引列表I,初始化长度l为且元素类型为整数的用户点击列表clickList,并令l=0,其中I={Ig|0≤Ig≤numList[0]-1};
(4b)获取用户终端检测到的用户在用户验证界面对Hj′的鼠标点击次数dj,并将满足djmod 2=1的l′个dj对应的序号j依次存入clickList,并将这令l=l′,得到用户点击列表clickList;
(4f)将用户每次点击用户验证界面的Hj′的时刻tj、clickList和l作为用户的点击行为信息;
(5)获取人机验证结果:
(5a)根据用户的点击行为信息中时刻tj,计算用户每次点击用户验证界面的图像的时间间隔Δt,并判断Δt与预先设置的阈值β是否满足||Δt||≥β,若是,执行步骤(5b),否则判定用户为机器,其中0≤β≤1000,单位为毫秒;
(5b)记图像数量列表numList中的第一个元素的元素值为验证码的验证问题的答案个数ansNum,并判断ansNum与用户的点击行为信息中的l是否满足l=ansNum,若是,执行步骤(5c),否则判定用户为机器;
(5c)判断用户的点击行为信息中的clickList和答案索引列表I中的元素是否完全一致,若是,判定用户为人类,否则,判定用户为机器。
2.根据权利要求1所述的基于常识知识的人机验证方法,其特征在于,步骤(2b2)中所述的图像搜索引擎,采用百度图像搜索引擎、谷歌图像搜索引擎、搜狗图像搜索引擎、Tineye图像搜索引擎、Picitup图像搜索引擎、Tiltomo图像搜索引擎和Xcavator图像搜索引擎中的任意一种。
3.根据权利要求1所述的基于常识知识的人机验证方法,其特征在于,步骤(2b4)中所述的预训练好的图像分类网络,采用预训练好的VGG、ResNet、Inception、AlexNet、GoogleNet和SeNet中的任意一种。
4.根据权利要求1所述的基于常识知识的人机验证方法,其特征在于,步骤(2c1)中所述的疑问代词为what、which、which one、who、whose和whom中的任意一个。
5.根据权利要求1所述的基于常识知识的人机验证方法,其特征在于,步骤(2c2)中所述的利用对抗攻击算法计算Hj的对抗样本Hj′,采用对抗攻击算法中的快速梯度下降法FGSM,计算公式为:
Figure FDA0002779136120000041
Figure FDA0002779136120000042
Figure FDA0002779136120000043
其中,ε为控制对抗扰动大小的参数,sign()为符号函数,
Figure FDA0002779136120000044
为L对于Hj的梯度,L()为交叉熵损失函数,θ为预训练好的分类网络的网络参数,yj为Hj的真实概率分布,
Figure FDA0002779136120000051
为SeNet网络对Hj的预测概率分布,
Figure FDA0002779136120000052
6.根据权利要求1所述的基于常识知识的人机验证方法,其特征在于,步骤(5a)中所述的计算用户每次点击用户验证界面的图像的时间间隔Δt,计算公式为:
Δt=tj-tj-1
CN202011277327.5A 2020-11-16 2020-11-16 基于常识知识的人机验证方法 Active CN112380508B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011277327.5A CN112380508B (zh) 2020-11-16 2020-11-16 基于常识知识的人机验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011277327.5A CN112380508B (zh) 2020-11-16 2020-11-16 基于常识知识的人机验证方法

Publications (2)

Publication Number Publication Date
CN112380508A CN112380508A (zh) 2021-02-19
CN112380508B true CN112380508B (zh) 2022-10-21

Family

ID=74584645

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011277327.5A Active CN112380508B (zh) 2020-11-16 2020-11-16 基于常识知识的人机验证方法

Country Status (1)

Country Link
CN (1) CN112380508B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451207A (zh) * 2023-06-15 2023-07-18 北京顶象技术有限公司 一种多要素语义验证码及其生成方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107609389A (zh) * 2017-08-24 2018-01-19 南京理工大学 一种基于图像内容相关性的验证方法及系统
CN109684803A (zh) * 2018-12-19 2019-04-26 西安电子科技大学 基于手势滑动的人机验证方法
CN111353140A (zh) * 2018-12-24 2020-06-30 阿里巴巴集团控股有限公司 验证码的生成、显示方法、装置和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036780B (zh) * 2013-03-05 2017-05-24 阿里巴巴集团控股有限公司 一种人机识别方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107609389A (zh) * 2017-08-24 2018-01-19 南京理工大学 一种基于图像内容相关性的验证方法及系统
CN109684803A (zh) * 2018-12-19 2019-04-26 西安电子科技大学 基于手势滑动的人机验证方法
CN111353140A (zh) * 2018-12-24 2020-06-30 阿里巴巴集团控股有限公司 验证码的生成、显示方法、装置和系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
An End-to-End Attack on Text CAPTCHAs;Yang Zi等;《IEEE Transactions on Information Forensics and Security》;20190731;全文 *
基于多形变特征的汉字验证码的设计及实现;戴如意等;《计算机应用研究》;20100430(第04期);全文 *
基于对抗网络的验证码识别方法;曹廷荣等;《计算机工程与应用》;20200831(第08期);全文 *
基于深度学习的物体识别验证码破解方法;田朝辉等;《计算机仿真》;20180331(第03期);全文 *
基于阅读理解的知识问答系统设计与实现;张帅帅;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20180831;全文 *

Also Published As

Publication number Publication date
CN112380508A (zh) 2021-02-19

Similar Documents

Publication Publication Date Title
CN111079444B (zh) 一种基于多模态关系的网络谣言检测方法
Shetty et al. {A4NT}: Author attribute anonymity by adversarial training of neural machine translation
CN106462807B (zh) 根据大规模非结构化数据学习多媒体语义
US9785684B2 (en) Determining temporal categories for a domain of content for natural language processing
Du et al. Understanding visual memes: An empirical analysis of text superimposed on memes shared on twitter
Wang et al. Bidirectional LSTM Malicious webpages detection algorithm based on convolutional neural network and independent recurrent neural network
US20080059897A1 (en) Method and system of social networking through a cloud
Wu et al. Learning of multimodal representations with random walks on the click graph
US20150356170A1 (en) Time-Based Optimization of Answer Generation in a Question and Answer System
Sánchez-Paniagua et al. Phishing URL detection: A real-case scenario through login URLs
CN107609389B (zh) 一种基于图像内容相关性的验证方法及系统
CN110909531B (zh) 信息安全的甄别方法、装置、设备及存储介质
Lee et al. An intelligent categorization engine for bilingual web content filtering
CN112073551B (zh) 基于字符级滑动窗口和深度残差网络的dga域名检测系统
Sommer et al. Athena: Probabilistic verification of machine unlearning
Xie et al. Attentive user-engaged adversarial neural network for community question answering
Yuan et al. A novel approach for malicious URL detection based on the joint model
Rücklé et al. Coala: A neural coverage-based approach for long answer selection with small data
Aafaq et al. Language model agnostic gray-box adversarial attack on image captioning
CN116670693A (zh) 机器学习模型中针对对抗样本的动态梯度欺骗
Liu et al. Adversarial learning of answer-related representation for visual question answering
US20200210643A1 (en) Generating a query response utilizing a knowledge database
CN112380508B (zh) 基于常识知识的人机验证方法
Lin et al. Fine-grained late-interaction multi-modal retrieval for retrieval augmented visual question answering
Yang et al. Semantic-preserving adversarial text attacks

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