智能手机上融合滑动轨迹和动力学特征的持续身份认证方法与流程

文档序号:24250902发布日期:2021-03-12 13:29阅读:132来源:国知局
智能手机上融合滑动轨迹和动力学特征的持续身份认证方法与流程

本发明属于隐私保护及模式识别领域,具体涉及一种智能手机上融合滑动轨迹和动力学特征的持续身份认证方法。



背景技术:

为了保护用户的隐私,各种各样的认证机制被应用到智能手机上,例如指纹扫描、面部识别、pin以及图形密码。这些机制提供了用户登录时的一次性认证,它们会检验当前用户是否拥有提前设置好的凭据。虽然这种传统的一次性认证的方法在智能手机上占据主导地位,但在安全性和易用性方面存在着问题。在安全性方面,智能手机上传统的认证方法在用户通过之后系统则不再检测是否有入侵,这就导致了该认证方法在敌手访问已经解锁的手机时失效。另外,敌手可以通过例如肩窥,猜测攻击,污迹分析,欺骗攻击等手段突破传统认证方法的防御。在易用性方面,每次用户使用服务时,即使是短暂地查看邮件或者是在线聊天消息,传统的认证方法都需要用户的主动地输入口令。

为了弥补使传统认证方法的缺陷,持续认证技术被提出,它们持续而又隐式地验证用户的身份。持续身份认证机制本质上是利用用户的生理和行为生物信息来构造用户独有的模式。生理生物信息例如可以通过被配置在绝大多数智能手机上的前置摄像头捕获的面部特征,然后从面部信息中提取的整体或局部特征被用来验证身份,但是这种方法会很大程度上受到移动设备的电池容量与计算能力的限制。另一方面,用户的行为生物信息来自与他们的日常使用习惯,例如触摸方式、步态、历史应用使用数据、设备位置。用户的使用行为信息可从智能手机中普遍存在的内置传感器及附件中获得,例如加速度传感器,陀螺仪,重力传感器,压力传感器、gps等。持续认证系统可在不被用户察觉的情况收集行为数据,并通过使用已经训练好的身份模型判断收集到的数据是否来自设备拥有者。如果结果是“true”,系统不会产生任何响应并且收集和验证操作会继续进行;否则,系统将会向要求当前用户输入预设的密码或警告拥有者设备已被入侵。理想情况下,在这整个认证过程中合法用户与设备正常的交互不会被持续认证系统打断。

目前智能手机上基于用户触摸滑动特征的持续身份认证方法主要使用用户在触摸滑动手机时留下触摸位置及时间信息来提取特征,从而构建用户的身份模型对用户进行认证。文献[m.frank,r.biedert,e.ma,i.martinovicandd.song,″touchalytics:ontheapplicabilityoftouchscreeninputasabehavioralbiometricforcontinuousauthentication,″inieeetransactionsoninformationforensicsandsecurity,vol.8,no.1,pp.136-148,jan.2013.]从用户原始的触摸屏日志中提取出了包括滑动过程中间点的触摸的面积以及压力、滑动轨迹端点连线的方向以及滑动速度等30维的触摸行为特征,但是部分重要特征例如触摸压力和面积是需要硬件支持的,并且目前绝大多数智能手机的触摸屏使用的是不支持压力检测的电容屏。中国专利cn104239761a提出了一种基于触屏滑动行为特征的身份持续认证方法,方法中仅使用户的滑动轨迹数据作为数据源,没有考虑手指在触摸屏幕时所产生的动力学特征,并且没有考虑用户的不同的运动状态。



技术实现要素:

本发明针对上述基于触屏滑动行为特征的持续认证方法中存在的对设备硬件要求过高导致的可用性较低以及数据来源单一且特征过于简单导致的鲁棒性和准确率较低等问题,提出了一种融合滑动轨迹和动力学特征的持续身份认证方法,该方法使用触摸屏以及广泛应用在智能手机上的运动传感器(加速度传感器、角速度传感器和重力传感器)作为数据源,并考虑用户使用智能手机时的不同运动状态,大大提高了该认证系统的可用性、健壮性以及认证时的准确率。

