• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      透明加密文件系統(tǒng)中對文件內(nèi)容的增強保護

      2010-03-24 06:16:18周建欽
      關(guān)鍵詞:剪貼板保密粘貼

      陳 平,周建欽

      (杭州電子科技大學(xué)通信工程學(xué)院,浙江杭州310018)

      0 引 言

      文件透明加密技術(shù)是近年來針對企業(yè)文件保護需求應(yīng)運而生的一種文件保護方式,它在不改變用戶操作習(xí)慣的基礎(chǔ)上實現(xiàn)了文件的自動加解密,增強了文件的安全性[1-3]。文獻1提出的透明加密方案運用過濾驅(qū)動技術(shù),綜合采用對稱與非對稱兩種加密方式,提高了數(shù)據(jù)的存儲安全,然而沒有對在內(nèi)存中以明文形式出現(xiàn)的文件內(nèi)容提供保護措施,無法對數(shù)據(jù)進行全方位的保護。針對文件內(nèi)容的保護,由于應(yīng)用環(huán)境的復(fù)雜性及泄密方式的多樣性,存在著很多不足,文獻4提出的基于應(yīng)用層的剪貼板監(jiān)控技術(shù)與文件過濾驅(qū)動技術(shù)結(jié)合,實現(xiàn)了對用戶剪貼板操作的監(jiān)控,然而防護力度不夠,存在泄密的可能?;诖?本文在實現(xiàn)文件透明加解密的基礎(chǔ)上增加了一套較為完整的文件內(nèi)容保護措施,初步實現(xiàn)了對文件內(nèi)容使用及流向的監(jiān)控,防止惡意用戶通過系統(tǒng)剪貼板、拖放、截圖泄密,提升了文件的安全系數(shù)。

      1 透明加密文件系統(tǒng)

      透明加密文件系統(tǒng)與文件系統(tǒng)緊密結(jié)合,在文件的訪問流程中添加自定義處理,獲取文件操作的相關(guān)信息,然后匹配已制定的保護規(guī)則,篩選并處理針對特定文件的操作請求,從而實現(xiàn)對某類文件的自動加解密。

      本文所講述的透明加密文件系統(tǒng)模型基于文件過濾驅(qū)動技術(shù)[1],采用兩種加密算法對文件進行加密,對文件數(shù)據(jù)采用流密碼加密算法加密,密鑰隨機生成;生成的密鑰用加密強度更高的加密算法加密并保存在特定的密鑰文件里,其中該加密密鑰由用戶提供。系統(tǒng)簡要的工作流程如下:(1)系統(tǒng)初始化,完成過濾驅(qū)動的加載以及系統(tǒng)參數(shù)的設(shè)定;(2)過濾驅(qū)動截獲并處理IRP,在截獲的IRP_MJ_CREATE中,獲取該請求所針對文件的相關(guān)信息并與保護規(guī)則進行匹配,判斷文件是否涉密,有無加密標(biāo)識等,然后將相關(guān)信息存入專為該文件生成的文件上下文中;在截獲的IRP_MJ_DEVICE_CONTROL中,獲得由用戶通過函數(shù)DeviceIoControl()提供的加密密鑰;若截獲到針對涉密文件的IRP_MJ_READ或IRP_MJ_WRITE請求,則在其例程中對IRP攜帶的數(shù)據(jù)進行處理,完成透明加解密。

      系統(tǒng)基本的保護規(guī)則:保密文件與保密進程是對應(yīng)關(guān)系,即除保密進程以外的其他應(yīng)用程序無法正常地訪問保密文件,其中保密進程是系統(tǒng)為保密文件指定的訪問進程。

      2 與文件內(nèi)容操作相關(guān)的技術(shù)

      2.1 W indows環(huán)境下的剪貼板機制

      Windows剪貼板是一種應(yīng)用廣泛同時也是開銷比較小的進程間通訊機制[4,5]。Windows系統(tǒng)支持剪貼板是在系統(tǒng)中預(yù)留了一塊全局共享內(nèi)存,用來暫存進程間需要交換的數(shù)據(jù)。應(yīng)用程序通過復(fù)制、剪切操作設(shè)置剪貼板數(shù)據(jù),通過粘貼操作檢索并獲取剪貼板數(shù)據(jù)。

      剪貼板是Windows子系統(tǒng)的一部分,在user32.dll動態(tài)庫中定義了關(guān)于剪貼板的API函數(shù)、消息和預(yù)定義數(shù)據(jù)格式等,其對應(yīng)的內(nèi)核模式部分位于Win32.sys模塊中。

      Windows系統(tǒng)調(diào)用剪貼板的簡化步驟為:(1)提供數(shù)據(jù)的進程調(diào)用GlobalAlloc()函數(shù)創(chuàng)建一個全局共享內(nèi)存塊,并將這塊內(nèi)存交給剪貼板處理;(2)通過調(diào)用OpenClipboard()函數(shù)打開剪貼板;(3)復(fù)制或剪切操作時,先清空剪貼板,然后調(diào)用SetClipboardData()函數(shù)設(shè)置剪貼板數(shù)據(jù);粘貼操作時,則調(diào)用GetClipboardData()函數(shù)獲取剪貼板數(shù)據(jù);(4)最后調(diào)用CloseClipboard()函數(shù)關(guān)閉剪貼板。

      2.2 W indows環(huán)境下的拖放機制

      拖放是一種不同于剪貼板的數(shù)據(jù)傳輸方式,可以完成鼠標(biāo)所選對象在不同窗口或同一窗口的不同位置間移動、復(fù)制和粘貼等操作[6]。

      拖放有兩種類型:文件管理器拖放和OLE拖放。文件管理器拖放主要處理文件名,通過映射目的窗口的WM_DROPFILES消息,使窗口可以獲取被拖放的文件名。OLE拖放更加通用,它允許拖放可被保存在剪貼板上的任何數(shù)據(jù)。在本系統(tǒng)中,對文件內(nèi)容的保護主要考慮OLE拖放即可。OLE拖放是應(yīng)用COM組件進行數(shù)據(jù)傳輸?shù)?簡要流程如下:(1)一個對象被拖拽之后,函數(shù)DoDragDrop()被調(diào)用,拖放啟動;(2)在拖操作的過程中,系統(tǒng)回調(diào)對象pDropSource的虛函數(shù)QueryContinueDrag()來決定是否繼續(xù)拖操作;(3)在窗口初始化時,窗口會調(diào)用RegisterDragDrop()函數(shù),向系統(tǒng)注冊該窗口可接受拖放,以及接管拖放的接口是pDropTarget;(4)當(dāng)對象拖進窗口hwnd的區(qū)域時,系統(tǒng)回調(diào)pDropTarget的虛函數(shù)DragEnter();當(dāng)對象在hwnd區(qū)域內(nèi)滑動時,系統(tǒng)回調(diào)pDropTarget的虛函數(shù)DragOver();當(dāng)對象拖出hwnd區(qū)域時,系統(tǒng)回調(diào)pDropTarget的虛函數(shù)DragLeave();(5)當(dāng)放操作發(fā)生時,系統(tǒng)回調(diào)pDrop-Target的虛函數(shù)Drop()。

      3 文件內(nèi)容保護的具體實現(xiàn)

      3.1 實現(xiàn)文件內(nèi)容保護的總體框架

      系統(tǒng)的主要模塊:規(guī)則解析模塊,拖放監(jiān)控模塊,剪貼板監(jiān)控模塊,過濾驅(qū)動模塊。關(guān)系如圖1所示:

      核心企業(yè)雖然作為鏈主存在于整個供應(yīng)鏈管理體系中,但因其對于供應(yīng)鏈上下游掌控范圍有限,存在信息的不對稱和不透明問題,甚至存在信息作假和被篡改的風(fēng)險。這些問題一方面會增加核心企業(yè)的供應(yīng)鏈管理向上下游延伸的難度,另一方面使得核心企業(yè)對供應(yīng)鏈上的實物流、信息流和資金流的合理整合難以保證,導(dǎo)致管理能力和需求的不對稱。

      圖1 文件內(nèi)容保護的主要模塊

      3.2 規(guī)則制定與文件內(nèi)容保護模式

      對文件內(nèi)容的保護僅僅局限在打開保密文件的進程是不完善的,還需要防止用戶通過系統(tǒng)截圖的方式(PrintScreen鍵)將涉密信息泄漏出去。由于系統(tǒng)截圖后會把數(shù)據(jù)把暫時保存在剪貼板中,因此對此操作的控制可以在剪貼板中完成。所以,在本系統(tǒng)中對文件內(nèi)容的保護擴大到所有進程:當(dāng)保密進程打開保密文件后,所有剪貼板的粘貼操作只能完成在保密進程中,即此時只有保密文件能得到剪貼板的數(shù)據(jù);針對涉密數(shù)據(jù)的拖操作,其相應(yīng)的放操作只能發(fā)生于保密進程中,即涉密數(shù)據(jù)只能在保密文件之間拖放,從而實現(xiàn)涉密的文件內(nèi)容只能在保密文件中傳遞。本系統(tǒng)定義了3種文件內(nèi)容保護模式:

      (1)(DISABLEALL):禁止系統(tǒng)內(nèi)的所有剪貼板和拖放操作;

      (2)(PROTETECT):對剪貼板和拖放操作進行限制,保護涉密數(shù)據(jù);

      (3)(NOPROTETECT):對剪貼板和拖放操作不做任何限制。

      在本系統(tǒng)中,規(guī)則模板為{涉密文件類型|涉密進程|文件內(nèi)容保護模式}。保護模式在保密進程與保密文件類型對應(yīng)的前提下能夠有效地保護涉密數(shù)據(jù)。

      3.3 文件內(nèi)容保護的具體實現(xiàn)

      鑒于剪貼板和拖放是基于不同的處理機制,所以對這兩種操作采用不同的監(jiān)控處理方式。

      (1)對剪貼板的監(jiān)控

      通過剪貼板復(fù)制數(shù)據(jù)可分為兩個獨立的操作:復(fù)制(或剪切)和粘貼,其中復(fù)制(或剪切)由SetClipboardData()函數(shù)完成,粘貼由GetClipboardData()函數(shù)完成。在本系統(tǒng)中,對剪貼板的監(jiān)控選擇對粘貼操作進行監(jiān)控即可。有兩種方法可以完成對剪貼板的監(jiān)控:第一種方法,在用戶模式掛鉤GetClipboard-Data()函數(shù);第二種方法,是在內(nèi)核模式掛鉤NtUserGetClipboardData()函數(shù)。由于相對于應(yīng)用層掛鉤,基于內(nèi)核模式的掛鉤具有很多優(yōu)勢,所以本系統(tǒng)選擇在內(nèi)核模式掛鉤NtUserGetClipboardData(),完成對剪貼板的監(jiān)控。首先,查找函數(shù)NtUserGetClipboardData()的地址,并保存函數(shù)地址,然后用攔截函數(shù)代替原函數(shù),在攔截函數(shù)里查詢要求獲取剪貼板數(shù)據(jù)的進程,即調(diào)用函數(shù)NtUserGetClipboardData()的進程,若該進程是涉密進程則允許該進程獲取剪貼板數(shù)據(jù),執(zhí)行粘貼操作。

      在本系統(tǒng)中,對剪貼板實施的監(jiān)控只是為了對涉密文件的內(nèi)容進行保護,并且對涉密文件的復(fù)制粘貼實施的監(jiān)控在文件過濾驅(qū)動中已完成,因此可以不限制剪貼板對文件的復(fù)制和粘貼。進程explorer.exe與系統(tǒng)資源管理有關(guān),即與文件的復(fù)制、剪切和粘貼操作有關(guān),因此,在剪貼板保護模式下,需要解除對explorer.exe進程的限制,即若獲取剪貼板數(shù)據(jù)的進程是explorer.exe,允許粘貼操作,從而達到允許文件的復(fù)制粘貼的目的。

      (2)對拖放的監(jiān)控

      拖放操作可分為兩個獨立操作:拖操作和放操作。在本系統(tǒng)中,對拖放操作的監(jiān)控選擇其中的一個操作即可。根據(jù)兩個操作的特性(DoDragDrop()函數(shù)在拖操作發(fā)生時被調(diào)用,RegisterDragDrop()函數(shù)在窗口初始化的時候被調(diào)用),本系統(tǒng)選擇對拖操作進行監(jiān)控。當(dāng)DoDragDrop()被調(diào)用時,進入一個消息循環(huán),用來監(jiān)視鼠標(biāo)和一些簡單的消息,此時系統(tǒng)回調(diào)dropSource的虛函數(shù)QueryContinueDrag()來決定是否繼續(xù)拖操作,該函數(shù)的返回值有3種:1)S_OK,拖動操作繼續(xù);2)RAGDROP_S_DROP,放操作發(fā)生,完成拖操作;3)DRAGDROP_S_CANCEL,還未發(fā)生放操作時,拖操作被取消。

      在涉密進程中,對函數(shù)DoDragDrop()進行掛鉤,替代為MyDoDragDrop()。在函數(shù)MyDoDragDrop()中對pDropSource中的虛函數(shù)QueryContinueDrag()進行掛鉤,替代為函數(shù)MyQueryContinueDrag()。在函數(shù)MyQueryContinueDrag()里跟蹤當(dāng)前鼠標(biāo)的位置,得到鼠標(biāo)所在的窗口句柄,判斷窗口所屬進程是否為涉密進程,并把判斷的結(jié)果與虛函數(shù)QueryContinueDrag()的返回值進行匹配,使得涉密數(shù)據(jù)的拖放只發(fā)生在涉密進程中。

      4 結(jié)束語

      本文所介紹的透明加密文件系統(tǒng)在保證數(shù)據(jù)存儲安全的基礎(chǔ)上,對文件內(nèi)容的使用和流向進行監(jiān)控。測試中,以word文檔為例,規(guī)則設(shè)為:{.doc|WINWORD.EXE|PROTETECT},若文檔的訪問狀態(tài)合法,系統(tǒng)執(zhí)行正常的加解密功能,文檔的訪問結(jié)果正常,若文檔的訪問狀態(tài)非法,文檔無法正常打開,顯示為亂碼;當(dāng)涉密文檔打開后,剪貼板中數(shù)據(jù)只能粘貼在涉密進程WINWORD.EXE的窗口中,無法粘貼到其他進程的窗口中,且對文檔內(nèi)容進行拖動時,若鼠標(biāo)在涉密進程的窗口范圍內(nèi),鼠標(biāo)狀態(tài)為所拖放內(nèi)容可放下,當(dāng)鼠標(biāo)在非涉密進程的窗口范圍內(nèi),鼠標(biāo)狀態(tài)為所拖放內(nèi)容不可放下,系統(tǒng)運行正常。

      雖然該系統(tǒng)基本實現(xiàn)了設(shè)計目標(biāo),保證數(shù)據(jù)的存儲安全同時防止用戶通過系統(tǒng)剪貼板、拖放或截圖將涉密的文件內(nèi)容泄漏出去,但是還可以做進一步完善,如密鑰管理。

      [1] 顧正義,黃皓.新加密文件系統(tǒng)的研究與實現(xiàn)[J].計算機工程與設(shè)計,2009,30(14):3 272-3 277.

      [2] Alf Zugenmaier,Sven Lachmund,Dileesh Jostin.Transparent Encryption for External Storage Media with Key Management Adapted to Mobile Use[C].Honolu lu:Computer Security App lications Conference,2009:333-340.

      [3] 瞿進.網(wǎng)絡(luò)終端信息存儲安全監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[D].鄭州:解放軍信息工程大學(xué)信息工程學(xué)院,2007.

      [4] 任建華,江國華.終端文件安全保障系統(tǒng)中剪貼板監(jiān)控技術(shù)的應(yīng)用[J].計算機應(yīng)用,2005,25(12):86-91.

      [5] Volodymyr Sham ray,Apriorit Inc.Forbidding the Clipboard for the specified process[EB/OL].http://www.codeproject.com/KB/clipboard/forbidding-clipboard.aspx,2009-11-11.

      [6]Michael Dunn.How to Implement Drag and Drop Between Your Program and Exp lorer[EB/OL].http://www.codeproject.com/KB/shell/explorerd ragd rop.aspx,2002-12-14.

      猜你喜歡
      剪貼板保密粘貼
      多措并舉筑牢安全保密防線
      中國石化(2022年5期)2022-06-10 06:39:32
      《信息安全與通信保密》征稿函
      帖臉譜
      《貓頭鷹》小粘貼
      Windowsl0剪貼板的云同步
      電腦愛好者(2019年1期)2019-10-30 03:45:47
      讓剪貼操作更上一層樓
      A ski trip to Japan
      What Would I Change It To
      論中國共產(chǎn)黨的保密觀
      一鍵激活Office剪貼板
      電腦迷(2014年22期)2014-04-29 10:22:37
      克什克腾旗| 邓州市| 科技| 原平市| 定陶县| 金堂县| 祥云县| 平泉县| 克山县| 邓州市| 息烽县| 山丹县| 牟定县| 土默特左旗| 永春县| 贵定县| 孟连| 开封县| 金堂县| 龙游县| 右玉县| 从化市| 神池县| 唐海县| 丹巴县| 万年县| 太康县| 隆昌县| 博乐市| 开原市| 大足县| 郴州市| 囊谦县| 公安县| 贺州市| 池州市| 佛学| 昔阳县| 柳江县| 鄂托克前旗| 彰武县|