四川大学锦江学院 张 颖 刘 群 赵淑贤
截至2019年12月,我国手机网民规模达9.04亿,可以看出手机的使用越来越普遍,手机屹然成为人们日常生活中必不可少的部分,那么随之而来的手机隐私安全问题也越来越突出。小小的智能手机几乎随时随地保存大量个人信息,手机联系人电话、照片、APP平台账号、聊天记录等等,如果一旦泄露到网络上或者被不法分子利用诈骗,会对个人造成很大的损失或者伤害。而且移动互联网的发展带来很多新兴网络业务,手机支付、电子商务等,在提供便利操作的同时,也涉及了手机用户的财产安全,这类安全问题更不能忽视。现有的智能手机用户认证方式虽一定程度上保证用户隐私,但存在部分缺陷。所以最好的方式是对手机进行严格且有效的身份认证来避免用户信息泄露。
本文的研究内容主要分为两大部分:一是用户行为数据采集。采集的数据主要来自智能手机内置传感器数据,为此设计了一个基于Android的采集APP,安装在不同用户手机上,可以长时间不间断循环采集内置各种传感器数据,每天定时自动联网上传云端。采集的周期大概2个月左右,循环采集的数据数目巨大,会通过Python脚本迁移到本地数据库保存,为以后做出进一步处理。二是用特征提取和用户认证,对比数据发现用户在接听、拨打电话时传感器数据的区别很大,可提取相应的特征值进行分析。发现相比一般在最开始使用手机时的用户认证,可在使用手机的过程中(接听、拨打电话时)区分机主还是非机主来进一步完成手机用户认证。如果用户长时间使用过程中忘记锁屏而忙于其他事情了,这种时候会通过这种身份认证发现非机主的行为特征与手机用户的不一样,让手机及时锁定,避免手机信息泄露。
基于Android平台,利用JAVA语言调用接口编程实现了一套用户行为数据采集APP,可以每天循环采集手机内置大量传感器数据以供后期分析,采集数据如表1所示。并且将采集APP安装在10个用户智能手机上,分别包括在校学生,工作上班族、退休人员等,不同年龄段,不同阶层的手机用户更能看出在使用手机过程中的区别。采集时间持续两个月,迁移到数据库的有效传感器数据共10万多条。
针对采集到的大量数据,基本上都是手机最原始的数据,而用户在平时使用手机时自身因素和环境因素都会对手机传感器采集到的数据产生影响,部分采集到的数据有偏差,所以需要先对其进行各种预处理,包括数据清理阶段,把少部分缺失的数据补全,个别异常的数据删掉。数据去噪阶段,手机内置的传感器数据会因为很多环境因素的噪声受到干扰,对原始数据进行降噪去噪处理。数据转换阶段,对采集到的不同数据按照其各自的采集时间分类分块。
表1 数据信息
用户在实际生活中使用手机最频繁的手势、最普遍的手势是拨打、接听电话,每个人在打电话的行为习惯也就不相同,比如退休人员年龄偏大,手机大多不随身携带,接打电话的时候通常是从某个包中找到动作较为迟缓,对于上班族通常上班完成业务需要经常接打电话,次数频率高,而在校学生更多使用手机是为了手机上网,区别于前两者。有时每个人接打电话的方式也不同,有的用户从一开始接听到最后结束手机都一直贴近耳朵,有的用户喜欢接通时才把手机靠近耳朵通话,有人喜欢外放接听等等。所以可以采集用户在接听电话过程中的手机内部传感器数据,包括加速度传感器、距离传感器、陀螺仪等等数据,观察其中的共同和差异,提取它们的特征值利用SVM分类算法对用户进行区分,在使用手机的过程中完成用户认证过程。
大部分人在使用手机时可以从口袋、桌面、书包等地方拿到手机,然后会抬起手臂,最后把手机贴近耳朵进行通话。在这个快速完成接听电话的过程中,虽然时间短,但是因为每个人的手臂胖瘦,手臂长短和用力的不同,每个时刻手机内置的加速度传感器、距离传感器、陀螺仪的数据也在不停发生变化,形成的轨迹也不同。手机APP在数据采集时也是以响铃开始,到接听电话、挂断电话为止连续记录了各个传感器变化的值,分析数据来区分是否是用户本人操作,如果不是可以及时锁定手机。
若采集的数据以每次接听电话为单位,把每个用户在此过程中的行为轨迹具体画出来,会发现其中波峰波谷个数、传感器数据的最大值最小值、趋势走向等表现出一些特征,因此提取的特征值包括距离传感器、加速度传感器X,Y,Z轴、陀螺仪X,Y,Z轴的最大最小值、均值、方差,出现波峰波谷的个数以及峰度,如表2所示。
表2 提取特征值
每次一共提取的特征属性有种40余种,把采集到的所有数据分成两部分,其中85%的数据用来作为训练集,来不停训练,15%作为测试集,观察分类结果。利用Weka工具中的SVM算法(支持向量机)得到的性能数据表如表3所示。部分含义如下:
(1)Precision 准确率:
(2)Recall 召回率:
(3)F-Measure F度量:Precision 和Recall的调和平均数,主要评估准确率召回率上的平衡性。
曲线下面积比例(ROC Area)是准确率和召回率的曲线面积求得,可以说明SVM这种分类算法的准确性,面积越大准确性越高,通过比较发现三个学生的ROC Area值最大,说明此分类方式对于学生来说可以较为精确地区分使用手机时是机主还是非机主。上班族和退休人员的ROC Area值虽然没有学生的高,但是差不多都是0.9左右,总体来看,此分类方法的准确性较高,可以在实际手机使用过程中,特别是接听拨打电话时及时判断发现是否是手机用户在操作手机,对用户身份进行认证,如果不是本人使用,可采取一定措施锁定手机,进一步保护手机信息不被泄露。
表3 支持向量机用户认证的准确率
此外本文还采用其他算法进行对比分析,一种是采用贝叶斯算法中的朴素贝叶斯对数据再进一步分析对比,另一种是利用Weka工具中决策树C4.5选取最能区分的特征值构建决策树。分别选择不同数据进行训练测试,计算出三种算法的平均准确率和平均召回率,得到的性能结果如表4所示,可以看到支持向量机对手机用户的认证的平均准确率最高,认证的准确性最好。
表4 不同方法用户认证对比
小结:通过自己设计的数据采集软件,在小范围不同用户的智能手机上安装循环采集传感器等数据,对大量的数据做迁移、预处理分析之后发现通过支持向量机算法对用户在拨打接听电话中提取到的特征值进行分类识别,进一步对用户身份进行认证,平均准确率达到86.3%,说明可以在使用手机的过程中对用户身份进行进一步认证,区分是否是用户本人在操作手机,并且还可以作为对传统手机用户认证方式的补充,加强的手机的安全性,最大可能避免用户信息泄露,及时保护手机用户隐私。并且通过与朴素贝叶斯算法和决策树算法比较,发现采用SVM算法的平均准确率最高,分类效果最好,后面的实际应用中可优先采用此 分类方法完成用户认证。