技术领域
本发明涉及信息安全领域,具体涉及一种基于鼠标行为时频联合分析的持续身份认证方法。
背景技术
截止2019年,全球77.5亿人口中,网络用户总量达到45.4亿,占总人口数的59%。每位网络用户都拥有自己的网络账户,由于越来越流行的实名制要求,这些账户几乎都会关联着用户本人的私密信息甚至经济资产等。因此,保护网络账户的安全成为一项重要的挑战。
目前最主流的方式是为账户设置密码来验证登陆者身份,即静态身份认证(Static Authentication,SA)。但静态身份认证有它的局限之处。例如会话劫持会跃过SA,而密码盗用行为会使得SA被欺骗。显然,这个交互过程来自于不可信的交互主体,而SA无法检测这种不可信的交互行为,我们需要一种技术来为SA进行补充。
研究人员提出根据用户鼠标交互行为在时域的特点来判断是否属于真实用户。这些研究皆证明了用户鼠标行为模式具有独特性,可用于验证身份。然而,没有人的行为能够始终以相同的方式表现。研究考虑行为与身份之间的关系,提出了信任的概念,即与模版偏离大的行为会使当前用户身份信任度降低,与模版相近的行为使得身份信任度增加。连续认证(Continuous Authentication,CA)的研究构建用户行为与身份可信度的关联关系,基于对行为的持续评价,实现对用户身份的判定。但是,现有技术中,对于鼠标行为模式特点的挖掘主要集中在时域,忽略了频域特征,精确性较差。
发明内容
因此,本发明需要解决的问题是:综合考虑鼠标行为数据的时、频域特征,进而更加准确的持续验证交互主体的身份。
为了解决上述技术问题,本发明采用了如下的技术方案:
一种基于鼠标行为时频联合分析的持续身份认证方法,包括:
S1、持续采集用户鼠标行为数据集;
S2、从用户鼠标行为数据集中提取鼠标运动行为时域特征及鼠标运动行为频域特征;
S3、基于鼠标运动行为时域特征及鼠标运动行为频域特征生成用户鼠标行为时频域特征;
S4、将用户鼠标行为时频域特征输入可信交互模型得到对应的信任值;
S5、当信任值小于或等于锁定阈值时,锁定用户。
优选地,步骤S2包括:
S201、用户鼠标行为数据集中的数据进行预处理,删除重复值、空值并按照时间顺序排序;
S202、基于用户鼠标行为数据集中鼠标位置与时间的关系计算鼠标运动行为时域特征;
S203、使用HHT算法计算鼠标运动行为时域特征中与时间相关的特征的瞬时频率与瞬时能量,得到鼠标运动行为频域特征。
优选地,步骤S203中,IMF筛选规则包括:高频分量中70%瞬时频率低于13Hz;低频分量中50%瞬时频率高于0.5Hz。
优选地,步骤S3包括:
S301、基于鼠标操作行为的不同划分多个间隔的运动段;
S302、基于每个运动段对应的鼠标运动行为时域特征及鼠标运动行为频域特征生成对应的用户鼠标行为时频域特征。
优选地,步骤S4包括:
S401、将每个运动段对应的用户鼠标行为时频域特征输入回归模型,生成个运动段对应的用户鼠标行为时频域特征与真实用户行为模式模版之间的偏差值;
S402、将偏差值输入可信交互模型,基于偏差值与奖励或惩罚阈值的差值生成对应的奖励值或惩罚值;
S403、基于奖励值或惩罚值更新用户身份信任值,当用户身份信任值低于锁定阈值时锁定用户。
优选地,当用户身份信任值达到上限后,基于奖励值更新用户身份信任值时,用户身份信任值不再增加。
综上所述,本发明公开了一种基于鼠标行为时频联合分析的持续身份认证方法,与现有技术相比,本发明使用时频联合分析方法将鼠标行为特征的挖掘从时域拓展至频域,并构建了对应的可信交互模型,能够更加准确的持续验证交互主体的身份,进而有效保护网络账户的安全。
附图说明
为了使发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步的详细描述,其中:
图1为本发明公开的一种基于鼠标行为时频联合分析的持续身份认证方法的原理图;
图2为本发明中采集用户鼠标行为数据的系统构架;
图3为用户鼠标行为加速度信号经验模式分解过程示意图;
图4为基于Hilbert谱对IMF进行筛选的IMF2和IMF3的Hilbert谱;
图5为可信交互模型检测过程示意图;
图6为场景1的用户数据划分;
图7为场景2的用户数据划分;
图8为场景3的用户数据划分;
图9为场景1中可信交互模型进行内部检测的过程;
图10为场景2中可信交互模型进行外部检测的过程;
图11为场景3中可信交互模型进行自测的过程;
图12为场景3中可信交互模型对一名交替使用触摸板和鼠标的用户进行自测的过程。。
具体实施方式
下面结合附图对本发明作进一步的详细说明。
如图1所示,一种基于鼠标行为时频联合分析的持续身份认证方法,包括:
S1、持续采集用户鼠标行为数据集;
S2、从用户鼠标行为数据集中提取鼠标运动行为时域特征及鼠标运动行为频域特征;
S3、基于鼠标运动行为时域特征及鼠标运动行为频域特征生成用户鼠标行为时频域特征;
S4、将用户鼠标行为时频域特征输入可信交互模型得到对应的信任值;
S5、当信任值小于或等于锁定阈值时,锁定用户。
与现有技术相比,本发明使用时频联合分析方法将鼠标行为特征的挖掘从时域拓展至频域,并构建了对应的可信交互模型,能够更加准确的持续验证交互主体的身份,进而有效保护网络账户的安全。
具体实施时,步骤S2包括:
S201、用户鼠标行为数据集中的数据进行预处理,删除重复值、空值并按照时间顺序排序;
本发明中,鼠标行为数据集中数据的采集可通过嵌入式代码技术实现,能够在用户访问网站时记录数据,如图2所示。以毫秒为单位记录,生成逗号分隔符csv格式文件。原始数据中只包含①事件②时间戳③X轴坐标④Y轴坐标⑤用户ID。
现有技术中的一些研究中使用了非受控环境下的数据,但数据采集周期较短,只有几天,这类情况难以完整包含用户所有的行为模式特点。因此,本发明采用长期(时长可取两年半)收集的数据进行模型的训练。
在采集到数据后,可使用Python清洗原始数据,删除重复值、空值并按照时间顺序排序
S202、基于用户鼠标行为数据集中鼠标位置与时间的关系计算鼠标运动行为时域特征;
如表1所示,本发明中,可根据鼠标位置与时间的关系计算每位用户X轴速度、Y轴速度、切向速度等14项鼠标运动行为时域特征。
表1 鼠标行为时域特征
S203、使用HHT算法计算鼠标运动行为时域特征中与时间相关的特征的瞬时频率与瞬时能量,得到鼠标运动行为频域特征。
选取表1中与时间相关的9项特征作为原始信号,使用HHT计算他们的瞬时频率与瞬时能量,即可得到18维频域特征。
HHT是一种适用于分析非线性、非稳态信号的时频变换方法,可用于分析鼠标行为。HHT摆脱了线性时频分析方法中海森堡测不准原理的限制,通过经验模式分解(Empirical model decomposition,EMD),自适应的将原始信号分解为多个线性、稳态的本征模态函数(Intrinsic mode function,IMF),而后筛选出有效的IMF,对它们进行Hilbert变换计算信号的瞬时频率与瞬时能量,表征用户鼠标行为模式特点。
EMD思想认为,原始信号由一系列IMF组成,每个IMF分量含有信号的内在振动模式。其中,IMF需要满足两个基本条件:①对于一信号,其极值点和过零点的数目必须相等或至多相差一个点;②在任意点,由局部极大值和局部极小值构成的上、下两条包络线的平均值为0。EMD算法将一个复杂非稳态信号分解为若干本征模态函数之和,实际上就是对非平稳信号进行平稳化处理。并在分解过程中保留原始信号原来的特性。这种分解是自适应的,因而能够更好的反映信号中震颤处的本质信息。
在Matlab中调用“emd()”模块对输入信号对输入信号执行EMD。某用户鼠标加速度信号EMD过程如图3所示。第一行是加速度原始信号,向下依次为EMD后的IMF1到IMF10,残差项略去。
Hilbert变换定义瞬时频率为:设x(t)为一实信号,Hilbert变换构成解析信号:
式中,
θ(t)=arctan[v(t)/u(t)]
定义瞬时频率f
f
即实信号x(t)的瞬时频率被定义为相应解析信号z(t)的相位的导数。
定义固有模态函数c
E(t)=∑E
式中,E(t)表示信号在任意t时刻的瞬时能量值,其数值是Hilbert变换下幅值的模方。它描述了信号在不同时刻下的能量转移和波动历程。
之后,划分运动段,计算表2中14维时域特征和18维频域瞬时特征的最大值、最小值、平均值、标准差、极差,形成160项时频域特征。
最后,计算每个运动段的运动段距离s
最终得到163项时频域特征,如表2所示。
表2 鼠标行为时频域特征
具体实施时,步骤S203中,IMF筛选规则包括:高频分量中70%瞬时频率低于13Hz;低频分量中50%瞬时频率高于0.5Hz。
经过EMD后得到的IMFs并不是全都体现用户使用鼠标时个人独有的行为特点,需要筛选合适的、能体现信号本质的IMF。有研究人员在研究中针对机械震动信号,计算每个IMF与原始信号的相关系数得到判定阈值来筛选IMF。然而,上述方法在本研究中表现不佳,常常保留IMF1这样的高频噪声分量,却舍去与人体生理运动相关的低频信息。
为了专注于探究鼠标数据中反映用户行为的信息和因人而异的特点,本发明基于人体生理运动的频率分布来筛选IMF。人类受控运动的频率频率上限不超过12.46Hz,有研究人员在对手臂运动间歇性控制策略分析时选取0.5-4Hz的低频信息,综合来看,本发明主要关注0.5-13Hz以内的频域信息。不同于小波变换等方法的正交分解过程,EMD是自适应分解过程,所以各IMF带宽不确定。所以,本发明通过Hilbert变换求出每个IMF的瞬时频率,根据人类运动频率上限合理筛选IMF。定义IMF筛选规则,①高频分量中(一般是IMF1-IMF3)70%瞬时频率低于13Hz;②低频分量中(一般是IMF4之后)50%瞬时频率高于0.5Hz。
例如,对X用户加速度信号EMD后的IMF2、IMF3进行Hilbert变换,得到H谱图,如图4所示,色柱表示瞬时能量E
具体实施时,步骤S3包括:
S301、基于鼠标操作行为的不同划分多个间隔的运动段;
S302、基于每个运动段对应的鼠标运动行为时域特征及鼠标运动行为频域特征生成对应的用户鼠标行为时频域特征。
用户操作鼠标的特征特点往往表现在一段连续的操作当中,即蕴藏在一段信号序列中。有研究人员提取鼠标移动、鼠标点击拖拽、两次点击间的移动、鼠标静默四种运动的数据构建直方图作为特征;有研究人员将鼠标操作行为划分为三个层级分别计算运动特征。
日常生活中,即非受控环境,用户会在登陆后进行数据查找、资料下载、本地上传、在线通讯等交互操作。在这些操作中,铜壶控制鼠标移动并点击交互界面上的功能键,完成有效的交互过程。此外,用户还会浏览界面信息、使用键盘键入信息,这些操作将鼠标行为分割成很多间隔的运动段。本发明据此特点划分运动段。
定义三种鼠标事件,如表3所示:
表3 鼠标行为事件的标记
定义四种鼠标运动段:
①MN:一段没有点击的运动,两个相邻鼠标运动事件之间的时间间隔小于τ,整个运动过程的持续时间超过δ:
②MMud:从向上的按键开始,到按下按键结束的运动段:
③MMum:从鼠标沉默开始,到按下按钮结束的运动段:
④MMmd从按下按键开始,到鼠标沉默为止的运动短:
每个运动段都会被作为一次鼠标操作行为。计算出每次鼠标行为的时频域特征进而描述交互行为的特征,形成样本。
具体实施时,步骤S4包括:
S401、将每个运动段对应的用户鼠标行为时频域特征输入回归模型,生成个运动段对应的用户鼠标行为时频域特征与真实用户行为模式模版之间的偏差值;
S402、将偏差值输入可信交互模型,基于偏差值与奖励或惩罚阈值的差值生成对应的奖励值或惩罚值;
S403、基于奖励值或惩罚值更新用户身份信任值,当用户身份信任值低于锁定阈值时锁定用户。
本发明中,可以选择LSBoost算法来处理回归问题。LSBoost适合新的弱学习者,以找到观察到的响应与所有先前弱学习者的汇总预测之间的差异,以最大程度地降低均方误差。
当一名入侵者非法登陆了某用户的账户,可信交互模型会在其交互过程中(X轴)持续的验证其身份信任值(Y轴)。任何一次账户登录后,当前用户身份信任值都会从初始用户身份信任值(可取100)开始,偏离模版的行为会导致信任值降低,当低于锁定阈值T
具体实施时,当用户身份信任值达到上限后,基于奖励值更新用户身份信任值时,用户身份信任值不再增加。
由于与模版相近的行为会导致信任值上升,但不会超过上限(可取100),这是为了防止真实用户操作一段时间后信任值过高,使得入侵者从中受益。图5形象的展示了可信交互模型检测的过程。
算法1解释了可信交互模型中的动态信任思想。这个算法包括四个参数和信任值关于每次鼠标行为置信度的函数。在算法1中,step2展示了可信交互模型的信任值函数。此处,信任值的变化(ΔS
可信交互模型运行时,算法基于每一次鼠标行为回归结果S
为了验证本发明公开的技术方案的效果,进行了下述实验:
将真实用户的回归值设置为100,负样本设置为0。LSBoost树用于训练回归模型,并进行5交叉验证,树数为200。我们建立了三种方案来测试系统的性能:①内部检测,②外部检测和③自测。
①场景1:这个情景被设定为所有数据都可以被使用来进行身份验证。假定一个公司有N名职员,每个职员都有自己的工作账户。为了防止意外发生的账户混用情况所引起的问题,我们为每一位员工分别创建一套可信交互检测系统,检测内部冒用者。该系统使用这位员工的所有数据作为正类样本进行训练并调参,使用其余N-1名用户作为负类样本。为使模型运行稳定,正负样本数量应基本一致。如果真实用户样本数量为k
②场景2:这个情景被设定为使用一部分用户的数据训练可信交互模型,另一部分未被训练的用户的数据进行身份验证。考虑公司内部职员的工作账户被非公司员工的外部入侵者非法登陆所造成的公司机密或资产泄漏的事件,测试可信交互模型对外部入侵者的检测性能。选取一名用户为真实用户,其余N-1名用户的数据中,
③场景3:这个情景被设定为使用真实用户的一部分数据和等量其他用户数据建立可信交互模型,使用真实用户剩下的数据进行身份验证。考虑用户合法登陆自己账户后出现的系统意外锁定的情况,测试可信交互模型对真实用户本人的意外锁定情况。选取一名用户的部分数据作为正类,等量其他用户数据作为负类训练模型。然而,数据集的不均衡可能会使得某些用户测试样本量过少,结果说服力不足。因此,本研究使用BorderlineSMOTE算法生成新的样本,以便于模型的验证。选取一名用户作为真实用户,样本增加后的总量为k
可信交互模型的四个主要参数是ω,T,P,R。在可信交互检测中,我们更关注将入侵者检测出来的能力,因此T被设置为模型训练时前80%样本回归值的平均值。P,R都取值为1,代表每次行为最多会对当前用户身份可信分数带来不超过1的奖励或惩罚;参数ω取值为0.1.
持续认证系统不仅要关注是否能检测出入侵者,更要关注有多迅速的检测出入侵者。因此,在FAR、FRR两项经典身份认证技术评价指标之外,本发明还选用ANIA和ANGA。
ANIA表示平均需要经过多少次操作后,入侵者被锁定,其计算方法是用入侵者测试样本集数量除以锁定次数;
ANGA表示用户本人被意外锁定前能进行多少次鼠标操作行为,其计算方法是用真实用户测试集样本总数除以锁定次数;
ATIA表示入侵者被锁定前能进行多长时间鼠标操作行为,其计算方法是用ATIA乘每次操作平均时间;
ATGA表示用户本人被意外锁定前能进行多长时间鼠标操作行为,其计算方法是用ANGA乘每次操作平均时间;
各评价指标计算公式如下:
ATIA=ANIA×t
ATGA=ANGA×t
可信交互模型(TIM)检测结果有四种,非我不是我(I@i),非我是我(I@g),我是我(G@g),我是非我(G@i),前两种出现在S1和S2中,用ANIA评价;后两种出现在S3中,用ANGA评价。如表4所示:
表4 三种不同情景下得到的结果
在场景1的检测结果中,针对32名用户的账户进行的992次入侵行为全都被可信交互模型检测出来,FAR为0。其中,一位真实用户的可信交互模型对一名内部冒用者的检测过程如图9所示。根据每次检测的锁定次数和样本数量,我们根据公式x计算出ANIA为12.26(std=5.32),即平均经过12.26次鼠标移动行为,入侵者就会被可信交互模型锁定。经过计算,每一次action的时间平均值为7.96s(std=6.86).这意味着,TIM在入侵者操作1.63min左右就能将其锁定,如表5所示。
表5 场景1的检测结果
在场景2的检测结果中,针对32名用户的账户进行的352次入侵行为全都被可信交互模型检测出来,FAR为0。其中,一位真实用户的可信交互模型对一名外部入侵者的检测过程如图10所示。根据每次检测的锁定次数和样本数量,我们根据公式x计算出ANIA为12.31(std=4.66),即平均经过12.31次鼠标移动行为,入侵者就会被可信交互模型锁定。同S1,发生意外锁定真实用户的情况出现在操作约1.63min后,如表6所示.
表6 场景2的检测结果
在场景3的检测结果中,针对32名用户的账户进行的32次自我检测中,有30名用户从未被锁定,另外有2名用户出现被意外锁定的情况。一位真实用户的可信交互模型对自己的鼠标行为数据检测过程如图11所示。
在这2名被意外锁定的用户中,一名用户的信任值曲线如图12所示,可以看到前面一半鼠标行为数据使得信任值分数快速下降并被多次锁定,而后一部分数据为被锁定。我们对该用户账户使用情况进行了调查和访谈,发现在2018年9月前后,该用户曾尝试使用鼠标来代替以往的数控板操作,导致收集到的数据来源于两种不同的交互设备,这与图12的结果基本吻合。
另一个用户被锁定,是因为该用户帐户被其他人使用。该拥有帐户的用户参与了网站的开发,以进行我们的研究。建站初期,其他人使用该帐户来测试网站。因此,某些数据不是由该用户生成的。我们了解到,除了帐户所有者外,只有两个人使用了该帐户。
由于后者数据并非全部来自于他本人,所以根据ANGA和ATGA的定义来计算TIM的性能指标时,该用户的结果不记入最终结果。所以,ANGA=26.67,即平均经过26.67次鼠标移动行为,入侵者就会被可信交互模型锁定。经过计算,发生意外锁定真实用户的情况出现在操作约3.54min后,如表7所示。
表7 场景3的检测结果
通过结果分析可以发现,TIM对两种情境下的不可信用户检测指标平均值ANIA为12.28。在发生意外锁定真实用户情况前,用户一般会经历26.67次鼠标操作行为,即ANGA=26.67。TIM在入侵者操作1.63min左右就能将其锁定;而发生意外锁定真实用户的情况出现在操作约3.54min后。这说明TIM的优秀运行表现。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管通过参照本发明的优选实施例已经对本发明进行了描述,但本领域的普通技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离所附权利要求书所限定的本发明的精神和范围。
机译: 基于按键行为的身份认证方法和系统
机译: 基于按键行为的身份认证方法和系统
机译: 基于用户网络行为特征的辅助身份认证方法