透明加密系統設計及實現-緒論

隨着信息時代的到來,計算機成爲了人們日常生活的必備之物。大量的桌面計算機和移動終端設備給人們帶來了極大的方便,但是也增加的個人的機密信息泄密的可能性。特別是對於機密部門的機密資料和企業公司的核心技術等更容易通過信息技術的通道泄密,信息技術安全面臨着前所未有的挑戰。通常的網絡隔離及網絡防火牆很難再滿足需求,因爲最好的防火牆永遠也抵不過社會工程學的釜底抽薪,人事的問題在目前的網絡技術下是一個永生的話題。

那麼這樣才能更好地解決這個問題呢,一切問題的解決思路都要歸根到事物的本源。信息是根本,而信息本身的載體更是依託,把握住電子信息的主要信息的載體就是文件保護的關鍵。文件作爲電子信息的主要載體,文件的泄漏就代表了信息的泄漏。解決文件泄密的最爲主要的方法是對文件進行加密,但是靜態的加密是一種不可控的方法,是一種非實時的,可用性極低的技術。而動態加密是解決這個問題的最根本的方法,動態加密也稱透明加密,是在文件使用時加密,是一種使用時加密技術,具有很強的控制能力,文件在脫離了佈置透明加密的系統時是無法使用的,具有很強的控制性。

本系列文章將全面介紹設計並開發一個文件透明加密及控制系統需要的關鍵技術、具體設計及具體實現方法,展示一個透明文件加密系統應該具備的功能,以及這樣實現一個較爲完整的透明加密系統。

1 背景知識

上世紀中業,隨着第一臺計算機的誕生,信息科技快速發展,近些年計算機更成爲日常生活、工作的主要工具,大量的企業及機構部門已經進入了信息化的辦公時代,然而事情都是都是相對的,高新的技術後面隱藏着更多的安全問題。文件作爲電子信息的主要載體,是信息傳遞的最常見的表現形式。隨着網絡技術的快速發展,文件共享的便捷性逐步增加,範圍極大地擴大。同樣,技術給人們帶來方便的同時,也給人們帶來了挑戰,對於要進行文件保護時面臨的挑戰是巨大的,非常困難的。

2011年來,數據泄漏的案例頻頻發生,從美國的HBGary Federal公司泄漏美商會、美國司法部、美洲銀行和WikiLeak的大量異常敏感的“商業機密”,到Epsilon 失竊的2500名企業客戶中2%的電子郵件數據庫,及蘋果員工出賣機密信息,甚至是國內的網絡最大泄密事件,超1億密碼被公開。員工跳槽導致關鍵技術泄漏的事件頻頻發生,不僅是員工本身法律意識較低或僥倖心理的原因,更反映出目前企業的文件保護意識的欠缺,也體現出現在文件保護措施的欠缺。

一般情況下,文件的泄漏就意味着信息的泄漏,文件的保護毫無疑問是信息保護的關鍵,也是信息保護的根本。文件保護的最根本的策略就是文件加密,這樣加密文件對於沒有密鑰的非法人員就是加密的,很難得到文件的真實內容,文件得到了有效的保護。

目前對於文件的加密主要有兩種技術解決方案,一種是靜態加密,是一種相對成熟的加密方案,是對整個文件及文件夾加密,使用時通過加密軟件解密後使用,是一種主動加密,不具有可控性。另一種是動態加密,動態加密是一種使用時加密的技術,是在文件使用時加密,文件使用者並不知道使用的文件是加密的,故而又稱爲透明加密,動態加密對於使用者而言是被動的,無論如何文件都是加密的,是一種被動的加密技術,有很強的控制性,在企業文件保護控制中具有很強的實用性。下表列出了基本的加密技術分類、加密原理及實例。

表1 加密算法的分類

 

