林平荣,施晓权,周谚辩,苏思维,萧国铿,纪其顺
(1.广州大学华软软件学院软件研究所,漳州 363000;2.广州大学华软软件学院软件工程系,陆丰 516500;3.广州大学华软软件学院软件工程系,海丰 516400;4.广州大学华软软件学院网络系,陆丰 516500;5.广州大学华软软件学院软件工程系,广州 510990)
随着计算机技术和移动设备如智能手机的日益普及和发展,手机在国民日常生活中已占重要地位,越来越多的人使用手机来管理和安排自己的工作和生活,如网上购物、网上转账、公文审核、电子签名、上班签到等。但是手机容易丢失或被窃取,一旦遗失,将会对用户造成巨大的损失。因此,移动设备的安全性越来越受到重视。而保证系统安全的一个重要措施就是对手机用户进行身份的识别,在移动银行、移动电子商务、移动办公、电子政务等应用领域,都需要对使用者的身份进行准确的鉴定。
目前,在移动平台的身份识别领域中,被广泛使用的仍然是简单的用户名和密码或图案解锁的认证方式,在某一些高端的移动设备采用指纹、人脸识别等生物特征认证方式。传统的单一认证方式存在着安全性和可靠性的问题。据调查,当前基于移动平台的身份识别大多基于生物认证技术或设备认证技术。
(1)生物认证技术是利用人体固有的生理特征,如人脸、指纹、视网膜、掌纹、虹膜及行为特征(签名、声音、步态)等,对个体进行身份识别的认证技术[1-2]。
(2)设备认证技术主要利用设备固有的唯一属性进行验证,如IMEI(国际移动装备辨识码)验证及网络属性(MAC、IP、UUID)、短信验证等。
这两种认证方式都存在优缺点:生物认证具备安全性高、特征稳定等特点,但是在实际应用中也面临着诸多挑战,较为突出的是安全问题和识别准确率问题,例如指纹识别就存在着指纹被套取或用假手指骗过识别系统的可能[3];相比较指纹识别,人脸识别精准度更高,且识别速度快,非接触式识别更卫生,但是对移动设备及使用者的面部位置、周围的光环境都有比较高的要求,否则可能影响识别的精确性,此外,人脸识别也存在伪造脸型通过识别认证的可能;音纹识别利用的是说话人语音中特有的音纹信号,可以不考虑音纹中的字词意思[4],使用方便,可以很好地满足身份认证要求,但声音变化范围大,音量、速度和音质等方面都会影响识别精确度[5],如一个患上感冒的人有可能无法通过身份识别;设备认证简单易操作,但是容易被他人采取伪造信息的手段完成身份识别,如在网上购物时,由于使用的是软验证,当手机丢失时,盗窃者可通过软件等技术手段破解支付密码和图文密码。
针对移动平台身份识别中存在的问题,提出一种基于移动平台的多重身份识别系统方案。该方案在深入分析各种身份识别方法优缺点的基础上,将生物认证技术、地理位置识别技术和设备认证技术相结合,并可以根据业务场景需求提供不同等级的安全服务,形成优势互补机制和识别评判机制,提高身份识别的安全性和实用性。整体方案设定及说明如表1所示。
表1 多重识别方案设定及说明
设备认证主要通过设备绑定、短信认证、密码及图纹解锁等手段来进行身份识别。生物识别主要通过人脸识别、声纹识别等手段进行身份验证。人脸识别技术近几年已取得了惊人的进步,目前人脸识别技术已经渗透到人们的日常生活中,以往的人脸识别需要借助特殊的检测设备,这类设备昂贵且笨重,随着智能手机和发展,现在的智能手机基本上都可以充当此类设备,让人脸识别成为了可能[6];地理位置识别技术主要通过GPS接收器、移动基站、IP地址以及Wi-Fi资料库来获取定位信息,与验证设定的地理位置进行对比。只要用户在一定区域内,即可验证成功。
根据各识别方法存在的局限性,研究业务场景的安全等级及对应的识别方法,形成优势互补机制的多重身份识别方案。如:使用绑定IMEI/MAC地址认证法和GPS+时间戳认证法只能识别出用户所在地点和用户是否使用已绑定的设备,但无法识别出用户是否本人在操作,一旦出现设备被盗窃或盗用的情况,不能保证身份认证的结果可靠,因此可以加入人脸识别技术进行辅助识别,这样可以保证用户是本人进行操作。场景不同,对身份识别的可靠性也存在着不同的要求,如上班签到,该场景只需要知道员工本人在指定地点指定时间进行的身份认证即可,在这种场景下,考虑到指纹识别的可复制性,我们排除指纹识别方法,由于办公环境声音的不可控性把声纹识别排除,因此该场景下可使用人脸识别来认证员工本人,利用GPS+时间戳技术可获得员工当前地点和当前时间。
基于以上方案,我们选取了其中的一个场景(电子签到,以下简称EII)进行系统实现,设定该场景对应表一理的L5等级,用到“设备认证+生物识别+位置识别”的多重识别方法,生物认证采用人脸识别认证和音纹识别认证。
基于以上需求,EII主要功能模块如图1所示:
图1 EII系统功能模块图
用户登录后,通过调用GPS定位确认自己的地理位置,通过定位后即时调用摄像头进行人脸识别,根据用户上传的数据系统进行信息匹配,信息一致时签到成功。企业管理员可以通过后台管理,查看、修改员工的签到状态以及签到方式。
本系统主要用到 Android的 Glide、OkHttp3、和EventBus技术。Android Glide可以很好地提高图片加载和处理速度,其自身内部已经实现了缓存策略,因此开发者可以不用处理Android图片加载的琐碎事务,只需要专注逻辑业务的开发,而且Android Glide只需要很少的代码,即可完成大部分图片加载、显示的功能需求;OkHttp3是一个精巧的网络请求库,支持HTTP2,对一台机器的所有请求共享同一个Socket内置连接池,支持连接复用,减少延迟支持透明gzip压缩响应体通过缓存避免重复的请求,请求失败时自动重试主机的其他IP,自动重定向;EventBus是一款针对Android优化的发布/订阅事件总线。简化了应用程序内各组件间、组件与后台线程间的通信。优点是开销小,代码更优雅,以及将发送者和接收者解耦。
图2 员工签到流程图
图3 管理签到流程图
人脸识别是系统的核心功能之一,为了提高识别的效率和精确度,我们采用Face++提供的API,系统会要求用户上传一张自拍照到服务器中,当需要进行人脸识别时,系统会调出自拍照和用户即时提供的照片进行对比,从而识别是否是本人操作。
图4 人脸识别调用流程
音纹识别是系统的核心功能之一,为了提高识别的效率和精确度,我们采用讯飞语音提供的API。系统会要求用户朗读一段文字并将音频存入到讯飞语音的服务器中,当需要进行音纹识别时,系统会调出音频和用户即时朗读的音频进行对比,从而识别是否是本人操作。
图5 音纹识别调用流程
文件加密是系统的核心功能之一,为了提高识别的效率和安全性,我们采用Android自带的ASE算法包。系统将用户要求加密的文件转换成字节数组,并通过调用算法包中的函数对字节数组进行加密。
短信验证是平台给用户的一个凭证,通过短信内容的码来验证身份。系统通过Mob提供的验证服务进行验证,让用户发送短信验证请求到Mob服务器,Mob服务器再请求短信服务商下发短信,然后系统根据用户输入的验证码和Mob提供的验证接口进行验证,具体流程如图6所示。
图6 短信验证流程
图7 音纹识别界面
图8 人脸识别界面
图9 人脸即时采集
图10 识别通过界面
EII系统采用Android语言的MVC框架构建的移动应用系统,使用MySQL 5.6作为后台数据库,使用Android Stduio作为代码开发工具。系统设计采用模块化的设计方式,分为普通用户模块,企业模块与管理员模块。音纹识别引擎由讯飞公司提供,音纹识别界面如图7所示,人脸识别引擎由旷视科技Megvii Face++提供,人脸识别的界面如图8和图9所示,通过识别的界面如图10所示。
本文提出了一种基于移动平台的多重身份识别方案并给出最终实现效果。该方案安全机制灵活、富有弹性,可以很好地实现安全性和适用性之间的平衡,一定程度解决目前安全认证的难题,可以广泛的应用于移动办公、电子政务、移动支付、移动电子商务、安防等领域。
[1]黄轩,范京晔.基于移动平台的多重生物识别系统[J].计算机应用与软件,2015(5):105-106.
[2]傅山,潘娟.移动智能终端生物识别发展与挑战[J].移动通讯,2015(5):13-14.
[3]童晓阳,王培林.基于复合生物识别的出入门禁系统设计与实现[J].微电子学与计算机,2007(2):117-118.
[4]曾斌,姚路,陈志诚.基于声纹识别的Web身份认证系统设计[J].计算机工程,2011,37(15):149-150.
[5]林鹤.生物识别――永恒的身份证.http://www.chinaconsult.com/yujian.html#007.
[6]陈一宁,陈晓光.基于手机和人脸识别的身份识别系统[J].计算机应用与软件,2011,28(3):77-79.