晉永康 賴德泳 杜華巍

【摘 要】針對移動設備文件泄露的問題,研究了基于驅動層的透明加密方式,同時結合C/S結構的認證模式對內部網絡的移動存儲設備進行統一監控和管理,客戶端的身份認證方式會對移動存儲設備的合法性進行判斷,根據判斷結果給予特定的使用權限。使得移動存儲設備丟失也不會造成文件的泄露,同時可以有效防止內部人員的主動地泄密。
【關鍵詞】C/S模式;驅動層透明加密;身份認證;磁盤過濾
0 引言
移動存儲設備的便利性導致其存儲安全問題顯得尤為重要。以企業為例,目前,市場競爭日趨激烈、殘酷復雜,商業秘密更是企業的生命,然而通過USB存儲設備泄密的案例屢次發生:一方面,是因為員工往往忽略移動存儲信息的安全問題,另一方面,市面上大部分移動存儲設備加密系統都只是基于主動加密的行為,對用戶主動泄密事件卻難以防范于取證調查。
1 系統簡介
本系統基于C/S模型,系統主要由客戶端和服務端組成,由身份認證、透明加密、設備權限管理三大模塊組成,從而為防止內網機密信息由移動存儲設備主動泄露提供了立體防控措施,客戶端則采用了驅動層和應用層相結合的方式,由應用層實現控制,驅動層實現功能的立體架構保證了該系統的抗破解的能力,并提高執行效率。
當企業內部的計算機檢測到移動存儲設備的接入,則彈出輸入密鑰對話框,并將密鑰和移動存儲設備序列號經過MD5加密成唯一標識發送給服務器,服務器從存有合法的移動存儲設備信息的數據庫中查找驗證并將結果返回給客戶端,客戶端在根據返回的信息作出權限判斷在將結果交由設備權限管理模塊處理,不合法則使移動存儲設備僅限于只讀狀態,合法則取消只讀并給予正常的使用功能。最后的讀寫操作則交由透明加密處理,保證移動存儲設備中的所有信息以密文的形式呈現。系統功能如圖1所示。
圖1 功能簡圖
2 功能模塊
2.1 身份認證
身份認證模塊主要是和設備的權限管理模塊相配合從而實現對內網移動存儲設備的權限管理,管理員負責移動存儲設備的注冊,注冊的同時將移動存儲設備持有者的信息和設備相關聯,在將這些數據存入數據庫中,每當企業內部的客戶機上有移動存儲設備接入時,并提交唯一標識給服務器,服務器查找數據庫并進行身份認證,認證成功在交由設備的權限管理模塊處理。注冊時首先獲得移動存儲設備的序列號,在和用戶提供的密碼進行MD5加密算出哈希值,該哈希值則是該移動存儲設備的唯一標識。
當服務端接收到客戶端發來的身份認證信息之后便可以通過查找數據庫來判別當前設備是否合法,客戶端發送的身份認證信息主要包括唯一標識、移動存儲設備符號、序列號等信息。同時當服務器查詢完畢后給出同樣的信息并填充是否合法的信息域,在發給客戶端,同時服務端將此次操作的信息記錄到本地的日志文件中,方便于以后一旦有泄密事件發生進行調查取證,客戶端接到數據后,并交給底層驅動處理。
2.2 透明加密
相對于傳統的移動存儲設備的加密而言,僅限于被動加密,目的僅僅是防止移動存儲設備的擁有者不慎將設備丟失或被人竊取,從而導致移動存儲設備中的機密信息泄露,但對于使用者本身蓄意泄密行為則無力防范,所以本系統采用了透明加密的方式來防止泄密事件的發生,所謂透明加密則是所有的加密行為都是在用戶正常讀寫移動存儲設備數據時自動執行的,相對于用戶是透明的,用戶無權干涉整個過程,從而保障了數據的安全性。
透明加密模塊中根據企業內部的安全等級不同為數據的透明加密方式提供了三種策略。
2.2.1 基于磁盤卷系統的加密方式
該策略不僅是將寫入磁盤中的數據進行加密并且將系統控制磁盤的磁盤卷系統進行加密。如果采用此策略,所有的移動存儲設備只能在裝有該透明加密驅動的電腦上(以下稱合法客戶端)進行使用,如果在沒有安裝透明加密驅動的電腦上(以下稱非法客戶端)則需要將移動存儲設備格式化才能使用。
2.2.2 基于文件系統的加密方式
該策略實現在磁盤卷系統之上,他將過濾掉對卷設備的控制信息,但是對于磁盤卷之上的文件系統和讀寫數據進行加密。如果采用此種策略,移動存儲設備可以在合法客戶端和非法客戶端中使用,但是兩者的數據不能同時讀寫,也就意味著在合法客戶端上寫入的數據到非法客戶端上是無法查看的,反之亦然。這也就保證了數據的安全性。
2.2.3 基于文件內容的加密方式
該策略是基于文件內容的方式,僅僅是對讀寫的數據進行加解密,在合法客戶端上寫入的數據進行加密并標識,當所讀文件時存在加密標識時則解密。否則不進行任何操作。
2.3 設備權限管理
為了貫徹只有合法用戶才能在企業內部正常使用移動存儲設備的思想,所以在本系統中添加了設備的權限管理的功能模塊,他將和身份認證相結合,通過向服務器提交驗證信息來判斷當前接入客戶端的移動存儲設備的合法性。當客戶端有移動存儲設備接入時,本系統底層的驅動首先將該移動存儲設備設置成只讀不可寫狀態,然后提交驗證,如果驗證成功則解除只讀狀態并給予正常的使用權限。如果不成功則一直維持可讀不可寫狀態,有效的避免了企業內部的機密數據通過非法移動存儲設備的主動泄密事件。
客戶端程序的作用是控制內核層各個驅動模塊,用戶可能存在誤操作不慎將進程結束,導致整個系統無法正確工作,所以該模塊的設計就是為了保護客戶端進程。這里同樣采用了內核層的工作模式,并將該模塊寫入到系統服務中,只要客戶端運行,則該驅動就起到自動保護的作用。保證了整個系統的高效性和抗破解能力。3 結語
本系統基于C/S模型,主要分為服務端和客戶端兩大模塊,并采用了身份認證技術,驅動級透明加密技術,磁盤過濾技術,驅動級HOOK技術為企業內部移動存儲設備的安全性提供了一系列的立體防控措施,從使用移動存儲設備開始前的權限控制,既阻止非法移動存儲設備的寫入。再到使用過程中通過透明加解密保證磁盤中的數據均是密文,最后到泄密事件發生后的調查取證等幾個方面阻止持有者主動或被動的泄密行為。
【參考文獻】
[1]張帆,史彩成.Windows驅動開發技術詳解[M].電子工業出版社,2008.
[2]孫鑫,余安萍.VC++深入詳解[M].電子工業出版社,2007.
[3]廖洪其,等.USB移動存儲設備的唯一性識別方法研究[J].計算機科學與設計,2010(3).
[責任編輯:王楠]