为了实现上述任务,本发明采取以下技术方案:

一种融合滑动轨迹和动力学特征的持续身份认证方法,其特征在于,包括以下步骤:

(1)对用户触摸滑动时产生的个性化数据进行收集。

(1.1)收集的数据分为两部分,一是用户打开任意app开始,收集来自运动传感器包括加速度传感器、重力传感器和陀螺仪的数据;二是当用户滑动触摸屏时,收集来自触摸屏的滑动轨迹数据。

(1.2)对于来自运动传感器的数据,第i个采样点的数据格式为:(i,xa,ya,za,xgy,ygy,zgy,xgr,ygr,zgr,tag)(i=1,2,3,...,n),含义分别为加速度传感器的x轴值、加速度传感器的y轴值、加速度传感器的z轴值、陀螺仪的x轴值、陀螺仪的y轴值、陀螺仪的z轴值、重力传感器的x轴值、重力传感器的y轴值、重力传感器的z轴值、触摸事件的状态。对于来自触摸屏幕的滑动轨迹数据,每个滑动产生的触摸点序列中第j个触摸点的数据格式为:(j,xt,yttag)(j=1,2,3,...,m),其中m表示当前序列的数据长度且m≥3,xt,yt分别表示触摸点在触摸屏上的x和y轴坐标。

(2)对原始数据进行预处理。

(2.1)将数据按照用户的运动状态分割。我们考虑用户在使用智能手机时会有两种运动状态,分别是静止状态和步行状态。通过运动传感器的数据判断出用户使用时的运动的状态,然后根据运动状态分割数据。

(2.2)分别对(2.1)中两种状态下的数据使用z-score进行标准化处理。

(2.3)对于静止状态下的滑动行为,从加速度传感器和陀螺仪中提取每次滑动时的数据,并与触摸屏数据中相对应的滑动轨迹数据进行合并。这样每次滑动都对应两部分数据,分别是滑动过程中来自运动传感器的数据和来自触摸屏的滑动轨迹数据。

(2.4)对于步行状态下的滑动行为,从加速度传感器和陀螺仪中提取每次滑动时的数据并与触摸屏数据中相对应的滑动轨迹数据进行合并,并且对于每次滑动的前后共3s内,提取出加速度传感器和陀螺仪数据。这样每次滑动都对应三部分数据,分别是滑动过程中来自运动传感器的数据、来自触摸屏的滑动轨迹数据和滑动前后共3秒内的运动传感器数据。

(2.5)对步骤(2.4)中的每个滑动前后共3秒内的运动传感器数据进行离散傅里叶变换,得到其频谱和相位谱。

(3)提取滑动轨迹特征及运动学特征并进行特征选择。

(3.1)对步骤(2.3)中静止状态下每次滑动产生的两部分数据分别提取运动学特征和滑动轨迹特征。运动学特征向量为{每个传感器分别在3个维度数据的最大值、最小值、极差、平均值、中位数、标准差、均方根、偏度、峰度、峰度因子、波形因子、脉冲因子、裕度因子,每个传感器数据的平方和的平均平方根,每个传感器数据采样点数},共计2*(3*13+2)=82维。滑动轨迹特征向量为{滑动起始点坐标,滑动终点坐标,滑动速度的20%、50%、80%分位数,平均滑动速度,端到端连线的方向、距离,滑动方向平均值,滑动开始方向平均值,滑动中间方向平均值,滑动尾部方向平均值,滑动类型},共计18维。整个静止状态下的滑动特征共100维。

(3.2)对步骤(2.4)中步行状态下每次滑动产生的三部分数据分别提取运动学特征与轨迹特征。首先对于前两部分数据提取出与步骤(3.1)中静止状态下一样的100维特征,另外还需从步骤(2.5)的搭配的频谱和相位谱中提取出步行产生的频域特征,频域特征向量为{频率为0的正弦波对应的振幅,除0频率对应振幅外的最大振幅,除0频率外具有最大振幅的频率和其对应的相位,振幅平均值,振幅标准差,信息熵,振幅的均方根,偏度,峰度}共10*3*2=60维。整个步行状态下的滑动特征共160维。

