項目回顧之二:PhoneProtector基于安卓平臺的手機隱私保護系統(tǒng)
繼上一篇博文《項目回顧之一:PlanBetter時間管理軟件(基于Android平臺)》之后,開始著手這篇博文的編寫。
說在前面的
首先,我想簡單介紹一下這個項目的背景。項目名字有點長,叫做“PhoneProtector: 基于Android平臺的手機隱私保護系統(tǒng)”。不理解的人可能會覺得是不是博主有點腦殘,直接叫PhoneProtector不就好了。嗯,其實我也覺得取這么長的名字有點多余,但是這個項目為2012年全國大學(xué)生信息安全競賽的參賽項目,名字至少要體現(xiàn)一點深度吧。除了完成一個項目以外,還需要寫一篇競賽作品報告。這個競賽作品報告有點類似于論文,我們寫了正好100頁,洋洋灑灑2萬多字的文檔。先前都以為寫好文檔才是王道(當(dāng)然作品也做得很認真,不含糊),連導(dǎo)師看完報告后覺得進決賽肯定沒問題,可惜,這個項目出乎我們的意料沒有進入決賽。后來,組長說可能是這個項目的名字不夠霸氣,如果把前面的"PhoneProtector"去掉可能會更有影響力,當(dāng)然這只是玩笑話罷了。背景就介紹這么多。
項目需求
這個作品是基于這么一種需求而制定的。我們在日常生活中可能會經(jīng)常碰到這樣的情況:在上班時,發(fā)現(xiàn)手機落在家中;下班回家后,發(fā)現(xiàn)手機落在了工作場所;在上課,手機落在寢室中等等,甚至更嚴重的是,手機丟失了。當(dāng)遇到這些情況時,手機不在自己身邊,除了無法使用之外,更重要的一點是擔(dān)心手機隱私被泄漏。雖然Android手機平臺自帶有這樣的保護措施,如屏幕手勢加鎖或者密碼加鎖,但是大多數(shù)用戶不會考慮用這種功能,因為它在一定程度上阻礙了用戶對手機的正常使用。因此,一旦手機遠離了自己,甚至丟失或被盜之后,想再采取安全措施就已經(jīng)太遲了。而且當(dāng)手機丟失以后,最重要的不是手機本身,而是手機內(nèi)的隱私信息,包括聯(lián)系人信息,短信內(nèi)容以及貯存在SD卡上的數(shù)據(jù)信息,一旦這些信息被別有用心的人利用,后果將不堪設(shè)想。簡單來說,就是對手機丟失后的一種補救措施。
市場調(diào)研
事實上,在我們構(gòu)思從這個需求入手的時候,市場上已經(jīng)有解決這類需求的應(yīng)用出現(xiàn)了。例如著名的安全公司諾頓就出了一款Norton Security for android,它里邊提供了一個功能就可以解決這個問題,通過設(shè)備遠程鎖定或數(shù)據(jù)清除。諾頓官方是這樣介紹這個功能的:
If your phone is lost or stolen, you can use another phone or program to send text message to your phone.Each text message should consist of an action word(lock or wipe) and a code of your choice. (For example, "wipe code123")
也就是說,就是在安裝這款軟件的時候,你要設(shè)置一個用來“加鎖或格式化”設(shè)備的密碼,如果你的手機丟了,那么用別人的手機發(fā)一條短信過去給手機加鎖或者格式化,短信格式為“lock/wipe 密碼”。但是這款軟件有很多缺陷,比如別人撿到你的手機后就把這款應(yīng)用卸載了,那你發(fā)短信就不起作用了;假如別人把你的卡換了怎么辦?假如你加鎖或格式化手機后,又在某一天拾到了你的手機,但是密碼你又忘記了,你該怎么辦?重刷系統(tǒng)?可能你會覺得本來丟手機的概率就很小了,發(fā)生這類情況的概率又是更小了,但是我們不排除這類情況出現(xiàn)的可能性。受到Murphy's Law的啟發(fā),既然有這類情況發(fā)生的可能性,我們就有必要提出解決方案。當(dāng)然,有的手機廠商在制造手機的時候,就把這類功能定制到了手機硬件和操作系統(tǒng)中,例如HTC sense,印象中是可以通過電腦的客戶端查到手機的GPS位置。但本作品是面向所有Android用戶的,不依賴于具體的手機硬件和操作系統(tǒng)。
作品特性
本作品的主要特性在于:
1. 即使在手機不在身邊的情況下,也能為手機用戶提供最方便和迅速的隱私信息保護手段。方便是指用戶可以利用SMS短信向手機發(fā)送操作指令,而迅速是指系統(tǒng)可快速執(zhí)行用戶指令和返回有用信息。
2. 防護的全面性,一旦系統(tǒng)鎖定手機,除非輸入正確的口令,否則無法獲取用戶隱私信息。
3. 系統(tǒng)本身的健壯性。***Android進程間通信方式,通過守護進程機制來增強系統(tǒng)的抗擊打能力,一般的手機應(yīng)用可以輕松的被刪除或卸載,然而,除非輸入正確的口令,否則本系統(tǒng)將與用戶的隱私信息一起存在于手機上,并正常工作。
4. 數(shù)據(jù)的安全性,本系統(tǒng)涉及到的用戶數(shù)據(jù)被存儲在數(shù)據(jù)庫中,而且敏感數(shù)據(jù)(比如密碼)經(jīng)過加密之后才存入數(shù)據(jù)庫中,而非明文存儲,因此更安全。
5. 交互的友好性,無論是遠程操作還是直接操作,針對每一種操作都會返回相應(yīng)的信息提示,如果失敗,也會根據(jù)情況返回失敗信息。
系統(tǒng)功能
本系統(tǒng)主要功能有短信遠程操控、手機加鎖解鎖、手機當(dāng)前位置信息獲取、聯(lián)系人信息備份、手機個人信息格式化、系統(tǒng)模式切換、用戶信息設(shè)置和修改、SIM卡檢測以及系統(tǒng)自保護。
下面對這些功能做具體介紹:
1.短信遠程操控:當(dāng)本系統(tǒng)處于保護模式時,系統(tǒng)激活后臺程序部分,監(jiān)控SMS短信內(nèi)容,如果短信內(nèi)容符合系統(tǒng)定義格式,則進行相應(yīng)的操作,支持的操作有:鎖定系統(tǒng)、獲取當(dāng)前位置信息、聯(lián)系人信息備份以及手機個人信息清空,包括聯(lián)系人、短信以及SD卡數(shù)據(jù)。這些操作都是通過利用普通的SMS短信來實現(xiàn),無需特殊的數(shù)據(jù)傳輸。
短信的格式為:[ PH 鎖定密碼 操作碼 ]
操作碼分為01,02,03。01是鎖定手機,02為備份聯(lián)系人,03為格式化個人信息。03操作指令只有在信任號碼發(fā)出的時候才會生效,否則被轉(zhuǎn)為01操作。當(dāng)操作碼不正確的時候,默認轉(zhuǎn)為01操作。每次短信操作時,只能使用一個號碼,即忽略其他號碼的短信。
2.手機加鎖解鎖:用戶可以通過給本機發(fā)送短息,遠程將手機加鎖,加鎖之后,除非輸入解鎖口令,否則本系統(tǒng)可以保證其他的一切操作都無法使手機解除鎖定。本系統(tǒng)鎖定模塊的抗破壞性較強,可以防御一般的惡意解除手段,包括SIM卡替換、SD卡替換以及關(guān)機重啟等。在手機被鎖定后,鎖定界面只能進行:輸入解鎖密碼、撥打發(fā)送鎖定短信的號碼和接聽來電這三個操作。
用戶正確輸入解鎖口令后,系統(tǒng)解除手機鎖定。系統(tǒng)保留一個信任號碼,若用戶忘記密碼,則可以向信任號碼發(fā)送短信,來獲取密碼。
3.當(dāng)前位置信息獲?。?/strong>當(dāng)系統(tǒng)被遠程鎖定之后,系統(tǒng)會向來信號碼返回鎖定完成確認以及手機當(dāng)前位置信息。
4.聯(lián)系人信息備份:當(dāng)手機丟失之后,對手機用戶來說,最重要的就是聯(lián)系人數(shù)據(jù)。無論手機是否被鎖定,用戶都可以將聯(lián)系人信息備份至郵箱內(nèi)。不同的是,正常使用情況下,用戶通過系統(tǒng)主界面來執(zhí)行備份,而當(dāng)手機丟失或被盜后,用戶可以通過短信遠程執(zhí)行聯(lián)系人備份。
5.手機個人信息格式化:即清空手機上貯存的個人信息,包括聯(lián)系人、通話記錄、短信記錄、SD卡數(shù)據(jù)(如下圖)。由于本操作是不可逆操作,一旦用戶執(zhí)行,信息將***地被刪除,因此為了防止該操作被濫用,本系統(tǒng)要求只有信任號碼發(fā)送的該操作指令才能被執(zhí)行,否則任何其他的號碼發(fā)送的該指令將被轉(zhuǎn)成鎖定指令。
6.系統(tǒng)模式切換:本系統(tǒng)共有兩種模式供用戶切換,分別為普通模式和保護模式,在普通模式下,系統(tǒng)只開啟保護手機功能,而不開啟自保護功能,系統(tǒng)也可以被用戶正常卸載和刪除。而在保護模式下,系統(tǒng)在后臺啟動監(jiān)控服務(wù),開啟保護措施,當(dāng)接收到執(zhí)行指令時,就執(zhí)行指令,包括備份聯(lián)系人、鎖定手機、格式化信息等,此時,本系統(tǒng)開啟防卸載和數(shù)據(jù)刪除功能(即系統(tǒng)自保護功能),應(yīng)付企圖使系統(tǒng)異常工作的動作。
7.用戶信息設(shè)置和修改:由于本系統(tǒng)的工作依賴于用戶的信息,具體的信息包括:鎖定密碼、解鎖密碼、信任號碼以及電子郵箱。系統(tǒng)在每次運行的時候,檢測這些信息是否完整,如果不完整則跳轉(zhuǎn)到信息設(shè)置界面,直到用戶輸入完整信息。在信息修改界面中,用戶可以輸入相應(yīng)的密碼來修改這些信息。
8.密碼找回:當(dāng)忘記密碼的時候,用戶可以通過該功能找回密碼,該功能向信任號碼發(fā)送一條包含密碼的短信,用戶也可以選擇將密碼發(fā)送到郵箱中,為防止此功能被濫用,系統(tǒng)設(shè)定每兩次密碼找回動作之間的時間間隔必須大于10分鐘。
正常情況下,用戶可以找回鎖定密碼和解鎖密碼,而當(dāng)手機被鎖定時,只能找回解鎖密碼。之所以這樣設(shè)定,是在鎖定情況下盡量減少與外界的數(shù)據(jù)交互。
9.SIM卡檢測:應(yīng)對手機SIM卡被非法替換或卸下的情況,如果開機時檢測到SIM卡被替換,則調(diào)用鎖定模塊將手機鎖定。
10.系統(tǒng)自保護:這是本作品的創(chuàng)新點之一。一般的手機防護應(yīng)用,都可以通過系統(tǒng)的任務(wù)管理器輕松的卸載和數(shù)據(jù)清空,但是本系統(tǒng)如果處于安全模式下,就不會被輕易改動,不可以被停止、卸載和清空數(shù)據(jù),增加了系統(tǒng)本身的魯棒性和實用性。
系統(tǒng)結(jié)構(gòu)
上圖即為本系統(tǒng)結(jié)構(gòu)圖,系統(tǒng)分為前臺界面與后臺保護服務(wù),用戶可以在前臺界面執(zhí)行相應(yīng)的功能,例如模式切換、修改信息、聯(lián)系人備份、密碼找回等,后臺保護服務(wù)主要有三個子系統(tǒng),分別是手機鎖定子系統(tǒng)、短信處理子系統(tǒng)以及防御子系統(tǒng)。 前臺界面與后臺服務(wù)之間有數(shù)據(jù)交互,如密碼找回需要通過短信處理系統(tǒng)來進行短信操作。手機鎖定子系統(tǒng)負責(zé)將手機鎖定,防止陌生人非法使用手機,短信處理子系統(tǒng)負責(zé)處理與短信有關(guān)的操作,包括短信攔截,發(fā)送短信,讀取短信內(nèi)容等,防御子系統(tǒng)負責(zé)系統(tǒng)本身的自保護,應(yīng)對外界對本系統(tǒng)惡意的破壞,包括卸載、刪除、強制停止以及清空數(shù)據(jù)等。 遠程手機可以通過發(fā)送SMS短信與系統(tǒng)進行交互,通過包含密碼來執(zhí)行相應(yīng)的指令,如鎖定、備份以及格式化等,在進行聯(lián)系人信息備份時,系統(tǒng)需要通過數(shù)據(jù)交換,將聯(lián)系人信息數(shù)據(jù)發(fā)送至郵件服務(wù)器。
#p#
***傳幾張本軟件的截圖上來
1. 安裝PhoneProtector,設(shè)置鎖定密碼、解鎖密碼、信任號碼和電子郵箱
2. 設(shè)置完成后提示安裝保護程序
3. 主程序和保護程序主界面
4. 主程序關(guān)閉保護模式后,主程序和保護程序界面顯示
5. 發(fā)送加鎖短信,出現(xiàn)鎖屏界面
注:解鎖失敗次數(shù)超過10次,“解鎖鎖定”按鈕會被禁用
6. 關(guān)于
原文鏈接:http://www.cnblogs.com/blacksword/archive/2012/09/24/2700746.html