汪文彬+楊少輝
摘要:設(shè)計(jì)了一款以短信作為通信媒介的手機(jī)安全系統(tǒng),通過客戶端發(fā)送指令,進(jìn)行定位、鎖屏、拍照、警報(bào)、找回?cái)?shù)據(jù)、刪除數(shù)據(jù)等操作,實(shí)現(xiàn)遠(yuǎn)程控制被盜手機(jī)功能。通過測試,系統(tǒng)運(yùn)行穩(wěn)定,操作簡單,具有良好的用戶體驗(yàn)。
關(guān)鍵詞:Android;手機(jī)防盜;數(shù)據(jù)安全;遠(yuǎn)程控制;短信
中圖分類號(hào):TP311.5
文獻(xiàn)標(biāo)識(shí)碼:A
DOI:10.3969/j.issn.1003-6970.2015.06.005
本文著錄格式:汪文彬,楊少輝,基于短信控制的Android手機(jī)安全系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[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引言
國內(nèi)外,只要擁有防盜功能的軟件,其核心功能都用到了GPS定位、鎖死屏幕、安全警報(bào)、清除數(shù)據(jù)等。綜合各軟件優(yōu)缺點(diǎn),本文設(shè)計(jì)的手機(jī)防盜應(yīng)用軟件不僅具有這些常規(guī)功能,還提供給用戶更多的操作手段,同時(shí)具有換卡通知和找回丟失數(shù)據(jù)的功能[1]。
基于短信控制的Android手機(jī)防盜系統(tǒng),目的是將手機(jī)安全防護(hù)與遠(yuǎn)程控制相結(jié)合,用于保護(hù)用戶的手機(jī)與手機(jī)中的資料,解決手機(jī)被盜或者丟失所帶來的隱私泄露問題。本系統(tǒng)采用Android系統(tǒng)的四大基本組件:Activity(活動(dòng))、Service(服務(wù))、Broadcastreceiver(廣播接收器)、Contentproviders(內(nèi)容提供者),結(jié)合GPS(全球定位系統(tǒng))、SMS(短信服務(wù))、E.mail(電子郵件)等技術(shù),設(shè)計(jì)開發(fā)了追蹤定位、數(shù)據(jù)安全、遠(yuǎn)程控制、換卡通知等功能模塊。
1系統(tǒng)設(shè)計(jì)
1.1系統(tǒng)原理[2][3]
本系統(tǒng)由服務(wù)端和客戶端兩部分組成,明確分T,簡化操作。服務(wù)端安裝在目標(biāo)手機(jī)上,以后臺(tái)服務(wù)的形式運(yùn)行,負(fù)責(zé)接收、解析遠(yuǎn)程指令,處理遠(yuǎn)程操作,是系統(tǒng)的核心部分;客戶端用于發(fā)送指令,顯示處理結(jié)果,遠(yuǎn)程控制目標(biāo)手機(jī)。安裝服務(wù)端的手機(jī)丟失后,可以利用客戶端發(fā)送指令請求服務(wù)端執(zhí)行各種操作,以保護(hù)丟失手機(jī)的數(shù)據(jù)安全。系統(tǒng)原理如圖1所示。
1.2安全機(jī)制
由于程序本身涉及用戶隱私數(shù)據(jù),程序的安全性也需要得到充分保障,防止他人惡意利用,竊取用戶隱私。本系統(tǒng)采取的安全措施主要有以下幾點(diǎn):
(1)登錄機(jī)制。想要打開服務(wù)端和客戶端都必須輸入密碼登陸,密碼驗(yàn)證通過后方可進(jìn)入系統(tǒng)進(jìn)行操作,沒有密碼則不能進(jìn)入系統(tǒng)進(jìn)行任何操作,防止他人惡意操作造成不必要的損失。
(2)綁定手機(jī)。安裝服務(wù)端后用戶必須綁定安全號(hào)碼,服務(wù)端只有接收到用戶綁定的安全號(hào)碼發(fā)來的指令才能生效。
(3)綁定郵箱。通過指令找回的個(gè)人數(shù)據(jù)都是以郵件的形式發(fā)送的,因此,只要綁定的郵箱是自己的,別人即使破解密碼,使用安全號(hào)碼獲取數(shù)據(jù),最終數(shù)據(jù)還是發(fā)回到白己的郵箱,不必?fù)?dān)心數(shù)據(jù)丟失泄露。
(4)密碼驗(yàn)證??蛻舳讼蚰繕?biāo)手機(jī)發(fā)送指令前.必須設(shè)置目標(biāo)手機(jī)的登陸密碼作為指令驗(yàn)證碼才可以發(fā)送。而安裝在目標(biāo)手機(jī)的服務(wù)端也會(huì)檢查驗(yàn)證碼是否正確。驗(yàn)證碼默認(rèn)為服務(wù)端登陸密碼。一個(gè)條合法的指令格式如圖2所示。例如:18976281234#ADMIN123456001就是一條合法的指令,每個(gè)部分都需要檢測合格才能生效。
1.3客戶端設(shè)計(jì)
客戶端主要用于發(fā)送指令控制丟失的目標(biāo)手機(jī),主要分為用戶登錄,定位追蹤,數(shù)據(jù)安全,遠(yuǎn)程控制,用戶設(shè)置等五個(gè)模塊,如圖3所示。
1.4服務(wù)端設(shè)計(jì)
服務(wù)端主要用于保護(hù)手機(jī)的數(shù)據(jù)安全,接收和處理客戶端請求的遠(yuǎn)程指令,并返回處理結(jié)果。為簡化操作,服務(wù)端只保留用戶登錄,個(gè)人信息設(shè)置和系統(tǒng)設(shè)置界面,其主要功能都在后臺(tái)服務(wù)中實(shí)現(xiàn),由客戶端發(fā)送遠(yuǎn)程指令激活執(zhí)行。服務(wù)端結(jié)構(gòu)圖如圖4所示
2系統(tǒng)實(shí)現(xiàn)
2.1通信方案[4]
由于涉及客戶端與服務(wù)端的遠(yuǎn)程交互,兩端通信必不可少。短信好可以彌補(bǔ)網(wǎng)絡(luò)通信斷網(wǎng)的不足和藍(lán)牙的距離限制,而且信號(hào)非常穩(wěn)定,無法手動(dòng)關(guān)閉,因此本系統(tǒng)采用短信通信方式。
使用短信通信必須在程序中聲明短信的相關(guān)權(quán)限,聲明代碼如下:
<!..接收短信權(quán)限..>
<!..發(fā)送短信權(quán)限..>
<!..讀短信權(quán)限..>
2.2存儲(chǔ)方案
本系統(tǒng)的客戶端和服務(wù)端需要存儲(chǔ)的數(shù)據(jù)都非常少,且大都是配置信息,因此采用Android提供的一種輕量級(jí)存儲(chǔ)方式SharedPreferences。
SharedPreferences存儲(chǔ)格式代碼如下:
<?xmlversion=1.0encoding=utf.8standalone=yes?>
2.3客戶端實(shí)現(xiàn)[5]
客戶端主要用于和用戶交互,界面部分主要使用Android的Activity實(shí)現(xiàn)。Activity中所有操作都與用戶密切相關(guān),是一個(gè)負(fù)責(zé)與用戶交互的組件,可以通過setContentView(View)來顯示指定控件。
客戶端實(shí)現(xiàn)的工程結(jié)構(gòu)說明如表1所示。
2.4服務(wù)端實(shí)現(xiàn)
服務(wù)端主要用于接收和執(zhí)行遠(yuǎn)程指令,與用戶交互的地方不多,主要的用戶操作集中在用戶登錄界面和系統(tǒng)設(shè)置界面。用戶登錄界面與客戶端的登錄界面完全相同,因此不再贅述。系統(tǒng)設(shè)置界面要存儲(chǔ)用戶設(shè)置信息,因此也要采用PreferenceActivity實(shí)現(xiàn)。
服務(wù)端實(shí)現(xiàn)的工程結(jié)構(gòu)說明如表2所示。
3系統(tǒng)測試
3.1測試方案
通過系統(tǒng)使用黑盒測試方法,對系統(tǒng)的功能模塊的正確實(shí)現(xiàn),系統(tǒng)功能的正確性等方面進(jìn)行測試[5][6]。測試方案如表3所示。
3.2測試用例
測試用例如表4所示。
4結(jié)論
經(jīng)過測試,本軟件實(shí)現(xiàn)了所有防盜功能。當(dāng)裝有此防盜軟件手機(jī)丟失時(shí),通過安裝程序時(shí)設(shè)定的安全號(hào)碼,可以獲取到丟失手機(jī)的實(shí)時(shí)位置并顯示到地圖上;保證丟失手機(jī)的數(shù)據(jù)安全(找回通訊錄、短信、重要文件及銷毀文件);獲得丟失手機(jī)的遠(yuǎn)程控制權(quán)(解鎖拍照、安全警報(bào)、鎖死屏幕、短信轉(zhuǎn)發(fā)、來電通知、開機(jī)提醒、換卡提醒等)。大大增加了找回丟失手機(jī)的可能性,保護(hù)了用戶的數(shù)據(jù)安全及個(gè)人隱私。
參考文獻(xiàn)
[1]齊榮.用戶隱私研究綜述[J].軟件,2015,36(1):125-130.
[2]陳澤恩.基于Android平臺(tái)的移動(dòng)監(jiān)控系統(tǒng)設(shè)計(jì)與應(yīng)用分析[J].軟件,2012,33(10):52-54.
[3]劉偉,孫其博.Android平臺(tái)惡意軟件行為模式研究[J].軟件,2012,33(11):150-156.
[4]孟遠(yuǎn).Android網(wǎng)絡(luò)通信框架Volley的解析和比較[J]軟件,2014,35(12):66-68.
[5]汪文彬,馬玉春,尹建.基于加速度傳感器的智能手機(jī)動(dòng)作識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件,2015,02:10-13.
[6]錢樂秋,趙文耘,牛軍鈺.軟件工程[M].北京:清華大學(xué)出版社,2007