《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于智能手機(jī)的保密U盤設(shè)計(jì)與實(shí)現(xiàn)
基于智能手機(jī)的保密U盤設(shè)計(jì)與實(shí)現(xiàn)
2018年電子技術(shù)應(yīng)用第6期
李立甫,李紅亮,古勇軍
陸軍工程大學(xué) 通信士官學(xué)校,重慶400035
摘要: 深入分析了智能手機(jī)充當(dāng)U盤完成數(shù)據(jù)傳輸?shù)氖褂梅绞降陌踩[患,結(jié)合加解密技術(shù)和遠(yuǎn)程控制的技術(shù),提出了一種集“加密存儲(chǔ)、遙控銷毀、定位追蹤”等功能于一體的數(shù)據(jù)防護(hù)方案,并進(jìn)行了編程實(shí)現(xiàn),以期解決智能手機(jī)充當(dāng)U盤使用的數(shù)據(jù)安全問題。
中圖分類號: TP309.2
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.173844
中文引用格式: 李立甫,李紅亮,古勇軍. 基于智能手機(jī)的保密U盤設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(6):120-123,128.
英文引用格式: Li Lifu,Li Hongliang,Gu Yongjun. The design and implementation of the secure USB disk based on smart mobilephone[J]. Application of Electronic Technique,2018,44(6):120-123,128.
The design and implementation of the secure USB disk based on smart mobilephone
Li Lifu,Li Hongliang,Gu Yongjun
Communication NCO Academy,the Army Engineering University of PLA,Chongqing 400035,China
Abstract: This paper analyzes the risk of using smart phones as U disk to complete data transmission. Combined with encryption technology and remote control technology,a data protection scheme is proposed, which integrates the functions of encryption storage, remote control destruction, location and tracking and so on. Finally,the programming realization has been carried on in order to solve the problem of data security for using smart phones as U disk.
Key words : encryption storage;remote control destruction;location and tracking

0 引言

    近幾年,隨著移動(dòng)互聯(lián)網(wǎng)的普及和信息技術(shù)的發(fā)展,智能手機(jī)已經(jīng)成為人們工作、生活的必需品[1]。人們不但可以使用智能手機(jī)完成信息交互、娛樂,而且利用智能手機(jī)充當(dāng)U盤完成數(shù)據(jù)存儲(chǔ)與傳輸?shù)姆绞揭苍絹碓蕉嗟乇皇褂?sup>[2]。然而由于智能手機(jī)平臺(tái)開放性和網(wǎng)絡(luò)互連性強(qiáng),更易受病毒、木馬等外來攻擊[3],根據(jù)CVE Details提供的統(tǒng)計(jì)數(shù)據(jù)顯示,Android、Debian Linux和Ubuntu Linux被評為2016年最易受攻擊的3種產(chǎn)品。智能手機(jī)存儲(chǔ)的數(shù)據(jù)較傳統(tǒng)U盤更容易泄露?;诖?,本文提出了“基于智能手機(jī)的保密U盤”的數(shù)據(jù)防護(hù)方案。

1 系統(tǒng)設(shè)計(jì) 

    系統(tǒng)基本組成架構(gòu)如圖1所示,系統(tǒng)主要包括:控制手機(jī)、基于智能手機(jī)的保密U盤和上位機(jī)??刂剖謾C(jī)是普通智能手機(jī),其軟件模塊主要由身份認(rèn)證模塊、控制處理模塊和定位追蹤模塊等組成?;谥悄苁謾C(jī)的保密U盤主要由身份認(rèn)證模塊、APP動(dòng)態(tài)認(rèn)證模塊、遙控銷毀模塊和定位模塊等組成,其硬件實(shí)體為智能手機(jī)+TF卡,搭載系統(tǒng)為Android。上位機(jī)主要由身份認(rèn)證模塊、上位機(jī)動(dòng)態(tài)認(rèn)證模塊、磁盤加/卸載模塊和過濾驅(qū)動(dòng)模塊組成,其硬件平臺(tái)為普通PC,搭載系統(tǒng)為Windows,支持32位和64位。

