CN110348450A - 用于图像验证码的安全评估方法、装置和计算机系统 - Google Patents

用于图像验证码的安全评估方法、装置和计算机系统 Download PDF

Info

Publication number
CN110348450A
CN110348450A CN201910639613.2A CN201910639613A CN110348450A CN 110348450 A CN110348450 A CN 110348450A CN 201910639613 A CN201910639613 A CN 201910639613A CN 110348450 A CN110348450 A CN 110348450A
Authority
CN
China
Prior art keywords
authentication code
image
image authentication
recognized
images
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.)
Pending
Application number
CN201910639613.2A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910639613.2A priority Critical patent/CN110348450A/zh
Publication of CN110348450A publication Critical patent/CN110348450A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06F21/36User authentication by graphic or iconic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computer Security & Cryptography (AREA)
  • Medical Informatics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种用于图像验证码的安全评估方法,包括:获取待评估图像验证码;对所述待评估图像验证码进行去噪处理,得到待识别图像;利用图像识别模型对所述待识别图像进行处理,得到识别结果;计算所述待识别图像所包含的目标对象与所述识别结果之间的第一匹配度;以及,基于所述第一匹配度确定所述待评估图像验证码的安全级别。本公开还提供了一用于图像验证码的安全评估装置和计算机系统。

Description

