首页> 中国专利> 一种智能手机上系统级别的用户身份持续认证方法

一种智能手机上系统级别的用户身份持续认证方法

摘要

本发明涉及一种智能手机上系统级别的用户身份持续认证方法,属于信息安全领域及模式识别领域。该方法设计了对传感器数据进行收集、分类、预处理、特征提取以及训练的方法、对用户进行认证的方法以及系统的整体架构。方法通过智能手机上传感器的数据构建用户行为特征模型,然后通过该特征模型对用户进行持续的认证。本发明中对手机的放置方式以及用户的运动状态进行分类处理,分别训练出不同的模型,以提高系统认证的准确性,并在服务器端和客户端分别部署认证器,从而实现了对用户在线以及离线的认证,并将不同APP的敏感性进行区分以提高用户体验。本发明适用于智能手机的持续系统身份认证。

著录项

  • 公开/公告号CN112261222A

    专利类型发明专利

  • 公开/公告日2021-01-22

    原文格式PDF

  • 申请/专利权人 南京航空航天大学;

    申请/专利号CN202011136858.2

  • 申请日2020-10-26

  • 分类号H04M1/72448(20210101);H04M1/72454(20210101);H04W12/06(20210101);

  • 代理机构

  • 代理人

  • 地址 211100 江苏省南京市江宁区将军大道29号

  • 入库时间 2023-06-19 09:38:30

说明书

技术领域

本发明属于信息安全及模式识别领域,具体涉及一种智能手机上系统级别的用户身份持续认证方法。

背景技术

身份认证也称为“身份验证”或“身份鉴别”,是指在系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。

传统的智能手机上的身份认证技术是基于登录口令的认证,例如PIN(个人识别码)、指纹、面部信息,图案密码。用户在使用智能手机前必须主动输入注册时获得的口令,从而获得智能手机的访问权限,这种机制在一定程度上降低了用户的使用体验。并且传统的身份认证技术只能提供用户登录时的一次性认证,当攻击者通过识别屏幕污迹、肩窥、猜测等攻击手段得到用户口令,攻击者可以假冒合法用户对系统进行访问,而系统此时却不能检测出非法用户的入侵。当前,智能手机的普及率很高,用户可以通过智能手机连接互联网,从而使用例如网络社交、移动支付、网上购物等服务,这些服务在给用户带来便利的同时也带来了更大的隐私泄露及财产损失的风险。为了更大程度上保护用户的合法利益,构建一种持续的、对用户透明的智能手机身份认证机制具有很大的现实意义及应用价值。

目前这种持续的、透明的持续认证机制主要是通过收集用户的行为特征,例如点击特征、滑动特征、步态特征等,来构建用户特有的身份信息模型,然后利用该模型对用户进行认证。文献[Z.Sitová et al.,“HMOG:New behavioral biometric features forcontinuous authentication of smartphone users,”in IEEE Transactions onInformation Forensics and Security,vol.11,no.5,pp. 877-892,May 2016]提出一种基于用户点击屏幕时的微动作来进行认证的方法,中国专利 201810505610.5提出了一种基于点击和滑动屏幕特征的认证方法,但是这两种方法只能在某个特定的APP中实现,也就是只能在应用级别对智能手机进行认证。文献[T.Zhu et al.,″RiskCog:UnobtrusiveReal-Time User Authentication on Mobile Devices in the Wild,″in IEEETransactions on Mobile Computing,vol.19,no.2,pp.466-483,1 Feb.2020]将用户进入新开启 APP的前3秒的传感器信息作为系统特性,虽然实现了系统级别的持续身份认证,但是同时也只在用户开启新的APP的前3秒对用户进行认证,这样实际上只是对每个APP开启时进份认证,但是同时也只在用户开启新的APP的前3秒对用户进行认证,这样实际上只是对每个APP开启时进行一次性认证,没有做到持续性的认证。

发明内容

本发明针对上述持续认证方法中只能在应用级别进行认证或不能对每个APP进行持续不断地认证等问题,提出了一种系统级别的持续身份认证方法及系统。本发明将手机的横屏与竖屏放置以及用户使用时的移动状态分开讨论,分别建立不同的用户行为模型,以提高认证器识别的准确度;并对APP的敏感性进行区分,以更好地权衡系统安全与用户体验。