jsj3-t1.gif

    系統(tǒng)可分為3個(gè)核心功能區(qū),分別為:加密存儲(chǔ)功能區(qū)、遙控銷毀功能區(qū)和定位追蹤功能區(qū)。

1.1 加密存儲(chǔ)功能區(qū)

    加密存儲(chǔ)功能區(qū)主要由基于智能手機(jī)的保密U盤的APP動(dòng)態(tài)認(rèn)證模塊、TF卡和上位機(jī)程序組成,用于完成上位機(jī)與基于智能手機(jī)的保密U盤的動(dòng)態(tài)身份認(rèn)證,以及加密磁盤創(chuàng)建、加卸載、數(shù)據(jù)加解密與數(shù)據(jù)傳輸功能。

1.2 遙控銷毀功能區(qū)

    遙控銷毀功能區(qū)主要由控制手機(jī)的控制處理模塊和基于智能手機(jī)的保密U盤的遙控銷毀模塊組成,在基于智能手機(jī)的保密U盤丟失或被盜后,可通過控制手機(jī)發(fā)送遙控銷毀指令(短信形式承載),基于智能手機(jī)的保密U盤收到指令后自動(dòng)清除保密分區(qū)(數(shù)據(jù)),達(dá)成設(shè)備丟失后的數(shù)據(jù)遙控銷毀功能。

1.3 定位追蹤功能區(qū)

    定位追蹤功能區(qū)主要由控制手機(jī)的控制處理模塊和基于智能手機(jī)的保密U盤的定位模塊組成,主要用于完成基于智能手機(jī)的保密U盤的定位、位置回傳(通過短信指令)和定位追蹤功能,達(dá)成設(shè)備丟失后的定位追蹤和找回功能。

2 加密存儲(chǔ)原理與實(shí)現(xiàn)

    加密存儲(chǔ)功能主要由上位機(jī)程序和過濾驅(qū)動(dòng)配合完成,采用核心層(Kernel,又叫驅(qū)動(dòng)層)實(shí)現(xiàn)透明加解密。上位機(jī)程序主要用于實(shí)現(xiàn)人機(jī)接口、身份認(rèn)證、密鑰設(shè)定、加密磁盤創(chuàng)建、掛載和卸載等工作。過濾驅(qū)動(dòng)采用Windows提供的可安裝文件系統(tǒng)(Installable File System)[4]開發(fā)接口開發(fā)完成,通過此驅(qū)動(dòng)實(shí)現(xiàn)透明加解密功能。上位機(jī)程序和過濾驅(qū)動(dòng)基于Visual Studio 2008開發(fā)環(huán)境完成開發(fā)。

2.1 密盤的創(chuàng)建、掛載與卸載

    (1)密盤的創(chuàng)建

    上位機(jī)軟件中,創(chuàng)建密盤分為4步來描述:①根據(jù)輸入的用戶口令生成密盤加密密鑰;②讀取需要格式化磁盤的各種信息,建立對應(yīng)數(shù)據(jù)結(jié)構(gòu);③在內(nèi)存中創(chuàng)建文件系統(tǒng)頭;④調(diào)用寫磁盤命令,建立密盤。建立密盤時(shí),通過調(diào)用過濾驅(qū)動(dòng),將明文的文件系統(tǒng)結(jié)構(gòu)加密后寫入對應(yīng)位置,實(shí)現(xiàn)文件系統(tǒng)的加密存儲(chǔ)。完成這幾步操作后,就將磁盤分區(qū)格式化為了密盤文件系統(tǒng)。其實(shí)現(xiàn)流程如圖2所示。

