首页 / 专利库 / 诊断设备和程序 / Q-T间期 / 一种基于击键特征识别的认证方法及系统

一种基于击键特征识别的认证方法及系统

阅读:235发布:2023-03-01

专利汇可以提供一种基于击键特征识别的认证方法及系统专利检索,专利查询,专利分析的服务。并且一种基于 击键 特征识别的认证方法及系统,属于网络的身份认证领域,包括以下步骤:(1)声称身份是ID的用户输入口令,如果正确,判断用户样本数是否达到设定数量,是,进入步骤(2);否,进行训练;(2)声称身份是ID的用户输入 指定 文本,(3)从用户击键特征模板中找到用户ID的HMMλID(∏,A,B),计算ID用户的 阈值 概率P1,计算身份为ID的用户该次输入文本的击键时间特征值T的概率P2,(4)比较阈值概率P1与用户ID生成指定文本的概率P2,如果P2=≥P1,认证成功,否则失败。本 发明 对击键动态认证进行建模;并结合正态分布、参数最大似然估计,计算模型中的参数;使得建立起的模型能够对用户身份的进行认证。,下面是一种基于击键特征识别的认证方法及系统专利的具体信息内容。

1.一种基于击键特征识别的认证方法,其特征是包括以下步骤:
(1)声称身份是ID的用户输入口令,如果正确,判断用户样本数是否达到设定数量,是,进入步骤(2);否,进行训练,所述的训练方法为:
1)用户输入指定文本S={K1,K2,...,Km},其中,K1,K2,...,Km为击键对应的字符或键码,
此含有m个字符的序列中拥有n字母组的个数为m-n+1,将S转换为n字母组G,设G={g1,g2,...,gm-n+1},将按键的键码、压下时间 和弹起时间
存入击键特征模板;
2)是否达到设定的样本数量,是,进入步骤3),否,返回步骤1);w表示第w个样本,样本设定数量为7~10;
3)计算击键特征模板中各个n字母组的时间特征值 的期望值
2
μ(g)和方差σ(g),以及初始状态概率∏和相应的状态转移概率A,
其中: u为训练所需的击键特征样本个
数,
tw(g)为第w个样本中n字母组g的时间特征值进行标准化处理后得到的;
任意的n字母组gi,i=1,2,...,m-n+1,其初始状态概率为
上式中:|gi|表示n字母组gi在击键序列S中出现的次数,分母部分则为此击键序列中n字母组的个数;
一个n字母组gi,i=1,2,...,m-n+1向另一个n字母组gj,j=1,2,...,m-n+1的状态转移概率 则通过下式计算:
其中, 表示gi与gj间的一种连接,如果gi的最后n-1个字母和gj的前n-1个字母相同,则有 q∈{1,2,...,m-n},即二者进行该连接后,形成的n+1字母组为本击键序列产生的,此时,有
q∈{1,2,...,m-n}且
而当gi的后n-1个字母和gj的前n-1个字母不相同时,则有 此时,有
4)将计算结果存入该用户的模板数据库
(2)声称身份是ID的用户输入指定文本,该文本的击键序列S={s1,s2,...,sm},长度为m,包含n字母组G(n)={g1,g2,...,gm-n+1},n字母组时间特征值
表示n字母组gi的持续时间,对各个时间特征值进行标准化处理得到标准化处理后的时间特征值 为n字母组gi标准化后的持续时间,i=1,2,...,m-n+1;
(3)从用户击键特征模板中找到用户ID的隐尔可夫模型λID(∏,A,B),用户ID的各个n字母组对应的时间特征值的期望值为{μT(gj)|j=1,2,...,m-n+1},各个n字母组对应的时间特征值的方差为 根据系统设定的阈值系数δ,1<δ
<3,计算ID用户的阈值概率P1,状态输出概率向量B按公式 进
行计算,n字母组gi的状态输出概率是:
其中:μD(gi)表示n字母组gi时间特征值的期望值,σD(gi)表示n字母组gi时间特征值的方差;|gi|表示n字母组gi在击键序列S中出现的次数,阈值概率P1用下面的公式来计算:
计算阈值概率后,计算身份为ID的用户该次输入文本的击键时间特征值T的概率P2,即:
其中:
(4)比较阈值概率P1=P(Tt|λID)与用户ID生成指定文本的概率P2=P(T|λID),如果P2≥P1,认证成功,否则失败。
2.按照权利要求1所述的基于击键特征识别的认证方法,其特征在于步骤(4)中,认证成功之后对击键特征模板更新,过程如下:按照击键特征采集的时间先后顺序,将该用户击键特征模板训练时用到的样本进行排队;然后,将采集时间最早的样本去掉,而将本次认证过程中用户的击键样本作为队尾元素,加入到队列中,利用队列中现有的所有样本,重新计算各个n字母组的时间特征值,将其存储在该用户的击键特征模板中,替换掉原来的各个值,当设定的阈值系数δ大于等于2时,则对各n字母组时间特征值的期望和方差全部更新;当设定的阈值系数δ小于2时,则只更新各n字母组时间特征值的期望值。
3.按照权利要求1所述的基于击键特征识别的认证方法,其特征在于所述的阈值系数δ,获取步骤如下:假定输入序列中的各个n字母组gi对应的时间特征值与其已有的正态分布的期望值相差若干不同倍的方差,以这些不同倍的方差为自变量,作出错误拒绝率FRR曲线和错误接受率FAR曲线,两个曲线会有一个交点,则选择该点周围作为阈值系数δ,设定1<δ<3;其中错误拒绝率FRR:合法用户的登录请求被当作非法用户而被拒绝的比例,错误接受率FAR:非法用户以合法用户的身份进行登录的请求被系统接受的比例。
4.按照权利要求1所述的基于击键特征识别的认证方法,其特征在于n字母组时间特征值之后进行标准化处理,步骤如下:选择将每个时间特征值标准化为一个0到N的值,N取700~900,对采集到的每个击键时间特征值ti,若完成该次击键样本采集花费的总的时间为T1,设标准化后的时间特征值为t′i,则有
5.按照权利要求1所述的基于击键特征识别的认证方法,其特征在于所述的n字母组采用3字母组。
6.一种实现权利要求1所述的基于击键特征识别的认证方法的系统,其特征在于该系统包括
初始登录模,训练模块和认证模块,
初始登录模块,包括用户注册单元、口令核对单元和用户样本数对比单元,其中用户样本数对比单元:在登录时,对用户已经输入的样本的数量进行查询,如果用户的样本数已达到规定的数量,则转入认证模块进行认证;如果用户的样本数尚未达到规定数量,则转入训练模块继续进行样本采集;
训练模块包括客户端训练子模块和服务器端训练子模块,其中客户端训练子模块在浏览器端为用户提供需输入内容的相关注意事项说明和具体内容提示,用户根据提示进行输入,相关的数据之后就被转到击键处理程序处理,击键处理程序记下具体按键信息;同时该子模块还提供对数据的基本预处理:如果取n字母组来分析击键时间特征值,那么系统首先将此文本序列S转换为n字母组G,设G={g1,g2,...,gm-n+1},将按键的键码、压下时间和弹起时间 存入击键特征模板,其次,计算各个
n字母组的时间特征值,将其表示为 最后,将得到的各个时间特征值
进行标准化处理,设标准化处理后的时间特征值为 服务器端训练
子模块是对数据进行进一步处理并将其进行保存,客户端由击键处理程序预先处理好的击键的具体数据信息会发到服务端的接收处理程序处理,接收处理程序试着将这些信息存入击键数据样本数据库和用户模板数据库,并在成功存入后给用户以相应反馈;
认证模块包括两个子模块,客户端认证子模块和服务器认证子模块,客户端认证子模块在客户进行登录时用户输入与样本一样的内容,相关的数据之后就被转到认证处理程序处理,根据系统设定的阈值系数δ,1<δ<3,计算ID用户的阈值概率P1;之后数据信息就被发到服务端,服务器认证子模块:根据本系统的基于统计学建立的模型,对接收到的数据进行验证,比较阈值概率P1=P(Tt|λID)与用户ID生成指定文本的概率P2=P(T|λID),如果P2≥P1,认证成功,否则失败;如果符合该用户的击键特征,则将其作为新样本,按照本系统使用的模板库更新标准,对样本库进行更新。
7.根据权利要求6所述的基于击键特征识别的认证方法的系统,其特征在于该系统还包括数据分析模块,该模块通过在浏览器端打开实验结果分析页面,进行实验结果分析,在该页面中,对系统的参数进行设置,包括训练模块采用多少个输入样本、击键特征模板是否动态更新、采用的时间特征值,用户设置各项参数并提交请求后,服务器端进行计算,并将结果返回给浏览器端,参数设置之后,每次计算都产生多个P1阈值概率,用户当前产生的概率P2与每次计算产生的多个P1阈值概率都要进行比较,得到被接受还是被拒绝的结果,将得到的相应结果数据输出到结果文件之中,根据不同的实验目的用这些结果进行分析。