(3.3)计算步骤(3.1)和步骤(3.2)中所有特征的两两之间的皮尔逊相关系数,并将相关系数大于0.98的特征对中的一个删除。

(3.4)使用带交叉检验的递归式特征消除方法找到最优的特征组合。

(3.5)使用pca方法对特征向量进行降维,且保留98%的信息。

(4)构建用户的身份模型。

(4.1)选取训练数据集。对两种不同的运动状态下的特征集合,分别从其它用户的特征向量集中随机选取一个子集,该子集的大小等于相同状态下合法用户的特征向量集的大小。将其它用户的特征向量的标签设置为0,将合法用户的特征向量的标签设置为1。

(4.2)分别对不同运动状态下特征向量训练集进行训练。最终得到运动状态下和步行状态下的两个身份模型。

(5)对当前智能手机的使用用户进行持续认证。

(5.1)当用户使用手机中某一app并且产生触摸滑动行为时,系统便会收集该次滑动行为的运动传感器数据和滑动轨迹数据,并对数据进行预处理且判断出用户的运动状态,然后提取特征并进行特征选择,最后送入相应的身份模型进行预测,得到预测结果。

(5.2)根据不同的预测结果,系统给出相应的响应。当结果为“true”时也就是当前用户是合法用户时,系统无任何响应;当结果为“false”时也就是当前用户是非法用户时,系统则会采取相应的方法来保证合法用户的隐私。

所述步骤(1.2)中的触摸事件的状态tag共有4种,分别是无触摸、按下、移动和抬起,实际的采样数据中分别以1,2,3来表示。每个滑动轨迹数据是由多个触摸点的数据组成的,并且这些触摸点需包括一个按下触摸点,一个或多个移动触摸点以及一个触摸抬起点,并且这些触摸点的顺序不能改变,所以每个滑动产生的数据序列的长度至少为3。

所述步骤(2.1)中的用户的移动状态可通过重力传感器和和加速度传感器共同判断。具体的可通过公式其中θ可通过实验获得,当state>0时表示当前用户处于步行状态否则处于静止状态。

所述步骤(2.2)中z-score的计算公式为其中x为采样数据,μ,σ分别为总体的均值和标准差。

所述步骤(3.1)中偏度的计算公式为峰度的计算公式为峰度因子的计算公式为波形因子的计算公式为脉冲因子的计算公式为裕度因子的计算公式为其中x为采样数据,μ,σ分别为总体的均值和标准差。由于对滑动轨迹中触摸点的采样频率是不变的,所以连续两个触摸点的间的速度可通过其间的欧式距离计算。两点连线的构成的矢量方向为沿x轴正方向的方向向量到该矢量的方向向量逆时针旋转的角度,范围为0到2π。滑动开始方向、滑动中间方向和滑动尾部方向分别使用触摸点序列开始前3个点,中间3个点和尾部3个点计算出的方向平均值。滑动类型分别为从下到上,从上到下,从左到右和从右到左。当起点到终点构成的矢量的方向范围在内时表示该滑动为从下到上的滑动;当方向范围在内时表示该滑动为从上到下的滑动;当方向范围为内时表示从左到右的滑动;当方向范围在内时表示从右到左的滑动。另外,使用四位的独热编码对滑动的类型进行编码,分别使用{0,0,0,1}、{0,0,1,0}、{0,1,0,0}、{1,0,0,0}表示从下到上、从上到下、从左到右和从右到左的滑动类型。

所述步骤(3.2)中的信息熵的计算公式为其中f(k),k=1,2,...,n表示进行傅里叶变换后频谱,n为傅里叶变换后频率序列长度的一半。

所述步骤(3.3)中的皮尔逊相关系数的计算公式为其中p,q为任意一对特征变量,μp,μq分别为p,q的期望,σx,σy分别为p,q的总体方差。