jsj3-t2.gif

    (2)密盤的掛/卸載

    密盤文件系統(tǒng)的掛載是指將基于智能手機(jī)的保密U盤的密盤掛載到操作系統(tǒng)下。這里涉及編寫密盤驅(qū)動(dòng)程序、掛/卸載分區(qū)、指定盤符等內(nèi)容?;谥悄苁謾C(jī)的保密U盤的密盤建立后,數(shù)據(jù)均是加密存儲(chǔ),采用掛載的方式是指在系統(tǒng)中進(jìn)行雙向身份認(rèn)證,通過認(rèn)證后,對密盤的訪問將通過自動(dòng)調(diào)用過濾驅(qū)動(dòng)進(jìn)行處理,這時(shí)從操作系統(tǒng)層上看到的則是其真實(shí)的明文數(shù)據(jù),因此操作系統(tǒng)就可以對密盤數(shù)據(jù)進(jìn)行正常訪問。

2.2 加密文件系統(tǒng)的實(shí)現(xiàn)

    文件加密系統(tǒng)由文件過濾驅(qū)動(dòng)程序和用戶模式應(yīng)用程序組成[4]。如圖3所示,文件過濾驅(qū)動(dòng)程序接收用戶模式應(yīng)用程序傳來的設(shè)置信息,并按照這些信息對文件系統(tǒng)過濾驅(qū)動(dòng)進(jìn)行設(shè)置;對應(yīng)用程序發(fā)往文件系統(tǒng)的操作請求進(jìn)行監(jiān)控;在應(yīng)用程序?qū)Υ疟P上的文件進(jìn)行讀操作時(shí),進(jìn)行相應(yīng)的處理和解密操作;在進(jìn)行寫操作時(shí),進(jìn)行加密操作。用戶模式應(yīng)用程序?qū)崿F(xiàn)PC與用戶之間的交互,將用戶設(shè)置信息通過用戶模式應(yīng)用程序與內(nèi)核模式程序的通信方式傳遞給文件過濾驅(qū)動(dòng)程序,并向用戶顯示文件過濾驅(qū)動(dòng)程序傳給用戶模式應(yīng)用程序的信息。

jsj3-t3.gif

2.3 實(shí)現(xiàn)效果

    (1)密盤創(chuàng)建、掛載、卸載功能

    密盤創(chuàng)建、掛載、卸載功能實(shí)現(xiàn)效果如圖4所示。

jsj3-t4.gif

    上位機(jī)軟件可呈現(xiàn)基于智能手機(jī)的保密U盤的連接狀態(tài),可實(shí)現(xiàn)與保密U盤的雙向鑒權(quán)以及創(chuàng)建、加載和卸載保密分區(qū)的功能。

    通過200次測試可以有效實(shí)現(xiàn)雙向鑒權(quán),實(shí)現(xiàn)保密分區(qū)的創(chuàng)建、加載與卸載功能,并且保密分區(qū)加載后與普通U盤使用方法完全一致。

    (2)保密分區(qū)的讀寫速度測試

    作者使用ATTO DISK bench32對保密分區(qū)的讀寫速度進(jìn)行了多次測試[5],如圖5所示,保密分區(qū)最大寫速度接近16 MB/s,讀速度接近22 MB/s。

jsj3-t5.gif

    保密分區(qū)的讀寫速度與普通U盤的讀寫速度相差不大,基本不影響對數(shù)據(jù)的讀寫。

    (3)加/解密功能測試

    作者采用WINHEX對基于智能手機(jī)的保密U盤加/解密功能進(jìn)行了測試[6],圖6為未加密數(shù)據(jù)圖,圖7為經(jīng)過濾驅(qū)動(dòng)加密后的數(shù)據(jù)圖。經(jīng)對比可以看出,數(shù)據(jù)經(jīng)過過濾驅(qū)動(dòng)后已經(jīng)被加密。

jsj3-t6.gif

jsj3-t7.gif

3 遙控銷毀的原理與實(shí)現(xiàn)

    遙控銷毀的指令收發(fā)通過短信形式完成,編程采用Android標(biāo)準(zhǔn)API接口,指令解析采用自定義協(xié)議,數(shù)據(jù)處理及狀態(tài)監(jiān)控采用Android標(biāo)準(zhǔn)API接口開發(fā)。