说明书全文

一种基于击键特征识别的认证方法及系统

技术领域

[0001] 本发明属于网络的身份认证领域,特别涉及一种基于击键特征识别的认证方法。 背景技术
[0002] 当前绝大多数网络和信息系统,都是通过用户名和密码机制对访问者的身份进行认证。然而,仅仅依靠这种认证机制,会存在很多安全问题。主要存在的安全问题体现在以下三个方面:
[0003] (1)密码一旦被敌手(黑客、网络入侵者、恶意破坏者等)窃取,敌手就可以轻易地以该合法用户的身份登录到系统中,进而非法使用本来是该合法用户才可以使用的资源。 [0004] (2)用户为了防止密码遗忘,通常会选择较弱的密码,如自己的名字、生日或某个单词等,这又降低了敌手窃取其密码的难度。
[0005] (3)用户名密码机制,并不能保证用户身份的唯一性,即任何知道该用户名和对应密码的人,都可以以该用户的身份进行登录,访问系统资源。但在实际应用情况中,许多资源的提供者并不希望这种情况发生。他们希望每一个用户的账号,只能为该用户一个人使用,而不能被其他人使用,即使这种使用是经该用户授权的。例如,一个提供在线视频教学服务的提供商,只希望一个账号为一人所用,而不希望这个账号被许多人使用。针对此种情况,传统的用户名密码认证机制是无能为的。
[0006] 利用现代生物认证技术,可以有效地解决上述问题。这些技术包括指纹识别、虹膜识别语音识别等。然而,这其中的绝大部分技术,存在需要使用专设备、实施成本较高、程序较繁琐等这样或那样的缺陷,因此,在通常的应用场合下,并不适用。例如,如果某项服务需要用户提供其指纹进行认证才能使用,那么许多用户可能会拒绝使用该服务,因为用户不希望其指纹被随意记录。且另一方面,用户为了使用该服务,还需额外添置一台指纹识别仪,因此增加了该用户的开销。再如,语音识别,虽然成本不高(可能只需一个麦克),且多数用户不介意系统对自己的声音进行记录。但是,如果用户每次访问某种资源时,都需要对着麦克风喊话,才可以进行认证,无论用户自己,还是用户周围的人,都是无法忍受的。大多数击键动态认证系统的研究都不够完整和充分,往往都是针对某一部分进行的,例如仅对数据采集、分类器模型或模板库更新进行单一研究。实际应用中,没有完整的基于击键动态认证的方法,目前的研究只是针对击键动态认证的某一部分进行的,没有一个完整的实现方法。

