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