3.1 指令接收與發(fā)送

    系統(tǒng)利用短消息作為信令載體,關(guān)鍵編程實(shí)現(xiàn)方式如下。

    (1)指令發(fā)送

    指令發(fā)送調(diào)用Android SDK的SmsManager類進(jìn)行二次開發(fā)[7]

    (2)指令接收

    指令接收采用BroadcastReceiver廣播接收器的方式,監(jiān)聽SMS消息服務(wù)。

    (3)訪問權(quán)限

    集成Android系統(tǒng)的讀寫短信訪問權(quán)限。

3.2 指令生成與解析

    指令生成與解析主要采用自定義協(xié)議,自定義協(xié)議如下。

    (1)基于智能手機(jī)的保密U盤發(fā)送指令

    基于智能手機(jī)的保密U盤指令如表1所示。

jsj3-b1.gif

    (2)控制手機(jī)發(fā)送指令

    控制手機(jī)指令如表2所示。

jsj3-b2.gif

3.3 數(shù)據(jù)處理

    數(shù)據(jù)處理主要是指基于智能手機(jī)的保密U盤根據(jù)收到的控制指令做出相應(yīng)處理,清除sdcard文件。

    (1)核心代碼

    調(diào)用Android SDK的ContentResolver類進(jìn)行實(shí)例化處理[8]。

    (2)權(quán)限設(shè)置

    集成Android系統(tǒng)的讀寫sdcard訪問權(quán)限。

3.4 狀態(tài)監(jiān)控

    狀態(tài)監(jiān)控主要是監(jiān)控手機(jī)開機(jī)啟動(dòng)和更換SIM/UIM卡狀態(tài),監(jiān)控方法如下:首先監(jiān)聽系統(tǒng)開機(jī)啟動(dòng)消息,然后在設(shè)備啟動(dòng)時(shí)檢測系統(tǒng)SIM/UIM卡的信息(SIM/UIM卡內(nèi)部信息包括:序列號、手機(jī)號、IMSI號等),最后對比SIM/UIM卡信息和設(shè)置的受監(jiān)聽SIM/UIM信息是否相同,若相同則未更換,若不同則更換了。

    (1)系統(tǒng)啟動(dòng)監(jiān)控

    基于Android SDK的開機(jī)啟動(dòng)監(jiān)聽主要是采用BroadcastReceiver來接收Android系統(tǒng)的開機(jī)啟動(dòng)消息廣播,并做相應(yīng)處理[9]。

    (2)SIM卡信息檢測

    在本系統(tǒng)的研發(fā)過程中發(fā)現(xiàn),不同SIM/UIM卡,其內(nèi)部存儲(chǔ)的信息不太相同,有的存有手機(jī)號碼,有的沒有;有的存有序列號,有的沒有;只有IMSI號具備通用性[10]。因此,本系統(tǒng)采用SIM/UIM卡的IMSI號作為監(jiān)聽換卡的依據(jù)。

3.5 實(shí)現(xiàn)效果

    如圖8所示,控制手機(jī)可設(shè)置被控制號碼、控制方式以及選擇丟失后處理選項(xiàng)(包括:清除保密分區(qū)、位置通知、啟動(dòng)報(bào)警、停止報(bào)警、鎖死屏幕),最后點(diǎn)擊“指令發(fā)送”,可以實(shí)現(xiàn)對基于智能手機(jī)保密U盤丟失處理指令的生成和發(fā)送。

jsj3-t8.gif

    經(jīng)過200次不同環(huán)境測試,遙控銷毀平均處理時(shí)間為4 s,正常處理率為100%。

4 定位追蹤原理與實(shí)現(xiàn)

    定位追蹤模塊主要功能架構(gòu)如圖9所示,基于智能手機(jī)的保密U盤通過GPS/北斗、移動(dòng)基站和WiFi多種方式定位[11-13],提交位置信息到定位模塊,并以短消息的形式上報(bào)位置信息到控制手機(jī)??刂剖謾C(jī)收到發(fā)來的丟失設(shè)備位置信息,顯示于地圖上,并可以做實(shí)時(shí)更新與定位追蹤。

jsj3-t9.gif

4.1 定位模塊的實(shí)現(xiàn)

    定位模塊采用Android傳感器API和開源地圖API二次開發(fā)實(shí)現(xiàn)。