透明加密其在企業中受到的極大的重視,近年來成爲了許多企業的必備的文件保護設施。透明加密系統的特點是被動加密,可以防止文件內容的非法泄密。同時最重要的是透明加密系統不改變用戶的軟件的使用習慣,第三方軟件不需要任何的改變就能夠達到透明加解密的效果。

透明加密從技術的發展來看經過四代的發展階段。

第一代技術階段,採用基於應用層的API hook的透明加密技術,該種設計方式的的透明加密系統工作在用戶態,鉤子技術多在操作系統的應用層接口實現,攔截目標操作系統的系統的操作文件的API,然後將這些API入口定位到自定義的功能模塊,完成相應的文件加解密及文件的控制功能,該種方式設計的透明加密系統的開發難度低,此種技術實現位於用戶層,由於不同的操作系統的系統調用的接口設置存在差異,採用第一代技術的透明加解密系統的可移植性得不到保障。

第二代技術階段,採用基於過濾驅動的清cache技術,基於文件過濾驅動的透明文件加密系統工作在操作系統的內核態,作爲操作系統內核的擴展模塊進行工作,主要通過攔截操作系統的內核模式下的文件I/O請求,然後對相應的I/O請求進行過濾操作,實現文件的透明加解密及控制的功能。採用該技術開發的文件透明加密系統在處理文件的緩衝互斥訪問問題時,採用了清除cache的技術防止系統緩衝中明文的泄漏和數據破壞。第二代技術主要的特點是適應度高,穩定性好,平臺的兼容性好,但是其採用驅動模塊完成系統的主要功能,開發難度大,是第一代技術的數倍。

第三代技術階段,採用基於文件過濾驅動的智能雙緩衝技術,與第二代技術一樣採用過濾驅動完成系統的主要功能,用該類技術開發的透明加密系統工作在操作系統的內核態,不同的是該種類型的透明加密系統在處理系統緩衝的互斥訪問中引入了新的智能雙緩衝技術來解決的,該種方式設計的透明加密系統和第二代技術設計思路相比,系統的性能提高很多,同時系統的穩定性也得到了很好的提高,但是系統設計相對比較複雜。開發難度較大。

第四代技術階段,採用基於文件過濾驅動及LayerFSD開發框架的技術,第四代技術文件過濾驅動的同時,採用了LayerFSD的開發框架,LayerFSD採用分層的文件系統驅動的技術來完成文件透明加解密。引入LayerFSD技術的主要目的在於解決文件系統過濾驅動之間的兼容性,主要用於透明文件加解密的過濾驅動與其它類型的文件過濾驅動的兼容性問題,如解壓縮及病毒掃描過濾驅動的兼容性,採用該種類型的文件透明加密系統與其它的過濾驅動具有很好的兼容性,特別是和病毒安全軟件的兼容性得到了很好的保證。

2 國內外研究現狀

透明文件加密技術的研究在國內外起步都較晚,國內透明文件加密技術的研究主要起始於21世紀初期,至今約十多年的時間,相比較之下,國外的起步要早幾年。透明加密技術在十年內得到了飛速的發展,透明加密系統已經成爲了企業安全防護的第三道防線,也是最後一道防線(第一道防線是詳盡細緻的操作審計,第二道防線是全面嚴格的操作授權),被稱爲企業最強的安全防護盾。

國外很少有單獨的透明加密提供商,大多是產品中包括了透明加密服務的功能。如RSA 公司的 Data Protection Manager 產品、賽門鐵克公司(Symantec)研發的 PGP Encryption Products系列產品、EMC 公司的 SourceOne for FileSystems 系列產品、McAfee 公司的 TotalProtection for Data Loss Prevention (DLP)產品等。這些產品都有一個共同的特點,它們不僅提供透明加密的服務,而是提供一套完整的企業的文件安全保護的解決方案。