用于图像验证码的安全评估方法、装置和计算机系统
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种用于图像验证码的安全评估方法、装置和计算机系统。
背景技术
随着互联网技术的不断发展,互联网给金融行业和用户都带来了极大的便利,金融行业通过互联网向用户提供金融服务,越来越多的用户通过互联网与金融行业进行交互。虽然目前大部分金融行业对外开放的互联网服务均部署有安全防护策略,然而,随着金融行业业务、产品的快速发展,尤其是个人网上业务的迅猛增多,金融行业的信息安全防护也面临着越来越严峻的挑战。例如,互联网服务通过设置登录接口与用户进行交互,为防止黑客及其他不法分子入侵系统、暴力破解,在对外开放的互联网网站中会加入验证方式,以防止攻击方非法入侵,带来不必要的损失。多数验证方式采用图像验证码进行验证,示例性地,用户在进行登录的同时要输入验证码上的内容,如果输入验证码正确,则确定当前操作方为真实用户,如果输入验证码错误,则确定当前操作方可能为机器。该验证过程中,为了不给使用互联网服务的用户带来不必要的麻烦,需要降低真实用户识别图像验证码的难度,同时提升机器识别图像验证码的难度。因此如何平衡人工识别和机器识别的难度,成为了图像验证码设计过程中必须面对的问题。而随着计算机视觉、深度学习技术的迅速发展,使得机器快速识别图像验证码成为可能,这就给金融行业的系统安全带来了隐患。
目前从业界的通用做法来看,均是通过在图像验证码上增加噪声点、干扰线、干扰块等方法增加图像验证码的识别难度,即通过降低机器识别的准确率来限制不法分子的破解的可能性。但是现有技术中仅依靠人工对图像验证码的识别难度进行简单评估,评估结果不准确,未经准确评估的图像验证码的可靠性难以预料,可能会给金融行业带来安全隐患。
发明内容
本公开的一个方面提供了一种用于图像验证码的安全评估方法,包括:获取待评估图像验证码,并对待评估图像验证码进行去噪处理,得到待识别图像。然后利用图像识别模型对该待识别图像进行处理,得到识别结果。接着计算所述待识别图像所包含的目标对象与识别结果之间的第一匹配度,基于第一匹配度确定待评估图像验证码的安全级别。
可选地,上述对待评估图像验证码进行去噪处理包括:对待评估图像验证码进行针对至少一个干扰因素的去噪处理。其中,干扰因素包括如下至少一项:干扰线、干扰噪点、干扰颜色、目标对象的旋转、目标对象的平移、目标对象的不同格式混合、目标对象的部分裁剪、以及目标对象的不规则排列。
可选地,上述方法还包括:在利用图像识别模型对待识别图像进行处理之前,先对待识别图像按照其所包含的目标对象进行分割处理,得到至少一个子图像,使得每个子图像包含一个目标对象。
可选地,上述对待识别图像进行分割处理包括:基于待识别图像中的像素频数分布,对待识别图像进行水平方向和垂直方向的分割处理。
可选地,上述利用图像识别模型对待识别图像进行处理,得到识别结果包括:对于上述至少一个子图像中的任一子图像,将该任一子图像输入至图像识别模型,经由图像识别模型处理并输出针对该任一子图像的识别结果。其中,图像识别模型是基于多个包含单一目标对象的样本图像训练得到的。
可选地,上述计算待识别图像所包含的目标对象与识别结果之间的第一匹配度包括:首先确定任一子图像所包含的目标对象与针对该任一子图像的识别结果之间的第二匹配度,然后计算与上述至少一个子图像对应的第二匹配度的总和与上述至少一个子图像的数量之间的比值,作为第一匹配度。
可选地,上述基于第一匹配度确定待评估图像验证码的安全级别包括:当第一匹配度小于第一阈值时,确定待评估图像验证码的安全级别较高,当第一匹配度大于等于所述第一阈值且小于第二阈值时,确定待评估图像验证码的安全级别中等,以及当第一匹配度大于等于第二阈值时,确定待评估图像验证码的安全级别较低。
本公开的另一方面提供了一种用于图像验证码的安全评估装置,包括:获取模块、预处理模块、深度识别模块、计算模块和评估模块。获取模块用于获取待评估图像验证码。预处理模块用于对待评估图像验证码进行去噪处理,以得到待识别图像。深度识别模块用于利用图像识别模型对待识别图像进行处理,以得到识别结果。计算模块用于计算待识别图像所包含的目标对象与识别结果之间的第一匹配度。评估模块用于基于第一匹配度确定待评估图像验证码的安全级别。
本公开的另一方面提供了一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过模拟攻击方对图像验证码进行机器识别的过程,利用计算机视觉技术和深度学习方法对图像验证码的安全级别进行评估。先对待评估图像验证码进行去噪处理,再对经去噪处理后得到的待识别图像进行深度识别,最后基于识别结果的识别准确率来确定待评估图像验证码的安全级别。在各种需要利用图像验证码验证用户真实性的场景中,均可预先依据本公开实施例的用于图像验证码的安全评估方法进行安全评估,以对安全级别较低的图像验证码进行进一步安全强化处理,提高互联网服务的信息安全防护能力。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开实施例的应用用于图像验证码的安全评估方法和装置的示例性系统架构;
图2示意性示出了根据本公开实施例的用于图像验证码的安全评估方法的流程图;
图3示意性示出了根据本公开实施例的用于图像验证码的安全评估过程的示意图;
图4示意性示出了根据本公开实施例的用于图像验证码的安全评估装置的框图;以及
图5示意性示出了根据本公开实施例的适于实现用于图像验证码的安全评估方法的计算机系统的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
本公开的实施例提供了一种用于图像验证码的安全评估方法、装置以及计算机系统。该方法包括获取过程、预处理过程、深度识别过程、计算过程以及评估过程。在获取过程,获取待评估图像验证码。然后针对待评估图像进行预处理过程,对所述待评估图像验证码进行去噪处理,得到待识别图像。接着针对待识别图像进行深度识别过程,利用图像识别模型对待识别图像进行处理,得到识别结果。进一步地,基于该识别结果进行计算过程,计算待识别图像所包含的目标对象与识别结果之间的第一匹配度,并基于第一匹配度进行评估过程,即确定待评估图像验证码的安全级别。
图1示意性示出了根据本公开实施例的可以应用用于图像验证码的安全评估方法和装置的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103上可以安装有各种客户端应用,例如银行类应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。终端设备101、102、103可以通过以上各种客户端应用与服务器105进行交互,以向服务器105发送各种请求或接收服务器105返回的结果。
终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。
需要说明的是,本公开实施例所提供的用于图像验证码的安全评估方法一般可以由服务器105执行。相应地,本公开实施例所提供的用于图像验证码的安全评估装置一般可以设置于服务器105中。本公开实施例所提供的用于图像验证码的安全评估方法也可以由终端设备101、102、103执行。相应地,本公开实施例所提供的用于图像验证码的安全评估装置也可以设置于终端设备101、102、103中。或者,本公开实施例所提供的用于图像验证码的安全评估方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于图像验证码的安全评估装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。
图2示意性示出了根据本公开实施例的用于图像验证码的安全评估方法的流程图。
如图2所示,该方法可以包括以下操作S201~S205。
在操作S201,获取待评估图像验证码。
其中,在各行业(如金融行业)向用户提供互联网服务的场景下,各种互联网服务向用户提供交互接口以供用户进行操作(如登录、注册、网站访问等操作)时,通常利用图像验证码来验证当前进行操作的操作方是否为真实用户。一个安全级别较高的图像验证码对于真实用户来说是易于识别的,而对于机器来说是难于识别的。本操作S201可以从本地或其他设备获取待评估图像验证码,以在后续操作中评估该图像验证码的安全级别。
在操作S202,对待评估图像验证码进行去噪处理,得到待识别图像。
其中,由于通常情况下图像验证码中除目标对象之外还会包含一些干扰因素以提高机器识别的难度,因此本操作S202对待评估图像验证码进行去噪处理,基于现有的图像处理技术水平尽量减少待评估的图像验证码中的干扰因素。上述去噪处理的去噪效果是与待评估图像验证码原本具有的干扰因素的干扰强度相关的,如果待评估图像验证码原本具有的干扰因素的干扰强度较高,经去噪处理后的待识别图像中还会有残余的干扰因素,进而将会对后续识深度识别过程、计算过程以及评估过程的结果产生影响。因此,最终评估得到的待评估图像验证码的安全级别是与该待评估图像验证码原本具有的干扰因素的干扰强度相关的。
在操作S203,利用图像识别模型对待识别图像进行处理,得到识别结果。
其中,图像识别模型用于从机器的角度对待识别图像中的特征进行识别。图像识别模型可以是深度神经网络(Deep Neural Networks,DNN)模型、卷积神经网络(Convolutional Neural Networks,CNN)模型、循环神经网络(Recurrent NeuralNetworks,RNN)模型等模型中的任意一个,在此不做限制。
在操作S204,计算待识别图像所包含的目标对象与识别结果之间的第一匹配度。
在操作S205,基于第一匹配度确定待评估图像验证码的安全级别。
对于上述操作S204~S205,操作S204通过计算待识别图像所包含的目标对象与识别结果之间的第一匹配度来确定图像识别模型对于待识别图像的识别准确率,进而操作S205可以基于该第一匹配度来确定待评估图像验证码的安全级别。例如,待评估图像验证码A经去噪处理后得到待识别图像A’,利用图像识别模型对待识别图像进行处理得到识别结果a,该识别结果a与待识别图像A’所包含的目标对象之间的第一匹配度为X。待评估图像验证码B经去噪处理后得到待识别图像B’,利用图像识别模型对待识别图像进行处理得到识别结果b,该识别结果b与待识别图像B’所包含的目标对象之间的第一匹配度为Y。如果X>Y,表明图像识别模型对待识别图像A’的识别准确率高于图像识别模型对待识别图像B’的识别准确率,即对于机器来说,待识别图像A’的识别难度低于待识别图像B’的识别难度。因此,待识别图像A’相比于待识别图像B’的安全级别较低,更容易受到攻击。对于评估出安全级别较低的图像验证码,后续可以对该图像验证码增加干扰,以提高其安全级别。
示例性地,上述基于第一匹配度确定所述待评估图像验证码的安全级别的过程可以包括以下三种情况:(1)当所述第一匹配度小于第一阈值时,确定所述待评估图像验证码的安全级别较高。(2)当所述第一匹配度大于等于所述第一阈值且小于第二阈值时,确定所述待评估图像验证码的安全级别中等。(3)当所述第一匹配度大于等于第二阈值时,确定所述待评估图像验证码的安全级别较低。其中,第一阈值和第二阈值为用于划分安全级别的评估标准。在其他实施例中,可以根据需要划分一个或多个安全级别的评估标准,例如,在仅设置一个评估阈值时,可以划分出两个安全级别,在设置N(N为正整数)个评估阈值时,可以划分出(N+1)个安全级别,原理与上述示例相同,在此不再赘述。
本领域技术人员可以理解,图2所示的方法通过模拟攻击方对图像验证码进行机器识别的过程,利用计算机视觉技术和深度学习方法对图像验证码的安全级别进行评估。先对待评估图像验证码进行去噪处理,再对经去噪处理后得到的待识别图像进行深度识别,最后基于识别结果的识别准确率来确定待评估图像验证码的安全级别。在各种需要利用图像验证码验证用户真实性的场景中,均可预先依据本公开实施例的用于图像验证码的安全评估方法进行安全评估,以对安全级别较低的图像验证码进行进一步安全强化处理,提高互联网服务的信息安全防护能力。
在本公开的一个实施例中,上述预处理过程中对待评估图像验证码进行去噪处理可以包括:对待评估图像验证码进行针对至少一个干扰因素的去噪处理。其中,干扰因素可以包括多种类型,例如干扰线、干扰噪点、干扰颜色、目标对象的旋转、目标对象的平移、目标对象的不同格式混合、目标对象的部分裁剪、以及目标对象的不规则排列等各种公知的干扰因素,针对不同类型的干扰因素的去噪处理是互不相同的。
例如,针对大小写字母混编的干扰因素,相应的去噪处理的目的是尽量将混编的大小写字母统一为大写字母或小写字母。针对字符旋转的干扰因素,相应的去噪处理的目的是尽量将旋转的字符恢复至非旋转状态。针对字符清晰度较低、尺寸较小等干扰因素,相应的去噪处理的目的是尽量将该字符处理为大小适中清晰度适当的状态。针对干扰线、噪声点等干扰因素,相应的去噪处理的目的是尽量将该干扰线和噪声点去除。本领域技术人员可以理解,上述针对各种干扰因素的去噪处理的去噪效果是与干扰因素自身的干扰强度相关的,如干扰线的粗细、旋转的角度和方向、干扰线密度等等。本例中,由于对于待评估图像验证码中所包含的干扰因素的类型是未知的,因此在进行上述预处理过程时,可以预先地选取针对现有公知的一种或几种干扰因素的去噪处理方式进行处理。
进一步地,为减少深度识别过程的运算符合,可以预先对待识别图像进行分割处理,以使图像识别模型对经图像分割得到的每个包含较少信息量的子图像进行处理。示例性地,根据本公开实施例的用于图像验证码的安全评估方法还可以包括:在利用图像识别模型对待识别图像进行处理之前,对所述待识别图像按照待识别图像所包含的目标对象进行分割处理以得到至少一个子图像,使得每个子图像包含一个目标对象。
在此基础上,上述利用图像识别模型对待识别图像进行处理,得到识别结果的过程可以按照如下方式进行:首先,对于待识别图像经图像分割处理所得到的每个子图像,将该子图像输入至图像识别模型,经由图像识别模型处理并输出针对该子图像的识别结果。如果一个待识别图像经图像分割处理得到M(M为大于1的正整数)个子图像,则利用图像识别模型分别对这M个子图像进行深度识别过程,即共执行M次深度识别过程,得到分别针对于M个子图像的M个识别结果。其中,图像识别模型是基于多个包含单一目标对象的样本图像训练得到的。由于单一目标对象的信息量远小于多个目标对象的组合结果的信息量,用于识别单一目标对象的图像识别模型的训练复杂度远小于用于识别组合目标对象的图像识别模型的训练复杂度,用于识别单一目标对象的图像识别模型的计算负载也远小于用于识别组合目标对象的图像识别模型的计算负载。因此依据本实施例可以提高针对图像验证码的安全评估过程中的评估效率。
下面通过一个例子来示例性地说明上述深度识别过程。
图3示意性示出了根据本公开实施例的用于图像验证码的安全评估过程的示意图。
如图3所示,对于一个待评估图像验证码,使用预先设定的一种或多种去噪处理方式对该图像验证码中的干扰因素进行去除。干扰因素来源于采用大小写字母混编、突出难以区分的字母数字、对组成元素采取旋转、部分裁剪、位移、组成字符不规则排列、增加干扰元素等干扰手段。从图像验证码安全评估角度分析,干扰线的粗细、干扰线的密集程度、干扰元素是否与目标对象颜色相同、目标对象的数量、目标对象之前的距离、色彩、复杂度、背景复杂度等都会影响图像验证码的安全级别。对于经去噪处理后得到的待识别图像,可以提取目标对象的位置坐标,以确定图像分割的方式。例如,在操作S301,先对待识别图像进行滤波处理。然后在操作S302,进行图像二值化(Image Binarization)处理,本操作还可以进行漫水填充(Flood Fill)法处理,以将待识别图像中的干扰条和干扰色块等去掉,并且将预处理过程遗留的噪点区域去除。接着在操作S303,通过对待识别图像中的像素频数统计进行水平方向及垂直方向的图像分割处理,将待识别图像中的目标对象分别分割出来。
示例性地,待识别图像中包含4个目标对象:“A”、“B”、“C”和“D”。经由滤波处理、二值化处理以及图像分割处理(如等宽分割)后,得到4个子图像。其中,第一个子图像包含目标对象“A”,第二个子图像包含目标对象“B”,第三个子图像包含目标对象“C”,第四个子图像包含目标对象“D”。本例中,图像识别模型为卷积神经网络,包括一个输入层、一个输出层和多个隐藏层。图3中示出该图像识别模型的隐藏层包括:二维卷积层1-1、二维卷积层1-2、最大池化层1、二维卷积层2-1、二维卷积层2-2、最大池化层2、二维卷积层3-1、二维卷积层3-2、最大池化层3、全连接层1、和全连接层2。该图像识别模型的训练过程可以按照如下方式进行:构建卷积神经网络并获取多个已知目标对象的子图像样本,将每个子图像样本所包含的目标对象作为样本标签,使得上述卷积神经网络基于多个子图像样本进行有监督学习,经过不断迭代优化,直至该卷积神经网络的损失函数达到收敛,得到上述图像识别模型。
将上述4个子图像分别输入至图像识别模型的输入层,经过层层计算传递,最终图像识别模型的输出层分别输出针对上述4个子图像的4个识别结果:识别结果1~4。
在本公开的一个实施例中,上述计算待识别图像所包含的目标对象与所述识别结果之间的第一匹配度包括:首先,确定任一子图像所包含的目标对象与针对该任一子图像的识别结果之间的第二匹配度。然后,计算与上述至少一个子图像对应的第二匹配度的总和与上述至少一个子图像的数量之间的比值,作为第一匹配度。
沿用上文中图3中的例子,示例性地,针对第一个子图像的识别结果1不是“A”,则确定针对第一个子图像的第二匹配度为0。针对第二个子图像的识别结果2不是“B”,则确定针对第二个子图像的第二匹配度为0。针对第三个子图像的识别结果3是“C”,则确定针对第一个子图像的第二匹配度为1。针对第四个子图像的识别结果4不是“D”,则确定针对第一个子图像的第二匹配度为0。因此,与上述至少一个子图像对应的第二匹配度的总和为:0+0+1+0=1,上述子图像的总数量为4,则第一匹配度为1/4=0.25。假设第一阈值为0.5,由于该第一匹配度小于第一阈值,确定相应待评估图像验证码的安全级别较高,不容易被机器识别。
由上述实施例可知,本公开实施例提出了一种基于计算机视觉技术和深度学习算法对图像验证码进行安全评估的方案。其核心思想是利用对现有的计算机视觉技术和深度学习算法对生成的图像验证码进行安全评估打分,得到图像验证码的安全级别。实现通过评估安全级别来进行后续对图像验证码的安全强度的提高,加大人机识别图像验证码的差异,提高机器识别难度的同时,也能降低真实用户识别的难度,提高信息安全防护能力。
更为具体地,与相关技术相比,本方案具有以下有益效果:
(1)实用性极强,由于图像验证码获得较易,同时又是信息安全防护关键的一环,因此对图像验证码安全级别的评估十分重要,识别精确度较高,经过对图像验证码的预处理及卷积神经网络训练,可以评估出验证码的安全级别。
(2)本方案首次将深度学习模型应用到图像验证码的安全强度评估领域。将计算机视觉和深度学习结合的方法引入信息安全评估领域,实现了验证码安全强度的自动化评估,改变了传统的人工评估方法,为图像验证码的安全评估提供了一种高效快捷的可能。
(3)模型推广性非常强,只要可以取得一定量的图像验证码,就可以对图像验证码进行安全强度评估。使用成本、模型成本较低,可以实现完全自动化的针对图像验证码的安全评估。基于评估结果,可以提出针对图像验证码的修改意见,通过改进图像验证码的设计,提高图像验证码的安全强度。
图4示意性示出了根据本公开实施例的用于图像验证码的安全评估装置的框图。
如图4所示,该用于图像验证码的安全评估装置400包括:获取模块410、预处理模块420、深度识别模块430、计算模块440和评估模块450。
获取模块410用于获取待评估图像验证码。
预处理模块420用于对待评估图像验证码进行去噪处理,以得到待识别图像。
深度识别模块430用于利用图像识别模型对待识别图像进行处理,以得到识别结果。
计算模块440用于计算待识别图像所包含的目标对象与识别结果之间的第一匹配度。
评估模块450用于基于第一匹配度确定待评估图像验证码的安全级别。
需要说明的是,装置部分实施例中各模块/单元/子单元等的实施方式、解决的技术问题、实现的功能、以及达到的技术效果分别与方法部分实施例中各对应的步骤的实施方式、解决的技术问题、实现的功能、以及达到的技术效果相同或类似,在此不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一构建模块410、账户集合划分模块420、获取模块430、第二构建模块440、以及识别模块450中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一构建模块410、账户集合划分模块420、获取模块430、第二构建模块440、以及识别模块450中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一构建模块410、账户集合划分模块420、获取模块430、第二构建模块440、以及识别模块450中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图5示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的计算机系统500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有系统500操作所需的各种程序和数据。处理器501、ROM 502以及RAM 503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,系统500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。系统500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (10)