本发明的目的就是提供一种基于合法用户日常使用智能手机时所产生的传感器数据以及屏幕点击行为来实现系统级别的持续身份认证的方法,并且该方法中考虑到移动设备的计算能力、网络以及电量等诸多限制,提供对数据的在线和离线的处理,并且可以对用户进行在线以及离线的认证,大大提高了该认证系统的可用性。

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

一种智能手机上系统级别的持续认证方法,其特征在于,包括以下步骤:

(1)对用户日常使用智能手机的传感器数据收集。

(1.1)数据的收集时机为用户打开任意APP开始,收集的数据来自加速度传感器、重力传感器和陀螺仪。

(1.2)在每个APP中收集到的数据序列包含n个采样点,第i个采样点的数据格式为:(X

(2)对原始数据进行预处理,包括以下几个步骤:

(2.1)删除无用数据。用户如果将手机水平放置在固定的地方,然后使用手机,这时产生传感器数据模式不能体现出当前用户的行为特征,所以应当删除这种情况下的数据。

(2.2)将数据按照用户使用智能手机的姿势分类。用户使用智能手机时会有两种使用姿势,分别是竖向和横向,通过每个采样数据点中重力传感器的数据可以判断出用户当前的使用姿势,然后根据使用姿势将数据序列分割,这样一个在某一APP上收集到的数据序列就被分成若干个竖向使用与横向使用产生的子序列。

(2.3)将数据按照用户的移动状态分类。用户使用智能手机时会有两种移动状态,分别是静止状态和移动状态,通过每个采样数据点中加速度传感器和重力传感器的数据可以判断出用户当前的移动状态,然后根据移动状态将数据分割,这样一个在步骤(2.2)中获得的子序列就被分成若干个静止时使用与移动时使用产生的更小的子序列。

(2.4)将数据按照从打开一个APP开始的收集时间进行分割,分为两秒前与两秒后两部分。这是因为用户在打开一个APP时的前两秒处于APP的加载时间,极少出现点击操作。

(2.5)将所有两秒前的数据通过滑动窗口处理。将滑动窗口的大小设为10,步长为5,所以数据序列D的第i个滑动窗口为:[D

(2.6)从所有两秒后的数据中提取点击操作。将属性isClicked=1的数据采样点作为中心点,取一个包含20个数据点的窗口,这样数据序列D中第j个包含点击事件的窗口为: [D

(3)提取特征向量。

(3.1)对每个通过步骤(2.5)得到的两秒前数据的滑动窗口提取特征向量。特征向量为{每个传感器数据在各个维度的平均值,每个传感器数据在各个维度的平均振幅,每个传感器数据的平方和的平均平方根},一共3*3*2+3=21维。

(3.2)对每个通过步骤(2.6)得到的两秒后数据的窗口提取特征向量。特征向量为{每个传感器的三个维度数据在点击时的平均值,每个传感器三个维度数据在点击时的标准差,每个传感器的三个维度数据在点击前的平均值,每个传感器的三个维度数据在点击后恢复平稳的时间点},共3*3*4=36维。

(3.3)对特征向量进行最小-最大标准化,将每个特征值转化到[0,1]范围内。转化公式为:

(4)构建用户行为特征的身份模型。

(4.1)选取训练数据集。从其它用户的每类特征向量集中随机选取一个子集,该子集的大小等于合法用户的该类特征向量集的大小。将其它用户的特征向量的标签设置为-1,将合法用户的特征向量的标签设置为1。

(4.2)分别对每个特征向量训练集进行训练。根据预处理的结果共有8个不同的特征训练集,所以分别训练后会产生8个不同的模型。

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

(5.1)第一阶段认证。将当前用户使用某一APP的前两秒的传感器数据进行预处理,并提取特征向量,将不同类别的特征向量分别送入不同的模型进行预测,然后将预测结果进行整合,最后给出判断结果。

(5.2)第二阶段认证。若用户通过第一阶段的认证,则进入第二阶段的认证,每次认证所需的数据收集时长为2S,然后将用户的点击时的数据进行预处理,并提取特征向量,将不同类别的特征向量分别送入不同的模型进行预测,然后将预测结果进行整合,最后给出判断结果。

所述步骤(1.2)中每个采样点的10个维度信息具体分别是:加速度传感器的X轴值、加速度传感器的Y轴值、加速度传感器的Z轴值、陀螺仪的X轴值、陀螺仪的Y轴值、陀螺仪的Z轴值、重力传感器的X轴值、重力传感器的Y轴值、重力传感器的Z轴值、是否被点击(0表示没有被点击,1表示被点击)。

所述步骤(2.1)中用户如果将手机水平放置在固定的地方,然后使用手机,这时产生传感器数据模式不能体现出当前用户的行为特征,所以应当删除这种情况下的数据。手机被水平放置在固定的地方可通过加速度传感器或者重力传感器的值来判断,以用重力传感器的数据判断为例,可通过以下条件判断:|X

所述步骤(2.2)可根据重力传感器在不同使用姿势下的不同数据特点来判断,当|X

所述步骤(2.3)中对于用户的两种移动状态,典型的两种实际情况就是用户静止地坐着使用智能手机与用户边走路边使用手机,实验和经验都表明用户在这两种状态下使用智能手机所产生的使用特征是不同的,所以我们应当将传感器数据按照用户的状态分开,分别训练出不同的模型,在智能手机中,用户的移动状态是体现在加速度传感器中的,但是在加速度传感器的值中综合了重力加速度,因此要判断用户的移动状态仅仅依靠加速度传感器的值是不行的,还需要去除重力加速度的影响。具体地,移动状态可通过以下条件判断:

所述步骤(2.2)与(2.3)中对数据进行分割时,如果在一段数据序列中只出现了个别其它类别的数据,例如在一段移动状态下的序列中出现了个别静止状态下的数据,我们将这个别的数据视为噪声点,将它们的值设为这段序列数据值的平均值。

所述步骤(3.1)中具体的21维的特征向量为:{(X

对于任意一个滑动窗口[D

所述步骤(3.2)中具体的36维的特征向量为:{每个传感器的三个维度数据在点击时的平均值:MeanTX

对于任意一个包含点击采样点的窗口[D

所述步骤(4)中,可以将最后训练完成的模型部署在服务器端或客户端。如果智能手机处于离线状态,则可以直接在客户端完成数据的预处理,然后通过在客户端部署好的模型进行认证,这样便实现了离线认证。

所述步骤(5。2)中,若用户在使用过程中不切换APP,则一直对其进行第二阶段的认证,若在第二阶段中用户切换到了其它APP,则返回步骤(5.1)对其进行第一阶段的认证,如此便形成了持续不断的认证。

所述步骤(5.1)与(5.2)中,每次认证所用到的当前用户的数据集合可能包含不同使用姿势及不同运动状态下的数据,就需要对这些不同类型的数据分开验证其合法性,得出各自的判断结果,然后再把所有判断结果合并起来给出最终判断结果,合并公式为R=∑

本发明的目的在于构造一个系统级别的持续认证系统,该系统弥补了以往智能手机上的持续认证技术只能进行应用层面认证的问题。通过本发明的设计,可以形成一个包括客户端及服务器端的完整的系统级别的持续认证系统。合法用户在日常使用智能手机时,该系统会自动的将传感器数据收集,构建出用户特征模型,并将该模型同时部署到客户端与服务器端。此后,系统便持续不断地对当前用户身份的合法性进行验证。

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

1.本发明考虑到用户在不同移动状态和使用姿势下,会产生不同的传感器数据模式,所以本方法中分开对不同状态下的数据进行处理,分别训练出不同数据类型下的身份模型。

2.本发明可以在用户打开任意一个APP时便对其进行认证,而不用等其产生点击或滑动等操作,实现了更短的认证时间。同时,用户在后续使用过程中产生任何点击操作,仍然会对其进行认证,更大程度地保证了系统的安全性。

3.本发明考虑到不同APP的不同敏感性,灵活地对认证时的阈值进行调整,在保证系统安全的前提下,降低在使用不敏感APP时进行认证的阈值,提高了用户体验。

4.本发明考虑到移动设备的计算能力、电池容量以及网络等诸多限制,将认证器及预处理模块同时部署在服务器端及客户端,因此系统便可以进行离线和在线的认证,大大提高了系统的可用性。

附图说明

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

图1为本发明所用到的传感器坐标系示意图

图2为本发明中对传感器数据分类的示意图

图3为本发明系统流程示意图

具体实施方式

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

图1出示了本发明所用到的传感器的坐标系,该图来自安卓开发者文档。本发明预处理部分对传感器数据的分类及无用数据的删除就是基于在不同状态下传感器数据的表现。无用的数据为用户将手机水平放置在固定地方时使用产生的数据,使用状态包括用户移动和静止状态,手机横置和竖置状态。如图1所示,传感器的坐标系包括X,Y,Z三个维度。当用户将手机水平放置在固定的地方,例如放置在桌面上,此时重力传感器X,Y轴方向上的值理论上应当为0,Z轴的值为g(重力加速度,约等于9.8m/s

图2出示了本发明中将传感器数据序列按照移动状态、使用姿势以及采集时间分成的8 种不同数据种类,分别是:两秒前静止横向状态、两秒后静止横向状态、两秒前移动横向状态、两秒后移动横向状态、两秒前静止竖向状态、两秒后静止竖向状态、两秒前移动竖向状态和两秒后移动竖向状态。无论是在训练阶段还是认证阶段,都需要将收集到的数据序列按照状态分成若干个子序列,将不同子序列并入到不同状态数据序列的集合中。

图3出示了整个系统的结构及流程。系统包括客户端与服务器端两部分,具体的实施步骤如下:

训练阶段:

步骤1):系统在客户端收集用户使用智能手机产生的传感器数据,收集时间为用户在打开任意一个APP时开始。本方法中通过后台常驻服务来进行收集,并在服务中注册广播接收器。当用户打开任意一个APP时,广播接收器便收到广播,服务便开启收集任务,每个采样点数据向量为:

(X

用户操作时出现的点击操作可以通过无障碍服务进行获得,将点击时收集到的传感器数据向量的isClicked属性置为1。这样便不用进行,例如在中国专利CN108920921A中,手动获取系统日志或者取得系统root权限等额外操作,在普通应用层面便可完成数据的收集工作,大大提高了系统可用性。

步骤2):客户端将数据发送到服务器端。客户端将收集到的数据集合通过https协议进行传输,以保证数据的安全性。

步骤3):服务器端将客户端发送来的数据进行预处理。删除无用数据,并将数据序列按照图2所示的8种类型进行分割成若干个子序列,将不同类型的子序列合并到一起,并放置在处理后的数据集合中。

步骤4):服务器端对处理后的数据集合进行特征提取操作。特征提取的操作一共分成两类,一类是所有两秒前的数据,另一类是所有两秒后的数据。对于两秒前的数据,采用大小为10步长为5的滑动窗口进行处理,对每个窗口分别提取出特征向量{MeanX

步骤5):将用户的特征向量集合存入数据库,数据库中还包含了其他用户的特征向量。

步骤6):从特征向量数据库中随机提取出其他用户的特征向量数据,并对特征向量所属的8种不同类型进行区分,与当前用户的特征向量集合组成8个训练集,分别训练出8个不同的模型。所有模型共同组成身份认证器,每一个模型产生的认证结果都有其权值,认证结果由它们各自结果的线性组合决定。

步骤7):将身份认证器发送至客户端。

认证阶段,其中步骤8)和9)是在线认证,步骤10)是离线认证:

步骤8):在线认证。认证时传感器数据经过步骤1)、2)、3)、4),得到当前用户的特征向量集合,将该集合输入到服务器端的身份认证器,产生认证结果。

