基于自动编码器的击键动力学身份认证与识别方法及系统

文档序号:169001 发布日期:2021-10-29 浏览:24次 >En<

阅读说明:本技术 基于自动编码器的击键动力学身份认证与识别方法及系统 (Keystroke dynamics identity authentication and identification method and system based on automatic encoder ) 是由 章行健 薛质 施勇 于 2021-07-30 设计创作,主要内容包括:本发明涉及一种基于自动编码器的击键动力学身份认证与识别方法及系统,所述方法包括以下步骤:1)获取对象的键入的按键键值和击键动力学数据,校验所述按键键值是否与预设键值相同,若是,则执行步骤2),若否,则产生识别不通过的提示信息;2)根据预设的采样精度对所述击键动力学数据进行处理,生成击键模式灰度图;3)以所述击键模式灰度图作为预先训练好的自动编码器模型的输入,实现身份认证与识别。与现有技术相比,本发明具有对数据集要求低、识别准确度高等优点。(The invention relates to a keystroke dynamics identity authentication and identification method and a system based on an automatic encoder, wherein the method comprises the following steps: 1) acquiring key values and keystroke dynamics data input by an object, checking whether the key values are the same as preset key values, if so, executing the step 2), and if not, generating prompt information for failing identification; 2) processing the keystroke dynamics data according to preset sampling precision to generate a keystroke mode gray graph; 3) and the keystroke mode gray-scale image is used as the input of a pre-trained automatic encoder model to realize identity authentication and identification. Compared with the prior art, the method has the advantages of low requirement on the data set, high identification accuracy and the like.)

基于自动编码器的击键动力学身份认证与识别方法及系统

技术领域

本发明涉及身份验证技术领域,尤其是涉及一种基于自动编码器的击键动力学身份认证与识别方法及系统。

背景技术

身份认证与识别技术,通过保证操作者的物理身份与数字身份相对应,保护信息不受非法泄露和篡改,保护系统功能不受滥用,是信息安全领域的一项重要技术。

身份认证与识别技术根据认证条件可分为单因子认证和双因子认证;根据是否使用硬件可分为软件认证和硬件认证;根据认证信息可分为静态认证和动态认证。目前最常用的、最基础的身份认证方法是静态口令认证。在静态口令认证中,用户通过输入预先设置的正确口令完成认证流程,这类方法易受猜测和泄露,并且由于验证过程中口令需要在计算机内存和网络中传输,口令的安全性难以保证。于是,产生了以静态口令认证为基础的,辅助各类其他认证手段的双因子认证方法。

近年来,生物特征识别技术作为一种身份识别的手段,因其不会像密码那样容易被忘记和破解,也不会像持有物那样容易被窃取和转移,逐渐成为了研究热点。具体的,用于身份识别的生物特征需要满足普遍性、唯一性、稳定性、可采集性等基本要求,并且以此建立的身份识别系统需要在鲁棒性、可接受性和可欺骗性上有所平衡,则可实现基于生物特征的身份识别。目前主流的生物特征识别技术有人脸识别、指纹识别、虹膜识别、手形识别、掌纹识别、声音识别等。上世纪八十年代初期,美国自然基金和美国国家标准局研究表明,键盘键入模式包含可用于身份识别的独特特征。基于这项研究,击键动力学在身份认证技术中的应用得以建立。

击键动力学身份认证研究可分为两大方向,固定文本研究和自由文本研究。前者分析用户键入的固定数据,后者分析系统运行过程中用户键入的任意文本。和指纹、虹膜等生物特征相比,其具有优势为:无需额外设备即可获得击键行为数据;数据采集对用户透明;可持续获得数据。然而受限于击键动力学数据的小规模和不稳定性,尤其是样本数量和覆盖面的不足及受试者内因与环境外因的干扰,目前击键动力学模型的准确率仍然,不能像人脸一样单独作为身份认证和识别的手段。目前已有的基于击键动力学的身份认证方法中,普遍对击键时序特征,即受试者按键时长、按键按下间隔、按键释放间隔等特征及其统计特征进行分析,利用统计理论、机器学习、深度学习等原理导出受试者击键模式并区分,从而实现身份认证与识别功能。

统计理论是击键行为特征分析早期研究所采用的方法,其代表研究为Gaines等人于1980年提出的基于连续输入所需时间概率分布的身份认证与识别方法。该方法通常计算样本特征向量的均值、方差、相关系数,用假设检验和距离度量得出分类结果。尽管一些文献声称取得了较好的分类效果,但它们使用的样本量小,结论可信度不高。

