引言
近年來,信息技術迅猛發展,越來越多的信息和資料以數字形式存放在硬盤等數字存儲設備中,并且隨著信息共享技術的突破,通過移動存儲設備、網絡等介質交換數據越來越方便,但同時,核心數據的控制和管理也越來越難,如何保證核心數據不泄露逐漸成為了信息安全的熱點問題。為此,很多單位采取了“完全封閉式的管理”、“堵塞或拆除計算機的USB接口,禁止上網”、“簡易的身份認證”等各種方式防止核心數據泄露,但往往是顧此失彼,難以完全控制。如何建立完善的數據泄露防護體系、保護核心資源,已迫在眉睫。
數據加密作為數據保護的有效方式之一,越來越受到廣泛認可,但傳統的數據加密方式存在加密速度慢、密碼易被破解、無法防止文檔被復制等缺點,難以滿足需要。近年來,隨著對加密技術的深入研究,透明加密技術正逐漸得到廣泛應用。
1 實現原理
透明加密技術是近年來發展較為迅速的一種文件加密技術。所謂透明加密是指對使用者來說,數據的加、解密是自動的,不會影響其正常的操作習慣。采用這種技術,當使用者保存數據時,系統將對數據自動進行加密,當使用者打開或編輯指定文件時,系統自動對已加密的文件進行解密,在硬盤上存儲的是密文,在內存中存儲的是明文,—旦離開使用環境,數據就無法得到自動解密的服務,從而達到保護數據內容的效果。
透明加密技術的產生是與windows操作系統的發展密不可分的。自windows NT問世以來,微軟提出了系統分層的概念,將操作系統設計為雙模式多層驅動式結構,典型的windows驅動程序層次結構如圖1所示。
圖1 Windows驅動程序層次結構圖
兩個模式主要指用戶模式和內核模式。通常情況下,應用程序運行在用戶模式下,只能訪問自己私有的內存空間,無法直接訪問硬件,它對文件的操作只能通過調用windows API函數進行,這為在用戶模式下進行透明加解密提供了時機。如在寫文件時,首先對文件數據進行加密,再調用win32 API函數進行寫操作;在讀文件時,先調用windows API函數讀出加密的數據,再自動進行解密。在調用windows API函數時截獲消息并對數據進行加解密處理,是在用戶模式下實現透明加解密的主要方式。
在核心模式下,應用程序對windows API函數的調用,最終將轉化為不同的操作指令傳遞給I/O管理器,I/O管理器將不同的操作請求轉化為IRP(I/O Request Package,輸入/輸出請求包),分發給各層驅動依次處理。windows將驅動分成了以下三種。總線型驅動程序主要用于管理一個邏輯的或物理的總線,比如PCI、USB等;功能型驅動程序用于管理某一特定類型的設備,主要用于將一個設備的操作接口導出給操作系統;過濾型驅動程序位于功能型驅動程序的上層或下層,可增加或者改變一個設備或另一個驅動程序的行為。具備不同功能的各種驅動,分層合作,各司其職。過濾型驅動的出現,為在核心模式下實現數據透明加解密提供了手段。如寫文件時,在上層過濾型驅動程序或下層過濾型驅動程序中可以首先截獲IRP,進行加密處理,然后再交給下層驅動處理;讀文件時,在上層過濾型驅動程序或下層過濾型驅動程序中可以首先獲取讀到的加密數據,進行解密后交給上層驅動或應用程序。編寫具備加解密功能的過濾型驅動,是在內核模式下實現透明加解密的主要方式。
2 透明加密關鍵技術
2.1加密技術分析
個加密系統s可以用數學符號描述為S={P,C,K,E,D),其中:
P——明文空間,表示所有可能出現的明文集合;c——密文空間,表示所有可能出現的密文集合;K一密鑰,是密碼算法中的可變參數;E——加密算法,由一些公式、協議或程序構成;D——解密算法,它是E的逆運算。
當給定密鑰K時,存在兩種關系,c=EK(P),即對明文P加密后得到密文C;P=Dk(C)=Dk(Ek(P)),即對密文c解密后得明文P。因此,加密技術的關鍵在于密鑰和算法的選擇。在密碼學中,根據密鑰類型不同將密碼算法分為兩類:對稱算法(傳統密碼算法)和非對稱算法(公開密鑰算法)。對稱算法采用同一種密鑰進行加解密運算,它的優點是運算速度快,缺點是算法的安全性依賴于密鑰,且密鑰難于管理,常見的對稱算法有DEs、3DES、AES(見表1);非對稱算法采用的是兩種密鑰,分別是加密密鑰(公鑰)和解密鑰(私鑰),通常情況下,公鑰是公開的,私鑰是保密的,其優點是密鑰容易管理,缺點是運算速度慢,常見的非對稱算法有RsA、DsA、Ecc(見表2)。
公開密鑰密碼與對稱密碼是兩種不同的東西,它們解決不同的問題。一般情況下,對稱算法和非對稱算法會結合應用。在對文件進行加解密的過程中,由于運算數據量大,要求運算效率高,因此常采用對稱算法,從性能和安全性綜合考慮,優先選用AES算法;而非對稱算法常被應用于對稱算法密鑰的管理,采用公鑰對對稱算法密鑰進行加密,私鑰進行解密,在性能要求不是很高的情況下,可以優先選用RsA算法。
表1對稱加密算法的比較
表2 非對稱加密算法的比較
2.2 HOOK技術分析
H00K是捕獲應用程序消息處理的技術,俗稱鉤子技術。它允許應用程序安裝一個子程序到其它的程序中,以監視指定窗口某種類型的消息。當消息到達后,先交給鉤子程序處理,然后再交給原程序處理,如圖2所示。
H00K技術主要包括用戶模式下的API H00K技術和核心模式下的H00K技術兩類。在用戶模式下,應用程序進程通過windows API函數庫,如Kernel32、user32、Gui32、Advapi.du等動態鏈接庫提供的函數,形成其私有的導入地址表(Impon Address Table),并通過IAT訪問系統核心。APIHOOK技術就是通過訪問應用程序的私有地址,改變應用程序的IAT,即可過濾應用程序消息處理,完成加密和解密操作。在核心模式下,通常通過H00K系統服務描述表(System service Dispatch Table,SSDT)、中斷描述表(InterruptDescription Table)和IRP(I/O Request Package)函數表來實現過濾操作。
圖2 HOOK技術透明加密示意圖
采用H00K技術進行透明加密的特點是實現簡單,但缺點是可靠性差,速度比較慢,而且必須針對每種應用程序、甚至每個版本進行定制開發。
2.3驅動過濾技術
如圖1所示,windows的內核驅動是分層的,每層驅動只有一個驅動對象,每個驅動對象可以包含多個設備對象,若干個設備對象(可以屬于不同的驅動)依次綁定形成一個設備棧,最頂端的設備總是先接受到數據處理請求,處理完后依次向下傳遞。IRP(I/O Request Package,輸入/輸出請求包)是上下級設備問傳遞請求的重要數據結構。應用程序與底層驅動程序通信時,應用程序會發出I/O請求,操作系統將I/O請求轉化為相應的IRP數據,各層驅動程序根據自己的功能分部對IRP數據進行處理2。如果在不影響上下層驅動接口的情況下,在windows系統內核中加入新的驅動層,將新的驅動層設備對象加入到設備棧的相應位置,就可以捕獲IRP數據,進行加解密處理后再向下傳遞,就可達到數據透明加密的目的。
通過在不同驅動層加入過濾驅動,可以實現不同的透明加密技術。目前驅動過濾技術主要分為文件驅動過濾技術和內核級沙盒加密技術。
2.4文件驅動過濾技術
文件過濾驅動加密技術是在最高層驅動程序中加入過濾驅動,一般掛載在磁盤驅動之上,其主要目的是捕獲windows系統對文件的種種操作行為,比如文件的創建、打開、讀/寫、改名,目錄的創建、打開、枚舉、改名、刪除等。捕獲對文件的操作,并對其進行過濾,能實現許多強大的功能,比如檢查病毒、數據加密、數據備份、安全監控等。
文件過濾驅動加密技術運行在受windows保護的內核層,加、解密速度比H00K技術快,解決了H00K技術不能解決的問題,但穩定性一直不太理想,比如大文件破損、多進程軟件同時操作某個文件時,一個進程加密,另一個進程不加密,交替訪問文件,極容易造成異常等。
2.5內核級沙盒加密技術
沙盒的實質就是一個虛擬空間。用戶首先創建一個虛擬空間,在使用過程中,所有格式的涉密數據、文件等都可以放人這個虛擬空間,存入的時候,自動加密,讀取時自動解密。這個虛擬空間是透明的,使用者感覺不到它的存在。內核級縱深沙盒加密技術融合了磁盤過濾驅動技術,卷過濾驅動技術,文件過濾驅動技術,網絡過濾驅動(NDIS/TDI)技術等一系列內核級驅動技術,從上到下,縱深防御加密,每層驅動只做自己最擅長的工作。
內核級沙盒加密技術的特點是,在使用前,要先初始化沙盒,創建成功之后,所有的文件,不論什么格式,都可以自動加、解密,所以無數據破損等問題。特點是加解密速度快,穩定,但技術相當復雜,研制難度較大。
3 透明加密技術的發展要求
透明加密技術作為一門新興的技術,正不斷被應用到各個領域,但隨著信息技術的不斷發展和應用需求的不斷變化,對透明加密技術也提出了更高的要求。
1)透明加密效率必須不斷提高
計算機處理能力不斷提升,磁盤存儲空間越來越大,單個文件大小也越來越大,像一些設計類圖紙,單個文件大小可達幾個G。如何提高透明加密效率成為了必須要考慮的問題之一。
2)應用系統支持要求越來越廣
windows 64位、LINUX、UNIX等計算機操作系統不斷普及,蘋果OS、Android、塞班等手機操作系統得到廣泛應用,應著重考慮透明加密技術在這些平臺上的應用。
3)從單—加密向全方位發展.
透明加密技術在加密方面表現出了其良好的特性,但對于數據泄漏防護而言,單一加密是不能滿足需求的,還應該從內部網絡授權訪問,文件防打印、拷貝,網絡發送擴散控制,預防木馬和病毒等方面進行全方位的考慮,探索透明加密技術在這些領域的應用。
4 結束語
目前,我國大多數非涉密信息系統中,使用windows操作系統的用戶不在少數,而透明加密技術與windows操作系統結合較為緊密,因此,對透明加密技術的研究具有相當的實用價值。然而,目前業界對于透明加密技術的研究還有待于進一步加強,該加密技術的安全性、可靠性也有待于進一步得到學術和技術層面的全面論證。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.hanmeixuan.com/
本文標題:透明加密技術研究