汪文彬+杨少辉
摘要:设计了一款以短信作为通信媒介的手机安全系统,通过客户端发送指令,进行定位、锁屏、拍照、警报、找回数据、删除数据等操作,实现远程控制被盗手机功能。通过测试,系统运行稳定,操作简单,具有良好的用户体验。
关键词:Android;手机防盗;数据安全;远程控制;短信
中图分类号:TP311.5
文献标识码:A
DOI:10.3969/j.issn.1003-6970.2015.06.005
本文著录格式:汪文彬,杨少辉,基于短信控制的Android手机安全系统的设计与实现[J].软件,2015,36(6):21-25
DesignandImplementationoftheSecuritySystemsofAndroidMobiles
BasedonSMSControl
WANGWen-bin,YANGShao-hui[Abstract]:Theauthordesignsasystemtorealizetheremotecontrolofthestolenmobilephonesthroughtheinstructionssentbytheclientstoachieveoperationssuchaspositioning,lockingscreen,camera,alert,retrievingdataanddeletingdata.ThissystemsetsSMSasamediumofcommunication.Throughthetesting,thesystemrunsstablyandoperateseasily.Asaresult,ithasexcellentuserexperience.
[Keywords]:Android;Mobilesecurity;Datasecurity;Remotecontrol;SMS
0引言
国内外,只要拥有防盗功能的软件,其核心功能都用到了GPS定位、锁死屏幕、安全警报、清除数据等。综合各软件优缺点,本文设计的手机防盗应用软件不仅具有这些常规功能,还提供给用户更多的操作手段,同时具有换卡通知和找回丢失数据的功能[1]。
基于短信控制的Android手机防盗系统,目的是将手机安全防护与远程控制相结合,用于保护用户的手机与手机中的资料,解决手机被盗或者丢失所带来的隐私泄露问题。本系统采用Android系统的四大基本组件:Activity(活动)、Service(服务)、Broadcastreceiver(广播接收器)、Contentproviders(内容提供者),结合GPS(全球定位系统)、SMS(短信服务)、E.mail(电子邮件)等技术,设计开发了追踪定位、数据安全、远程控制、换卡通知等功能模块。
1系统设计
1.1系统原理[2][3]
本系统由服务端和客户端两部分组成,明确分T,简化操作。服务端安装在目标手机上,以后台服务的形式运行,负责接收、解析远程指令,处理远程操作,是系统的核心部分;客户端用于发送指令,显示处理结果,远程控制目标手机。安装服务端的手机丢失后,可以利用客户端发送指令请求服务端执行各种操作,以保护丢失手机的数据安全。系统原理如图1所示。
1.2安全机制
由于程序本身涉及用户隐私数据,程序的安全性也需要得到充分保障,防止他人恶意利用,窃取用户隐私。本系统采取的安全措施主要有以下几点:
(1)登录机制。想要打开服务端和客户端都必须输入密码登陆,密码验证通过后方可进入系统进行操作,没有密码则不能进入系统进行任何操作,防止他人恶意操作造成不必要的损失。
(2)绑定手机。安装服务端后用户必须绑定安全号码,服务端只有接收到用户绑定的安全号码发来的指令才能生效。
(3)绑定邮箱。通过指令找回的个人数据都是以邮件的形式发送的,因此,只要绑定的邮箱是自己的,别人即使破解密码,使用安全号码获取数据,最终数据还是发回到白己的邮箱,不必担心数据丢失泄露。
(4)密码验证。客户端向目标手机发送指令前.必须设置目标手机的登陆密码作为指令验证码才可以发送。而安装在目标手机的服务端也会检查验证码是否正确。验证码默认为服务端登陆密码。一个条合法的指令格式如图2所示。例如:18976281234#ADMIN123456001就是一条合法的指令,每个部分都需要检测合格才能生效。
1.3客户端设计
客户端主要用于发送指令控制丢失的目标手机,主要分为用户登录,定位追踪,数据安全,远程控制,用户设置等五个模块,如图3所示。
1.4服务端设计
服务端主要用于保护手机的数据安全,接收和处理客户端请求的远程指令,并返回处理结果。为简化操作,服务端只保留用户登录,个人信息设置和系统设置界面,其主要功能都在后台服务中实现,由客户端发送远程指令激活执行。服务端结构图如图4所示
2系统实现
2.1通信方案[4]
由于涉及客户端与服务端的远程交互,两端通信必不可少。短信好可以弥补网络通信断网的不足和蓝牙的距离限制,而且信号非常稳定,无法手动关闭,因此本系统采用短信通信方式。
使用短信通信必须在程序中声明短信的相关权限,声明代码如下:
<!..接收短信权限..>
<!..发送短信权限..>
<!..读短信权限..>
2.2存储方案
本系统的客户端和服务端需要存储的数据都非常少,且大都是配置信息,因此采用Android提供的一种轻量级存储方式SharedPreferences。
SharedPreferences存储格式代码如下:
<?xmlversion=1.0encoding=utf.8standalone=yes?>
2.3客户端实现[5]
客户端主要用于和用户交互,界面部分主要使用Android的Activity实现。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件。
客户端实现的工程结构说明如表1所示。
2.4服务端实现
服务端主要用于接收和执行远程指令,与用户交互的地方不多,主要的用户操作集中在用户登录界面和系统设置界面。用户登录界面与客户端的登录界面完全相同,因此不再赘述。系统设置界面要存储用户设置信息,因此也要采用PreferenceActivity实现。
服务端实现的工程结构说明如表2所示。
3系统测试
3.1测试方案
通过系统使用黑盒测试方法,对系统的功能模块的正确实现,系统功能的正确性等方面进行测试[5][6]。测试方案如表3所示。
3.2测试用例
测试用例如表4所示。
4结论
经过测试,本软件实现了所有防盗功能。当装有此防盗软件手机丢失时,通过安装程序时设定的安全号码,可以获取到丢失手机的实时位置并显示到地图上;保证丢失手机的数据安全(找回通讯录、短信、重要文件及销毁文件);获得丢失手机的远程控制权(解锁拍照、安全警报、锁死屏幕、短信转发、来电通知、开机提醒、换卡提醒等)。大大增加了找回丢失手机的可能性,保护了用户的数据安全及个人隐私。
参考文献
[1]齐荣.用户隐私研究综述[J].软件,2015,36(1):125-130.
[2]陈泽恩.基于Android平台的移动监控系统设计与应用分析[J].软件,2012,33(10):52-54.
[3]刘伟,孙其博.Android平台恶意软件行为模式研究[J].软件,2012,33(11):150-156.
[4]孟远.Android网络通信框架Volley的解析和比较[J]软件,2014,35(12):66-68.
[5]汪文彬,马玉春,尹建.基于加速度传感器的智能手机动作识别系统的设计与实现[J].软件,2015,02:10-13.
[6]钱乐秋,赵文耘,牛军钰.软件工程[M].北京:清华大学出版社,2007