统计方法只能得到粗略的决策信息,而机器学习能够从样本向量空间中学习得到更丰富的信息。机器学习是击键行为特征分析常用方法,包括:2017年Ulinskas等人利用k-临近空间分类器实现的身份认证与识别方法【Ulinskas M,Woniak M,DamaeviiusR.Analysis of Keystroke Dynamics for Fatigue Recognition[C]//InternationalConference on Computational Science&Its Applications.2017.】、2018年Ho等人基于一类贝叶斯分类器实现的身份认证与识别方法【Ho,Jiacang,Kang,et al.One-classnaive Bayes with duration feature ranking for accurate user authenticationusing keystroke dynamics[J].Applied Intelligence the International Journal ofArtificial Intelligence Neural Networks&Complex Problem Solving Technologies,2018.】、2018年Krishnamoorthy等人基于随机森林实现的身份认证与识别方法【Krishnamoorthy S,Rueda L,Saad S,et al.Identification of User BehavioralBiometrics for Authentication Using Keystroke Dynamics and MachineLearning.2018:50-57.】、1997年Ru等人基于模糊逻辑实现的身份认证与识别方法【Ru W,Eloff J.Enhanced Password Authentication through Fuzzy Logic[J].IEEE Expert:Intelligent Systems and Thr Applications,1997.】、2015年Ceker等人基于高斯混合模型实现的身份认证与识别方法【Ceker H,Upadhyaya S.Enhanced recognition ofkeystroke dynamics using Gaussian mixture models[C]//Military CommunicationsConference.IEEE,2015.】等。

而在深度学习领域,2018年芦效峰等人采用卷积神经网络(ConvolutionalNeural Networks,CNN)与循环神经网络(Recurrent Neural Network,RNN)方法,实现了击键动力学自由文本的持续身份认证【芦效峰,张胜飞,伊胜伟.基于CNN和RNN的自由文本击键模式持续身份认证[J].清华大学学报(自然科学版),2018,58(12):1072-1078.】,20【Application of recurrent neural networks for user verification based onkeystroke dynamics】。

现有的击键动力学身份认证与识别技术缺点有二,一是大多采用有监督的分类方法,需要先验知识和人工标签,并且不适用于样本数量缺乏的实际应用场景;二是大多采用击键动力学时序特征,在特征收集和规模上具有局限性,需要开拓新的特征提取方法。

发明内容

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种对数据集要求低、识别准确度高的基于自动编码器的击键动力学身份认证与识别方法及系统。

本发明的目的可以通过以下技术方案来实现:

第一方面,本发明提供一种基于自动编码器的击键动力学身份认证与识别方法,包括以下步骤:

1)获取对象的键入的按键键值和击键动力学数据,校验所述按键键值是否与预设键值相同,若是,则执行步骤2),若否,则产生识别不通过的提示信息;

2)根据预设的采样精度对所述击键动力学数据进行处理,生成击键模式灰度图;

3)以所述击键模式灰度图作为预先训练好的自动编码器模型的输入,实现身份认证与识别。

进一步地,所述击键动力学数据包括每个按键的按下时间和释放时间。

进一步地,所述采样精度为毫秒级。

进一步地,所述击键模式灰度图中,以白色部分表示在同等采样密度下每个按键被按下的时长,以灰色部分表示在同等采样密度下该按键与下一个按键间的键入时差,黑色部分表示设定图像宽度下的零值填充。

进一步地,所述自动编码器模型包括用于提取高维特征的自动编码器网络和基于所述高维特征实现分类的分类层。

进一步地,在每次识别完成后,将分类识别为用户本人键入的数据添加到训练用数据库中,对所述自动编码器模型进行更新。

进一步地,所述训练用数据库的数据总量恒定。

第二方面,本发明提供一种基于自动编码器的击键动力学身份认证与识别系统,包括:

击键动力学数据采集模块,用于获取对象的键入的按键键值和击键动力学数据,校验所述按键键值是否与预设键值相同,若是,则保存,若否,则舍弃;

灰度图像生成模块,用于根据预设的采样精度对保存于所述击键动力学数据采集模块的击键动力学数据进行处理,生成击键模式灰度图;

自动编码器模型训练模块,维护有一训练用数据库,该训练用数据库存储有击键模式灰度图,基于该训练用数据库训练获得自动编码器模型;

身份认证与识别模块,利用训练好的自动编码器模型,对实时获取的待识别的击键模式灰度图进行分类,实现身份认证与识别。

进一步地,该系统还包括:

模型更新模块,在每次识别完成后,将分类识别为用户本人键入的数据添加到所述训练用数据库中,并向自动编码器模型训练模块发送模型更新指令。

第三方面,本发明提供一种计算机可读存储介质,其特征在于,包括供电子设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于执行如上所述基于自动编码器的击键动力学身份认证与识别方法的指令。

与现有技术相比,本发明具有以下有益效果:

1、本发明在分类方法上采用自监督的自动编码器(Autoencoder,AE)原理,不依赖先验知识和标签,同时由于自动编码器自身特性,降低分类器对数据集的要求,在少量异常样本的数据集上,依然能够良好提取到正常样本的特征信息,更贴合实际应用场景。

2、本发明在特征提取方法上,本发明引入图像信息,以灰度图像替代传统的击键动力学时序特征,从而实现更高效、更有利于分类的特征提取手段。

