魏 晉
(長(zhǎng)治醫(yī)學(xué)院計(jì)算機(jī)教學(xué)部 山西 長(zhǎng)治 046000)
基于Android的手機(jī)遺失后數(shù)據(jù)自毀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
魏 晉
(長(zhǎng)治醫(yī)學(xué)院計(jì)算機(jī)教學(xué)部 山西 長(zhǎng)治 046000)
隨著越來多的業(yè)務(wù)可以在手機(jī)上進(jìn)行,手機(jī)已經(jīng)變成了人們的第二個(gè)“銀行卡”和“錢包”,但是人們?cè)谙硎苁謾C(jī)帶給我們便捷的同時(shí),人們也在承擔(dān)著手機(jī)遺失后帶來巨大損失的風(fēng)險(xiǎn)。手機(jī)遺失后如何能將手機(jī)中全部數(shù)據(jù)遠(yuǎn)程清除,這一問題就變得尤為突出。設(shè)計(jì)與實(shí)現(xiàn)一個(gè)手機(jī)遺失后,可以遠(yuǎn)程清除遺失手機(jī)數(shù)據(jù)并恢復(fù)出廠設(shè)置的APP,就可以較好的解決這一難題。
Android系統(tǒng);自毀程序;云端服務(wù)器
隨著當(dāng)前4 G網(wǎng)絡(luò)的覆蓋和無線網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,手機(jī)已經(jīng)慢慢成為了人們的第二個(gè)“錢包”,支付寶、微信等多種手機(jī)付款的交易方式在我們的生活中隨處可見[1-2]。此外我們的手機(jī)中還會(huì)有通訊錄、相冊(cè)、以及包含有個(gè)人信息的APP軟件等。因此在生活中人們也最擔(dān)心遺失手機(jī),對(duì)于手機(jī)個(gè)人用戶來說資金的損失、個(gè)人信息的泄露,這些損失都是巨大的。針對(duì)于這一問題設(shè)計(jì)和開發(fā)一個(gè)在手機(jī)遺失后,遺失手機(jī)能夠自動(dòng)將支付寶、微信和保存?zhèn)€人信息的一些APP軟件卸載并刪除的軟件,就顯得具有非常大的實(shí)際使用價(jià)值和現(xiàn)實(shí)意義了。
1.1 系統(tǒng)功能需求
系統(tǒng)由用戶端部分與Bmob云端數(shù)據(jù)庫組成。用戶端部分的主要功能是在手機(jī)遺失后,被遺失手機(jī)將啟動(dòng)自毀數(shù)據(jù)程序,將手機(jī)中所有APP軟件、通訊錄和相冊(cè)等信息全部清除。那么如何能激活自毀數(shù)據(jù)程序呢?在手機(jī)遺失后本系統(tǒng)采用了兩種方法來解決這一問題。方法一是主動(dòng)向遺失手機(jī)發(fā)送包含有特定內(nèi)容的短信,遺失手機(jī)在接收到包含有特定內(nèi)容短信后,立即激活自毀數(shù)據(jù)程序。第二種方法是系統(tǒng)監(jiān)控當(dāng)前的SIM卡信息與系統(tǒng)綁定的SIM卡信息是否一致,如果不一致將激活自毀數(shù)據(jù)程序。為了保證數(shù)據(jù)自毀的徹底性,本系統(tǒng)設(shè)計(jì)的自毀數(shù)據(jù)程序運(yùn)行過程是鎖定手機(jī)屏幕、導(dǎo)出手機(jī)通訊錄、上傳通訊錄到Bmob云端數(shù)據(jù)庫,最后根據(jù)Android底層功能特性強(qiáng)制調(diào)用并運(yùn)行恢復(fù)出廠設(shè)置命令[3]。從自毀數(shù)據(jù)程序運(yùn)行的過程來看,只要開始運(yùn)行自毀數(shù)據(jù)程序,用戶根本無法中斷程序運(yùn)行,這樣就可以保證對(duì)遺失手機(jī)數(shù)據(jù)的徹底清除。
Bmob云端數(shù)據(jù)庫的功能是為系統(tǒng)提供保存、交換和對(duì)數(shù)據(jù)進(jìn)行處理的數(shù)據(jù)倉庫支持。
1.2 系統(tǒng)主要工作流程
根據(jù)系統(tǒng)的功能需求與程序的實(shí)際運(yùn)行流程,主要工作流程如圖1所示:
圖1 系統(tǒng)主要工作流程圖Fig.1 Main work flowchart of the system
2.1 模塊劃分
Android軟件開發(fā)模式不同于其它的軟件開發(fā)模式[4-5],因此模塊劃分不僅要以功能需求、系統(tǒng)的工作流程為基礎(chǔ),更要考慮到Android系統(tǒng)特性,以及手機(jī)這一特殊運(yùn)行平臺(tái)的局限性來客觀的劃分模塊。本系統(tǒng)模塊的劃分如圖2所示。
圖2 模塊劃分圖Fig.2 System module partition
2.2 主要模塊說明
系統(tǒng)的核心模塊就是選擇監(jiān)控服務(wù)模式模塊。選擇監(jiān)控服務(wù)模式模塊的功能是讓用戶設(shè)置在遺失手機(jī)后,采用哪種方式激活自毀數(shù)據(jù)程序。本系統(tǒng)中用戶可以選擇其中一種或是兩種。當(dāng)用戶選擇監(jiān)控短信激活自毀數(shù)據(jù)程序的方式時(shí),系統(tǒng)需要用戶輸入用于激活自毀數(shù)據(jù)程序的具有特定內(nèi)容的短信識(shí)別碼。當(dāng)用戶選擇監(jiān)控SIM信息方式激活自毀數(shù)據(jù)程序時(shí),系統(tǒng)會(huì)自動(dòng)將當(dāng)前的SIM卡信息保存到Bmob云端數(shù)據(jù)庫中進(jìn)行綁定;此外本系統(tǒng)還包括“查看綁定SIM卡信息”、“更換SIM卡”和“修改登錄密碼”等模塊。
2.3 數(shù)據(jù)庫架構(gòu)設(shè)計(jì)
為了減少系統(tǒng)的開發(fā)成本和時(shí)間,本系統(tǒng)采用了Bmob云端數(shù)據(jù)庫。Bmob云端數(shù)據(jù)庫與Android系統(tǒng)有著非常好的兼容性,并為Android開發(fā)提供了非常方便和快捷的SDK支持,這樣在很大程度上提高了Android的開發(fā)效率[6]。數(shù)據(jù)庫架構(gòu)模型如圖3所示。
圖3 數(shù)據(jù)庫架構(gòu)圖Fig.3 Data base structure diagram
3.1 監(jiān)控短信激活自毀數(shù)據(jù)程序模塊的實(shí)現(xiàn)
在Android系統(tǒng)中短信監(jiān)控通常是采用廣播技術(shù)來實(shí)現(xiàn)的,但是Android系統(tǒng)的廣播是在不同的程序間逐個(gè)傳遞的,如果有一個(gè)程序獲取了短信廣播,那么廣播將立即結(jié)束,后續(xù)程序?qū)⒃僖矡o法獲取廣播[7-9]。那么如何能讓廣播一直運(yùn)行不被結(jié)束呢?在本系統(tǒng)的設(shè)計(jì)中我們大膽嘗試了采用將廣播注冊(cè)到服務(wù)中,來保證廣播不會(huì)被結(jié)束的方法。主要實(shí)現(xiàn)方法如下所示:
3.2 監(jiān)控SIM卡信息激活自毀數(shù)據(jù)程序模塊的實(shí)現(xiàn)
SIM卡的信息具有唯一性,因此可以通過對(duì)現(xiàn)有SIM卡信息與原有系統(tǒng)綁定的SIM卡信息進(jìn)行比對(duì),從而判斷手機(jī)SIM卡是否更換或是拔出。主要實(shí)現(xiàn)方法如下所示。
3.3 系統(tǒng)實(shí)現(xiàn)
按照設(shè)計(jì)要求對(duì)系統(tǒng)每個(gè)模塊進(jìn)行了編程實(shí)現(xiàn),實(shí)際運(yùn)行效果如圖4所示。
本系統(tǒng)的核心模塊是監(jiān)控短信激活自毀程序模塊、監(jiān)控SIM卡信息激活自毀程序模塊,因此我們著重對(duì)這兩個(gè)模塊進(jìn)行了測(cè)試,測(cè)試結(jié)果如表1所示。
基于Android平臺(tái)的手機(jī)遺失后數(shù)據(jù)自毀系統(tǒng),大膽嘗試將廣播注冊(cè)到Android系統(tǒng)服務(wù)中這一設(shè)計(jì)方式,并通過監(jiān)控特定內(nèi)容短信和SIM卡信息的變化,來判斷是否遠(yuǎn)程激活系統(tǒng)自毀數(shù)據(jù)程序,從而實(shí)現(xiàn)了遠(yuǎn)程清除遺失手機(jī)數(shù)據(jù)的目的。在經(jīng)過實(shí)際的測(cè)試和使用后,運(yùn)行效果良好完全可以滿足實(shí)際的需求。
圖4 系統(tǒng)效果圖Fig.4 System effect diagram
表1 測(cè)試結(jié)果Tab.1 Test result
[1] 李淑民. Android手機(jī)隱私泄露研究[J]. 軟件, 2015, 36(2): 69-72.
[2] 趙哲, 宋俊德, 鄂海紅. 基于Android 平臺(tái)的移動(dòng)應(yīng)用構(gòu)建研究與設(shè)計(jì)[J]. 新型工業(yè)化, 2013, 3(6): 78-89.
[3] 邢曉燕, 金洪穎, 田敏. Android 系統(tǒng) Root 權(quán)限獲取與檢測(cè)[J]. 軟件, 2013, 34(12): 208-210.
[4] 榮艷冬. Android 軟件權(quán)限系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2014, 35(2): 50-51.
[5] 申晉祥, 鮑美英. 基于Android 的移動(dòng)在線教育平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2016, 37(3): 30-33.
[6] 陳煜馳. 基于Android 的4over6 技術(shù)驅(qū)動(dòng)程序設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2015, 36(2): 118-126.
[7] 李藝琳. 基于Android 平臺(tái)智能手機(jī)短信應(yīng)用的研究與改善[J]. 軟件, 2014, 35(9): 109-114.
[8] 汪文彬, 楊少輝. 基于短信控制的Android手機(jī)安全系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件, 2015, 36(6): 21-25.
[9] 王亞東, 雷靈光, 周健等. Android 移動(dòng)設(shè)備管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[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
長(zhǎng)治醫(yī)學(xué)院科研啟動(dòng)基金項(xiàng)目(QDS201505)
魏晉(1975-),男,講師,碩士學(xué)位,主要研究方向:計(jì)算機(jī)軟件工程與信息安全。
本文著錄格式:魏晉. 基于Android的手機(jī)遺失后數(shù)據(jù)自毀系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2017,38(1):34-36