基于文件驅動技術,還是基于Hook技術?
驅動技術和Hook技術是透明加密系統(tǒng)的兩大流派,也是區(qū)分透明加密系統(tǒng)的重要的指標之一。這可以簡化為這樣一個問題:加密軟件的客戶端是怎樣來監(jiān)控文件的讀寫?文件驅動方式,程序工作在操作系統(tǒng)的底層(即驅動層),它監(jiān)控的是操作系統(tǒng)和硬件設備的會話。APIHook方式,程序工作在操作系統(tǒng)和應用軟件之間,是在操作系統(tǒng)的高層運行,它監(jiān)控的是操作系統(tǒng)和應用軟件的會話。
所以,文件驅動技術是針對操作系統(tǒng)而言的。從原理上講,文件驅動方式的透明加密系統(tǒng)可以支持某一個操作系平臺上的所有應用軟件,因為它不關心操作系統(tǒng)和應用軟件的會話,只關心操作系統(tǒng)和硬件打交道的方式。
而API Hook技術是針對操作系統(tǒng)和應用軟件兩個因素而言的。從原理上講,APIHook方式的透明加密軟件,在支持某操作系統(tǒng)之上的某應用軟件(例如AutoCAD2008 On Windows XP)之后,并非天然地就意味著同一個操作系統(tǒng)的另外一個應用軟件(例如CAXAOn Windows XP)也能夠得到支持。當然,如果操作系統(tǒng)更換而應用軟件不變的情況(承上例AutoCAD2008 On Windows Vista),也未必能夠得到天然地支持。
從實踐上來說,也是如此。同樣是WindowsXP的操作系統(tǒng),為了支持不同的應用軟件,文件驅動方式的加密系統(tǒng),只需要進行設置/配置層面的工作即可;但是Hook方式的系統(tǒng)則可能需要進行開發(fā),修改代碼后才能使用。
早期的透明加密系統(tǒng)多采用Hook技術,且大多從AutoCAD、MicroSoftWord等極其常見的應用軟件開始。2005年至2006年初,國內(nèi)開始出現(xiàn)了基于文件驅動技術的透明加密系統(tǒng)。兩年多來,部分加密軟件廠商改造了內(nèi)核,放棄了Hook方式而采用了文件驅動方式;2007年后幾乎所有的新廠商大多數(shù)也都采用了文件驅動方式??梢?,Hook方式雖然實現(xiàn)起來比較簡單,但明顯屬于過渡技術,已經(jīng)進入淘汰階段了。
加密系統(tǒng)采用文件驅動技術還是Hook技術,還間接地關系到系統(tǒng)能夠支持哪些操作系統(tǒng)。
目前市面上的透明加密系統(tǒng),都僅能支持Windows操作系統(tǒng),不支持MacOS、Linux以及Unix。就Windows系列內(nèi)部的各個版本而言,市面上的產(chǎn)品大多能夠支持Windows 2000、Windows2003和WindowsXP,部分廠商已經(jīng)推出能夠支持WindowsVista、Win2008、Win7、Win8的版本。由于使用操作系統(tǒng)的更新趨勢,企業(yè)選型時要加以考查。
透明加密在不影響使用者操作習慣的同時,實現(xiàn)對數(shù)據(jù)文件加密,不影響使用者的操作習慣!