发明内容

[0007] 为了克服现有网络认证方法成本较高、程序较繁琐等缺陷,以及现有的击键动态认证方法没有一个完整的实现方法,本发明提供了一种基于击键特征识别的认证方法及系统。
[0008] 本发明采用的技术方案是:
[0009] 基于击键特征识别的认证方法,包括以下步骤:
[0010] (1)声称身份是ID的用户输入口令,不正确重新输入;如果正确判断用户样本数是否达到设定数量,是,进入步骤(2);否,进行训练;样本设定数量为7~10。 [0011] (2)声称身份是ID的用户输入指定文本,该文本的击键序列S={s1,s2,...,sm},(n)si表示第i个字母;包含n字母组G ={g1,g2,...,gm-n+1},n字母组时间特征值T={t1,t2,t3,...,tm-n+1},进行标准化处理之后的时间特征值为 表示n字母
组gi的持续时间。当n=1(单字母组)时,击键持续时间即为当前按键从压下到弹起之间的时间间隔。当n≥2时,n字母组击键持续时间可定义为:对n字母组击键时最后一个n 1
按键的弹起时间(TKR)与第一个按键的压下时间(TKP)之间的时间间隔,即
[0012] 用l表示击键时间间隔。本发明对n字母组的击键时间间隔的定义,n字母组中最后一个字母的按键压下时间与第一个字母的按键压下时间之间的间隔,为击键时间间隔。用符号表示为
[0013] n个连续输入的字母(或n次连续击键对应的键码)的组合,叫做n字母组。根据这个定义,当n=1时,称其为单字母组;当n=2时,称其为双字母组……以此类推。 [0014] (3)从 用 户 击 键特 征 模 板 中 找 到 用 户ID的HMM λID( ∏,A,B),用户ID的各个n字母组对应的时间特征值的期望值为{μT(gj)|j=1,2,...,m-n+1},各个n字母组对应的时间特征值的方差为
计算 该 用 户ID的HMM λID(∏,A,B) 生成 指 定 文本 的 概率 P(Tt|λID),其 中计算阈值概率:
[0015]
[0016]
[0017] 声称身份是ID的用户击键时间特征值T的概率P(T|λID);根据系统设定的阈值系数δ, 1<δ<3,计算ID用户的阈值概率P1,状态输出概率向量B需要按公式 进行计算,
[0018]
[0019]
[0020] 其中:μD(gi)表示n字母组gi的期望值,σD(gi)表示n字母组gi的方差; (|gi|表示n字母组gi在击键序列S中出现的次数)
[0021]
[0022]
[0023] 最后,给定的参数为λ=(A,η,π)的HMM产生击键序列S且时间特征值为T的概率如下:
[0024]
[0025] π和所有的ai,i+1以及所有的bi相部相乘到一起便可得出Pr[KS,G(n),T|λ]的值。
[0026] 阈值概率P1=P(Tt|λID)用下面的公式来计算:
[0027]
[0028] 计算阈值概率后,计算身份为ID的该次输入文本的击键时间特征值T的概率P2=P(T|λID),即
[0029] (|gi|表示n字母组gi在击键序列S中出现的次数)
[0030]
[0031]
[0032]
[0033] 其中:
[0034]
[0035] (4)比较阈值概率P(Tt|λID)与用户ID生成指定文本的概率P(T|λID),如果P(T|λID)≥P(Tt|λID),认证成功,否则失败。
[0036] 步骤(4)中,认证成功之后对击键特征模板更新,过程如下:按照击键特征采集的时间先后顺序,将该用户击键特征模板训练时用到的样本进行排队;然后,将采集时间最早的样本去掉,而将本次认证过程中用户的击键样本作为队尾元素,加入到队列中,利用队列中现有的所有样本,重新计算各个n字母组的时间特征值,将其存储在该用户的击键特征模板中,替换掉原来的各个值,当阈值大于等于2时,则对各n字母组时间特征值的期望和方差全部更新;当阈值小于2时,则只更新各n字母组时间特征值的期望值。 [0037] 其中训练过程,步骤如下:
[0038] 1)用户输入指定文本S,转换为n字母组G,设G={g1,g2,...,gm-n+1},将按键的键码、压下时间 和弹起时间 存入击键特征模板;
[0039] 2)是否达到设定的样本数量,是,进入步骤3),否,返回步骤1);样本设定数量为7~10。
[0040] 3)计算击键特征模板中所有n字母组时间特征值 的期望值μ和方差σ,以及初始状态概率∏和相应的状态转移概率A,
[0041] 其中: u为训练模板所需的击键特征样本个数,ti(g)为第i个样本中n字母组g的时间特征值,并对n字母组时间特征值进行标准化处理;
[0042] 任意的n字母组 (i=1,2,...,n-m+1),其初始状态概率为
[0043]
[0044] 上式中:|gi|表示n字母组gi在击键序列S中出现的次数,分母部分则为此击键序列中n字母组的个数;
[0045] 一个n字母组gi(i=1,2,...,m-n+1)向另一个n字母组gj(j=1,2,...,m-n+1)的状态转移 概率aij,则通过下式计算:
[0046]
[0047] 其中, 表示gi与gj间的一种连接,如果gi的最后n-1个字母和gj的前n-1个字母相同,则有 (k∈{1,2,...,m-n}),即二者进行该连接后,形成的n+1字母组为本击键序列产生的,此时,有
[0048] (k∈{1,2,...,m-n}且 )
[0049] 而当gi的后n-1个字母和gj(n)的前n-1个字母不相同时,则有 此时,有
[0050]
[0051] 4)将计算结果存入该用户的模板数据库
[0052] 对于用户输入指定文本,在认证的过程中以及训练的过程中,对n字母组时间特征值之后进行标准化处理,可以更好的获得时间特征值。步骤如下:选择将每个时间特征值标准化为一个0到N的值,N取700~900,对采集到的每个击键时间特征值ti,若完成该次击键样本采集花费的总的时间为T,设标准化后的时间特征值为t′i,则有 例如,假设用户前后两次对一个仅含三个字母的字符序列S进行输入,其中包含两个双字母组g1,g2,用户第一次输入时,其双字母组持续时间分别为 用户第二次输入时,其双字母组持续时间分别为 现在,对其进行标
准化处理,若取N为800,则对双字母组g1而言,其前后两次输入的标准化后的持续时间值为
[0053]
[0054]
[0055]
[0056]
[0057] 同理,可求出双字母组g2的前后两次标准化后的持续时间分别为
[0058] 由此可见,在用户的击键特征呈现出一种相对的稳定性的时候,若对其时间特征值进行标准化,则用户因受其它因素影响而产生的输入速度上的差异,就会被屏蔽掉。 [0059] 对特征值进行标准化,不只是在击键动态认证中的训练阶段求正态分布中的期望和方差时被使用,在认证阶段中,对采集到的击键时间特征值,也必须采用标准化方法来进行处理。只有这样,才能将认证阶段与训练阶段在整体输入速度上的差异屏蔽掉。 [0060] 所述的n字母组采用3字母组。
[0061] 本发明设定的阈值系数1<δ<3,获取步骤如下:假定输入序列中的各个gi2 2
对应的时间特征值与其已有的正态分布的期望值相差若干不同倍的方差σ,如0.2σ、
2 2 2 2 2
0.4σ、0.6σ...1σ、2σ、4σ 等等,以这些不同倍的方差为自变量,作出FRR(错误拒绝率:合法用户的登录请求被当作非法用户(而被拒绝)的比例)曲线和FAR(错误接受率:
非法用户以合法用户的身份进行登录的请求被系统接受的比例)曲线,两个曲线会有一个交点,则选择该点周围作为阈值系数δ,设定1<δ<3。(因为该点是可选取的最优点,因为两个曲线相交说明,该点的FAR和FRR对系统来说都是可接受的);这点对应的自变量是x倍方差,那么我们就以x倍方差为准,即假定输入序列中的各个gi对应的时间特征值
2
与其已有的正态分布的期望值相差x倍的方差σ,然后计算出P1就可以了。
[0062] 本发明的基于击键特征识别的认证方法所采用的系统
[0063] 该系统包括初始登录模,训练模块,认证模块和数据分析模块, [0064] 初始登录模块,包括用户注册单元、口令核对单元和用户样本数对比单元,其中用户样本数对比单元:在登录时,对用户已经输入的样本的数量进行查询,如果用户的样本数已达到规定的数量,则转入认证模块进行认证;如果用户的样本数尚未达到规定数量,则转入训练模块继续进行样本采集;
[0065] 训练模块包括客户端训练子模块和服务器端训练子模块,其中客户端训练子模块在浏览器端为用户提供需输入内容的相关注意事项说明和具体内容提示,用户根据提示进行输入,相关的输入数据之后就被转到击键处理程序处理,击键处理程序记下具体按键信息;同时该子模块还提供对数据的基本预处理:如果取n字母组来分析击键时间特征值,那么系统首先将此文本序列S转换为n字母组G,设G={g1,g2,...,gm-n+1},将按键的键码、压下时间 和弹起时间 存入击键特征模板,其次,计算各个n字母组的时间特征值,将其表示为 最后,将得到的各个时间
特征值进行标准化处理,设标准化处理后的时间特征值为 服务器
端训练子模块是对数据进行进一步处理并将其进行保存,客户端由击键处理程序预先处理好的击键的具体 数据信息会发到服务端的接收处理程序处理,接收处理程序试着将这些信息存入击键数据样本数据库和用户模板数据库,并在成功存入后给用户以相应反馈; [0066] 认证模块包括两个子模块,客户端认证子模块和服务器认证子模块,客户端认证子模块在客户进行登录时用户输入与样本一样的内容,相关的数据之后就被转到认证处理程序处理,根据系统设定的阈值系数σ,1<σ<3,计算ID用户的阈值概率P1;之后数据信息就被发到服务端,服务器认证子模块:根据本系统的基于统计学建立的模型,对接收到的数据进行验证,比较阈值概率P1=P(Tt|λID)与用户ID生成指定文本的概率P2=P(T|λID),如果P2=P(T,λID)≥P1=P(Tt|λID),认证成功,否则失败;如果符合该用户的击键特征,则将其作为新样本,按照本系统使用的模板库更新标准,对样本库进行更新; [0067] 该系统还可以包括数据分析模块,该模块的功能主要是通过在浏览器端打开实验结果分析页面,进行实验结果分析。在该页面中,允许对系统的参数进行设置,如训练模板采用多少个输入样本、模板是否动态更新、采用的时间特征值(持续时间/时间间隔)等。
用户设置各项参数并提交请求后,服务器端进行计算,并将结果返回给浏览器端。参数设置之后,每次计算都产生多个P1阈值概率,就是让阈值系数δ分别为0.5,1.0,1.5....0.4,
0.8,1.2....;用户当前产生的概率P2与这多个P1阈值概率都要比较,得到被接受还是被拒绝的结果。最终,将得到的相应结果数据输出到结果文件之中,根据不同的实验目的用这些结果进行分析。
[0068] 本发明的基于击键特征识别的认证方法,击键动态认证(keystroke dynamics),也称作击键特征识别、击键生物认证,是指根据用户的击键特征来对用户的身份进行认证,是一种基于行为特征的生物认证技术。作为生物认证技术的一种,它具有一般生物认证技术的优点-安全性较高、不易丢失、标识唯一性等。同时,又克服了一般生物认证技术的缺点-需要额外的设备、实施复杂、成本高等。因此,在信息化、网络化的时代,具有广阔的应用前景。
[0069] 本发明通过隐尔可夫模型(HMM),对击键动态认证进行建模;并结合正态分布、参数最大似然估计等统计学知识,计算模型中的参数;最终利用改进的前向算法,来解决评估问题,使得建立起的模型能够对用户身份的进行认证。击键特征作为一种行为特征,随着时间的推移较易发生变化。为了解决这个问题,提高系统性能,本发明提出对用户击键特征模板进行动态更新的思想,并提出三种更新方法——模板参数全部更新、模板参数部分更新及模板参数全部更新与部分更新相结合的方法,并进行相关实验。通过实验,得到结论,采用参数部分更新与全部更新相结合的模板更新方法,系统性能较原来有较大提高。此外,还对样本数量、样本中击键数、采用的时间特征值、n字母中的n值的不同等因素对系统性能的影响进行实验,通过对实验结果进行分析后,给出实际应用中这些参数的参考值。 附图说明
[0070] 图1本发明的系统结构图;
[0071] 图2本发明的系统模块图;
[0072] 图3本发明的程序流程图
[0073] 图4本发明的训练流程图;
[0074] 图5本发明的认证流程图;
[0075] 图6本发明的击键特征模板更新流程图;
[0076] 图7本发明的模板不更新时与模板全部更新时的FRR与FAR分析对比图; [0077] 图8本发明的模板不动态更新与模板动态更新时FRR与FAR分析对比图; [0078] 图9本发明的模板不更新时与模板全部更新时的FRR与FAR分析对比图; 具体实施方式
[0079] 结合附图对本发明做进一步描述:
[0080] 系统的认证总体业务流程主要包括初始登陆,认证和训练等,图3给出了程序流程图。
[0081] 首先用户登录以及注册的信息都是通过初始登录模块处理的,新注册的用户信息被存放于用户信息数据库中;已注册用户的样本个数从用户模板数据库中提出进行下一步流程的判断。
[0082] 样本数不够的用户将进入训练模块进行处理。训练模块从页面中进行数据采集,预处理。之后将成功处理了的新样本保存入击键数据样本数据库和用户模板数据库。 [0083] 样本数达到要求的用户将进入认证模块进行处理。认证模块将用户本次输入的数据采集并暂存。然后从击键数据样本数据库提出之前用户的样本信息,用统计方法处理并与本次采样比对,将比对结果放入认证信息数据库,之后决定用户是否合法。对认证成功的用户,还将用本次采样进行用户模板数据库的更新。
[0084] 根据系统的业务流程,系统的总体流程(如图3所示)主要包括以下过程, [0085] (1)用户输入ID和口令;
[0086] (2)口令判断,不下确,转到过程(1);正确,转到过程(3);
[0087] (3)用户样本数是否达到规定数量判断,未达到,转到过程(4),已达到,转到过程(11);
[0088] (4)说明采样时的注意事项;
[0089] (5)用户输入指定样本;
[0090] (6)系统采集并存储数据;
[0091] (7)预处理并存储结果;
[0092] (8)用户样本数是否达到规定数量判断,未达到,转到过程(4);已达到,转到过程(9);
[0093] (9)计算n字母组的时间特征值的期望和方差,初始状态概率和相应的状态转移概率;
[0094] (10)计算结果放入用户模板数据库,转到过程(19);
[0095] (11)用户输入指定样本;
[0096] (12)系统采集并存储数据;
[0097] (13)预处理并存储结果;
[0098] (14)从用户击键模板数据库取出此用户相关数据;
[0099] (15)计算阈值概率P1和用户产生当前特征值的概率P2;
[0100] (16)P1是否大于等于P2的判断,如果是,转到过程(17),不是,转到过程(18); [0101] (17)说明认证成功,用本次击键样本对该用户的击键模板进行更新,转到过程(19);
[0102] (18)提醒用户认证失败;
[0103] (19)结束。
[0104] 用户在进行击键动态身份认证之前,必须进行训练,这样才能建立起对应该用户的击键特征模板。训练阶段流程的流程,如图4所示。
[0105] 在训练阶段,要求用户对某一文本(由系统提供)进行若干次的输入,系统对用户输入过程中的击键事件相关值如键码、压下时间、弹起时间等进行记录,并进行预处理,如得出n字母组及对应的击键持续时间和击键时间间隔等。将其存入数据库中,以便在生成击键特征模板时使用。当用户完成系统规定次数的输入训练后,系统将数据库中存储的所有关于该用户的击键特征样本中的n字母组及对应的时间特征值提取出来,作为样本,利用正态分布的最大似然估计,求出各个n字母组时间特征值的期望和方差,将其存储在用户的击键特征模板中,用于将来计算该用户的HMM的状态输出概率。此外,系统根据用户输入样本时的击键序列,计算出该用户的HMMλ(∏,A,B)中的初始状态概率向量∏及状态转移矩阵A,并将其存储在该用户的击键特征模板中。至此,训练阶段完成。
[0106] 在认证阶段,如图5所示,系统要求用户对指定的文本序列进行一次输入,将此过程中采集到的用户的击键信息存储在数据库中,以便更新模板时使用。
[0107] 同时,对击键信息进行预处理,产生相应的n字母组及其时间特征值,并按照训练阶段同样的标准,对这两项数据进行标准化处理。最后,系统提取用户击键特征模板中对应该用户的HMMλ(∏,A,B),根据系统设定的阈值,计算出一个概率阈值P1,另一方面,根据当前用户击键的标准化后的时间特征值,计算出该模板产生当前击键时间特征值的概率P2。最后,比较这两个概率值,如果P2≥P1,则系统认为当前用户与其声称的身份一致,该用户通过认 证;否则,系统拒绝该用户。
[0108] 初始概率的确定
[0109] 给定一个击键序列S={k1,k2,...,km},其中k1,k2,...,km为击键对应的字符或键码等,若要对n字母组的时间特征进行提取,则此含有m个字符的序列中拥有的n字母组的个数为m-n+1,设n字母组的集合为G,G={g1,g2,...,gm-n+1}。同理,含有m个字符的序列中拥有的n+1字母组的个数为m-(n+1)+1=m-n,设n+1字母组的集合为G,G={g1,g2,...,gm-n}。则对任意的n字母组gi(i=1,2,...,n-m+1),其初始状态概率为 [0110]
[0111] 上式右端,分子部分|gi|表示n字母组gi(n)在击键序列S中出现的次数,分母部分则为此击键序列中n字母组的个数。因此,n字母组的初始状态概率,即为该n字母组在其所属的击键序列中出现的频率
[0112] 例如,要输入的字符序列为“leaflet”。则双字母组的集合为G(2)={le,ea,af,(2) (3)fl,le,et},双字母组的个数为|G |=m-n+1=7-2+1=6,三字母组的集合为G ={lea,eaf,afl,fle,let}。则对于双字母组“le”,其在字符序列中出现的次数|″le″|=2,因此其初始状态概率为
[0113]
[0114]
[0115] 同理,可以求出双字母组“ea”、“af”、“fl”、“et”等的初始状态概率皆为 状态转移概率的确定
[0116] 从一个n字母组gi(i=1,2,...,m-n+1)向另一个n字母组gj(j=1,2,...,m-n+1)的状态转移概率aij,则通过下式计算:
[0117]
[0118] 其中, 表示gi与gj间的一种特殊的连接,如果gi的最后n-1个字母和gj的前n-1个字母相同,则有 (k∈{1,2,...,m-n}),即二者进行该连接后,形成的n+1字母组为本击键序列产生的,此时,有
[0119] (k∈{1,2,...,m-n}且 ) (3)
[0120] 而当gi的后n-1个字母和gj的前n-1个字母不相同时,则有 此时,有 [0121]
[0122] 假设击键序列为“leaflet”,来计算双字母组的状态转移概率:
[0123] 双字母组“le”的最后一个字母(“e”)与双字母组“ea”的第一个字母(“e”)相同,因此有 且“lea”在字符序列“leaflet”中出现了1次,“le”则出现了2次,所以有
[0124]
[0125]
[0126] 即由双字母组“le”到双字母组“ea”的状态转移概率为0.5。同理,可以求出由“le”到“et”的状态转移概率为0.5。
[0127] 而对于双字母组“le”到双字母组“af”的状态转移概率,由于“le”的最后一个字母(e)与“af”的第一个字母(a)不同,因此有 所以双字母组“le”到双字母组“af”的状态转移概率为0。
[0128] 正态分布的参数计算
[0129] 对于采集到的若干击键特征样本,对其时间特征值进行标准化处理后,就可以使2
用参数的最大似然估计,来计算正态分布下各特征值的样本均值μ和方差σ。公式如下: [0130]
[0131]
[0132] 其中,u为训练模板所需的击键特征样本个数,ti(g)为第i个样本中n字母组g的时间特征值。
[0133] 也就是说,每一个状态gi都会有u次输入,每次输入都会采集到一个时间特征值ti(gi),利用这u个样本对应的u个时间特征值ti(gi),采用公式(5)和公式(6)便可为gi建立一个正态分布的模型了。在图2中有多少个gi状态,就要建立多少个正态分布模型。 [0134] 评估问题求解及I-Forward算法
[0135] 将HMM应用到击键动态认证中时,主要涉及两个问题,其中之一是前面已经介绍过的 HMM的参数确定,另一个问题,是评估问题,即根据已知的HMMλ(∏,A,B)及一个观察序列O(o1,o2,...,oT),求出该λ生成此观察序列O的概率,即P(O|λ)。本发明设计了I-Forward算法,并最终将其应用到本认证方法中。
[0136] 因为本方法使用正态分布来计算状态(n字母组)到观察值(n字母组的时间特征值)之间的输出概率,且已知用户输入的n字母组的精确组合,观察值只与相应的未知状态相关,所以,忽略时间t时的所有状态的部分概率的总和,只需计算一个概率。因此,在建立的模型中,使用I-Forward算法来解决评估问题。
[0137] 以长度为m,包含n字母组G(n)、n字母组时间特征值为T的击键序列KS的概率计算为例。
[0138] KS={K1,K2,...,Kn}
[0139] G(n)={g1,g2,...,gm-n+1}
[0140] T={t1,t2,t3,...,tm-n+1}
[0141] 通过首先计算t=1时前向变量α1,来得到产生击键序列g1(n),且时间特征值为t1时的概率为
[0142]
[0143] 然后t=2,...,k时的每一时间步,可以递归地为每一状态计算其前向变量α [0144]
[0145] 最后,给定的参数为λ=(A,η,π)的HMM产生击键序列S且时间特征值为T的概率如下:
[0146]
[0147] π和所有的ai,i+1以及所有的bi相部相乘到一起便可得出Pr[KS,G(n),T|λ]的值。
[0148] 在I-Forward算法中,只需要NT次计算。
[0149] 训练样本数设置
[0150] 本系统分别采用不同数量的样本进行模板训练后,得到认证结果的FRR(错误拒绝率:合法用户的登录请求被当作非法用户(而被拒绝)的比例)曲线和FAR(错误接受率:非法用户以合法用户的身份进行登录的请求被系统接受的比例)曲线的对比结果。 [0151] 当训练采用的样本数很少(2个)时,FRR值在各阈值下都很高。总体来说,随着训练模板所用的样本数的增加,各阈值下的FRR值均在减小。但是当样本数增加到一定数量(如超过8)时,对FRR值的改善很不明显。
[0152] 当训练模板采用的样本很少(2个)时,FAR在阈值小于4时,恒为0,即系统对非法用户的拒绝率是100%。虽然此FAR是非常理想的,但是由于该参数下的FRR值也很高——在小于4的阈值内,高于95%,因此,系统的可用性很差,所以训练模板时采用的样本数不能太少。当训练所需样本数大于等于4时,随着训练所用样本数的增加,FAR在减小。但是,由于训练模板采用的样本数越多,用户采用系统时所需的训练时间就越长,用户对系统的可接 受程度就越低,因此,训练模板所用的样本数,不能太大。当样本数大于8时,FRR和FAR值就在一个比较合理的范围内。因此,本系统建议用户采用的训练样本数为7~10。 [0153] 训练样本中击键数的设置
[0154] n字母组中n值的设置
[0155] 当采用的模板训练样本数为10,击键数为10时,不同n值的n字母组在采用持续时间和时间间隔时的FRR、FAR曲线分析情况如下:
[0156] (1)采用持续时间为特征值时
[0157] 经实验分析,单字母组时,FRR和FAR都很高,因此相应的EER也很高。随着n字母组中n值的增加,FRR在减少,但FAR的变化却没有规律性——单字母组时,FAR最高,双字母组时,FAR最低,三字母组与四字母组时的FAR随着阈值的增加而忽高忽低。但从图中可以看到,总体来说,采用持续时间为特征值时,双字母组时的EER是最低的。 [0158] (2)采用时间间隔为特征值时
[0159] 经实验分析,采用时间间隔为特征值的情况下,双字母组时,FRR高于其它字母组,FAR明显低于其它字母组。3字母组时,FRR略高于4字母组、5字母组的情况,但FAR却明显低于其余两种情况。因此,若系统要求的安全程度较高时,采用双字母组较好,虽然正确用户被拒绝的概率较高,但非法用户通过的概率也更低。在系统对安全性要求稍低的情况下,也可以采用3字母组。
[0160] 系统中特征值的选取
[0161] 当采用双字母组、击键个数为10、模板不动态更新、不进行数值标准化时,不同训练模板所需样本个数的情况下,分别采用持续时间和时间间隔时的FRR和FAR曲线分析情况如下。当采用双字母组进行分析时,若训练采用的样本数较少(如4),采用时间间隔时系统的FRR明显低于采用持续时间时,但同时其FAR也明显高于采用持续时间时,因此两种情况下系统的整体性能不相上下。但是,当训练模板所用的样本数大于等于8时,采用时间间隔时的FRR略低于采用持续时间时的FRR,但其对FAR的影响不明显。
[0162] 因此,总体来说,采用持续时间和时间间隔两种情况下的系统性能差别不大。 [0163] 动态更新模板对结果的影响
[0164] (1)模板全部更新时
[0165] 当在某一阈值下的认证成功时,就将本次输入的样本作为一个新的训练样本,而将模板 训练样本中时间最早的样本去掉,重新计算模板参数-各n字母组的时间特征值的期望和方差,下次认证时,采用本次计算得到的新的模板作为参考。这就是模板全部更新。当训练样本数为10,采用的击键数为10,且以双字母组的持续时间为特征值时,分别得到模板不更新时与模板全部更新时的FRR与FAR分析对比图(图7)分析如下:
[0166] 当阈值低于2时,由于能够通过认证的样本偏离原模板中特征值期望的程度较小,因此,此时用该样本对模板进行更新,重新计算期望和方差,产生了两方面的结果。一方面,此时模板中的特征值期望值,与当前用户输入特征较为接近,这是好的一方面;另一方面,认证过程中对模板的不断更新,使得模板中n字母组的时间特征值方差,越来越小了,这实际上是变相地提高了阈值,所以使得系统对合法用户认证请求的拒绝率(FRR)也越来越高。而当阈值大于2时,由于本身能够通过系统认证的样本数较多,因此其变化范围也较大,这就使得重新训练样本后方差变得小的程度较低,且特征值的平均值与用户认证过程中的特征值接近程度较高,因此系统的FRR增长较低;另一方面,由于攻击样本是在用户的合法样本全部与模板比较认证完成后,才进行攻击测试的,此时,用户模板已经非常接近该用户的击键特征了,且方差较不更新时小,因此,最终得到的FAR,较不更新时,明显降低。 [0167] (2)模板部分更新时
[0168] 如图8所示,当采用模板部分更新(只更新模板中的特征值期望值,不更新方差)时,当阈值小于等于2时,系统性能有明显提高——FRR降低(阈值1.6处除外)。分析其原因,本发明作者认为,这主要是由于随着认证过程中对模板的不断更新,模板中的特征值期望与用户当时的击键特征越来越接近,同时,保持其方差不变,因此,使得系统对合法用户的拒绝率(FRR)降低了。
[0169] 但另一方面,当阈值大于2时,系统性能却明显下降了——FRR基本不变,FAR显著增长。分析其原因,
[0170] (3)根据阈值对模板进行更新
[0171] 本更新策略,是对前述两种更新策略的结合,各取它们的长处——当阈值小于等于2时,模板更新时采用部分更新;当阈值大于2时,模板更新采用全部更新。使用本策略对模板进行更新,使得系统在各阈值下的性能均有所提高。
[0172] 如图9所示,采用根据阈值对模板进行更新(全部或部分更新)的方法后,系统的性能得到了提高,与不更新时相比,FRR与FAR值的和在绝大部分情况下(除0.4和1.6阈值处外)都降低了,因此在各阈值下,采用本更新策略,降低了系统的AFR(平均错误率)。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