1.一种用于图像验证码的安全评估方法,包括:
获取待评估图像验证码;
对所述待评估图像验证码进行去噪处理,得到待识别图像;
利用图像识别模型对所述待识别图像进行处理,得到识别结果;
计算所述待识别图像所包含的目标对象与所述识别结果之间的第一匹配度;以及
基于所述第一匹配度确定所述待评估图像验证码的安全级别。
2.根据权利要求1所述的方法,其中,所述对所述待评估图像验证码进行去噪处理包括:
对所述待评估图像验证码进行针对至少一个干扰因素的去噪处理,其中,所述干扰因素包括如下至少一项:干扰线、干扰噪点、干扰颜色、所述目标对象的旋转、所述目标对象的平移、所述目标对象的不同格式混合、所述目标对象的部分裁剪、以及所述目标对象的不规则排列。
3.根据权利要求1所述的方法,还包括:
在所述利用图像识别模型对所述待识别图像进行处理之前,对所述待识别图像进行分割处理,得到至少一个子图像,
其中,每个子图像包含一个所述目标对象。
4.根据权利要求3所述的方法,其中,所述对所述待识别图像进行分割处理包括:
基于所述待识别图像中的像素频数分布,对所述待识别图像进行水平方向和垂直方向的分割处理。
5.根据权利要求3所述的方法,其中,所述利用图像识别模型对所述待识别图像进行处理,得到识别结果包括:
对于所述至少一个子图像中的任一子图像,将所述任一子图像输入至所述图像识别模型,经由所述图像识别模型处理并输出针对所述任一子图像的识别结果,其中,所述图像识别模型是基于多个包含单一目标对象的样本图像训练得到的。
6.根据权利要求1所述的方法,其中,所述计算所述待识别图像所包含的目标对象与所述识别结果之间的第一匹配度包括:
确定所述任一子图像所包含的目标对象与针对所述任一子图像的识别结果之间的第二匹配度;以及
计算与所述至少一个子图像对应的第二匹配度的总和与所述至少一个子图像的数量之间的比值,作为所述第一匹配度。
7.根据权利要求1所述的方法,其中,所述基于所述第一匹配度确定所述待评估图像验证码的安全级别包括:
当所述第一匹配度小于第一阈值时,确定所述待评估图像验证码的安全级别较高;
当所述第一匹配度大于等于所述第一阈值且小于第二阈值时,确定所述待评估图像验证码的安全级别中等;以及
当所述第一匹配度大于等于第二阈值时,确定所述待评估图像验证码的安全级别较低。
8.一种用于图像验证码的安全评估装置,包括:
获取模块,用于获取待评估图像验证码;
预处理模块,用于对所述待评估图像验证码进行去噪处理,得到待识别图像;
深度识别模块,用于利用图像识别模型对所述待识别图像进行处理,得到识别结果;
计算模块,用于计算所述待识别图像所包含的目标对象与所述识别结果之间的第一匹配度;以及
评估模块,用于基于所述第一匹配度确定所述待评估图像验证码的安全级别。
9.一种计算机系统,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如权利要求1~8任一项所述的用于图像验证码的安全评估方法。
10.一种介质,存储有计算机程序,所述计算机程序被执行时用于实现如权利要求1~8任一项所述的用于图像验证码的安全评估方法。
CN201910639613.2A 2019-07-15 2019-07-15 用于图像验证码的安全评估方法、装置和计算机系统 Pending CN110348450A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910639613.2A CN110348450A (zh) 2019-07-15 2019-07-15 用于图像验证码的安全评估方法、装置和计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910639613.2A CN110348450A (zh) 2019-07-15 2019-07-15 用于图像验证码的安全评估方法、装置和计算机系统