步骤9):服务器端将认证结果发送到客户端,客户端根据不同的结果进行不同的操作。当认证通过时,客户端不会做出响应,但会继续进行步骤1)并将数据发往服务器端进行认证。当认证不通过时,客户端会弹出密码输入框,让当前用户输入预设密码,并向预设邮箱发送警告邮件。

步骤10):离线认证。当智能手机处于离线状态,客户端可以进行步骤1)、3)和4),将身份特征向量集合送到本地身份认证器进行离线认证。当认证通过时,客户端不会做出响应,但会继续进行步骤1)并在本地进行认证。当认证不通过时,客户端会弹出密码输入框,让当前用户输入预设密码,并向预设邮箱发送警告邮件。

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

在Android手机上安装实现系统级别持续身份认证方法的软件,该软件对传感器数据的收集频率为50HZ,10名用户在运行该软件时使用手机时进行任意操作,平均对每个用户收集到的数据采样点为9513个。使用SVM(Support Vector Machine)对用户数据进行分类,核函数使用RBF核,采用网格搜索及10重交叉验证确定最优的参数γ=0.05和C=11,训练集和测试集的占比分别为70%和30%。取每个被认证的采样序列长度为150,令每类数据在认证时的权重相同,令认证阈值β为0.5。

用户在测试集中不同状态下平均的查准率P

表1系统级别持续身份认证方法的平均查准率和平均查全率

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号