基于图案密码的手机智能身份识别方法研究
2018-02-27陈大卫
陈大卫
摘 要: 图案密码身份验证不能满足用户使用智能手机时的安全性需求,因此,该研究加入了以生物特征识别为基础的“过程认证”因子,以期能通过这种方法提高仿冒者破解图案密码的难度。另外,根据图案验证初始数据量较少、可提取特征的曲线较短且通常没有仿冒者数据等特点,引入One Class SVM判别方法对用户的输入特征进行学习和分类。在智能手机上的成功实现表明,身份识别效果良好,达到对仿冒者身份的识别率100%、对用户身份的正确识别率94.8%的实验结果。
关键词: 智能手机; 生物识别技术; 支持向量机; 手机安全
中图分类号:TP391.4 文献标志码:A 文章编号:1006-8228(2018)02-22-04
Abstract: Using patterned password to verify identity could not meet smart phone users' requirement for security. Therefore, the "process certification", which is based on biometrics, is introduced in this research to make it harder for imposters to solve patterned password. As pattern identification has less preliminary data, shorter characteristic curves and less imposters' data, "One Class SVM" is introduced to acquire and classify users' input characteristics. The successful implementation on smart phone shows that the effect of identification is good, the recognition rate of imposters is 100%, and the correct recognition rate of user identity is 94.8%.
Key words: smart phone; biometrics technology; SVM; phone security
0 引言
智能手机用户对手机本身的身份识别技术十分关注。其中,普通图案密码验证方法以其操作简单、识别快速而被很多Android手机用户所接受,但其也存在致命缺陷——容易被他人通过长期的观察或多次试验等手段破解。因此需要通过提高验证过程中记录的数据量增强其安全性,还必须保留其易用性,以便在尽量少增加用户使用难度的情况下,使其变得更加安全。
传统的图案密码验证过程,仅以连接的图案节点以及其前后顺序作为数据进行采集,同时,身份识别过程中还会在手机屏幕上显示对应图案,这就导致其密码组合数量(N!×N)[1]远不如普通的字符密码(NN),安全性差。但通过对各类手机身份验证方式进行研究,發现图案密码验证方式具有改进空间。
除了图案密码本身的加密因子外,为提高密码验证仿冒难度,还应该融合图案验证过程中手机存留的用户触摸信息。部分研究者针对图案验证节点之间触发的时间长度进行分析,试图验证用户的身份[2];或者仅提取节点周围的动作、坐标点、触摸面积,以及时间、压力等信息[3]进行认证。不过这都不能很全面地反应图案密码验证的全部过程。另一方面,在线签名认证研究中,一些研究能够追踪用户签名的过程,达到身份认证的效果[4-5],但是智能手机端对在线签名的身份认证推广程度较低。将图案密码验证与在线签名认证的方法相结合,就能提高智能手机的安全性。
1 双因子图案密码身份认证
1.1 概念
正常的图案密码身份验证如图1所示,我们在此基础上引入生物识别技术。这就要求在图案验证过程中,记录整个“验证过程”中手指与屏幕之间产生的坐标、时间、压力等信息,图2展示了用户在验证过程中在屏幕上留下的坐标信息。在验证过程的最后,还要对图案的正确性和验证过程特征[9]的匹配性作判断,这样能够对验证者的身份进行准确的认证,防止非法用户冒用身份。
图案密码是传统的智能手机身份验证方法,过程信息验证脱胎于在线的用户签名身份验证。但前者不能取得良好的保护效果,而后者可能为用户的使用带来麻烦。将其融合使用后,会表现出良好的安全性和可用性。
1.2 特征
用户验证过程相对稳定。图案的滑动过程是受到大脑神经和身体器官控制的一种长期训练形成的条件反射[11],而且已经被大众接受,具有很不错的稳定性[7]。
双因子认证更难被破解。它增加了秘钥的数据量,提高了仿冒者的学习难度和破译难度,且对于人体动作尤其是幅度较小的手部动作来说,很难被模仿。
“过程认证”数据量相对较小。它没有记录冗余信息,每个信息点包含的数据都是构成最终特征的一环,因此不需要对基础数据进行筛选和清洗,也不会给用户带来比普通‘图案密码身份验证方法更多的操作负担。
额外的生物识别特征。由于验证过程中必须遵照有限的基准点进行勾画,所以输入曲线的可变性与灵活性有所降低,但却出现围绕固定标准形状进行勾画的新特征,使数据处理过程中可以围绕有规律的图形提取特征,比如提取用户实际在手机屏幕中勾画的曲线与标准图形的距离或DTW[8]相似度作为额外的学习特征。
误报率增加。特征的选取、算法的挑选和参数的配置都是影响认证误拒率与误纳率的因素。同时,对特征的识别理论上无法达到100%的正确率,因此需要通过验证流程的优化增加验证功能的实用性。endprint
数据量相对较少。实际情况中,新用户的数据信息较少,特征提取比较困难;另一方面,仿冒者的数据量更为不足,无法使用正常的支持向量机进行分类。
2 引入One Class SVM并对过程数据进行处理
研究中发现,实际情况下无法预先获得足够数量和质量的伪造数据集,无法使用两类分类器对数据分类,因此,一类分类算法就成为验证的合适选择。
2.1 One Class SVM
实验中发现,支持向量机(SVM)在保证较高准确率的前提下,也能适应用户对计算延迟时间的容忍程度,试验测試中对50个特征的50组数据进行学习也只需要500ms左右的运行时间,也证实了这个结论,而在实际的试验阶段数据的计算量将远低于这个值。One Class SVM是支持向量机的一种,它不是将所有特征向量分到一类里,而是将超平面另外一侧的向量认定为另外一类,本质上还是分为两类。这种特性能够满足身份认证功能的需求。
2.2 特征提取
特征选取是提高算法准确率的必要条件。首先,在过程验证中,通过event方法调取验证过程中每个点的对应坐标信息、时间点信息、压力信息以及对应图案的坐标信息,并将其存入数据库备查。在普通的图案密码验证完成后,将训练集和测试集的数据全部从数据库内取出,再进行特征的提取。
一部分特征根据常用在线签名身份认证技术的特征提取方法获取[10],也就是通过统计的方法提取出一个全局特征集合;另外一些特征,则是将验证过程中各个坐标点的信息与对应的基准线的信息进行关联。图3和图4展示了同一个图案密码的两种特征提取方法。
均匀分布的坐标点集合散点图
利用这些特征可以得到不同验证者在勾画图案过程中的运动路径的区别,而且,通过数据比对发现,这部分特征对身份认证曲线的细微变化确实比较敏感,可以满足SVM对特征选择的要求。此外,还应对数据进行分段处理,以得到更为细化的特征。
2.3 数据特征的选取与处理
计算得出的特征数据直接输入算法进行预测,效果一般。对数据进行分析后发现,许多特征分类特性不明显,图5中展示了用户(训练集)和其中一名仿冒者(预测集)输入曲线的特征R21和特征R22。
分析两组数据后发现,在这两种典型的特征中,用户和仿冒者的特征数据混合在一起,SVM分类器无法解析到合适的超平面对两个个体进行分类;另一方面,数据刻度范围的不同会使数据在SVM训练阶段需要多次迭代,增加训练时间,最终也会影响用户体验。因此,在前期的特征选取阶段,就必须选取分类效果较好的特征(如图6所示,特征D3(所有验证图案的坐标链与均值标准线的DTW距离)的数据分布)——不同类别的数据比较集中,且区分度大,这两点是最理想数据的必要属性。而对于混合程度特别高的数据,应该在大量收集实验数据及测试后谨慎剔除。
另外,要对所有数据进行归一化处理,以降低学习难度,节省计算时间。通过实验对比发现线性函数与归一化方法和0均质标准化方法得出的归一化结果对最后结果并没有明显影响,但后者计算成本略高,因此最终选择使用线性归一化,即:找出特征的最大值和最小值,将其分别赋值为1和0,然后将同一特征内的其他值按照比例缩放到这两个值之间。如公式⑴。
3 实验与结果分析
3.1 实验平台
实验选用国产华为Android手机进行测试,屏幕分辨率为1920×1080P像素,实验机的操作系统为Android 6.0、API 23,应用的开发平台为Google公司推出的Android Studio3.0,SVM工具是林智仁教授开发的LIBSVM软件工具包。
3.2 试验数据与数据处理
随时间变化,用户过程验证的特征会有微小的变化,而且用户在使用初期无法产生很大的训练数据,因此,实验仅选取最近的30次验证过程的数据作为训练数据集。并请6位仿冒者每人输入了5次身份验证信息,最后,还为用户单独做了10次验证实验,一共40组数据作为测试集。另外,参与实验的7名测试者,均为日常手机使用过程中一直使用图案密码的用户,这使得训练集的数据相对稳定,特征比较明显。
3.3 实验结果及分析
用户的错误拒绝率为5.2%,而错误接受率为0,基本达到了程序设计的目标。不过受到数据量较小的限制,特征的筛选方法比较简单,很有可能仅适合这几组数据的识别,希望能获取更多数据,进行改进,使其达到更好的识别效果。
3.4 系统优化设计
非法使用者通过多次的试验,会有概率通过身份认证,因此,身份认证系统的目标是降低错误接受率,但这样会使合法用户的身份被识别率降低。因此,需要完善身份认证流程,避免手机完全锁死。
如图7所示,在锁屏状态下,唤醒手机后,就会出现图案验证界面,用户通过输入正确的验证图案进行身份验证,如果图案验证没有通过,则无法进行任何后续操作;通过第一步验证后,程序直接调取数据库中相应的流程验证信息,并提取出预先设定的特征进行过程身份验证,通过则可以直接进入主界面正常使用所有功能,否则只能进入主界面,但如需读取数据或使用某些敏感权限的应用需要再次通过验证,如果超过一定次数没有通过验证则采用预先设置的验证密码进入,保证用户不会因为验证模型的故障无法正常使用。
4 结束语
图案解锁引入过程验证方法,在未增加用户学习难度的情况下,可以有效降低被仿冒者破解的几率。实验利用Android触屏手机平台提取出多个特征,并使用LIBSVM软件包进行分类,最终取得了良好的身份认证效果。不过,由于特征的提取和选择不够充分,且参与测试的人员比较少,对于正常用户的身份误检率仍有待提改善。
这种身份验证方法在使用初始阶段,由于训练样本少,达不到用户使用的需求。因此,希望未来能找到一种方法,其能在极短时间内、花费极少的训练用户成本,提取出明显的用户特征,使身份验证功能更加完善。endprint
参考文献(References):
[1] 倪超凡.安卓系统屏幕密码锁暴力破解的可行性分析[J].衡水学院学报,2014.1:12-14
[2] 张云.多因子融合的移动终端用户身份识别机制研究[D].西安电子科技大学硕士学位论文,2014.
[3] 刘勇.基于生物行为特征的手机图形密码认证研究[D].西南财经大学硕士学位论文,2016.
[4] 罗琼.智能手机在线手写签名认证系统设计[D].武汉理工大学硕士学位论文,2014.
[5] 郭珩.一种面向移动设备在线手写签名身份认证技术[D].中南民族大学硕士学位论文,2015.
[6] 黄承杰.基于动态时间规划的在线签名认证方法研究[D].中国科学技术大学硕士学位论文,2009.
[7] Oliveira L S, Justino E, Freitas C, et al. The Graphology Applied to Signature Verification[C],2008.
[8] Luca A D, Hang A, Brudy F, et al. Touch me once and i know it's you!:implicit authentication based on touch screen patterns[C]. Sigchi Conference on Human Factors in Computing Systems. ACM,2012:987-996
[9] 王容霞.基于SVM的在線手写签名认证研究[D]. 武汉理工大学,2013.
[10] 张大海,汪增福.用于在线签名认证的特征提取和个性化特征选择方法[J].模式识别与人工智能,2009.22(4):619-623
[11] Frank M, Biedert R, Ma E, et al. Touchalytics: On the Applicability of Touchscreen Input as a Behavioral Biometric for Continuous Authentication[J]. IEEE Transactions on Information Forensics & Security,2012.8(1):136-148endprint