Publications (1)

Publication Number Publication Date
CN110348450A true CN110348450A (zh) 2019-10-18

Family

ID=68175439

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910639613.2A Pending CN110348450A (zh) 2019-07-15 2019-07-15 用于图像验证码的安全评估方法、装置和计算机系统

Country Status (1)

Country Link
CN (1) CN110348450A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652233A (zh) * 2020-06-03 2020-09-11 哈尔滨工业大学(威海) 一种针对复杂背景的文本验证码自动识别方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657654A (zh) * 2014-12-22 2015-05-27 河海大学 一种利用人眼视觉补偿原理的图片验证码生成方法
CN104660402A (zh) * 2013-11-19 2015-05-27 深圳市腾讯计算机系统有限公司 一种对终端进行验证的方法、装置及系统
CN107292311A (zh) * 2017-08-10 2017-10-24 河南科技大学 一种基于神经网络的字符粘连验证码的识别方法
CN107967475A (zh) * 2017-11-16 2018-04-27 广州探迹科技有限公司 一种基于窗口滑动和卷积神经网络的验证码识别方法
CN108038484A (zh) * 2017-12-11 2018-05-15 中国人民解放军战略支援部队信息工程大学 空心验证码快速识别方法
CN109063456A (zh) * 2018-08-02 2018-12-21 浙江大学 图像型验证码的安全性检测方法及系统
CN109919160A (zh) * 2019-03-04 2019-06-21 深圳先进技术研究院 验证码识别方法、装置、终端及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104660402A (zh) * 2013-11-19 2015-05-27 深圳市腾讯计算机系统有限公司 一种对终端进行验证的方法、装置及系统
CN104657654A (zh) * 2014-12-22 2015-05-27 河海大学 一种利用人眼视觉补偿原理的图片验证码生成方法
CN107292311A (zh) * 2017-08-10 2017-10-24 河南科技大学 一种基于神经网络的字符粘连验证码的识别方法
CN107967475A (zh) * 2017-11-16 2018-04-27 广州探迹科技有限公司 一种基于窗口滑动和卷积神经网络的验证码识别方法
CN108038484A (zh) * 2017-12-11 2018-05-15 中国人民解放军战略支援部队信息工程大学 空心验证码快速识别方法
CN109063456A (zh) * 2018-08-02 2018-12-21 浙江大学 图像型验证码的安全性检测方法及系统
CN109919160A (zh) * 2019-03-04 2019-06-21 深圳先进技术研究院 验证码识别方法、装置、终端及存储介质

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
TAO ZHANG ET AL: "Verification CAPTCHA Based on Deep Learning", 《PROCEEDINGS OF THE 37TH CHINESE CONTROL CONFERENCE》 *
YANPING LV ET AL: "Chinese Character CAPTCHA Recognition Based on Convolution Neural Network", 《2016 IEEE CONGRESS ON EVOLUTIONARY COMPUTATION (CEC)》 *
冯杰等: "网上银行验证码研究与安全性分析", 《计算机技术与发展》 *
门涛等: "电子商务网站验证码安全性分析及设计", 《乐山师范学院学报》 *
陈宗海主编: "《系统仿真技术及其应用(第19卷)》", 31 August 2018, 中国科学技术大学出版社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111652233A (zh) * 2020-06-03 2020-09-11 哈尔滨工业大学(威海) 一种针对复杂背景的文本验证码自动识别方法

