時光,劉云恒
(南京森林警察學院 信息系,南京210023)
Android系統(tǒng)移動終端的防丟失應(yīng)用設(shè)計*
時光,劉云恒
(南京森林警察學院 信息系,南京210023)
Android移動終端丟失后,通過已經(jīng)設(shè)定的安全聯(lián)系人遠程操控手機,不僅可以對數(shù)據(jù)進行加密和銷毀操作,還能夠獲取移動終端的具體位置。通過攝像頭拍照,獲得周圍的環(huán)境照片,甚至可以得到偷盜者的信息,幫助找回丟失的設(shè)備。移動終端截獲短信后,對命令字段進行分析,可利用內(nèi)置的百度地圖服務(wù)SDK獲取具體的位置,通過3DES加密,內(nèi)置的so庫終端的密鑰進行加密,必要的時候,可以銷毀數(shù)據(jù),以保證數(shù)據(jù)的安全。
遠程操控;3DES數(shù)據(jù)加密;數(shù)據(jù)安全銷毀;場景傳回
用戶丟失Android移動終端后,利用信息的安全性,在一些情況下,可以幫助用戶找回丟失的設(shè)備。手機在丟失后,如果非法用戶開機使用,甚至換卡,所設(shè)置的安全聯(lián)系人就會收到最新的SIM卡號的短信,用戶可以通過安全聯(lián)系人的號碼,發(fā)送命令控制短信,對自身的聯(lián)系人、信息數(shù)據(jù)進行3DES數(shù)據(jù)加密,或者進行銷毀式加密,必要的時候,還可以進行數(shù)據(jù)銷毀,刪除SD卡的所有數(shù)據(jù)。早期的信息安全研究,只存在于研究加密,沒有結(jié)合遠程控制和數(shù)據(jù)銷毀,如果密鑰被破解,仍然可以被成功破解獲得原來的內(nèi)容。通過本課題的研究,不僅在用戶丟失移動終端后,可以使得數(shù)據(jù)安全得到保障,而且通過內(nèi)置的地圖服務(wù)與拍照功能的結(jié)合,也可幫助用戶找回終端,對個人信息的安全、財產(chǎn)的保全具有重要的意義[1]。
本系統(tǒng)設(shè)計主要分為三個核心模塊:首先設(shè)置安全聯(lián)系人,通過短信控制命令控制被保護的終端,而且只要更換SIM卡,安全聯(lián)系人就會收到最新卡號發(fā)來的信息,永不斷線;信息安全模塊可幫助用戶保護數(shù)據(jù)的安全,必要的時候銷毀數(shù)據(jù);模塊在終端丟失后,可幫助用戶尋回終端。安全措施依賴于用戶設(shè)置的安全聯(lián)系人以及換卡短信提醒功能;數(shù)據(jù)的信息安全,依賴于軟件自帶的加密功能和數(shù)據(jù)銷毀功能;而幫助用戶尋回終端主要依靠的是內(nèi)置百度地圖的SDK服務(wù)和拍照的場景回傳[2]。核心架構(gòu)圖如圖1 所示。
圖1 核心架構(gòu)圖
2.1 安全措施
2.1.1 安全聯(lián)系人設(shè)置
圖2 設(shè)置安全聯(lián)系人
安全聯(lián)系人在軟件初始化的時候設(shè)置,如果終端客戶信息更新,該安全聯(lián)系人可以獲取新客戶相關(guān)信息,包括其手機號等,也可以遠程控制手機獲取銷毀數(shù)據(jù)、定位信息等。如果要更換客戶,需要進行安全認證才能完成。所以初始化過程需要與安全聯(lián)系人進行短消息聯(lián)系確認,以確保安全,如果設(shè)置成功,則說明可以安全使用軟件相關(guān)功能,手機安全性也得到了保證,設(shè)置流程如圖2所示。
2.1.2 換卡短信提醒
如圖3所示,本系統(tǒng)設(shè)計軟件會在客戶初始化的時候?qū)IM卡的ID號碼存入后臺數(shù)據(jù)庫,此ID號碼具有唯一性,每個ID號碼對應(yīng)一部手機,而且本軟件會同時設(shè)立一個賬戶,包括用戶名和密碼,當客戶端用戶SIM卡更新時進行身份驗證。
圖3 換卡短信提醒
SIM卡更新時,系統(tǒng)會自動和之前保留的ID號碼進行匹配,如不同,則要求輸入之前設(shè)定的用戶名和密碼,為確保此卡是本機用戶新卡而不是手機被盜后所換的卡,此時系統(tǒng)會發(fā)送新號碼給安全聯(lián)系人,以確保用戶手機系統(tǒng)的信息安全[3]。
2.2 信息安全
2.2.1 數(shù)據(jù)庫加密
存入安全聯(lián)系人的數(shù)據(jù)庫信息需要以加密的形式存入,以保證信息的安全,采用AES加密算法,其對應(yīng)的密鑰存入so庫中,隨apk一起打包,這樣安全性較高,即使數(shù)據(jù)被導出,也無法輕易知道數(shù)據(jù)庫中的內(nèi)容。
而當用戶丟失終端后需要加密數(shù)據(jù),比如短信數(shù)據(jù)、聯(lián)系人數(shù)據(jù),則使用3DES加密,而當用戶不想讓數(shù)據(jù)被破解,則可以使用銷毀式加密方式,使用MD5方式對上述數(shù)據(jù)進行加密。
AES與3DES算法是業(yè)界用的比較多的加密算法,它的特點是可逆不容易破解,除非知道加密的密鑰,對于密文以同樣的秘鑰進行解密方可得到原文,而AES只加密一次,3DES會加密3次。由于存入數(shù)據(jù)庫的數(shù)據(jù)可能會被經(jīng)常使用,所以使用AES加密會減少讀取的時間,而當用戶丟失后,為了提高加密的安全等級,使用3DES比較合適。MD5是不可逆的加密方式,如果用戶想徹底銷毀數(shù)據(jù),直接使用MD5加密,則非法持有者永遠也不可能知道其原文到底是什么,因為MD5是不可逆的,至今也無人可以破解。
2.2.2 清除手機數(shù)據(jù)
如果用戶想要徹底銷毀數(shù)據(jù),則需要清除一些容易泄露隱私的數(shù)據(jù),包括聯(lián)系人信息、短信信息,以及存儲設(shè)備中的信息,保證一些重要的信息不會泄露給偷盜者。
Android系統(tǒng)中,聯(lián)系人短信的數(shù)據(jù)都是通過ContentProvider進行訪問的,而每個模塊都有自己的URL,這個接口是統(tǒng)一的、公用的。只要知道了URL,就可以對數(shù)據(jù)進行讀寫,需要申請相應(yīng)的權(quán)限。比如聯(lián)系人URL是Phone.CONTENT_URI,它所指向的其實是“content:// com.Android.contacts/data/phones”,而短信的URL則是content://mms-sms/conversations,了解URL,根據(jù)它們的表名可以正常訪問。
刪除SD的卡中數(shù)據(jù),則采用遍歷的方式,逐級遍歷存儲設(shè)備,遞歸遍歷文件夾中的文件,遍歷到葉子節(jié)點的時候(即該文件夾中的文件),先逐步刪除文件,確保該文件夾為空文件夾后,隨后刪除該文件夾。如果文件夾中又有文件夾,則繼續(xù)遞歸遍歷,直到文件被全部刪除。
2.3 終端尋回
2.3.1 獲取手機的位置信息
該功能使用百度地圖服務(wù)的SDK實現(xiàn),版本為locSDK-3.3.jar,該版本相對于其他版本的優(yōu)勢為:
① 不需要向百度服務(wù)器注冊,其他版本的SDK需要在服務(wù)器端注冊該apk的包名,以保證正常的訪問。
② 不是必須聯(lián)網(wǎng),可直接通過GPS獲取數(shù)據(jù)。該版本支持幾種定位方式,除了網(wǎng)絡(luò)服務(wù)定位+GPS定位,當沒有網(wǎng)絡(luò)的時候,亦可通過GPS直接定位。該優(yōu)點特別適合本課題的研究,即使非法持有者不打開網(wǎng)絡(luò),通過GPS同樣可以獲知其位置,幫助用戶找回終端。
該SDK集成了眾多的功能,而在本課題研究中,主要使用BDLocation這個類,該類提供了三種不同的核心方法:getlatitude()和getlengitude()分別用于獲取經(jīng)緯度,而getAddrStr()則可返回當前位置的詳細信息,位置可精確到街道。當安全聯(lián)系人使用位置回傳命令控制終端的時候,終端即調(diào)用該函數(shù),獲取當前手機的具體位置并回傳[4]。
2.3.2 拍照并傳回安全聯(lián)系人
當安全聯(lián)系人想要獲得周圍環(huán)境參數(shù)的時候,可通過短信命令調(diào)用攝像頭,拍照并以彩信的形式傳回給安全聯(lián)系人[5]。具體流程如圖4所示。
圖4 短信命令拍照流程
拍照的時機很重要,如果用戶想要知道非法持有者的頭像信息,則啟用前置攝像頭,且當三軸加速傳感器的角度為終端使用角度(正常人持有并使用移動終端,z軸的角度在20度到45度之間,而x軸與y軸的角度變化非常微小)時,拍照回傳,而如果用戶想獲知環(huán)境參數(shù)的時候,則需要根據(jù)三軸加速傳感器的值,啟動不同的攝像頭,如果手機是平放在桌面的,此時后置攝像頭朝著桌面,其他情況下啟動后置攝像頭拍照,不過為了避免開啟閃光燈而被非法持有者獲知,在環(huán)境光非常暗的情況下,不執(zhí)行該命令,等待環(huán)境光變亮時再執(zhí)行,保證照片的品質(zhì),珍惜每次能夠獲得環(huán)境照片的機會,以最小的成本代價,幫助用戶找回設(shè)備。
Android不提供發(fā)送彩信的接口,也不能調(diào)用發(fā)送彩信的統(tǒng)一接口,這樣會暴露給非法持有者,所以需要自己移植Android源代碼中的pdupart,構(gòu)造自己的彩信發(fā)送器,這里不再贅述其移植過程。
通過以上兩種方式的結(jié)合,除了能夠保證Android移動終端的安全性,還可以在移動終端丟失后,得到其具體位置和環(huán)境參數(shù),幫助用戶找回終端,對于數(shù)據(jù)信息的安全有著重要的意義和作用。
[1] 姜浩.安卓系統(tǒng)安全保護架構(gòu)研究[J].通訊世界,2016(14).
[2] 王風,楊璐璐.Android平臺數(shù)據(jù)安全保密機制探析[J].電腦開發(fā)與應(yīng)用,2013(2):33-35.
[3] 張晟驍,張宏,李千目,等.一種基于安卓系統(tǒng)的短消息加密方法[J].計算機技術(shù)與發(fā)展,2015(9):144-148.
[4] 姚佳健.基于Android的LBS定位系統(tǒng)的設(shè)計[D].南京:南京郵電大學,2013.
[5] 吳少剛,張福新,戴燁,等.一種安卓應(yīng)用軟件調(diào)用拍照模塊的方法:CN,CN 102799469 A[P].2012.
時光(助教),主要從事物聯(lián)網(wǎng)與嵌入式系統(tǒng)數(shù)據(jù)安全方面的研究工作;劉云恒(講師),主要研究方向為公安大數(shù)據(jù)應(yīng)用。
(責任編輯:薛士然 收修改稿日期: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
本項目受中央高校基本科研業(yè)務(wù)費專項資金項目(LGQN201601,基于Android系統(tǒng)的移動設(shè)備數(shù)據(jù)安全)的研究資助。
TP36
A