日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

透明加密技术

發(fā)布時(shí)間:2023/12/16 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 透明加密技术 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

透明加密技術(shù)是近年來(lái)針對(duì)企業(yè)文件保密需求應(yīng)運(yùn)而生的一種文件加密技術(shù)。所謂透明,是指對(duì)使用者來(lái)說(shuō)是未知的。當(dāng)使用者在打開(kāi)或編輯指定文件時(shí),系統(tǒng)將自動(dòng)對(duì)未加密的文件進(jìn)行加密,對(duì)已加密的文件自動(dòng)解密。文件在硬盤(pán)上是密文,在內(nèi)存中是明文。一旦離開(kāi)使用環(huán)境,由于應(yīng)用程序無(wú)法得到自動(dòng)解密的服務(wù)而無(wú)法打開(kāi),從而起來(lái)保護(hù)文件內(nèi)容的效果。

  透明加密有以下特點(diǎn):

   強(qiáng)制加密:安裝系統(tǒng)后,所有指定類(lèi)型文件都是強(qiáng)制加密的;

   使用方便:不影響原有操作習(xí)慣,不需要限止端口;

   于內(nèi)無(wú)礙:內(nèi)部交流時(shí)不需要作任何處理便能交流;

   對(duì)外受阻:一旦文件離開(kāi)使用環(huán)境,文件將自動(dòng)失效,從而保護(hù)知識(shí)產(chǎn)權(quán)。

透明加密技術(shù)原理

  透明加密技術(shù)是與Windows緊密結(jié)合的一種技術(shù),它工作于Windows的底層。通過(guò)監(jiān)控應(yīng)用程序?qū)ξ募牟僮?#xff0c;在打開(kāi)文件時(shí)自動(dòng)對(duì)密文進(jìn)行解密,在寫(xiě)文件時(shí)自動(dòng)將內(nèi)存中的明文加密寫(xiě)入存儲(chǔ)介質(zhì)。從而保證存儲(chǔ)介質(zhì)上的文件始終處于加密狀態(tài)。

  監(jiān)控Windows打開(kāi)(讀)、保存(寫(xiě))可以在Windows操作文件的幾個(gè)層面上進(jìn)行。現(xiàn)有的32CPU定義了4種(0~3)特權(quán)級(jí)別,或稱(chēng)環(huán)(ring),如圖1所示。其中0級(jí)為特權(quán)級(jí),3級(jí)是最低級(jí)(用戶級(jí))。運(yùn)行在0級(jí)的代碼又稱(chēng)內(nèi)核模式,3級(jí)的為用戶模式。常用的應(yīng)用程序都是運(yùn)行在用戶模式下,用戶級(jí)程序無(wú)權(quán)直接訪問(wèn)內(nèi)核級(jí)的對(duì)象,需要通過(guò)API函數(shù)來(lái)訪問(wèn)內(nèi)核級(jí)的代碼,從而達(dá)到最終操作存儲(chǔ)在各種介質(zhì)上文件的目的。

1

  為了實(shí)現(xiàn)透明加密的目的,透明加密技術(shù)必須在程序讀寫(xiě)文件時(shí)改變程序的讀寫(xiě)方式。使密文在讀入內(nèi)存時(shí)程序能夠識(shí)別,而在保存時(shí)又要將明文轉(zhuǎn)換成密文。Window允許編程者在內(nèi)核級(jí)和用戶級(jí)對(duì)文件的讀寫(xiě)進(jìn)行操作。內(nèi)核級(jí)提供了虛擬驅(qū)動(dòng)的方式,用戶級(jí)提供HookAPI的方式。因此,透明加密技術(shù)也分為APIHOOK技術(shù)和VDMWindowsDriver Model)內(nèi)核設(shè)備驅(qū)動(dòng)方式兩種技術(shù)。APIHOOK俗稱(chēng)鉤子技術(shù),VDM俗稱(chēng)驅(qū)動(dòng)技術(shù)。

