文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.173844
中文引用格式: 李立甫,李紅亮,古勇軍. 基于智能手機的保密U盤設計與實現[J].電子技術應用,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.
0 引言
近幾年,隨著移動互聯網的普及和信息技術的發(fā)展,智能手機已經成為人們工作、生活的必需品[1]。人們不但可以使用智能手機完成信息交互、娛樂,而且利用智能手機充當U盤完成數據存儲與傳輸的方式也越來越多地被使用[2]。然而由于智能手機平臺開放性和網絡互連性強,更易受病毒、木馬等外來攻擊[3],根據CVE Details提供的統計數據顯示,Android、Debian Linux和Ubuntu Linux被評為2016年最易受攻擊的3種產品。智能手機存儲的數據較傳統U盤更容易泄露?;诖耍疚奶岢隽恕盎谥悄苁謾C的保密U盤”的數據防護方案。
1 系統設計
系統基本組成架構如圖1所示,系統主要包括:控制手機、基于智能手機的保密U盤和上位機。控制手機是普通智能手機,其軟件模塊主要由身份認證模塊、控制處理模塊和定位追蹤模塊等組成?;谥悄苁謾C的保密U盤主要由身份認證模塊、APP動態(tài)認證模塊、遙控銷毀模塊和定位模塊等組成,其硬件實體為智能手機+TF卡,搭載系統為Android。上位機主要由身份認證模塊、上位機動態(tài)認證模塊、磁盤加/卸載模塊和過濾驅動模塊組成,其硬件平臺為普通PC,搭載系統為Windows,支持32位和64位。
系統可分為3個核心功能區(qū),分別為:加密存儲功能區(qū)、遙控銷毀功能區(qū)和定位追蹤功能區(qū)。
1.1 加密存儲功能區(qū)
加密存儲功能區(qū)主要由基于智能手機的保密U盤的APP動態(tài)認證模塊、TF卡和上位機程序組成,用于完成上位機與基于智能手機的保密U盤的動態(tài)身份認證,以及加密磁盤創(chuàng)建、加卸載、數據加解密與數據傳輸功能。
1.2 遙控銷毀功能區(qū)
遙控銷毀功能區(qū)主要由控制手機的控制處理模塊和基于智能手機的保密U盤的遙控銷毀模塊組成,在基于智能手機的保密U盤丟失或被盜后,可通過控制手機發(fā)送遙控銷毀指令(短信形式承載),基于智能手機的保密U盤收到指令后自動清除保密分區(qū)(數據),達成設備丟失后的數據遙控銷毀功能。
1.3 定位追蹤功能區(qū)
定位追蹤功能區(qū)主要由控制手機的控制處理模塊和基于智能手機的保密U盤的定位模塊組成,主要用于完成基于智能手機的保密U盤的定位、位置回傳(通過短信指令)和定位追蹤功能,達成設備丟失后的定位追蹤和找回功能。
2 加密存儲原理與實現
加密存儲功能主要由上位機程序和過濾驅動配合完成,采用核心層(Kernel,又叫驅動層)實現透明加解密。上位機程序主要用于實現人機接口、身份認證、密鑰設定、加密磁盤創(chuàng)建、掛載和卸載等工作。過濾驅動采用Windows提供的可安裝文件系統(Installable File System)[4]開發(fā)接口開發(fā)完成,通過此驅動實現透明加解密功能。上位機程序和過濾驅動基于Visual Studio 2008開發(fā)環(huán)境完成開發(fā)。
2.1 密盤的創(chuàng)建、掛載與卸載
(1)密盤的創(chuàng)建
上位機軟件中,創(chuàng)建密盤分為4步來描述:①根據輸入的用戶口令生成密盤加密密鑰;②讀取需要格式化磁盤的各種信息,建立對應數據結構;③在內存中創(chuàng)建文件系統頭;④調用寫磁盤命令,建立密盤。建立密盤時,通過調用過濾驅動,將明文的文件系統結構加密后寫入對應位置,實現文件系統的加密存儲。完成這幾步操作后,就將磁盤分區(qū)格式化為了密盤文件系統。其實現流程如圖2所示。
(2)密盤的掛/卸載
密盤文件系統的掛載是指將基于智能手機的保密U盤的密盤掛載到操作系統下。這里涉及編寫密盤驅動程序、掛/卸載分區(qū)、指定盤符等內容。基于智能手機的保密U盤的密盤建立后,數據均是加密存儲,采用掛載的方式是指在系統中進行雙向身份認證,通過認證后,對密盤的訪問將通過自動調用過濾驅動進行處理,這時從操作系統層上看到的則是其真實的明文數據,因此操作系統就可以對密盤數據進行正常訪問。
2.2 加密文件系統的實現
文件加密系統由文件過濾驅動程序和用戶模式應用程序組成[4]。如圖3所示,文件過濾驅動程序接收用戶模式應用程序傳來的設置信息,并按照這些信息對文件系統過濾驅動進行設置;對應用程序發(fā)往文件系統的操作請求進行監(jiān)控;在應用程序對磁盤上的文件進行讀操作時,進行相應的處理和解密操作;在進行寫操作時,進行加密操作。用戶模式應用程序實現PC與用戶之間的交互,將用戶設置信息通過用戶模式應用程序與內核模式程序的通信方式傳遞給文件過濾驅動程序,并向用戶顯示文件過濾驅動程序傳給用戶模式應用程序的信息。
2.3 實現效果
(1)密盤創(chuàng)建、掛載、卸載功能
密盤創(chuàng)建、掛載、卸載功能實現效果如圖4所示。
上位機軟件可呈現基于智能手機的保密U盤的連接狀態(tài),可實現與保密U盤的雙向鑒權以及創(chuàng)建、加載和卸載保密分區(qū)的功能。
通過200次測試可以有效實現雙向鑒權,實現保密分區(qū)的創(chuàng)建、加載與卸載功能,并且保密分區(qū)加載后與普通U盤使用方法完全一致。
(2)保密分區(qū)的讀寫速度測試
作者使用ATTO DISK bench32對保密分區(qū)的讀寫速度進行了多次測試[5],如圖5所示,保密分區(qū)最大寫速度接近16 MB/s,讀速度接近22 MB/s。
保密分區(qū)的讀寫速度與普通U盤的讀寫速度相差不大,基本不影響對數據的讀寫。
(3)加/解密功能測試
作者采用WINHEX對基于智能手機的保密U盤加/解密功能進行了測試[6],圖6為未加密數據圖,圖7為經過濾驅動加密后的數據圖。經對比可以看出,數據經過過濾驅動后已經被加密。
3 遙控銷毀的原理與實現
遙控銷毀的指令收發(fā)通過短信形式完成,編程采用Android標準API接口,指令解析采用自定義協議,數據處理及狀態(tài)監(jiān)控采用Android標準API接口開發(fā)。
3.1 指令接收與發(fā)送
系統利用短消息作為信令載體,關鍵編程實現方式如下。
(1)指令發(fā)送
指令發(fā)送調用Android SDK的SmsManager類進行二次開發(fā)[7]。
(2)指令接收
指令接收采用BroadcastReceiver廣播接收器的方式,監(jiān)聽SMS消息服務。
(3)訪問權限
集成Android系統的讀寫短信訪問權限。
3.2 指令生成與解析
指令生成與解析主要采用自定義協議,自定義協議如下。
(1)基于智能手機的保密U盤發(fā)送指令
基于智能手機的保密U盤指令如表1所示。
(2)控制手機發(fā)送指令
控制手機指令如表2所示。
3.3 數據處理
數據處理主要是指基于智能手機的保密U盤根據收到的控制指令做出相應處理,清除sdcard文件。
(1)核心代碼
調用Android SDK的ContentResolver類進行實例化處理[8]。
(2)權限設置
集成Android系統的讀寫sdcard訪問權限。
3.4 狀態(tài)監(jiān)控
狀態(tài)監(jiān)控主要是監(jiān)控手機開機啟動和更換SIM/UIM卡狀態(tài),監(jiān)控方法如下:首先監(jiān)聽系統開機啟動消息,然后在設備啟動時檢測系統SIM/UIM卡的信息(SIM/UIM卡內部信息包括:序列號、手機號、IMSI號等),最后對比SIM/UIM卡信息和設置的受監(jiān)聽SIM/UIM信息是否相同,若相同則未更換,若不同則更換了。
(1)系統啟動監(jiān)控
基于Android SDK的開機啟動監(jiān)聽主要是采用BroadcastReceiver來接收Android系統的開機啟動消息廣播,并做相應處理[9]。
(2)SIM卡信息檢測
在本系統的研發(fā)過程中發(fā)現,不同SIM/UIM卡,其內部存儲的信息不太相同,有的存有手機號碼,有的沒有;有的存有序列號,有的沒有;只有IMSI號具備通用性[10]。因此,本系統采用SIM/UIM卡的IMSI號作為監(jiān)聽換卡的依據。
3.5 實現效果
如圖8所示,控制手機可設置被控制號碼、控制方式以及選擇丟失后處理選項(包括:清除保密分區(qū)、位置通知、啟動報警、停止報警、鎖死屏幕),最后點擊“指令發(fā)送”,可以實現對基于智能手機保密U盤丟失處理指令的生成和發(fā)送。
經過200次不同環(huán)境測試,遙控銷毀平均處理時間為4 s,正常處理率為100%。
4 定位追蹤原理與實現
定位追蹤模塊主要功能架構如圖9所示,基于智能手機的保密U盤通過GPS/北斗、移動基站和WiFi多種方式定位[11-13],提交位置信息到定位模塊,并以短消息的形式上報位置信息到控制手機??刂剖謾C收到發(fā)來的丟失設備位置信息,顯示于地圖上,并可以做實時更新與定位追蹤。
4.1 定位模塊的實現
定位模塊采用Android傳感器API和開源地圖API二次開發(fā)實現。
4.2 導航追蹤功能的實現
定位追蹤功能模塊包括:丟失設備顯示模塊、站立點顯示模塊、地圖顯示模塊和追蹤路徑規(guī)劃模塊組成,協同完成丟失手機定位和追蹤功能。
4.3 實現效果
定位追蹤模塊實現效果如圖10所示,點擊設備位置,即可將丟失設備顯示在地圖上;點擊“駕車追蹤”、“公交追蹤”或“步行追蹤”,即可實現站立點到丟失設備位置的路徑規(guī)劃。
經過30次,累計60 h、900公里的測試,位置更新指令傳遞平均用時8 s,地圖刷新平均用時2 s,正確定位追蹤準確率為96%。
5 結束語
本文對智能手機充當U盤完成數據傳輸的使用方式的風險進行了分析,提出一種“基于智能手機的保密U盤”的數據保護方案,并對其加密存儲、遙控銷毀、定位追蹤等核心功能進行了編程實現和實驗測試。通過測試證明了本方案可以有效達成智能手機充當U盤完成數據傳輸這種使用方式的安全防護。
參考文獻
[1] 汪奕祥.Android惡意軟件檢測方法研究[D].合肥:合肥工業(yè)大學,2016.
[2] 鄭理.Smartphone也能當U盤[J].電子世界,2007(3):55-55.
[3] 梁丹.基于動態(tài)字節(jié)碼注入的Android沙盒模型[D].上海:上海交通大學,2015.
[4] 胡宏銀,姚峰,何成萬.一種基于文件過濾驅動的Windows文件安全保護方案[J].計算機應用,2009,29(1):168-171.
[5] 洪婷,張朝民,趙真.Micro SD與M2手機存儲卡的讀寫速度分析[J].世界華商經濟年鑒·高校教育研究,2009(5):160-162.
[6] 張輝,周柳陽,丁承林.Windows內存取證的研究與應用[J].科技傳播,2009(3):188.
[7] 王穎,李威耀.基于Android平臺的手機防盜與數據保護系統[J].電腦與微電子技術,2013(18):62-64.
[8] 吳亞峰,索依娜.Android核心技術與實例講解[M].北京:電子工業(yè)出版社,2010.
[9] 浩明.基于安卓系統的手機防盜設計與實現[J].現代電子技術,2014(14):36-39.
[10] 江燕良,黃海于.Android平臺手機防盜系統的安全解決方案[J].單片機與嵌入式系統應用,2013,13(7):15-18.
[11] 張波.基于移動主體技術的手機地圖服務[M].廈門:廈門大學,2008.
[12] 崔和宏.移動定位技術概述[J].科技信息,2008(20):23-34.
[13] 劉穎,王樹勛,宋春莆.移動終端定位算法及誤差分析[J].系統工程與電子技術,2001,23(7):99-106.
作者信息:
李立甫,李紅亮,古勇軍
(陸軍工程大學 通信士官學校,重慶400035)