基于孪生网络模型的击键身份认证识别方法及系统

文档序号:30095802发布日期:2022-05-18 10:48阅读:230来源:国知局
基于孪生网络模型的击键身份认证识别方法及系统

1.本发明属于身份认证识别技术领域,特别涉及一种基于孪生网络模型的击键身份认证识别方法及系统。


背景技术:

2.用户在登录计算机系统前,一般需要键入正确的用户名和口令而通过认证。高安全等级的计算机系统往往采用多因子认证方式,把口令和其它认证手段结合起来使用。这些手段包括身份卡、u盾等介质,也包括人脸、指纹等生物特征。研究表明:人敲击键盘的“节奏”可以作为身份认证和识别的生物特征。人在敲击键盘时,计算机系统可以旁路采集其击键行为数据。该过程无需额外设备,且对被采集者透明,是计算机系统登录认证的一种理想生物特征。
3.人们通常把按键事件发生的时间间隔作为击键行为特征。在基于击键事件序列的身份认证和识别领域,固定文本的研究较多。常用卡内基.梅隆大学(cmu)固定文本数据集记录了文本“.tie5ronal”对应的击键事件间的时间间隔,其中每个被试者采集了8次(session)数据,每次50个样本,每一个样本对应31维特征向量,是一个十分规整的数据集。现有基于统计检验、模式识别、机器学习、深度神经网等设计各种击键事件序列分类模型,绝大部分解决的是闭集识别问题,即测试数据中的类别一定属于训练数据集中的(已知)类别,不包含未知类别。但在实际应用中要识别的样本可能不属于训练数据中的类别。因此,亟需一种能够满足击键事件序列分类开集识别的方案,以提升通过击键生物特征来实现身份认证识别的应用效果。


技术实现要素:

4.为此,本发明提供一种基于孪生网络模型的击键身份认证识别方法及系统,利用孪生网络构建击键身份识别模型,训练后的孪生网络可以比较未在训练集中出现的类别样本,以提升击键生物特征在人脸识别、目标跟踪等领域中的应用效果。
5.按照本发明所提供的设计方案,一种基于孪生网络模型的击键身份认证识别方法,包含如下内容:
6.基于孪生网络构建用于特征提取和认证识别的击键身份识别模型,并利用击键事件序列文本数据集对模型的特征提取和认证识别进行训练测试;
7.收集目标注册用户多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取目标注册用户每个击键事件样本与其剩余击键事件样本特征相似度,将获取的目标注册用户相似度均值作为该目标注册用户的识别认证阈值;
8.针对待认证识别用户,收集其多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取待认证识别用户击键事件特征与目标注册用户击键事件特征相似度,根据目标注册用户识别认证阈值来判定该待认证识别用户是否为目标注册用户。
9.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,击键事件特
征序列以5元组存储,且每个击键事件特征包含每个击键事件对应的按键值、单个按键按下到释放的持续时间、及相邻前后按键动作中前个按键释放至后个按键释放的动作之间间隔时间。
10.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,前后按键动作之间间隔时间包含:ud time、dd time及uu time,其中,ud time为后个按键释放时间点与前个按键按下时间点差值,dd time为后个按键按下时间点与前个按键按下时间点差值,uu time为后个按键释放时间点与前个按键释放时间点差值。
11.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,击键身份识别模型包含:用于对输入的用户击键事件样本进行特征提取的两个分支网络,与分支网络连接用于对孪生网络的两个特征输出进行做差对比的比较层,及与对比层输出连接依据做差对比结果判定输入的用户击键事件样本是否为同类的决策层。
12.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,分支网络包含:用于对击键事件输入不定长序列的填充部分进行掩盖的masking层,用于对masking层输出向量进行批标准化处理的标准化处理层,用于通过对批标准化处理后的向量数据提取特征的lstm层,及用于对提取特征进行降维的全连接层。
13.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,标准化处理层在批标准化处理中,若击键事件输入长度小于预设长度值时,在击键事件序列后填充0,直至输入长度达到预设长度值,若击键事件输入大于预设长度值时,则丢弃击键事件序列超出预设长度值的部分。
14.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,所述击键身份识别模型表示为:其中,x,x'表示输入的两个用户击键事件样本,分别表示两个分支网络提取特征输出,v表示权重参数,b表示偏置项参数,sigmoid()表示激活函数。
15.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,利用已知用户标签类别的多个用户自由文本击键事件样本作为训练测试击键身份识别模型的击键事件序列文本数据集。
16.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,击键身份识别模型训练测试中,采用二元交叉熵作为目标损失函数、并利用自适应矩估计作为优化器进行训练测试中的参数优化。
17.进一步地,本发明还提供一种基于孪生网络模型的击键身份认证识别系统,包含:模型构建模块、用户注册模块及认证识别模块,其中,
18.模型构建模块,用于基于孪生网络构建用于特征提取和认证识别的击键身份识别模型,并利用击键事件序列文本数据集对模型的特征提取和认证识别进行训练测试;
19.用户注册模块,用于收集目标注册用户多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取目标注册用户每个击键事件样本与其剩余击键事件样本特征相似度,将获取的目标注册用户相似度均值作为该目标注册用户的识别认证阈值;
20.认证识别模块,用于针对待认证识别用户,收集其多个击键事件样本,利用击键身
份识别模型提取每个击键事件特征序列并获取待认证识别用户击键事件特征与目标注册用户击键事件特征相似度,根据目标注册用户识别认证阈值来判定该待认证识别用户是否为目标注册用户。
21.本发明的有益效果:
22.本发明利用孪生网络构建击键身份识别模型,能够充分挖掘击键事件序列数据中的潜在规律,通过模拟训练优化获取更精确的相似度度量标准,在保证识别准确率的同时,可满足计算机系统利用击键生物特征来实现用于注册、认证/识别场景中的应用,能够实现对未知用户的开集识别,具有较好的应用前景。
附图说明:
23.图1为实施例中基于孪生网络模型的击键身份认证识别方法流程示意;
24.图2为实施例中击键事件序列及特征示意;
25.图3为实施例中击键身份识别模型示意;
26.图4为实施例中模型训练验证准确率示意。
具体实施方式:
27.为使本发明的目的、技术方案和优点更加清楚、明白,下面结合附图和技术方案对本发明作进一步详细的说明。
28.本发明实施例,提供一种基于孪生网络模型的击键身份认证识别方法,参见图1所示,包含如下内容:
29.s101、基于孪生网络构建用于特征提取和认证识别的击键身份识别模型,并利用击键事件序列文本数据集对模型的特征提取和认证识别进行训练测试;
30.s102、收集目标注册用户多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取目标注册用户每个击键事件样本与其剩余击键事件样本特征相似度,将获取的目标注册用户相似度均值作为该目标注册用户的识别认证阈值;
31.s103、针对待认证识别用户,收集其多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取待认证识别用户击键事件特征与目标注册用户击键事件特征相似度,根据目标注册用户识别认证阈值来判定该待认证识别用户是否为目标注册用户。
32.利用孪生网络构建击键身份识别模型,能够充分挖掘击键事件序列数据中的潜在规律,通过模拟训练优化获取更精确的相似度度量标准,在保证识别准确率的同时,可满足计算机系统利用击键生物特征来实现用于注册、认证/识别场景中的应用。
33.作为本发明基于孪生网络模型的击键身份认证识别方法,进一步地,击键事件特征序列以5元组存储,且每个击键事件特征包含每个击键事件对应的按键值、单个按键按下到释放的持续时间、及相邻前后按键动作中前个按键释放至后个按键释放的动作之间间隔时间。进一步地,前后按键动作之间间隔时间包含:ud time、dd time及uu time,其中,ud time为后个按键释放时间点与前个按键按下时间点差值,dd time为后个按键按下时间点与前个按键按下时间点差值,uu time为后个按键释放时间点与前个按键释放时间点差值。
34.将按键事件发生的时间间隔作为击键行为特征时,如图2以键入“ball”单词为例,
展示了ud time、dd time、hold time、trigraph以及n-graph等时间间隔特征。其中,按键按下对应down事件,按键释放对应up事件。这些特征按顺序构成击键事件序列样本的特征向量,能够利用击键身份识别模型充分挖掘出相邻击键事件动作时间之间的隐含关系,提高击键身份识别准确度。可利用已知用户标签类别的多个用户自由文本击键事件样本作为训练测试击键身份识别模型的击键事件序列文本数据集。
35.作为本发明实施例中基于孪生网络模型的击键身份认证识别方法,进一步地,击键身份识别模型包含:用于对输入的用户击键事件样本进行特征提取的两个分支网络,与分支网络连接用于对孪生网络的两个特征输出进行做差对比的比较层,及与对比层输出连接依据做差对比结果判定输入的用户击键事件样本是否为同类的决策层。进一步地,分支网络包含:用于对击键事件输入不定长序列的填充部分进行掩盖的masking层,用于对masking层输出向量进行批标准化处理的标准化处理层,用于通过对批标准化处理后的向量数据提取特征的lstm层,及用于对提取特征进行降维的全连接层。进一步地,标准化处理层在批标准化处理中,若击键事件输入长度小于预设长度值时,在击键事件序列后填充0,直至输入长度达到预设长度值,若击键事件输入大于预设长度值时,则丢弃击键事件序列超出预设长度值的部分。进一步地,击键身份识别模型训练测试中,采用二元交叉熵作为目标损失函数、并利用自适应矩估计作为优化器进行训练测试中的参数优化。
36.参见图3所示,分支gw(g)可由单层lstm网络和1个dense层组成。lstm的隐藏层可设置128个神经元。为避免激活函数出现饱和,在lstm层前增加批标准化(batch normalization)处理。为避免过拟合,在lstm的隐藏层可执行0.2的drop out。分支的输入数据为长度为m的特征序列。特征序列的元素是一个5元组:每个击键事件对应的按键值、按键的hold time、前后按键的ud time、前后按键的dd time、前后按键的uu time。若击键事件序列长度n>m,则截断丢弃超出长度的部分m;如果n<m,则在序列后面填充0。为确保填充部分不影响损失函数的计算,在数据输入时做masking处理。实验中,m的值为70。
37.分支的dense层的输入可为128维,输出gw(x)是模型的embedding,两个分支输出的embedding向量差的绝对值作为对比层,对比层连接决策层(多层感知机)。
38.决策层由两个dense层组成,接收输入的dense层的维度和模型的embedding一致,激活函数为relu,输出对应的dense层可设置1个神经元,激活函数为sigmoid。模型可以形式化成:其中v是多层感知机的权重参数,b是其偏置项。表1是模型的一些主要超参数。
39.表1孪生网络模型的主要超参数
[0040][0041]
分支结构的单层lstm的输出为128维,若不降维处理,模型的embedding也为128,
即分支最后的dense层的输入和输出为128维。实际应用中,可以为了降低模型的复杂度,在确保模型的分类准确率的前提下,尽量降低embedding的维度,即分支结构的输出dense层神经元个数也可以是64,甚至更小的维度。
[0042]
模型采用二元交叉熵损失函数进行训练,用dropout防止过拟合,用nesterov加速的自适应矩估计(nadam,nesterov-accelerated adaptive moment estimation)作为优化器。模型的输入是击键事件序列样本对《x,x'》,其对应的标签为二元交叉熵损失函数为:将测试样本对输入训练好的模型得到的输出值score(相似度)越接近0表明两个样本的相似度越高,score越接近1表明两个样本的相似度越低。分类时,把目标用户的k个样本{xi}
i=1,2,k,k
作为注册样本,计算测试样本xj与这k个样本的相似度均值据的大小判断测试样本是否属于目标用户。
[0043]
进一步地,基于上述的方法,本发明实施例还提供一种基于孪生网络模型的击键身份认证识别系统,包含:模型构建模块、用户注册模块及认证识别模块,其中,
[0044]
模型构建模块,用于基于孪生网络构建用于特征提取和认证识别的击键身份识别模型,并利用击键事件序列文本数据集对模型的特征提取和认证识别进行训练测试;
[0045]
用户注册模块,用于收集目标注册用户多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取目标注册用户每个击键事件样本与其剩余击键事件样本特征相似度,将获取的目标注册用户相似度均值作为该目标注册用户的识别认证阈值;
[0046]
认证识别模块,用于针对待认证识别用户,收集其多个击键事件样本,利用击键身份识别模型提取每个击键事件特征序列并获取待认证识别用户击键事件特征与目标注册用户击键事件特征相似度,根据目标注册用户识别认证阈值来判定该待认证识别用户是否为目标注册用户。
[0047]
击键身份识别模型训练测试中,可用大量的击键事件序列数据集训练得到孪生网络模型y=f(x
left
,x
right
),其中x
left
和x
right
为输入模型的两个样本,y为模型的输出,即输入样本对《x
left
,x
right
》的相似度。训练测试后,在认证和识别场景应用的过程,可如下所示:
[0048]
1.认证场景
[0049]
注册阶段。用户a通过键盘随意键入k段文本,每段文本对应一个击键事件序列样本。计算机系统旁路采集并保存用户a的这k个注册样本系统计算每个样本s
ia
与其它k-1个样本的相似度均值然后把这k个相似度的均值作为认证阈值thresholda。
[0050]
认证阶段。某用户拟以身份a登录系统,随意键入一段文本,计算机系统旁路采集
该文本对应的击键事件序列x
query
。计算x
query
和a的k个注册样本的相似度的均值比较和thresholda大小,如果则x
query
不属于用户a,认证失败,反之,认证成功。
[0051]
2.识别场景
[0052]
注册阶段。同认证场景一样,用户u通过键盘随机加入k段文本,每段文本对应一个击键事件序列样本,计算机系统旁路采集并保存用户u的这k个注册样本这里u=1,2,k,n,表示系统有n个注册用户。和认证场景一样,系统计算每个注册用户的识别阈值thresholdu。
[0053]
识别阶段。某用户随机键入一段文本,计算机系统旁路采集该文本对应的击键事件序列x
query
。计算x
query
与注册用户u的相似度找出满足s.t.socreu≤thresholdu的u,如果u存在,则u为x
query
所属的用户身份,如果u不存在,则x
query
属于未知用户。
[0054]
并利用aalto university自由文本数据集的68000个用户的数据训练模型,在剩余的数据中选5000个用户的数据测试分类效果。训练模型的击键事件序列数据集i=1,2,k,68000,j=1,2,k,15,其中样本的下角标表示第i个用户,上角标表示该用户的第j个样本。每个用户有个同类样本对,个不同类样本对,构成训练模型的击键事件序列对集图4展示了分支的输出dense层神经元数取不同值时,孪生网络模型训练过程中的训练和验证准确率。训练过程中,模型输出小于0.5时判定输入样本对属于同一用户,反之,不属于同一用户。其中,模型的embedding维度为128和64时模型的分类准确度较高,维度为3和2时,分类准确度较低,维度为32时分类准确度最低。表2展示经过100个epoch的训练,不同embedding维度的模型取得的最佳验证准确率。测试时,根据每个用户的注册样本确定模型分类的阈值(不一定是0.5)。因此,分类效果的差异可能与训练数据集中类别数量大小及embedding维度有关,在实际场景应用中,可选用灵活的网络结构以提升分类效果。
[0055]
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
[0056]
基于上述的方法和/或系统,本发明实施例还提供一种服务器,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的方法。
[0057]
基于上述的方法和/或系统,本发明实施例还提供一种计算机可读介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的方法。
[0058]
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
[0059]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0060]
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1