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