魏 晉
(長治醫學院計算機教學部 山西 長治 046000)
基于Android的手機遺失后數據自毀系統的設計與實現
魏 晉
(長治醫學院計算機教學部 山西 長治 046000)
隨著越來多的業務可以在手機上進行,手機已經變成了人們的第二個“銀行卡”和“錢包”,但是人們在享受手機帶給我們便捷的同時,人們也在承擔著手機遺失后帶來巨大損失的風險。手機遺失后如何能將手機中全部數據遠程清除,這一問題就變得尤為突出。設計與實現一個手機遺失后,可以遠程清除遺失手機數據并恢復出廠設置的APP,就可以較好的解決這一難題。
Android系統;自毀程序;云端服務器
隨著當前4 G網絡的覆蓋和無線網絡技術的飛速發展,手機已經慢慢成為了人們的第二個“錢包”,支付寶、微信等多種手機付款的交易方式在我們的生活中隨處可見[1-2]。此外我們的手機中還會有通訊錄、相冊、以及包含有個人信息的APP軟件等。因此在生活中人們也最擔心遺失手機,對于手機個人用戶來說資金的損失、個人信息的泄露,這些損失都是巨大的。針對于這一問題設計和開發一個在手機遺失后,遺失手機能夠自動將支付寶、微信和保存個人信息的一些APP軟件卸載并刪除的軟件,就顯得具有非常大的實際使用價值和現實意義了。
1.1 系統功能需求
系統由用戶端部分與Bmob云端數據庫組成。用戶端部分的主要功能是在手機遺失后,被遺失手機將啟動自毀數據程序,將手機中所有APP軟件、通訊錄和相冊等信息全部清除。那么如何能激活自毀數據程序呢?在手機遺失后本系統采用了兩種方法來解決這一問題。方法一是主動向遺失手機發送包含有特定內容的短信,遺失手機在接收到包含有特定內容短信后,立即激活自毀數據程序。第二種方法是系統監控當前的SIM卡信息與系統綁定的SIM卡信息是否一致,如果不一致將激活自毀數據程序。為了保證數據自毀的徹底性,本系統設計的自毀數據程序運行過程是鎖定手機屏幕、導出手機通訊錄、上傳通訊錄到Bmob云端數據庫,最后根據Android底層功能特性強制調用并運行恢復出廠設置命令[3]。從自毀數據程序運行的過程來看,只要開始運行自毀數據程序,用戶根本無法中斷程序運行,這樣就可以保證對遺失手機數據的徹底清除。
Bmob云端數據庫的功能是為系統提供保存、交換和對數據進行處理的數據倉庫支持。
1.2 系統主要工作流程
根據系統的功能需求與程序的實際運行流程,主要工作流程如圖1所示:

圖1 系統主要工作流程圖Fig.1 Main work flowchart of the system
2.1 模塊劃分
Android軟件開發模式不同于其它的軟件開發模式[4-5],因此模塊劃分不僅要以功能需求、系統的工作流程為基礎,更要考慮到Android系統特性,以及手機這一特殊運行平臺的局限性來客觀的劃分模塊。本系統模塊的劃分如圖2所示。

圖2 模塊劃分圖Fig.2 System module partition
2.2 主要模塊說明
系統的核心模塊就是選擇監控服務模式模塊。選擇監控服務模式模塊的功能是讓用戶設置在遺失手機后,采用哪種方式激活自毀數據程序。本系統中用戶可以選擇其中一種或是兩種。當用戶選擇監控短信激活自毀數據程序的方式時,系統需要用戶輸入用于激活自毀數據程序的具有特定內容的短信識別碼。當用戶選擇監控SIM信息方式激活自毀數據程序時,系統會自動將當前的SIM卡信息保存到Bmob云端數據庫中進行綁定;此外本系統還包括“查看綁定SIM卡信息”、“更換SIM卡”和“修改登錄密碼”等模塊。
2.3 數據庫架構設計
為了減少系統的開發成本和時間,本系統采用了Bmob云端數據庫。Bmob云端數據庫與Android系統有著非常好的兼容性,并為Android開發提供了非常方便和快捷的SDK支持,這樣在很大程度上提高了Android的開發效率[6]。數據庫架構模型如圖3所示。