鉤子透明加密技術(shù)簡(jiǎn)介

  所有Windosw應(yīng)用程序都是通過(guò)WindowsAPI函數(shù)對(duì)文件進(jìn)行讀寫(xiě)的。程序在打開(kāi)或新建一個(gè)文件時(shí),一般要調(diào)用WindowsCreateFileOpenFileReadFileWindowsAPI函數(shù);而在向磁盤(pán)寫(xiě)文件時(shí)要調(diào)用WriteFile函數(shù)。

  同時(shí)Windows支持這樣一種消息處理機(jī)制:允許應(yīng)用程序?qū)⒆约喊惭b一個(gè)子程序到其它的程序中,以監(jiān)視指定窗口某種類(lèi)型的消息。當(dāng)消息到達(dá)后,先處理安裝的子程序后再處理原程序。這就是鉤子(Hook)技術(shù)。

  鉤子透明加密技術(shù)就是將上述兩種技術(shù)組合而成的。通過(guò)Windows的鉤子技術(shù),監(jiān)控應(yīng)用程序?qū)ξ募拇蜷_(kāi)和保存,當(dāng)打開(kāi)文件時(shí),先將密文轉(zhuǎn)換后再讓程序讀入內(nèi)存,保證程序讀到的是明文,而在保存時(shí),又將內(nèi)存中的明文加密后再寫(xiě)入到磁盤(pán)中。其工作原理如圖2所示。

2

  鉤子透明加密技術(shù)通過(guò)監(jiān)控應(yīng)用程序的讀寫(xiě)操作,同時(shí)對(duì)文件進(jìn)行自動(dòng)加密與解密。由于不同應(yīng)用程序在讀寫(xiě)文件時(shí)所用的方式方法不盡相同,同一個(gè)軟件不同的版本在處理數(shù)據(jù)時(shí)也有變化,鉤子透明加密必須針對(duì)每種應(yīng)用程序或程序的每個(gè)版本進(jìn)行配置。

驅(qū)動(dòng)透明加密技術(shù)簡(jiǎn)介

  驅(qū)動(dòng)加密技術(shù)基于Windows的文件系統(tǒng)(過(guò)濾)驅(qū)動(dòng)(IFS)技術(shù),工作在Windows的內(nèi)核層。我們?cè)诎惭b計(jì)算機(jī)硬件時(shí),經(jīng)常要安裝其驅(qū)動(dòng),如打印機(jī)、U盤(pán)的驅(qū)動(dòng)。文件系統(tǒng)驅(qū)動(dòng)就是把文件作為一種設(shè)備來(lái)處理的一種虛擬驅(qū)動(dòng)。當(dāng)應(yīng)用程序?qū)δ撤N后綴文件進(jìn)行操作時(shí),文件驅(qū)動(dòng)會(huì)監(jiān)控到程序的操作,并改變其操作方式,從而達(dá)到透明加密的效果。

  驅(qū)動(dòng)加密技術(shù)與應(yīng)用程序無(wú)關(guān),其工作于WindowsAPI函數(shù)的下層。當(dāng)API函數(shù)對(duì)指定類(lèi)型文件進(jìn)行讀操作時(shí),系統(tǒng)自動(dòng)將文件解密;當(dāng)進(jìn)入寫(xiě)操作時(shí),自動(dòng)將明文進(jìn)行加密。由于工作在受Windows保護(hù)的內(nèi)核層,運(yùn)行速度更快,加解密操作更穩(wěn)定。因與系統(tǒng)內(nèi)核關(guān)聯(lián)較密切,系統(tǒng)內(nèi)核的任何變化(如系統(tǒng)更新、補(bǔ)丁安裝后)均會(huì)對(duì)驅(qū)動(dòng)透明加密造成影響,因此驅(qū)動(dòng)透明加密必須對(duì)操作系統(tǒng)的每個(gè)SP版本進(jìn)行開(kāi)發(fā)。

  驅(qū)動(dòng)透明加密要達(dá)到文件保密的目的,還必須與用戶層的應(yīng)用程序打交道。通知系統(tǒng)哪些程序是合法的程序,哪些程序是非法的程序。其系統(tǒng)配置方面的易用性不如鉤子透明加密。

  驅(qū)動(dòng)透明加密工作在內(nèi)核層,但其無(wú)法進(jìn)行靈活的權(quán)限控制應(yīng)用,權(quán)限控制應(yīng)用必須在應(yīng)用層完成。其工作原理如圖3所示。

