Android系统移动终端的防丢失应用设计*
2017-04-25时光刘云恒
时光,刘云恒
(南京森林警察学院 信息系,南京210023)
Android系统移动终端的防丢失应用设计*
时光,刘云恒
(南京森林警察学院 信息系,南京210023)
Android移动终端丢失后,通过已经设定的安全联系人远程操控手机,不仅可以对数据进行加密和销毁操作,还能够获取移动终端的具体位置。通过摄像头拍照,获得周围的环境照片,甚至可以得到偷盗者的信息,帮助找回丢失的设备。移动终端截获短信后,对命令字段进行分析,可利用内置的百度地图服务SDK获取具体的位置,通过3DES加密,内置的so库终端的密钥进行加密,必要的时候,可以销毁数据,以保证数据的安全。
远程操控;3DES数据加密;数据安全销毁;场景传回
引 言
用户丢失Android移动终端后,利用信息的安全性,在一些情况下,可以帮助用户找回丢失的设备。手机在丢失后,如果非法用户开机使用,甚至换卡,所设置的安全联系人就会收到最新的SIM卡号的短信,用户可以通过安全联系人的号码,发送命令控制短信,对自身的联系人、信息数据进行3DES数据加密,或者进行销毁式加密,必要的时候,还可以进行数据销毁,删除SD卡的所有数据。早期的信息安全研究,只存在于研究加密,没有结合远程控制和数据销毁,如果密钥被破解,仍然可以被成功破解获得原来的内容。通过本课题的研究,不仅在用户丢失移动终端后,可以使得数据安全得到保障,而且通过内置的地图服务与拍照功能的结合,也可帮助用户找回终端,对个人信息的安全、财产的保全具有重要的意义[1]。
1 系统设计
本系统设计主要分为三个核心模块:首先设置安全联系人,通过短信控制命令控制被保护的终端,而且只要更换SIM卡,安全联系人就会收到最新卡号发来的信息,永不断线;信息安全模块可帮助用户保护数据的安全,必要的时候销毁数据;模块在终端丢失后,可帮助用户寻回终端。安全措施依赖于用户设置的安全联系人以及换卡短信提醒功能;数据的信息安全,依赖于软件自带的加密功能和数据销毁功能;而帮助用户寻回终端主要依靠的是内置百度地图的SDK服务和拍照的场景回传[2]。核心架构图如图1 所示。
图1 核心架构图
2 软件模块设计
2.1 安全措施
2.1.1 安全联系人设置
图2 设置安全联系人
安全联系人在软件初始化的时候设置,如果终端客户信息更新,该安全联系人可以获取新客户相关信息,包括其手机号等,也可以远程控制手机获取销毁数据、定位信息等。如果要更换客户,需要进行安全认证才能完成。所以初始化过程需要与安全联系人进行短消息联系确认,以确保安全,如果设置成功,则说明可以安全使用软件相关功能,手机安全性也得到了保证,设置流程如图2所示。
2.1.2 换卡短信提醒
如图3所示,本系统设计软件会在客户初始化的时候将SIM卡的ID号码存入后台数据库,此ID号码具有唯一性,每个ID号码对应一部手机,而且本软件会同时设立一个账户,包括用户名和密码,当客户端用户SIM卡更新时进行身份验证。
图3 换卡短信提醒
SIM卡更新时,系统会自动和之前保留的ID号码进行匹配,如不同,则要求输入之前设定的用户名和密码,为确保此卡是本机用户新卡而不是手机被盗后所换的卡,此时系统会发送新号码给安全联系人,以确保用户手机系统的信息安全[3]。
2.2 信息安全
2.2.1 数据库加密
存入安全联系人的数据库信息需要以加密的形式存入,以保证信息的安全,采用AES加密算法,其对应的密钥存入so库中,随apk一起打包,这样安全性较高,即使数据被导出,也无法轻易知道数据库中的内容。
而当用户丢失终端后需要加密数据,比如短信数据、联系人数据,则使用3DES加密,而当用户不想让数据被破解,则可以使用销毁式加密方式,使用MD5方式对上述数据进行加密。
AES与3DES算法是业界用的比较多的加密算法,它的特点是可逆不容易破解,除非知道加密的密钥,对于密文以同样的秘钥进行解密方可得到原文,而AES只加密一次,3DES会加密3次。由于存入数据库的数据可能会被经常使用,所以使用AES加密会减少读取的时间,而当用户丢失后,为了提高加密的安全等级,使用3DES比较合适。MD5是不可逆的加密方式,如果用户想彻底销毁数据,直接使用MD5加密,则非法持有者永远也不可能知道其原文到底是什么,因为MD5是不可逆的,至今也无人可以破解。
2.2.2 清除手机数据
如果用户想要彻底销毁数据,则需要清除一些容易泄露隐私的数据,包括联系人信息、短信信息,以及存储设备中的信息,保证一些重要的信息不会泄露给偷盗者。
Android系统中,联系人短信的数据都是通过ContentProvider进行访问的,而每个模块都有自己的URL,这个接口是统一的、公用的。只要知道了URL,就可以对数据进行读写,需要申请相应的权限。比如联系人URL是Phone.CONTENT_URI,它所指向的其实是“content:// com.Android.contacts/data/phones”,而短信的URL则是content://mms-sms/conversations,了解URL,根据它们的表名可以正常访问。
删除SD的卡中数据,则采用遍历的方式,逐级遍历存储设备,递归遍历文件夹中的文件,遍历到叶子节点的时候(即该文件夹中的文件),先逐步删除文件,确保该文件夹为空文件夹后,随后删除该文件夹。如果文件夹中又有文件夹,则继续递归遍历,直到文件被全部删除。
2.3 终端寻回
2.3.1 获取手机的位置信息
该功能使用百度地图服务的SDK实现,版本为locSDK-3.3.jar,该版本相对于其他版本的优势为:
① 不需要向百度服务器注册,其他版本的SDK需要在服务器端注册该apk的包名,以保证正常的访问。
② 不是必须联网,可直接通过GPS获取数据。该版本支持几种定位方式,除了网络服务定位+GPS定位,当没有网络的时候,亦可通过GPS直接定位。该优点特别适合本课题的研究,即使非法持有者不打开网络,通过GPS同样可以获知其位置,帮助用户找回终端。
该SDK集成了众多的功能,而在本课题研究中,主要使用BDLocation这个类,该类提供了三种不同的核心方法:getlatitude()和getlengitude()分别用于获取经纬度,而getAddrStr()则可返回当前位置的详细信息,位置可精确到街道。当安全联系人使用位置回传命令控制终端的时候,终端即调用该函数,获取当前手机的具体位置并回传[4]。
2.3.2 拍照并传回安全联系人
当安全联系人想要获得周围环境参数的时候,可通过短信命令调用摄像头,拍照并以彩信的形式传回给安全联系人[5]。具体流程如图4所示。
图4 短信命令拍照流程
拍照的时机很重要,如果用户想要知道非法持有者的头像信息,则启用前置摄像头,且当三轴加速传感器的角度为终端使用角度(正常人持有并使用移动终端,z轴的角度在20度到45度之间,而x轴与y轴的角度变化非常微小)时,拍照回传,而如果用户想获知环境参数的时候,则需要根据三轴加速传感器的值,启动不同的摄像头,如果手机是平放在桌面的,此时后置摄像头朝着桌面,其他情况下启动后置摄像头拍照,不过为了避免开启闪光灯而被非法持有者获知,在环境光非常暗的情况下,不执行该命令,等待环境光变亮时再执行,保证照片的品质,珍惜每次能够获得环境照片的机会,以最小的成本代价,帮助用户找回设备。
Android不提供发送彩信的接口,也不能调用发送彩信的统一接口,这样会暴露给非法持有者,所以需要自己移植Android源代码中的pdupart,构造自己的彩信发送器,这里不再赘述其移植过程。
结 语
通过以上两种方式的结合,除了能够保证Android移动终端的安全性,还可以在移动终端丢失后,得到其具体位置和环境参数,帮助用户找回终端,对于数据信息的安全有着重要的意义和作用。
[1] 姜浩.安卓系统安全保护架构研究[J].通讯世界,2016(14).
[2] 王风,杨璐璐.Android平台数据安全保密机制探析[J].电脑开发与应用,2013(2):33-35.
[3] 张晟骁,张宏,李千目,等.一种基于安卓系统的短消息加密方法[J].计算机技术与发展,2015(9):144-148.
[4] 姚佳健.基于Android的LBS定位系统的设计[D].南京:南京邮电大学,2013.
[5] 吴少刚,张福新,戴烨,等.一种安卓应用软件调用拍照模块的方法:CN,CN 102799469 A[P].2012.
时光(助教),主要从事物联网与嵌入式系统数据安全方面的研究工作;刘云恒(讲师),主要研究方向为公安大数据应用。
(责任编辑:薛士然 收修改稿日期:2016-11-28)
Mobile Terminal Anti-lost Information Security Application Based on Android System
Shi Guang,Liu Yunheng
(Department of Information,Nanjing Forest Police College,Nanjing 210023,China)
After the Android mobile terminal is lost,the remote control of the mobile phone has been set by the security contacts,not only can encrypt and destroy the data operation,but also can obtain the specific location of the mobile terminal.The camera can access to the surrounding environment photos,and even get the theft information to help retrieve the lost equipment.After the mobile terminal intercepting the message,the command field is analyzed.The built-in Baidu map service SDK can be used to obtain the specific location.Through the 3DES encryption,built-in so library terminal key encryption,you can destroy the data in order to ensure the data security if necessary.
remote control;3DES data encryption;data security destroy;scene back
本项目受中央高校基本科研业务费专项资金项目(LGQN201601,基于Android系统的移动设备数据安全)的研究资助。
TP36
A