圖3 數據庫架構圖Fig.3 Data base structure diagram
3.1 監控短信激活自毀數據程序模塊的實現
在Android系統中短信監控通常是采用廣播技術來實現的,但是Android系統的廣播是在不同的程序間逐個傳遞的,如果有一個程序獲取了短信廣播,那么廣播將立即結束,后續程序將再也無法獲取廣播[7-9]。那么如何能讓廣播一直運行不被結束呢?在本系統的設計中我們大膽嘗試了采用將廣播注冊到服務中,來保證廣播不會被結束的方法。主要實現方法如下所示:

3.2 監控SIM卡信息激活自毀數據程序模塊的實現
SIM卡的信息具有唯一性,因此可以通過對現有SIM卡信息與原有系統綁定的SIM卡信息進行比對,從而判斷手機SIM卡是否更換或是拔出。主要實現方法如下所示。

3.3 系統實現
按照設計要求對系統每個模塊進行了編程實現,實際運行效果如圖4所示。
本系統的核心模塊是監控短信激活自毀程序模塊、監控SIM卡信息激活自毀程序模塊,因此我們著重對這兩個模塊進行了測試,測試結果如表1所示。
基于Android平臺的手機遺失后數據自毀系統,大膽嘗試將廣播注冊到Android系統服務中這一設計方式,并通過監控特定內容短信和SIM卡信息的變化,來判斷是否遠程激活系統自毀數據程序,從而實現了遠程清除遺失手機數據的目的。在經過實際的測試和使用后,運行效果良好完全可以滿足實際的需求。

圖4 系統效果圖Fig.4 System effect diagram

表1 測試結果Tab.1 Test result
[1] 李淑民. Android手機隱私泄露研究[J]. 軟件, 2015, 36(2): 69-72.
[2] 趙哲, 宋俊德, 鄂海紅. 基于Android 平臺的移動應用構建研究與設計[J]. 新型工業化, 2013, 3(6): 78-89.
[3] 邢曉燕, 金洪穎, 田敏. Android 系統 Root 權限獲取與檢測[J]. 軟件, 2013, 34(12): 208-210.
[4] 榮艷冬. Android 軟件權限系統的設計與實現[J]. 軟件, 2014, 35(2): 50-51.
[5] 申晉祥, 鮑美英. 基于Android 的移動在線教育平臺的設計與實現[J]. 軟件, 2016, 37(3): 30-33.
[6] 陳煜馳. 基于Android 的4over6 技術驅動程序設計與實現[J]. 軟件, 2015, 36(2): 118-126.
[7] 李藝琳. 基于Android 平臺智能手機短信應用的研究與改善[J]. 軟件, 2014, 35(9): 109-114.
[8] 汪文彬, 楊少輝. 基于短信控制的Android手機安全系統的設計與實現[J]. 軟件, 2015, 36(6): 21-25.
[9] 王亞東, 雷靈光, 周健等. Android 移動設備管理系統的設計與實現[J]. 軟件, 2016, 37(02): 11-16.
The Design and Implementation of Android-based Mobile Phone is Lost After the Data System Based on Self-destruct
WEI Jin
(Department of Computer Teaching, Changzhi Medical College, Changzhi 046000, China)
With more and more business can be carried out in the mobile phone, the mobile phone has become the people of the second “bank card” and “wallet”, but when people enjoy the convenience brought by mobile phone at the same time, people also bear the risk of loss after the huge loss of mobile phone. After the phone is lost, how to remove all the information in the phone remotely, this problem has become particularly prominent. Design and implementation of a mobile phone is lost, you can remotely clear the lost phone data and restore the factory settings of the APP, you can better solve this problem.
Android system; Self-destruct program; Cloud server
TP311.5
A
10.3969/j.issn.1003-6970.2017.01.008
長治醫學院科研啟動基金項目(QDS201505)
魏晉(1975-),男,講師,碩士學位,主要研究方向:計算機軟件工程與信息安全。
本文著錄格式:魏晉. 基于Android的手機遺失后數據自毀系統的設計與實現[J]. 軟件,2017,38(1):34-36