3

  驅(qū)動(dòng)加密技術(shù)雖然控制層次較深,但由于涉及到Windows底層的諸多處理,開(kāi)發(fā)難度較大。如果處理不好與其它驅(qū)動(dòng)的沖突,應(yīng)用程序白名單等問(wèn)題,將難以成為一個(gè)好的透明加密產(chǎn)品。

兩種加密技術(shù)比較

兩種加密技術(shù)由于工作在不同的層面,從應(yīng)用效果、開(kāi)發(fā)難度上各有特點(diǎn)。下表從幾個(gè)方面進(jìn)行了簡(jiǎn)單比較。

比較項(xiàng)目

鉤子透明加密

驅(qū)動(dòng)透明加密

工作層面

應(yīng)用層

內(nèi)核層

工作方式

Hook應(yīng)用程序和文件類(lèi)型

接受系統(tǒng)IRP進(jìn)行處理

應(yīng)用程序關(guān)聯(lián)性

基于系統(tǒng)API的變化而改動(dòng),和應(yīng)用程序處理方式無(wú)關(guān)

與程序工作方式無(wú)關(guān),但要監(jiān)控應(yīng)用程序名單,這時(shí)需要用到應(yīng)用層技術(shù)

加解密可靠性

應(yīng)用層加解密,大文件(32位系統(tǒng)下超過(guò)2G)操作時(shí)速度較慢

內(nèi)核層加解密,在32位系統(tǒng)下處理大文件速度較快

網(wǎng)絡(luò)操作能力

不受限制

需要專(zhuān)門(mén)處理

開(kāi)發(fā)難度

Hook技術(shù),相對(duì)較易

驅(qū)動(dòng)技術(shù),開(kāi)發(fā)難度較大,只有專(zhuān)業(yè)的人員可以維護(hù)

系統(tǒng)維護(hù)

企業(yè)維護(hù)工作量較小

企業(yè)維護(hù)工作量較大,需專(zhuān)業(yè)人員維護(hù)

容災(zāi)性

出現(xiàn)bug時(shí),不會(huì)影響系統(tǒng)核心,僅影響當(dāng)前處理的應(yīng)用程序。

出現(xiàn)bug時(shí),會(huì)出現(xiàn)不可預(yù)知的錯(cuò)誤,可能導(dǎo)致整個(gè)系統(tǒng)崩潰(藍(lán)屏),或者磁盤(pán)系統(tǒng)破壞

兼容性

操作系統(tǒng)升級(jí)時(shí),不需要做太多的更改

驅(qū)動(dòng)和操作系統(tǒng)的兼容性較差

  綜上所述,鉤子透明加密技術(shù)開(kāi)發(fā)和應(yīng)用難度較小,系統(tǒng)維護(hù)較容易,運(yùn)行過(guò)程中即使出現(xiàn)Bug也不會(huì)影響整個(gè)操作系統(tǒng)運(yùn)行;但其存在技術(shù)缺陷,可被反Hook技術(shù)所破解。驅(qū)動(dòng)透明加密技術(shù)開(kāi)發(fā)難度較大,維護(hù)工作量也較大,因其工作于操作系統(tǒng)內(nèi)核層,在運(yùn)行過(guò)程中易影響整個(gè)客戶端系統(tǒng)運(yùn)行,且?guī)?lái)數(shù)據(jù)災(zāi)難。

  如上所述,任何一種單一技術(shù)要達(dá)到滿足企業(yè)復(fù)雜需求均是不可能的。同樣,鉤子透明加密和驅(qū)動(dòng)透明加密兩種加密技術(shù)也各有優(yōu)缺點(diǎn),二者必然在發(fā)展的過(guò)程中走向融合,取長(zhǎng)補(bǔ)短,為廣大用戶開(kāi)發(fā)出穩(wěn)定、可靠的透明加密產(chǎn)品來(lái)。

總結(jié)

以上是生活随笔為你收集整理的透明加密技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。