時光,劉云恒
(南京森林警察學院 信息系,南京210023)
Android系統移動終端的防丟失應用設計*
時光,劉云恒
(南京森林警察學院 信息系,南京210023)
Android移動終端丟失后,通過已經設定的安全聯系人遠程操控手機,不僅可以對數據進行加密和銷毀操作,還能夠獲取移動終端的具體位置。通過攝像頭拍照,獲得周圍的環境照片,甚至可以得到偷盜者的信息,幫助找回丟失的設備。移動終端截獲短信后,對命令字段進行分析,可利用內置的百度地圖服務SDK獲取具體的位置,通過3DES加密,內置的so庫終端的密鑰進行加密,必要的時候,可以銷毀數據,以保證數據的安全。
遠程操控;3DES數據加密;數據安全銷毀;場景傳回
用戶丟失Android移動終端后,利用信息的安全性,在一些情況下,可以幫助用戶找回丟失的設備。手機在丟失后,如果非法用戶開機使用,甚至換卡,所設置的安全聯系人就會收到最新的SIM卡號的短信,用戶可以通過安全聯系人的號碼,發送命令控制短信,對自身的聯系人、信息數據進行3DES數據加密,或者進行銷毀式加密,必要的時候,還可以進行數據銷毀,刪除SD卡的所有數據。早期的信息安全研究,只存在于研究加密,沒有結合遠程控制和數據銷毀,如果密鑰被破解,仍然可以被成功破解獲得原來的內容。通過本課題的研究,不僅在用戶丟失移動終端后,可以使得數據安全得到保障,而且通過內置的地圖服務與拍照功能的結合,也可幫助用戶找回終端,對個人信息的安全、財產的保全具有重要的意義[1]。
本系統設計主要分為三個核心模塊:首先設置安全聯系人,通過短信控制命令控制被保護的終端,而且只要更換SIM卡,安全聯系人就會收到最新卡號發來的信息,永不斷線;信息安全模塊可幫助用戶保護數據的安全,必要的時候銷毀數據;模塊在終端丟失后,可幫助用戶尋回終端。安全措施依賴于用戶設置的安全聯系人以及換卡短信提醒功能;數據的信息安全,依賴于軟件自帶的加密功能和數據銷毀功能;而幫助用戶尋回終端主要依靠的是內置百度地圖的SDK服務和拍照的場景回傳[2]。核心架構圖如圖1 所示。

圖1 核心架構圖
2.1 安全措施
2.1.1 安全聯系人設置

圖2 設置安全聯系人
安全聯系人在軟件初始化的時候設置,如果終端客戶信息更新,該安全聯系人可以獲取新客戶相關信息,包括其手機號等,也可以遠程控制手機獲取銷毀數據、定位信息等。如果要更換客戶,需要進行安全認證才能完成。所以初始化過程需要與安全聯系人進行短消息聯系確認,以確保安全,如果設置成功,則說明可以安全使用軟件相關功能,手機安全性也得到了保證,設置流程如圖2所示。
2.1.2 換卡短信提醒
如圖3所示,本系統設計軟件會在客戶初始化的時候將SIM卡的ID號碼存入后臺數據庫,此ID號碼具有唯一性,每個ID號碼對應一部手機,而且本軟件會同時設立一個賬戶,包括用戶名和密碼,當客戶端用戶SIM卡更新時進行身份驗證。