3、本发明在每次识别完成后,将分类识别为用户本人键入的数据添加到训练用数据,对自动编码器模型进行更新,有助于使模型贴合用户行为习惯,实现针对用户熟练度等变化的,平稳的自适应调整,提高分类精度和用户体验。

4、本发明通过击键动力学数据灰度图像化和引入自动编码器作为分类器,大幅度节省计算开销,提升识别准确度,并且更加贴合实际应用场景,拓展了击键动力学身份认证与识别的新途径。

附图说明

图1为本发明的流程示意图;

图2为本发明生成的击键模式灰度图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例1

如图1所示,本实施例提供一种基于自动编码器的击键动力学身份认证与识别方法,包括以下步骤:

1)获取对象的键入的按键键值和击键动力学数据,校验所述按键键值是否与预设键值相同,若是,则执行步骤2),若否,则产生识别不通过的提示信息。所述击键动力学数据包括每个按键的按下时间和释放时间。

具体的,以第一次按下按键为起始时间,分别记录对应的击键行为时间戳,精确到毫秒,并在输入完成后校验键值内容是否正确,若正确无误,则进入下一步。

2)根据预设的采样精度对所述击键动力学数据进行处理,生成击键模式灰度图。

如图2所示,本方法获得的击键模式灰度图中,白色部分表示在同等采样密度下每个键值被按下的时长;灰色部分表示在同等采样密度下,该键值与下一个键值间的键入时差;黑色部分是在设定图像宽度下,用于保证图像呈现效果的零值填充。例如,键值A被按下的时长是0.05秒,与下一个键值N的键入时差为0.03,则在采样密度为0.01,图像宽度为10时,键值A对应的白色部分是5个像素,对应的灰色部分是3个像素,对应的黑色部分是2个像素。

3)以所述击键模式灰度图作为预先训练好的自动编码器模型的输入,实现身份认证与识别。

本发明采用的自动编码器模型包括用于提取高维特征的自动编码器网络和基于所述高维特征实现分类的分类层。自动编码器网络是神经网络的一种,其基本思想就是直接使用一层或者多层的神经网络对输入数据进行映射,得到输出向量,作为从输入数据提取出的特征,通过编码与解码两项操作,得到重建数据的最好特征,即数据的隐含特征。分类层添加于自动编码器网络最后,即可将自动编码器作为分类器使用。

自动编码器模型基于预先存储的训练用数据库优化获得,本实施例中,训练用数据库存储有100条数据。用户在初期需预先键入训练用数据,并通过自动编码器网络提取高维特征,得到可靠的分类模型。

在获得训练好后的自动编码器模型后好可对用户当前键入特征进行分类,对识别为用户本人的数据予以通过,对识别为非用户本人的数据予以拒绝,从而最终实现基于击键动力学的身份认证与识别功能。

在一优选的实施方式中,建立自动编码器模型之后,根据每次分类身份认证与识别模块的分类结果,将分类为用户本人键入的数据添加到训练用数据中,同时删除最早的数据项,保持训练用数据总量恒定。这一方法有助于使分类模型贴合用户行为习惯,实现针对用户熟练度等变化的,平稳的自适应调整,提高分类精度和用户体验。

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

实施例2

本实施例提供一种基于自动编码器的击键动力学身份认证与识别系统,包括击键动力学数据采集模块、灰度图像生成模块、自动编码器模型训练模块和身份认证与识别模块,其中,击键动力学数据采集模块用于获取对象的键入的按键键值和击键动力学数据,校验所述按键键值是否与预设键值相同,若是,则保存,若否,则舍弃;灰度图像生成模块用于根据预设的采样精度对保存于所述击键动力学数据采集模块的击键动力学数据进行处理,生成击键模式灰度图;自动编码器模型训练模块维护有一训练用数据库,该训练用数据库存储有击键模式灰度图,基于该训练用数据库训练获得自动编码器模型;身份认证与识别模块利用训练好的自动编码器模型,对实时获取的待识别的击键模式灰度图进行分类,实现身份认证与识别。

参考图1所示,利用上述系统进行身份认证与识别的具体过程包括:

步骤一,用户键入数据(通常是密码);

步骤二,系统记录用户的输入和输入对应的击键动力学数据;

步骤三,系统通过灰度图像生成模块将记录的击键动力学数据转化为灰度图像;

步骤四,若该数据是训练数据,将该数据存储在本地,并通过自动编码器模型训练模块生成用于身份认证与识别的分类模型;

步骤五,身份认证与识别模块利用自动编码器模型训练模块生成的分类模型对数据进行分类,从而实现身份认证与识别功能。

在一优选的实施方式中,上述系统还包括:模型更新模块,在每次识别完成后,将分类识别为用户本人键入的数据添加到所述训练用数据库中,并向自动编码器模型训练模块发送模型更新指令。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种基于5G技术的工业园区应用安全支撑系统及方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类