相比之下,國內的透明加密服務提供的軟件附加服務與國外公司相比之下要少,有的公司僅僅提供單一的企業解決方案。如商業級透明加密內核SEFS,提供了單一的透明加密的功能,採用的是第四代透明加密技術的設計方式,系統的穩定性和性能都比較好。也有公司提供一整套的安全防護體系,包括傳統的網關控制、嚴格的審計、操作授權及最爲核心的透明加密。這些公司大多采用第三代的技術進行系統的設計和開發。具有代表性的產品很多,廣州溢信科技公司的IP-guard提供了除透明加密之外的大量的其它功能,如移動存儲控制,上網行爲管理,桌面終端安全等等。還有北京博睿勤信息技術有限公司的透明加密軟件除提供透明加密的功能外也提供了打印監控、介質管理及上網審計等附加的功能。

透明加密在企業環境中得到了極大重視,特別是2011以來連續發生巨大信息泄密事件更是給各大企業敲了文件保護的警鐘,文件保護越來越受到各大企業的重視,紛紛開始採購並引進透明加密保護系統用於文件的保護。但是由於技術不成熟,出現許多預料不急的事情,如引入透明加密系統後導致操作系統性能降低,由於透明加密系統的不穩定導致操作系統崩潰,從而導致數據丟失的事件經常發生。目前與現有系統完全兼容的透明加密系統在市面仍然缺乏。

總體來看,國內外的透明加密系統採用的設計技術大多是基於第三代技術進行設計的,也有的公司採用的是第四代技術進行研究開發的。也有的公司在透明加密的系統中集合各代技術的特點進行設計及開發,該種方法雖然是系統的功能變得更加完善了,但是其可移植和與其它安全軟件的兼容性很難得到保證,不是理想的設計思路。第四代技術是目前最爲理想的設計方式,該種設計方案以高效率及穩定性很容易得到用戶的認可,而高的可移植降低了系統的更新換代的代價,也提高軟件公司的開發軟件複用的程度,是目前最爲理想的設計方案。

3 主要內容

本系列文章在研究透明加密技術的各代技術的特點的同時,結合對Windows操作系統內核結構及I/O模式的特點來分析文件系統驅動的編程架構。在此基礎上對文件系統過濾驅動做出較爲合理的選擇,根據現有的透明加密技術特點,充分考慮到系統模塊驅動的可移植性及與其它軟件的兼容性,結合第四代的透明加密技術LayerBSD分層過濾驅動的設計思想,以Minifiler爲基本的驅動框架設計一套透明文件加密系統。此外系統研究並實現了一套安全度高,實時性好,可控性優越的身份驗證機制,確保對用戶登陸身份的保證,這是目前市面上大部分的透明加密系統所缺乏的。爲了進一步保證系統的安全性,系統對文件的訪問進行嚴格的控制,包括可執行文件的及移動磁盤,防止非法程序的執行,禁止非法用戶隨意盜取文件。爲了提高系統的靈活性,滿足系統的其它各種需求,系統設計實現了內核模塊與用戶模塊通信的完整框架,保證了系統的配置的靈活性。策略配置端完成磁盤訪問控制策略、可執行文件控制策略及透明加解密策略配置,進行文件權限批量設置,用戶管理及機密文件與非機密文件相互轉換等輔助功能。

本系列文章將獨立設計並自主實現了一個基於Minifilter微過濾驅動程序框架的一套完整的透明加密系統,系統包括位於的內核模式的文件控制器FileControl.sys,採用動態鏈接封裝技術完成對系統的用戶模式通信模塊進行封裝成FileControl_dll.dll,以及界面美觀的用戶策略配置端FileControl.exe,用戶配置端採用最新的DirectUI技術進行界面的設計開發,界面美觀的同時保證了策略配置端的高效率。最爲重要的是系統採用了全新的身份驗證技術,身份驗證時採用了密碼及USBKey的雙重機制,同時加上了身份的動態認證,隨時隨刻驗證用戶身份的可靠性。

本系列文章的主要研究內容概括如下:

(1)分析Windows操作系統的驅動開發的基本模型,熟練掌握Minifilter微過濾驅動的基本框架;

