基于Android平臺(tái)的手機(jī)防盜與隱私保護(hù)問(wèn)題解決方案
摘要:本文主要針對(duì)手機(jī)被偷和家居安全兩大熱點(diǎn)問(wèn)題提出了一套解決方案。本方案設(shè)計(jì)了一套托管防盜及動(dòng)態(tài)行為跟蹤檢測(cè)系統(tǒng)。
假如手機(jī)被人盜竊后,用戶可以遠(yuǎn)程開(kāi)啟托管模式,實(shí)時(shí)獲取盜竊人的個(gè)人信息,包括后臺(tái)拍照、短信轉(zhuǎn)發(fā)、通話記錄轉(zhuǎn)發(fā)等,從而達(dá)到“以盜治盜”的效果。同時(shí),利用手機(jī)的移動(dòng)性靈活性作為一個(gè)移動(dòng)的監(jiān)控臺(tái),配上制作的硬件報(bào)警系統(tǒng)和外部攝像頭,即可實(shí)現(xiàn)對(duì)遠(yuǎn)方某一區(qū)域的實(shí)時(shí)安全監(jiān)控。本作品在安卓原生系統(tǒng)的手機(jī)上進(jìn)行了以上功能的真機(jī)測(cè)試,試驗(yàn)結(jié)果基本達(dá)到預(yù)期功能指標(biāo)。
0 引言
近幾年,Android系統(tǒng)的普及十分迅速。2013年第一季度Android操作系統(tǒng)在全球智能手機(jī)市場(chǎng)中的占有率已經(jīng)超過(guò)65%,比2012年同期增加了30.3%,然而手機(jī)的普及卻帶來(lái)了新的問(wèn)題。據(jù)統(tǒng)計(jì),在中國(guó)每天都有1千部手機(jī)被丟失,而手機(jī)丟失后,用戶隱私極易被侵犯。手機(jī)的安全問(wèn)題主要包括2類(lèi),即手機(jī)防盜與隱私保護(hù)的問(wèn)題。本文提出了一套新型防盜技術(shù)的解決方案, 該方案有效解決了這兩個(gè)問(wèn)題。
另一方面,隨著智能手機(jī)的迅猛發(fā)展與物聯(lián)網(wǎng)的興起,智能手機(jī)作為物聯(lián)網(wǎng)的移動(dòng)終端前景大好。智能手機(jī)可以用來(lái)保護(hù)家居安全,比如通過(guò)手機(jī)遠(yuǎn)程視頻查看來(lái)實(shí)現(xiàn)火警安防。這類(lèi)用手機(jī)作為物聯(lián)網(wǎng)的移動(dòng)終端在市面上尚未有成熟完整的解決方案,主要問(wèn)題是涉及軟硬件結(jié)合,實(shí)現(xiàn)難度較大。本文也設(shè)計(jì)了一套小型物聯(lián)網(wǎng),將手機(jī)作為移動(dòng)終端來(lái)實(shí)時(shí)監(jiān)控家居安全。
1.Android系統(tǒng)概述
Android應(yīng)用主要包括activities、services、content providers和broadcastreceivers四種組件,考慮到本文核心內(nèi)容,著重介紹一下activity和broadcastreceivers這兩大組件。
1.1 Activity概述
應(yīng)用程序中,一個(gè)Activity通常就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽(tīng)并處理用戶的事件做出響應(yīng)。Activity之間通過(guò)Intent進(jìn)行通信。在Intent的描述結(jié)構(gòu)中,有兩個(gè)最重要的部分:動(dòng)作和動(dòng)作對(duì)應(yīng)的數(shù)據(jù)。典型的動(dòng)作類(lèi)型有:MAIN(activity的門(mén)戶)、VIEW、PICK、EDIT等。而動(dòng)作對(duì)應(yīng)的數(shù)據(jù)則以URI的形式進(jìn)行表示。例如:要查看一個(gè)人的聯(lián)系方式,需要?jiǎng)?chuàng)建一個(gè)動(dòng)作類(lèi)型為VIEW的intent,以及一個(gè)表示這個(gè)人的URI.通過(guò)解析各種intent,當(dāng)向前導(dǎo)航時(shí),activity將會(huì)調(diào)用startActivity(Intent myIntent)方法。系統(tǒng)會(huì)找到最匹配myIntent的Intent對(duì)應(yīng)的activity.新的activity接收到myIntent的通知后,開(kāi)始運(yùn)行。
1.2 BroadcastReceiver廣播接收器
BroadcastReceiver也就是“廣播接收者”的意思,顧名思義,它就是用來(lái)接收來(lái)自系統(tǒng)和應(yīng)用中的廣播。在Android系統(tǒng)中,廣播體現(xiàn)在方方面面,例如當(dāng)開(kāi)機(jī)完成后系統(tǒng)會(huì)產(chǎn)生一條廣播,接收到這條廣播就能實(shí)現(xiàn)開(kāi)機(jī)啟動(dòng)服務(wù)的功能;當(dāng)網(wǎng)絡(luò)狀態(tài)改變時(shí)系統(tǒng)會(huì)產(chǎn)生一條廣播,接收到這條廣播就能及時(shí)地做出提示和保存數(shù)據(jù)等操作,等等。在onReceive方法內(nèi),我們可以獲取隨廣播而來(lái)的Intent中的數(shù)據(jù),這非常重要,就像無(wú)線電一樣,包含很多有用的信息。Android中的廣播機(jī)制設(shè)計(jì)的非常出色,很多事情原本需v要開(kāi)發(fā)者親自操作的,現(xiàn)在只需等待廣播告知自己就可以了,大大減少了開(kāi)發(fā)的工作量和開(kāi)發(fā)周期。
2.系統(tǒng)設(shè)計(jì)
在本軟件所設(shè)計(jì)的防盜系統(tǒng)中,除了市場(chǎng)上流行的防盜功能(如手機(jī)定位,換卡通知,響鈴報(bào)警等),本文還自行設(shè)計(jì)了一套新型防盜數(shù)據(jù)獲取技術(shù),可控制手機(jī)進(jìn)入防盜托管模式,在該模式下,可遠(yuǎn)程控制手機(jī)進(jìn)行后臺(tái)拍照并將盜竊人照片上傳到郵件,并且實(shí)時(shí)檢測(cè)盜竊人收發(fā)的短信和通話記錄,截取短信內(nèi)容,將短信轉(zhuǎn)發(fā)給指定號(hào)碼,同時(shí)也可以獲取盜竊人的sim卡信息,達(dá)到對(duì)盜竊人信息的充分掌握,結(jié)合本應(yīng)用的GPS手機(jī)定位功能可以更加有效的指認(rèn)盜竊人、找回被盜手機(jī)。
為了實(shí)現(xiàn)上述檢測(cè)防盜系統(tǒng),我們從手機(jī)托管模式檢測(cè)、短信截取和電話記錄監(jiān)聽(tīng)方面分別進(jìn)行分析與設(shè)計(jì)。由于篇幅限制,類(lèi)似拍照上傳、報(bào)警響鈴、GPS定位等功能在市場(chǎng)上比較常見(jiàn),這里不再贅述。
2.1 防盜托管
2.1.1 防盜托管模式檢測(cè)
為實(shí)現(xiàn)托管模式,必須先接收正確的指令,并且只有用戶先前指定的安全號(hào)碼所發(fā)送的指令才能生效,其他號(hào)碼都不能遠(yuǎn)程控制用戶手機(jī)(如圖1所示)。這就需要后臺(tái)實(shí)時(shí)廣播檢測(cè)是否有正確的相關(guān)指令。和之前提到一樣,系統(tǒng)做任何事都會(huì)發(fā)出一個(gè)廣播,針對(duì)本應(yīng)用的需要,只須在對(duì)接收到短信時(shí)發(fā)出的廣播作出響應(yīng),可以自動(dòng)過(guò)濾其他動(dòng)作,這樣可以給系統(tǒng)節(jié)省一筆不小的開(kāi)支。在Android系統(tǒng)中,接收短信的廣播通知為“android.
provider.Telephony.SMS_RECEIVED”.
2.1.2 短信截取和電話記錄監(jiān)聽(tīng)轉(zhuǎn)發(fā)
當(dāng)手機(jī)收到一條短信后,軟件會(huì)后臺(tái)獲取短信內(nèi)容和來(lái)信人號(hào)碼,若為安全號(hào)碼,則轉(zhuǎn)向執(zhí)行判定程序,判定內(nèi)容是否存在相關(guān)指令,若為托管指令,則手機(jī)自動(dòng)進(jìn)入托管模式,托管模式下的手機(jī)會(huì)實(shí)時(shí)檢測(cè)手機(jī)是否接收或發(fā)送短信,并將短信內(nèi)容和號(hào)碼轉(zhuǎn)發(fā)給安全號(hào)碼。需要注意的是,短信的所有數(shù)據(jù)首先需要通過(guò)bundle.get(“pdus”)來(lái)獲得,并存儲(chǔ)在Object[]數(shù)組中。這里Bundle類(lèi)是一個(gè)keyvalue對(duì),兩個(gè)activity之間的通訊可以通過(guò)bundle類(lèi)來(lái)實(shí)現(xiàn),做法就是:新建一個(gè)bundle類(lèi),bundle類(lèi)中加入數(shù)據(jù)(key-value的形式,另一個(gè)activity里面取數(shù)據(jù)的時(shí)候,就要用到key,找出對(duì)應(yīng)的value),新建一個(gè)intent對(duì)象,并將該bundle加入這個(gè)intent對(duì)象,這里的intent即是定義為系統(tǒng)收發(fā)短信的Activity的intent.之后再解析Object數(shù)組中的數(shù)據(jù),從而提取出短信內(nèi)容和發(fā)信人號(hào)碼。
當(dāng)盜竊人收到來(lái)電并進(jìn)行通話后,應(yīng)用也會(huì)后臺(tái)檢測(cè)并發(fā)送電話記錄給安全號(hào)碼。大致實(shí)現(xiàn)方法是通過(guò)使用broadcast-Receiver來(lái)接收指定的電話廣播,并判斷手機(jī)通話狀態(tài)。安卓平臺(tái)開(kāi)放了三個(gè)手機(jī)狀態(tài)的API,分別是通話,空閑和響鈴,考慮到本應(yīng)用的需求,只需在通話過(guò)程中觸發(fā)響應(yīng)并獲取來(lái)電人號(hào)碼即可,最后通過(guò)短信的方式將其發(fā)送給安全號(hào)碼。應(yīng)用后臺(tái)檢測(cè)并響應(yīng)短信接收廣播的部分代碼如下:
2.2 遠(yuǎn)程視頻監(jiān)控
手機(jī)遠(yuǎn)程視頻監(jiān)控為本作品另一個(gè)分支,初步體現(xiàn)了移動(dòng)物聯(lián)網(wǎng)的理念,實(shí)現(xiàn)了它的一個(gè)雛形。通過(guò)安置攝像頭監(jiān)視環(huán)境,硬件傳感器電路感知環(huán)境,發(fā)現(xiàn)異常立即自動(dòng)發(fā)送短信通知手機(jī)遠(yuǎn)程視頻查看實(shí)時(shí)狀況。該部分功能結(jié)構(gòu)流程圖如圖2所示。
2.2.1 外部拓展硬件
遠(yuǎn)程視頻監(jiān)控涉及的硬件包括:一個(gè)自行設(shè)計(jì)制作的可燃?xì)怏w燈光報(bào)警器,一部帶有光線傳感器的安卓智能手機(jī),一個(gè)經(jīng)過(guò)改裝之后的TP-LINK W703N迷你無(wú)線路由器,一個(gè)普通家用無(wú)線路由器,一個(gè)網(wǎng)絡(luò)攝像頭(這里使用的是天敏S605攝像頭)。
各組件配合完成如下功能:利用可燃?xì)怏w燈光報(bào)警器感知網(wǎng)絡(luò)攝像頭監(jiān)視的區(qū)域,若環(huán)境氣體濃度超標(biāo)則亮強(qiáng)光;在安卓手機(jī)中裝入編寫(xiě)的預(yù)制軟件,利用安卓手機(jī)自帶的光線傳感器時(shí)刻監(jiān)測(cè)報(bào)警器燈光的亮度,若超過(guò)閾值后則自動(dòng)發(fā)送預(yù)制的報(bào)警短信給裝有安防精靈的手機(jī)端;手機(jī)端收到報(bào)警短信之后通過(guò)應(yīng)用聯(lián)網(wǎng)查看家中的攝像頭監(jiān)視區(qū)域視頻。
2.2.2 感知環(huán)境--傳感器電路的制作
報(bào)警傳感器電路是由降壓整流,穩(wěn)壓電路,氣敏傳感元件,比較電路和音響電路等組成。該報(bào)警電路在可燃?xì)怏w的濃度超過(guò)一定濃度時(shí),發(fā)出聲、光報(bào)警信號(hào),提醒用戶注意。
氣敏傳感元件采用氣敏半導(dǎo)體QM-N5型,由于要求燈絲電壓穩(wěn)定,故供電電壓經(jīng)IC2(7805)三端穩(wěn)壓器穩(wěn)壓輸出5V的穩(wěn)定的額定工作電壓。因此電路的工作原理可大致概括為:當(dāng)可燃?xì)怏w濃度才超過(guò)一定值時(shí),氣敏半導(dǎo)體器件的A-B極間電阻變小,該電阻與R1的分壓變小。IC3采用的是半個(gè)雙電壓比較器LM393,平時(shí),同相端(3腳)的電壓高于反相端(2腳)的電壓(由RP1和R2分壓),電壓比較器輸出低電平(0.7V),使IC4強(qiáng)迫處于復(fù)位狀態(tài)。
當(dāng)由于可燃?xì)怏w濃度增加時(shí),導(dǎo)致IC3的3腳電平升高,且高于2腳的基準(zhǔn)電壓時(shí),比較器輸出高電平,555置位,由555和R3,R4,C1組成的振蕩器起振,振蕩頻率f=1.44/(R3+2R4)C1,圖3所示參數(shù)的頻率約為1KHZ.揚(yáng)聲器發(fā)出1KHZ的音響報(bào)警,同時(shí)LED發(fā)光閃爍。
2.2.3 報(bào)警通知--另一部安卓手機(jī)的應(yīng)用
用來(lái)處理報(bào)警事件??紤]到現(xiàn)今普通的智能手機(jī)價(jià)格非常大眾化,因此決定棄用復(fù)雜的GSM模塊轉(zhuǎn)而直接使用性價(jià)比更高的智能手機(jī)(這里稱為手機(jī)B,用戶所用的主手機(jī)稱為手機(jī)A)。要求安裝上我們編寫(xiě)的專(zhuān)用安卓應(yīng)用,啟動(dòng)后在后臺(tái)一直運(yùn)行。這時(shí)將手機(jī)B裝入暗盒中,只留光線傳感器對(duì)準(zhǔn)報(bào)警器的報(bào)警燈。當(dāng)發(fā)現(xiàn)報(bào)警燈亮度達(dá)到程序設(shè)置的光線閾值后,則后臺(tái)應(yīng)用響應(yīng)事件,立即將預(yù)存在程序中的報(bào)警短信發(fā)送給指定號(hào)碼(即手機(jī)A),手機(jī)A在接收到通知后便可以打開(kāi)應(yīng)用查看家中情況。
2.2.4 數(shù)據(jù)傳輸--路由器的改造設(shè)置
改造機(jī)理和步驟如下:改裝無(wú)線迷你型路由器TP-LINK TL-WR703N.這個(gè)路由器比較小巧,方便安裝攜帶。進(jìn)行一系列改裝改造。包括將一個(gè)Linux開(kāi)源項(xiàng)目OPENWRT系統(tǒng)固件刷入路由器中,把普通的無(wú)線路由器通過(guò)刷入開(kāi)源的Openwrt系統(tǒng),使之成為一個(gè)運(yùn)行了Linux系統(tǒng)的小電腦。圖4為WR703N的拆機(jī)圖:
路由器上也需編寫(xiě)一套程序,目的是把USB攝像頭的視頻進(jìn)行編碼,然后通過(guò)WIFI返回傳給上位機(jī)。同時(shí)路由一般都預(yù)留有TTL串口,TTL串口是用來(lái)調(diào)試或者刷機(jī)用的,我們把這個(gè)TTL串口引出來(lái)將我們編寫(xiě)的程序刷入路由器中。
通過(guò)在家庭無(wú)線路由器里增設(shè)一個(gè)端口訪問(wèn)映射并設(shè)置與WR703N的級(jí)聯(lián)Client模式,讓家庭無(wú)線路由器作為WR703N迷你路由的上位機(jī)。使得當(dāng)外界訪問(wèn)家庭路由器指定的視頻傳輸端口時(shí)就會(huì)轉(zhuǎn)發(fā)到WR703N中,由路由器提供回傳攝像頭拍攝的數(shù)據(jù)。圖5為視頻監(jiān)控所需所有硬件設(shè)備。
圖中右上角為改造之后的WR703N路由器,左下角為自行制作的可燃?xì)怏w報(bào)警器電路(含有兩個(gè)LED,紅色為電源指示燈,綠色為報(bào)警指示燈)。
右下角為帶有光線傳感器的安卓手機(jī)(手機(jī)B),手機(jī)下面是一個(gè)挖了孔的紙盒(用作手機(jī)暗箱)左上角為天敏S605網(wǎng)絡(luò)攝像頭。
3.系統(tǒng)測(cè)試
3.1 防盜托管模式
在托管模式下,用另外一部手機(jī)發(fā)送短信給被盜手機(jī),被盜手機(jī)會(huì)自動(dòng)將所收短信轉(zhuǎn)發(fā)給安全號(hào)碼,并且刪除在發(fā)件箱中所發(fā)的短信,使盜竊者難以察覺(jué)自己已被監(jiān)控。用被盜手機(jī)撥打或接聽(tīng)電話,被盜手機(jī)也會(huì)后臺(tái)發(fā)送電話記錄給安全號(hào)碼,真正實(shí)現(xiàn)了對(duì)盜竊者個(gè)人信息與日常行蹤的掌控。
3.2 視頻監(jiān)控部分
圖6中已將安卓手機(jī)B放入紙盒暗箱中,報(bào)警指示燈插入紙盒暗箱孔內(nèi)。此時(shí)接通電源,在可燃?xì)怏w傳感器附近點(diǎn)燃打火機(jī)。一會(huì)兒手機(jī)A(也就是用戶用的主手機(jī))就會(huì)收到一條來(lái)自紙盒暗箱內(nèi)手機(jī)發(fā)來(lái)的報(bào)警短信,打開(kāi)應(yīng)用啟動(dòng)遠(yuǎn)程視頻即可查看家中情況(如圖7)。
4.結(jié)論
本文探討了Android的發(fā)展情形與當(dāng)前熱點(diǎn)問(wèn)題,并提出了一套解決方案,與現(xiàn)今市場(chǎng)上的熱門(mén)應(yīng)用相比,本作品創(chuàng)新如下:
?。?)開(kāi)發(fā)出一套獨(dú)特的防盜托管模式,在手機(jī)被盜后可以獲取盜竊人與外界的聯(lián)系與行蹤,實(shí)時(shí)掌握盜竊人的最新動(dòng)態(tài),達(dá)到“以盜治盜”的效果,這與市場(chǎng)上大量安全軟件如360衛(wèi)士、安全管家等相比,本功能是開(kāi)創(chuàng)性的。
?。?)實(shí)現(xiàn)了基于Android手機(jī)的物聯(lián)網(wǎng)雛形,結(jié)合硬件電路與路由器完成了對(duì)家中火災(zāi)的監(jiān)控,彌補(bǔ)了市場(chǎng)上利用手機(jī)移動(dòng)終端來(lái)監(jiān)控家居安全的這方面缺陷。
路由器相關(guān)文章:路由器工作原理
路由器相關(guān)文章:路由器工作原理
攝像頭相關(guān)文章:攝像頭原理 熱像儀相關(guān)文章:熱像儀原理 燃?xì)鈭?bào)警器相關(guān)文章:燃?xì)鈭?bào)警器原理 熱保護(hù)器相關(guān)文章:熱保護(hù)器原理
評(píng)論