所述步骤(5.2)中当系统检测到当前用户为非法用户时,可锁住手机并让用户输入预设的密码来解锁,同时向用户的注册邮箱发送警告邮件。

本发明的目的在于构造一个基于用户触摸滑动行为特征的持续身份认证系统,该系统弥补了以往智能手机上的基于触摸滑动特征持续认证技术对设备硬件要求过高导致的可用性低以及数据来源单一和特征简单从而导致的鲁棒性和准确率较低等问题。通过本发明的设计,使用绝大部分智能手机都支持的加速度传感器、角速度传感器、重力传感器和触摸屏上的数据,通过融合滑动轨迹和动力学特征,在静止和步行状态下分别提取出100维和160维用户触摸滑动行为特征,进而构建出用户的身份模型。在用户使用该智能手机时便可通过该身份模型对用户进行持续且透明的身份认证。

本发明突出的实质性特点和显著性进步主要体现在以下几点:

1.本发明中使用智能手机上的运动加速度传感器、角速度传感器、重力传感器和触摸屏作为提取触摸滑动行为特征的数据源。数据来源丰富且在智能手机中普遍存在。

2.本发明通过融合用户触摸滑动时的滑动轨迹特征和动力学特征来构建用户的身份模型。这些特征通过用户在滑动时留下的轨迹以及设备在手中的运动特点共同刻画用户的滑动行为,具有较高的鲁棒性同时提高了认证时的准确率。

3.本发明考虑到用户在步行时使用智能手机进行滑动操作时会产生额外的步态特征,对不同运动状态下的数据分开进行处理,分别训练出不同的身份模型,提高了该方法的适用范围。

附图说明

下面结合附图及实施例对本发明作进一步描述:

图1为本发明所用到的计算滑动轨迹角度的示意图

图2为本发明的流程示意图

具体实施方式

以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

图1出示了本发明所用到判断滑动轨迹角度的示意图。图中屏幕顶部的x轴与屏幕左侧的y轴构成的只包含第一象限的直角坐标系为智能手机内部表示触摸点的位置的坐标系。另外我们在屏幕中心构建包含四个象限的直角坐标系用来判断触摸滑动的类型,判断过程为:

步骤1)确定当前滑动轨迹的起点a和终点b,并构建向量

步骤2)平移向量到原点,并确定该向量的方向向量

步骤3)计算x轴正方向的方向向量逆时针旋转到所需旋转的角度α,当时表示该滑动为从下到上,当时表示该滑动为从上到下,当时表示该滑动为从左到右,当时表示该滑动为从右到左。

图2出示了该发明的整体流程。整个流程包括训练阶段和认证阶段两部分,具体的实施步骤分别如下:

训练阶段:

步骤1)系统在用户打开任一app时开始收集运动传感器包括加速度传感器、角速度传感器以及重力传感器的数据,采样频率为50hz。本发明中使用后台常驻服务进行收集,并在服务中注册广播接收器。当用户打开任一app时,广播接收器收到通知,服务便开启收集任务,每个收集到的采样数据为:

(i,xa,ya,za,xgy,ygy,zgy,xgr,ygr,zgr,tag)(i=1,2,3,...,n)

步骤2)系统对屏幕的触摸事件进行监听,当用户滑动手机屏幕产生触摸事件时,监听器便记录下当前事件产生的x,y坐标值,并将当前触摸事件的类型传递给收集运动传感器数据的服务令其改变采样数据中的tag。每个收集到的滑动轨迹中触摸点的数据为:

(j,xt,yttag)(j=1,2,3,...,m)

其中m表示当前滑动轨迹序列的数据长度且m≥3。

步骤3):判断当前收集到滑动数据是否足够,要求总的滑动次数不少于400个,且每种类型的滑动不小于80个。

步骤4)对收集到数据按照运动状态分为静止状态下的数据和步行状态下的数据。由于加速度传感器的值包含了重力加速度,所以我们将加速度传感器x,y,z轴上的数据分别减去重力传感器对应轴的数据,然后求平方和便可得到除重力外的外力所造成的总的加速度的大小,具体公式为:

通过实验可获得θ=0.6。当state>0时表示当前用户处于步行状态否则处于静止状态。

步骤5)对于两种不同状态下的数据进行相同的标准化处理。我们使用z-score方法标准化将不同量级的数据统一转化为同一量级,以保证数据之间的可比性,最终提高身份模型的预测准确度。具体的计算计算公式为其中x为采样数据,μ,σ分别为总体的均值和标准差。然后我们将刻画每一次滑动的数据合并到一起,静止状态下每次滑动的数据包括两部分:滑动时的运动传感器数据和滑动时的触摸轨迹数据,步行状态下还包括滑动前后共3秒的运动传动传感器数据。

步骤6)对步行状态下的滑动前后共3秒的运动传感器数据进行离散傅里叶变换。由于运动传感器的采样频率为50hz所以需对长度为n=150的数据序列进行快速傅里叶变换,快速傅里叶变换的返回结果为长度为n的复数数组,每个复数表示一个正弦波,我们可从结果中获得每个正弦波的振幅、相位和频率。

步骤7)分别对静止状态下的数据集和步行状态下的数据集提取100维和160维特征。

步骤8)对所有特征两两计算皮尔逊相关系数,用来度量任意两组特征的相关性,其值介于[-1,1]。我们构建皮尔逊相关系数的矩阵,将该矩阵上三角中所有相关系数绝对值大于0.98元素所在列对应的特征记录到数组中,最后将该数组中的特征从所有特征向量中删除。

步骤9)对特征使用rfe(recursivefeatureelimination递归特征消除)找出最优的特征组合,使用所有特征向量在线性核的svm的正确率作为评价标准,并且采用5重交叉验证。

步骤10)使用pca(principlecomponentanalysis主成分分析)对特征向量降维,并保留98%的信息。

步骤11)判断当前阶段是否为注册阶段,可通过判断当前是否已经存在用户的身份模型,若不存在则为注册阶段,否则为认证阶段。若为注册阶段便使用rbf核的svm进行身份模型的训练,最终生成用户的身份模型并保存;若为认证阶段便将处理好的特征向量输入身份模型进行判断进而得到当前用户是否为合法用户,如果为合法用户则不进行任何响应并继续进入后面的认证过程,如果为非法用户则采用相应的后处理操作,例如锁住当前设备并让用户输入预设密码,向注册邮箱发送警告邮件。

下面为该方法的实验结果。

我们在android手机上开发了一款软件来搜集用户的触摸滑动数据,该软件模仿了三种常见的软件类型:文档浏览、相册和购物软件,三种软件都会产生大量且不同类型的滑动操作。20名用户运行该软件并进行操作,我们要求用户分别浏览文档并回答3个简单的问题,然后翻阅相册,最后翻阅商品并进行选择,并且在静止和移动状态下分别进行。最终平均对每个用户收集到的滑动个数为412个。然后使用svm(supportvectormachine)对用户数据进行分类,核函数使用rbf核,训练集和测试集的占比分别为70%和30%,采用网格搜索及10重交叉验证确定静止状态下的最优参数为γ=0.68和c=1.0,步行状态下的最优参数为γ=0.24和c=0.1。

用户在测试集中不同状态下平均的查准率和查全率如表1所示。查准率的计算公式为查全率的计算公式为其中tp表示真正例率,fp表示假正例率,fn表示假负例率。静止状态下的查准率为92.16%,查全率为87.04%;步行状态下的查准率为96.15%,查全率为92.59%。该方法在具有较高查准率的同时也具有较高的查全率,这意味着既可以很好的检测出非法用户的入侵又可以使合法用户不过多的被误判。另外可以看出,用户在步行状态下的查全率及查准率明显高于对应静止状态下的值,这是由于用户我们在步行状态下提取了额外的步态特征。

表1本发明中持续身份认证方法的实验结果

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1