4.2 導(dǎo)航追蹤功能的實(shí)現(xiàn)

    定位追蹤功能模塊包括:丟失設(shè)備顯示模塊、站立點(diǎn)顯示模塊、地圖顯示模塊和追蹤路徑規(guī)劃模塊組成,協(xié)同完成丟失手機(jī)定位和追蹤功能。

4.3 實(shí)現(xiàn)效果

    定位追蹤模塊實(shí)現(xiàn)效果如圖10所示,點(diǎn)擊設(shè)備位置,即可將丟失設(shè)備顯示在地圖上;點(diǎn)擊“駕車追蹤”、“公交追蹤”或“步行追蹤”,即可實(shí)現(xiàn)站立點(diǎn)到丟失設(shè)備位置的路徑規(guī)劃。

jsj3-t10.gif

    經(jīng)過30次,累計(jì)60 h、900公里的測試,位置更新指令傳遞平均用時(shí)8 s,地圖刷新平均用時(shí)2 s,正確定位追蹤準(zhǔn)確率為96%。

5 結(jié)束語

    本文對智能手機(jī)充當(dāng)U盤完成數(shù)據(jù)傳輸?shù)氖褂梅绞降娘L(fēng)險(xiǎn)進(jìn)行了分析,提出一種“基于智能手機(jī)的保密U盤”的數(shù)據(jù)保護(hù)方案,并對其加密存儲(chǔ)、遙控銷毀、定位追蹤等核心功能進(jìn)行了編程實(shí)現(xiàn)和實(shí)驗(yàn)測試。通過測試證明了本方案可以有效達(dá)成智能手機(jī)充當(dāng)U盤完成數(shù)據(jù)傳輸這種使用方式的安全防護(hù)。

參考文獻(xiàn)

[1] 汪奕祥.Android惡意軟件檢測方法研究[D].合肥:合肥工業(yè)大學(xué),2016.

[2] 鄭理.Smartphone也能當(dāng)U盤[J].電子世界,2007(3):55-55.

[3] 梁丹.基于動(dòng)態(tài)字節(jié)碼注入的Android沙盒模型[D].上海:上海交通大學(xué),2015.

[4] 胡宏銀,姚峰,何成萬.一種基于文件過濾驅(qū)動(dòng)的Windows文件安全保護(hù)方案[J].計(jì)算機(jī)應(yīng)用,2009,29(1):168-171.

[5] 洪婷,張朝民,趙真.Micro SD與M2手機(jī)存儲(chǔ)卡的讀寫速度分析[J].世界華商經(jīng)濟(jì)年鑒·高校教育研究,2009(5):160-162.

[6] 張輝,周柳陽,丁承林.Windows內(nèi)存取證的研究與應(yīng)用[J].科技傳播,2009(3):188.

[7] 王穎,李威耀.基于Android平臺(tái)的手機(jī)防盜與數(shù)據(jù)保護(hù)系統(tǒng)[J].電腦與微電子技術(shù),2013(18):62-64.

[8] 吳亞峰,索依娜.Android核心技術(shù)與實(shí)例講解[M].北京:電子工業(yè)出版社,2010.

[9] 浩明.基于安卓系統(tǒng)的手機(jī)防盜設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2014(14):36-39.

[10] 江燕良,黃海于.Android平臺(tái)手機(jī)防盜系統(tǒng)的安全解決方案[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(7):15-18.

[11] 張波.基于移動(dòng)主體技術(shù)的手機(jī)地圖服務(wù)[M].廈門:廈門大學(xué),2008.

[12] 崔和宏.移動(dòng)定位技術(shù)概述[J].科技信息,2008(20):23-34.

[13] 劉穎,王樹勛,宋春莆.移動(dòng)終端定位算法及誤差分析[J].系統(tǒng)工程與電子技術(shù),2001,23(7):99-106.



作者信息:

李立甫,李紅亮,古勇軍

(陸軍工程大學(xué) 通信士官學(xué)校,重慶400035)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。