圖3 換卡短信提醒
SIM卡更新時,系統會自動和之前保留的ID號碼進行匹配,如不同,則要求輸入之前設定的用戶名和密碼,為確保此卡是本機用戶新卡而不是手機被盜后所換的卡,此時系統會發送新號碼給安全聯系人,以確保用戶手機系統的信息安全[3]。
2.2 信息安全
2.2.1 數據庫加密
存入安全聯系人的數據庫信息需要以加密的形式存入,以保證信息的安全,采用AES加密算法,其對應的密鑰存入so庫中,隨apk一起打包,這樣安全性較高,即使數據被導出,也無法輕易知道數據庫中的內容。
而當用戶丟失終端后需要加密數據,比如短信數據、聯系人數據,則使用3DES加密,而當用戶不想讓數據被破解,則可以使用銷毀式加密方式,使用MD5方式對上述數據進行加密。
AES與3DES算法是業界用的比較多的加密算法,它的特點是可逆不容易破解,除非知道加密的密鑰,對于密文以同樣的秘鑰進行解密方可得到原文,而AES只加密一次,3DES會加密3次。由于存入數據庫的數據可能會被經常使用,所以使用AES加密會減少讀取的時間,而當用戶丟失后,為了提高加密的安全等級,使用3DES比較合適。MD5是不可逆的加密方式,如果用戶想徹底銷毀數據,直接使用MD5加密,則非法持有者永遠也不可能知道其原文到底是什么,因為MD5是不可逆的,至今也無人可以破解。
2.2.2 清除手機數據
如果用戶想要徹底銷毀數據,則需要清除一些容易泄露隱私的數據,包括聯系人信息、短信信息,以及存儲設備中的信息,保證一些重要的信息不會泄露給偷盜者。
Android系統中,聯系人短信的數據都是通過ContentProvider進行訪問的,而每個模塊都有自己的URL,這個接口是統一的、公用的。只要知道了URL,就可以對數據進行讀寫,需要申請相應的權限。比如聯系人URL是Phone.CONTENT_URI,它所指向的其實是“content:// com.Android.contacts/data/phones”,而短信的URL則是content://mms-sms/conversations,了解URL,根據它們的表名可以正常訪問。
刪除SD的卡中數據,則采用遍歷的方式,逐級遍歷存儲設備,遞歸遍歷文件夾中的文件,遍歷到葉子節點的時候(即該文件夾中的文件),先逐步刪除文件,確保該文件夾為空文件夾后,隨后刪除該文件夾。如果文件夾中又有文件夾,則繼續遞歸遍歷,直到文件被全部刪除。
2.3 終端尋回
2.3.1 獲取手機的位置信息
該功能使用百度地圖服務的SDK實現,版本為locSDK-3.3.jar,該版本相對于其他版本的優勢為:
① 不需要向百度服務器注冊,其他版本的SDK需要在服務器端注冊該apk的包名,以保證正常的訪問。
② 不是必須聯網,可直接通過GPS獲取數據。該版本支持幾種定位方式,除了網絡服務定位+GPS定位,當沒有網絡的時候,亦可通過GPS直接定位。該優點特別適合本課題的研究,即使非法持有者不打開網絡,通過GPS同樣可以獲知其位置,幫助用戶找回終端。
該SDK集成了眾多的功能,而在本課題研究中,主要使用BDLocation這個類,該類提供了三種不同的核心方法:getlatitude()和getlengitude()分別用于獲取經緯度,而getAddrStr()則可返回當前位置的詳細信息,位置可精確到街道。當安全聯系人使用位置回傳命令控制終端的時候,終端即調用該函數,獲取當前手機的具體位置并回傳[4]。
2.3.2 拍照并傳回安全聯系人
當安全聯系人想要獲得周圍環境參數的時候,可通過短信命令調用攝像頭,拍照并以彩信的形式傳回給安全聯系人[5]。具體流程如圖4所示。

圖4 短信命令拍照流程
拍照的時機很重要,如果用戶想要知道非法持有者的頭像信息,則啟用前置攝像頭,且當三軸加速傳感器的角度為終端使用角度(正常人持有并使用移動終端,z軸的角度在20度到45度之間,而x軸與y軸的角度變化非常微小)時,拍照回傳,而如果用戶想獲知環境參數的時候,則需要根據三軸加速傳感器的值,啟動不同的攝像頭,如果手機是平放在桌面的,此時后置攝像頭朝著桌面,其他情況下啟動后置攝像頭拍照,不過為了避免開啟閃光燈而被非法持有者獲知,在環境光非常暗的情況下,不執行該命令,等待環境光變亮時再執行,保證照片的品質,珍惜每次能夠獲得環境照片的機會,以最小的成本代價,幫助用戶找回設備。
Android不提供發送彩信的接口,也不能調用發送彩信的統一接口,這樣會暴露給非法持有者,所以需要自己移植Android源代碼中的pdupart,構造自己的彩信發送器,這里不再贅述其移植過程。
通過以上兩種方式的結合,除了能夠保證Android移動終端的安全性,還可以在移動終端丟失后,得到其具體位置和環境參數,幫助用戶找回終端,對于數據信息的安全有著重要的意義和作用。
[1] 姜浩.安卓系統安全保護架構研究[J].通訊世界,2016(14).
[2] 王風,楊璐璐.Android平臺數據安全保密機制探析[J].電腦開發與應用,2013(2):33-35.
[3] 張晟驍,張宏,李千目,等.一種基于安卓系統的短消息加密方法[J].計算機技術與發展,2015(9):144-148.
[4] 姚佳健.基于Android的LBS定位系統的設計[D].南京:南京郵電大學,2013.
[5] 吳少剛,張福新,戴燁,等.一種安卓應用軟件調用拍照模塊的方法:CN,CN 102799469 A[P].2012.
時光(助教),主要從事物聯網與嵌入式系統數據安全方面的研究工作;劉云恒(講師),主要研究方向為公安大數據應用。
(責任編輯:薛士然 收修改稿日期:2016-11-28)
Mobile Terminal Anti-lost Information Security Application Based on Android System
Shi Guang,Liu Yunheng
(Department of Information,Nanjing Forest Police College,Nanjing 210023,China)
After the Android mobile terminal is lost,the remote control of the mobile phone has been set by the security contacts,not only can encrypt and destroy the data operation,but also can obtain the specific location of the mobile terminal.The camera can access to the surrounding environment photos,and even get the theft information to help retrieve the lost equipment.After the mobile terminal intercepting the message,the command field is analyzed.The built-in Baidu map service SDK can be used to obtain the specific location.Through the 3DES encryption,built-in so library terminal key encryption,you can destroy the data in order to ensure the data security if necessary.
remote control;3DES data encryption;data security destroy;scene back
本項目受中央高校基本科研業務費專項資金項目(LGQN201601,基于Android系統的移動設備數據安全)的研究資助。
TP36
A