Similar Documents

Publication Publication Date Title
US10805346B2 (en) Phishing attack detection
CN103593609B (zh) 一种可信行为识别的方法和装置
CN112016377B (zh) 用于对抗性鲁棒对象检测的系统和方法
CN104504335B (zh) 基于页面特征和url特征的钓鱼app检测方法及系统
CN114331829A (zh) 一种对抗样本生成方法、装置、设备以及可读存储介质
CN110290522A (zh) 用于移动设备的风险识别方法、装置和计算机系统
CN110378095B (zh) 基于验证码的交互验证方法、装置、介质和计算设备
CN108830443A (zh) 一种合同审阅方法及装置
US8359394B2 (en) Tearing and conformal transformation human interactive proof
CN110414989A (zh) 异常检测方法及装置、电子设备和计算机可读存储介质
CN114978624B (zh) 钓鱼网页检测方法、装置、设备及存储介质
CN113934983A (zh) 一种特征变量的分析方法、装置、计算机设备及存储介质
CN107346386A (zh) 一种认证、用于认证的信息生成方法及装置
CN109450880A (zh) 基于决策树的钓鱼网站检测方法、装置及计算机设备
Maduako et al. Deep learning for component fault detection in electricity transmission lines
Subramani et al. PhishInPatterns: measuring elicited user interactions at scale on phishing websites
CN108234441A (zh) 确定伪造访问请求的方法、装置、电子设备和存储介质
Adeyemo et al. Stain: Stealthy avenues of attacks on horizontally collaborated convolutional neural network inference and their mitigation
Ara et al. A COMPARATIVE REVIEW OF AI-GENERATED IMAGE DETECTION ACROSS SOCIAL MEDIA PLATFORMS
CN110365625B (zh) 物联网安全检测方法、装置及存储介质
Alkhowaiter et al. Evaluating perceptual hashing algorithms in detecting image manipulation over social media platforms
CN110348450A (zh) 用于图像验证码的安全评估方法、装置和计算机系统
CN107347064A (zh) 基于神经网络算法的云计算平台态势预测方法
CN116980162A (zh) 云审计的数据检测方法、装置、设备、介质及程序产品
CN106161338A (zh) 用于验证用户身份的方法及装置

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20191018

RJ01 Rejection of invention patent application after publication