具體內容:分析windows 操作系統的基本結構,理解Windows理解的中斷優先級模型,熟悉文件I/O的基本流程及緩存管理的基本原理及Windows驅動模型的基礎模型,閱讀並分析Microsoft wdk給出的Minifilter的實例,熟悉Minifilter的基本框架,熟練地採用Minifilter進行文件過濾驅動的設計及開發。

(2)完成基於Minifilter的文件加密系統的整體結構的設計及分析

具體內容:採用第四代的透明加密技術的LayerBSD思想,基於minifilter微過濾驅動框架來進行透明加密系統的設計,充分利用Minifilter微過濾驅動高效及易於移植的特點,保證系統的可移植性。系統主要包括三個部分,基於內核層的文件控制器、位於應用層的策略配置端及內核模式與用戶結合的通信接口部分,系統應用層及內核層功能劃分合理,層級結構清晰,同時給出了系統的系統結構圖及工作情況的概括圖。

(3)完成對文件的訪問權限的控制的設計和實現

具體內容:應用層對非指定卷的讀寫需要用戶進行授權,防止通過可移動磁盤隨意拷貝文件。指定文件只能由相關的用戶訪問,可執行文件的讀寫必須在可執行文件集合中,防止非法程序在計算機中運行,保證系統的安全性。

(4)完成對指定文件爲指定進程進行透明加解密的的設計與實現

具體內容:系統自動區分普通文件及加密文件,機密進程讀取機密文件可以獲取明文,非機密進程讀寫機密文件無法獲取明文。加密算法的選擇多樣化,有至少三種加密算法供選擇。對透明加密多種設計思路進行了比較,設計並給出了自己的文件透明加密模型並進行實現。

(5)設計並實現內核模塊與策略配置端的通信設計和實現

具體內容:將策略配置端與內核文件控制器緊密聯繫在一起,嚴格控制客戶端的用戶身份登陸,通過通信模塊能在二者之間完成必要的數據交互,通信模塊是透明加解密配置的關鍵橋樑,也是完成用戶身份驗證的必備模塊。爲了方便策略配置端的使用和編程,將用戶模式下的通信子模塊封裝爲動態鏈接庫,降低系統的代碼外部庫文件的依賴。

(6)完成應用層對內核層部分動態配置的實現

具體內容:採用USBKey及密碼驗證用戶身份,同時加上動態的身份驗證機制,隨時監測用戶的身份。身份驗證由密碼驗證及USBKey驗證的同時跟USBKey、策略配置端及文件控制器緊密集合在一起,任何模塊出現問題,驗證都將會失敗,從而保證系統完整性,提高了身份驗證的有效性。策略配置端可以對文件訪問權限(包括可移動磁盤及可執行文件)及加解密策略進行配置,能夠批量設置文件權限,機密文件與普通文件可以相互轉換。

4 系列文章的整體結構

本系列文章總共分爲五章,各章的只要內容如下:

第一章,介紹了前信息技術產業面臨的巨大的信息安全的威脅,分析了國內外透明解密技術的現狀及發展過程,然後簡單第介紹了本論文研究的內容及論文的結構安排。

第二章,主要分析了windows的基本結構、驅動模型及微過濾驅動模型的基本框架和結構,介紹windows內核編程的基本方法及調試技術。

第三章,將全面地研究透明加密系統的結構的設計、關鍵對象的標識、內核模式及用戶模式的通信方式、透明加密的關鍵技術以及高可靠的身份驗證機制。給出透明加密系統的設計模型,爲透明加密系統的整體的設計和實現奠定基礎。

第四章,將全面的概括了透明加密系統的整體的功能結構,詳細的闡述整個透明加密系統設計及實現過程。

第五章,概述從各個方面對系統進行測試,包括系統的功能測試及性能測試以及系統的兼容性測試等。

最終, 本系列文章將給出項目實踐過程中的涉及資料及源碼,以便探討學習。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章