国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      保護(hù)非受信設(shè)備上的數(shù)據(jù)的制作方法

      文檔序號:11450690閱讀:251來源:國知局
      保護(hù)非受信設(shè)備上的數(shù)據(jù)的制造方法與工藝

      相關(guān)申請的交叉引用

      本申請要求2015年1月2日提交的題為“securingdataonuntrusteddevices,”的美國專利申請第14/588,779號的優(yōu)先權(quán),該案的全部內(nèi)容通過引用合并于此。

      本公開大體上涉及數(shù)據(jù)安全,并且更具體地,涉及保護(hù)非受信設(shè)備上的數(shù)據(jù)。



      背景技術(shù):

      在敏感信息可以被存儲(chǔ)在設(shè)備上的設(shè)置中越來越多地使用便攜式電子設(shè)備(諸如,膝上型計(jì)算機(jī)、平板、或者智能電話)。例如,用戶可以在其智能電話上發(fā)送和接收企業(yè)電子郵件,或者可以(諸如,經(jīng)由遠(yuǎn)程網(wǎng)絡(luò)連接)在平板設(shè)備上訪問、編輯、并且保存內(nèi)部企業(yè)文檔。另外,用戶根據(jù)通常稱為“攜帶您的設(shè)備”的策略或者byod策略提供其自身設(shè)備以供在工作中使用變得越來越常見。然而,對于傳統(tǒng)上在使能了特定安全特征的情況下向用戶提供企業(yè)設(shè)備的信息技術(shù)(“it”)部門而言,根據(jù)這種byod策略使用的設(shè)備存在安全隱患。



      技術(shù)實(shí)現(xiàn)要素:

      描述了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的各種示例。一種示例方法包括以下步驟:識別來自軟件應(yīng)用的命令以訪問安全數(shù)據(jù);基于所述軟件應(yīng)用和用戶證書來確定命令是否被許可;以及響應(yīng)于確定命令不被許可,從命令隊(duì)列移除命令。

      一種示例設(shè)備包括:非暫時(shí)性計(jì)算機(jī)可讀介質(zhì);與該非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)通信的處理器,該處理器被配置為:通過第一進(jìn)程監(jiān)視命令隊(duì)列以識別來自其它進(jìn)程的命令,命令中的至少一個(gè)指示對安全數(shù)據(jù)的動(dòng)作;訪問一個(gè)或者多個(gè)規(guī)則以確定至少一個(gè)命令是否被許可;以及響應(yīng)于確定命令不被許可,從命令隊(duì)列移除命令。

      一種示例非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)包括程序代碼,該程序代碼包括可由處理器執(zhí)行的監(jiān)視軟件,該監(jiān)視軟件被配置為監(jiān)視命令隊(duì)列以識別來自其它進(jìn)程的命令;識別指示對安全數(shù)據(jù)的動(dòng)作的命令;傳輸確定命令是否被許可的請求;以及響應(yīng)于對請求的指示命令不被許可的響應(yīng),從命令隊(duì)列移除命令。

      這些說明性示例的提及不限制或者限定本公開的范圍,而是提供示例以幫助理解本公開。在具體實(shí)施方式中對說明性示例進(jìn)行了討論,這提供了進(jìn)一步的描述。通過查閱本說明書可以進(jìn)一步理解各種示例所提供的優(yōu)點(diǎn)。

      附圖說明

      附圖被包括在本說明書中并且構(gòu)成本說明書的一部分,附圖圖示了一個(gè)或者多個(gè)特定示例,并且與對示例的描述一起用于解釋特定示例的原理和實(shí)施方式。

      圖1示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例系統(tǒng);

      圖2示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例計(jì)算設(shè)備;

      圖3示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例系統(tǒng);

      圖4-5示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例方法;

      圖6示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例系統(tǒng);以及

      圖7示出了用于跟蹤用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的進(jìn)程id的示例數(shù)據(jù)結(jié)構(gòu)。

      具體實(shí)施方式

      本文在保護(hù)非受信設(shè)備上的數(shù)據(jù)的場境中描述了示例。本領(lǐng)域的普通技術(shù)人員將認(rèn)識到,下面的說明僅僅是說明性的,而非意在以任何方式進(jìn)行限制。如附圖中所圖示,現(xiàn)在將詳細(xì)地對示例的實(shí)施方式進(jìn)行參考。貫穿附圖和以下說明,將使用相同的附圖標(biāo)記來指代相同或者相似的項(xiàng)。

      為了清楚起見,并未示出和描述本文描述的示例的所有例程特征。當(dāng)然,要了解,在開發(fā)任何這種實(shí)際實(shí)施方式時(shí),必須進(jìn)行若干實(shí)施方式特定的決策,以便實(shí)現(xiàn)開發(fā)人員的特定目標(biāo)(諸如,遵守與應(yīng)用和業(yè)務(wù)相關(guān)的約束),并且要了解,這些特定目標(biāo)將根據(jù)不同的實(shí)施方式和不同的開發(fā)人員而有所不同。

      用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的說明性方法

      在用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的方法的一個(gè)說明性示例中,用戶使用平板計(jì)算機(jī)來訪問存儲(chǔ)在遠(yuǎn)程企業(yè)文檔服務(wù)器上的文字處理文檔。平板下載文檔并且將文檔存儲(chǔ)在平板內(nèi)的閃速存儲(chǔ)器設(shè)備上的安全分區(qū)上。用戶然后在平板上執(zhí)行文字處理應(yīng)用、使用菜單來執(zhí)行文件“打開”命令、并且使用文件導(dǎo)航對話窗口來導(dǎo)航到安全分區(qū)內(nèi)的所下載的文檔。在定位到文檔之后,用戶點(diǎn)擊“ok”按鈕來使應(yīng)用打開文檔。

      當(dāng)用戶點(diǎn)擊“ok”時(shí),應(yīng)用經(jīng)由包括將要打開的文檔的文件路徑名和文件名的應(yīng)用編程接口(“api”)將命令下發(fā)至操作系統(tǒng)(“os”)。例如,應(yīng)用執(zhí)行稱作os.fileopen的操作系統(tǒng)api命令并且提供文件的路徑名和文件名(諸如,"z:\secure\docs\businessplan.doc")作為參數(shù)。api命令使os在命令隊(duì)列中生成要執(zhí)行的條目以打開文件。在這種情況下,os是多任務(wù)os,因此,os接收來自各種不同的線程和進(jìn)程(包括來自os本身的每個(gè)方面)的命令。因此,os對命令隊(duì)列內(nèi)的接收到的命令進(jìn)行排隊(duì)以供稍后執(zhí)行。在這種情況下,os對接收到的文件“打開”命令和命令隊(duì)列中的路徑名與文件名進(jìn)行排隊(duì)以供執(zhí)行。

      然而,在該示例中,用戶的平板正在執(zhí)行軟件應(yīng)用,該軟件應(yīng)用監(jiān)視嘗試對位于安全分區(qū)內(nèi)的數(shù)據(jù)執(zhí)行的命令。監(jiān)視軟件監(jiān)視os的命令隊(duì)列內(nèi)的事件,以識別包括安全分區(qū)內(nèi)的路徑名的任何命令。在該示例中,監(jiān)視軟件檢查os的命令隊(duì)列內(nèi)具有包括“z:\secure”的目標(biāo)路徑名的事件。因此,當(dāng)os為具有路徑名“z:\secure\docs”的“打開”命令的隊(duì)列生成新命令時(shí),監(jiān)視軟件識別對應(yīng)事件并且確定對應(yīng)命令(在該示例中,“打開”命令)是否為該文件的軟件應(yīng)用的和該文件的用戶許可的命令。在該示例中,用戶不具備訪問文件的權(quán)限,因此,監(jiān)視軟件在對應(yīng)的事件執(zhí)行之前從命令隊(duì)列刪除對應(yīng)的事件。另外,監(jiān)視軟件向用戶生成并且顯示所嘗試的命令未被授權(quán)的通知并且在監(jiān)視軟件的審計(jì)日志中生成并且存儲(chǔ)指示所嘗試的“打開”命令、文檔的路徑名和文件名、嘗試執(zhí)行動(dòng)作的用戶、和嘗試的結(jié)果(也就是不許可命令執(zhí)行)的條目。

      用戶認(rèn)識到其選擇了錯(cuò)誤的文檔,并且將第二文檔“doc2.doc”下載到安全分區(qū)。用戶然后嘗試使用文字處理應(yīng)用來打開第二文檔。文字處理應(yīng)用再次調(diào)用os的api并且將路徑名和文件名“z:\secure\docs\doc2.doc”傳遞至“打開”命令。os在其命令隊(duì)列中生成條目以打開所識別的文件。監(jiān)視軟件再次基于安全分區(qū)“z:\secure”的路徑名來識別條目,并且確定是否許可軟件應(yīng)用和用戶打開該文檔。在這種情況下,用戶被授權(quán)利用文字處理應(yīng)用來打開文件,因此,監(jiān)視軟件不會(huì)從命令隊(duì)列刪除條目,從而允許os執(zhí)行命令。監(jiān)視軟件然后獲得用于打開文檔的軟件應(yīng)用的實(shí)例的進(jìn)程標(biāo)識符(“進(jìn)程id”),并且將包括進(jìn)程id的記錄、關(guān)于文檔的信息(例如,文件名和路徑)、和對與文檔和用戶相關(guān)聯(lián)的訪問規(guī)則的引用存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)中。另外,監(jiān)視軟件在其審計(jì)日志中生成指示成功打開文件的條目,該條目包括用戶名、文件名、和被執(zhí)行的命令(在這種情況下是“打開”)。軟件應(yīng)用然后打開文檔并且將其呈現(xiàn)給用戶。

      用戶然后決定其希望將文檔保存至插入到平板中的可移動(dòng)閃存設(shè)備,因此,其從文字處理應(yīng)用內(nèi)的菜單系統(tǒng)中選擇命令“另存為”并且選擇可移動(dòng)閃存設(shè)備作為“另存為”命令的目的地。文字處理應(yīng)用調(diào)用os.filesaveasapi函數(shù)并且提供文檔的目的地路徑名和文件名,并且os生成命令隊(duì)列中“另存為”命令的條目。

      在這種情況下,監(jiān)視軟件通過識別命令隊(duì)列中的軟件應(yīng)用的實(shí)例的進(jìn)程id并且分析與進(jìn)程id對應(yīng)的命令來檢測對文檔的所嘗試的“另存為”。在這種情況下,監(jiān)視軟件分析數(shù)據(jù)結(jié)構(gòu)以針對用戶和文檔識別對應(yīng)訪問規(guī)則。監(jiān)視軟件然后訪問訪問規(guī)則以確定用戶是否具有充足的權(quán)限將“另存為”操作執(zhí)行到在安全位置外部的位置。在這種情況下,監(jiān)視軟件確定用戶不具備充足的權(quán)限,并且從命令隊(duì)列刪除與“另存為”命令對應(yīng)的條目。如前所述,監(jiān)視軟件向用戶生成并且顯示不允許所嘗試的操作的通知,并且在其審計(jì)日志中生成指示所嘗試的命令、路徑名和文件名、和用戶名的條目。

      在該說明性示例中,監(jiān)視軟件也能夠監(jiān)視其它類型的命令,該其它類型的命令可能會(huì)允許對文檔進(jìn)行未經(jīng)授權(quán)的訪問或者未經(jīng)授權(quán)地將安全數(shù)據(jù)移出安全分區(qū)。例如,監(jiān)視軟件能夠檢測并且防止文件級操作(諸如,“保存”、“另存為”、“復(fù)制”、“移動(dòng)”、“共享”、和“重命名”)、內(nèi)容級操作(諸如,“打印”、“剪切”、“復(fù)制”、“粘貼”)、其它專用操作(諸如,電子郵件操作(例如,將安全文件附接至電子郵件))、以及可以由其它應(yīng)用或者操作系統(tǒng)執(zhí)行的其它操作(諸如,屏幕截圖或者屏幕記錄功能、或者改變文件權(quán)限以反映“只讀”、“讀取/寫入”、或者其它類型的權(quán)限)。保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例可以在不需要提供影響單獨(dú)的軟件應(yīng)用的操作的應(yīng)用“封裝器”的情況下包括非受信設(shè)備上的數(shù)據(jù)安全。相反,各種示例可以向用戶和設(shè)備上的軟件應(yīng)用與操作系統(tǒng)提供針對安全數(shù)據(jù)的有效地透明安全。

      上文的說明性示例討論了不同的軟件應(yīng)用的使用;然而,該詳細(xì)說明的其它部分可以參考通用術(shù)語“進(jìn)程”。軟件應(yīng)用可以作為計(jì)算系統(tǒng)上的進(jìn)程而執(zhí)行。例如,當(dāng)啟動(dòng)文字處理軟件應(yīng)用時(shí),可以將執(zhí)行的文字處理軟件應(yīng)用稱為進(jìn)程。在這種示例中,為了清楚起見,可以將進(jìn)程稱為“第一”進(jìn)程和“第二”進(jìn)程。標(biāo)簽“第一”和“第二”(和“第三”等)不旨在指示序列,而僅僅旨在將不同的進(jìn)程彼此區(qū)分開。例如,如果多個(gè)不同的軟件應(yīng)用在計(jì)算系統(tǒng)上(諸如,在多任務(wù)操作系統(tǒng)的場境內(nèi))大體上同時(shí)執(zhí)行,則每個(gè)軟件應(yīng)用可以是單獨(dú)的進(jìn)程,并且可以使用這些標(biāo)簽來稱呼每個(gè)軟件應(yīng)用。例如,上文討論的監(jiān)視軟件作為與文字處理軟件應(yīng)用進(jìn)程分開并且與文字處理軟件應(yīng)用進(jìn)程不同的進(jìn)程而執(zhí)行,因此,還可以將監(jiān)視軟件稱為“第一進(jìn)程”并且將文字處理軟件應(yīng)用稱為“第二進(jìn)程”。進(jìn)一步地,一些進(jìn)程可以包括可以獨(dú)立于彼此部分地或者整體地操作的一個(gè)或者多個(gè)執(zhí)行“線程”。這些線程通常是單個(gè)進(jìn)程的一部分,但是可以表示由進(jìn)程執(zhí)行的不同任務(wù)。貫穿全文,對術(shù)語進(jìn)程和線程的提及通??梢员硎具@些概念或者本領(lǐng)域的技術(shù)人員通常所理解的概念。

      在下文的詳細(xì)說明中提供了保護(hù)非受信設(shè)備上的數(shù)據(jù)的其它示例。

      現(xiàn)在參照圖1,圖1示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例系統(tǒng)100。示例系統(tǒng)100包括經(jīng)由網(wǎng)絡(luò)120與文檔服務(wù)器130和管理服務(wù)器132通信的便攜式計(jì)算設(shè)備110和桌面型計(jì)算機(jī)112。文檔服務(wù)器130與數(shù)據(jù)儲(chǔ)庫140通信并且被配置為維護(hù)可用于計(jì)算設(shè)備110和桌面型計(jì)算機(jī)112的文件。管理服務(wù)器132被配置為建立和提供對設(shè)備110、112的訪問策略。網(wǎng)絡(luò)120可以是任何合適的網(wǎng)絡(luò),諸如,互聯(lián)網(wǎng)、基于云的網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)、局域網(wǎng)、無線局域網(wǎng)、廣域網(wǎng)、微波網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)、集成服務(wù)數(shù)字網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、以及它們或者其它類型網(wǎng)絡(luò)的組合。

      計(jì)算設(shè)備110和桌面型計(jì)算機(jī)112中的每一個(gè)已經(jīng)安裝了被配置為保護(hù)相應(yīng)設(shè)備110、112上數(shù)據(jù)的監(jiān)視軟件并且執(zhí)行該監(jiān)視軟件。監(jiān)視軟件與服務(wù)器130通信并且從服務(wù)器130接收用于訪問安全數(shù)據(jù)的配置參數(shù)和訪問證書。另外,設(shè)備110、112中的每一個(gè)配置有已經(jīng)針對存儲(chǔ)安全數(shù)據(jù)而建立的存儲(chǔ)位置。在該示例系統(tǒng)100中,設(shè)備110、112中的每一個(gè)具有計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)具有已經(jīng)建立為存儲(chǔ)安全數(shù)據(jù)的文件系統(tǒng)分區(qū)。文件系統(tǒng)分區(qū)被配置為使得其在計(jì)算機(jī)可讀介質(zhì)的分區(qū)表中單獨(dú)地建立并且可以獨(dú)立地從文件系統(tǒng)安裝和卸載。在一些示例中,安全分區(qū)可以駐留在不同的物理介質(zhì)上。

      服務(wù)器130被配置為管理文件儲(chǔ)存庫,諸如,企業(yè)文檔系統(tǒng)。服務(wù)器130使得授權(quán)用戶能夠登錄文檔儲(chǔ)存庫并且訪問存儲(chǔ)在文檔儲(chǔ)存庫內(nèi)的一個(gè)或者多個(gè)文檔。在文檔儲(chǔ)存庫內(nèi)的文檔被存儲(chǔ)在文檔儲(chǔ)庫140中并且可以響應(yīng)于從設(shè)備(諸如,計(jì)算設(shè)備110或者桌面型計(jì)算機(jī)112)接收的請求而由服務(wù)器130訪問。

      管理服務(wù)器132為文檔儲(chǔ)存庫的授權(quán)用戶維護(hù)安全策略信息。例如,管理服務(wù)器132為每個(gè)用戶或者為一組或者多組用戶維護(hù)指示用戶可以訪問哪些文件和相對于每個(gè)文件或者文件組許可用戶采取哪些操作的配置設(shè)置。管理服務(wù)器132在其嘗試連接至文檔儲(chǔ)存庫時(shí)審計(jì)每個(gè)設(shè)備上的安全策略信息,并且管理服務(wù)器132更新安全策略信息(若需要)。另外,管理服務(wù)器132為設(shè)備110、112上的安全存儲(chǔ)位置生成安全密鑰信息,下文將對此進(jìn)行更詳細(xì)地描述。

      現(xiàn)在參照圖2,圖2示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例計(jì)算設(shè)備200。圖2中示出的示例計(jì)算系統(tǒng)200是平板設(shè)備,但是在一些示例中,計(jì)算設(shè)備200可以是智能電話、桌面型計(jì)算機(jī)、膝上型計(jì)算機(jī)、或者其它合適的計(jì)算設(shè)備。示例計(jì)算設(shè)備200包括觸摸敏感顯示器210、電子處理器230、存儲(chǔ)器240、存儲(chǔ)介質(zhì)250、網(wǎng)絡(luò)接口260、和通信總線270。處理器230被配置為訪問存儲(chǔ)器240并且執(zhí)行存儲(chǔ)在存儲(chǔ)器240內(nèi)的程序代碼,以及讀取數(shù)據(jù)并且將數(shù)據(jù)寫入存儲(chǔ)器240。處理器230還被配置為訪問存儲(chǔ)介質(zhì)250以將數(shù)據(jù)加載到存儲(chǔ)器240中,或者將數(shù)據(jù)從存儲(chǔ)器存儲(chǔ)到存儲(chǔ)介質(zhì)250。處理器230進(jìn)一步被配置為使用網(wǎng)絡(luò)接口260來訪問一個(gè)或者多個(gè)通信網(wǎng)絡(luò)(諸如,圖1中示出的網(wǎng)絡(luò)120)并且與連接至(多個(gè))網(wǎng)絡(luò)的其它設(shè)備通信。

      存儲(chǔ)介質(zhì)250被配置為維護(hù)一個(gè)或者多個(gè)文件系統(tǒng)和一個(gè)或者多個(gè)數(shù)據(jù)文件。稍后在該詳細(xì)說明中對合適類型的存儲(chǔ)介質(zhì)的示例進(jìn)行了更詳細(xì)地描述。然而,在該示例中,存儲(chǔ)介質(zhì)250包括已經(jīng)被配置為具有兩個(gè)文件系統(tǒng)分區(qū)的閃存設(shè)備。一個(gè)分區(qū)(“主要分區(qū)”)被配置為儲(chǔ)存設(shè)備200的操作系統(tǒng)和其它數(shù)據(jù)文件,并且第二分區(qū)(“安全分區(qū)”)被配置為存儲(chǔ)從文檔儲(chǔ)存庫接收到的數(shù)據(jù)文件。

      在該示例中,設(shè)備200首先啟動(dòng)和安裝主要分區(qū)作為操作系統(tǒng)的文件系統(tǒng)的一部分。另外,當(dāng)設(shè)備200啟動(dòng)時(shí),其執(zhí)行監(jiān)視軟件,下文將對此進(jìn)行更詳細(xì)地描述。一旦設(shè)備200啟動(dòng),其就會(huì)使用主要分區(qū)來操作,該主要分區(qū)存儲(chǔ)操作系統(tǒng)、各種軟件應(yīng)用(諸如,文字處理、電子表格、web瀏覽、和其它應(yīng)用)、以及各種數(shù)據(jù)文件(包括用戶數(shù)據(jù)文件)。在該示例中,監(jiān)視軟件被配置為安裝和卸載安全分區(qū)。

      應(yīng)該注意的是,雖然在該示例和該詳細(xì)說明的其它位置中使用了術(shù)語“安裝”,但是不旨在參考在特定操作系統(tǒng)內(nèi)可用的“安裝”效用的使用。相反,貫穿本說明書使用術(shù)語“安裝”和相關(guān)術(shù)語“卸載”作為用于附接或者分離文件系統(tǒng)的進(jìn)程的通用術(shù)語。術(shù)語“安裝”、“附接”、“卸載”、和“分離”可以互換地使用以表示該進(jìn)程。

      現(xiàn)在參照圖3,圖3示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的系統(tǒng)300的示例架構(gòu)圖。在該示例中,示例架構(gòu)圖表示示例計(jì)算設(shè)備(諸如,圖2中示出的計(jì)算設(shè)備200)的配置。雖然針對圖2的計(jì)算設(shè)備200描述了該示例,但可以使用任何合適的計(jì)算設(shè)備。在該示例中,軟件應(yīng)用310、312試圖訪問并且操縱存儲(chǔ)在安全分區(qū)335上的數(shù)據(jù)文件。

      系統(tǒng)300包括用于保護(hù)在計(jì)算設(shè)備內(nèi)執(zhí)行的非受信設(shè)備上的數(shù)據(jù)的子系統(tǒng)340。系統(tǒng)300包括子系統(tǒng)340、以及一個(gè)或者多個(gè)軟件應(yīng)用310、312、操作系統(tǒng)330、和安全分區(qū)360。子系統(tǒng)340包括監(jiān)視軟件342、訪問規(guī)則數(shù)據(jù)儲(chǔ)庫344、審計(jì)日志345、安全軟件346、和文件同步軟件348。

      軟件應(yīng)用310、312被配置為由計(jì)算設(shè)備200執(zhí)行并且訪問存儲(chǔ)在計(jì)算設(shè)備200上的數(shù)據(jù)文件。例如,如果軟件應(yīng)用310是文字處理應(yīng)用,則軟件應(yīng)用310使得用戶能夠創(chuàng)建、修改、和存儲(chǔ)計(jì)算設(shè)備上的文檔。這樣,軟件應(yīng)用310與操作系統(tǒng)330交互,以便調(diào)用osapi函數(shù)來創(chuàng)建、修改、和存儲(chǔ)在存儲(chǔ)介質(zhì)上的數(shù)據(jù)文件。當(dāng)軟件應(yīng)用310調(diào)用osapi函數(shù)時(shí),該函數(shù)將命令插入os的命令隊(duì)列332中以便稍后由操作系統(tǒng)執(zhí)行,被示出為操作系統(tǒng)的“執(zhí)行”塊334。當(dāng)執(zhí)行塊334執(zhí)行命令時(shí),其可以訪問存儲(chǔ)介質(zhì)以操縱數(shù)據(jù)文件,以便打開文件或者將更改保存到文件。

      子系統(tǒng)340與操作系統(tǒng)一起運(yùn)行以管理對安全分區(qū)360的訪問。在該示例中,如上文討論的,當(dāng)首先打開或者啟動(dòng)計(jì)算設(shè)備時(shí),計(jì)算設(shè)備200啟動(dòng)操作系統(tǒng)330并且還啟動(dòng)子系統(tǒng)340,包括監(jiān)視軟件342和安全軟件346。在該示例中,如果安全分區(qū)360尚不存在,則安全軟件346被配置為創(chuàng)建安全分區(qū)360。在一個(gè)示例中,安全軟件346將為安全分區(qū)360生成用于儲(chǔ)存設(shè)備的分區(qū)表中的新條目,并且生成加密分區(qū)。

      如果確實(shí)已經(jīng)存在安全分區(qū)360,則安全軟件將訪問和安裝安全分區(qū)360,從而使得操作系統(tǒng)330可對其進(jìn)行訪問。

      雖然對該示例的討論已經(jīng)對操作系統(tǒng)進(jìn)行了參考,但是其它示例可以采用與操作系統(tǒng)不同的應(yīng)用環(huán)境。一個(gè)示例使用在底層操作系統(tǒng)頂部執(zhí)行的應(yīng)用服務(wù)器環(huán)境。在這種示例中,監(jiān)視軟件342相反可以監(jiān)視用于應(yīng)用服務(wù)器環(huán)境(而不是操作系統(tǒng))的命令隊(duì)列。在一些示例中,監(jiān)視軟件342可以監(jiān)視用于應(yīng)用服務(wù)器環(huán)境的命令隊(duì)列和用于操作系統(tǒng)的命令隊(duì)列。

      要考慮執(zhí)行環(huán)境的更進(jìn)一步分層或者執(zhí)行環(huán)境的并行執(zhí)行,諸如,在計(jì)算系統(tǒng)上執(zhí)行的一個(gè)或者多個(gè)虛擬機(jī)。在一個(gè)這種示例中,每個(gè)虛擬機(jī)可以執(zhí)行不同的操作系統(tǒng)和監(jiān)視軟件。在一些示例中,監(jiān)視軟件可以監(jiān)視每個(gè)虛擬機(jī)與底層操作系統(tǒng)軟件的交互。

      在該示例中,安全分區(qū)360是建立在計(jì)算設(shè)備200內(nèi)的存儲(chǔ)介質(zhì)250上的專用分區(qū)。使用磁盤分區(qū)工具(例如,“fdisk”)將安全分區(qū)360首先建立在存儲(chǔ)介質(zhì)上。另外,安全系統(tǒng)346被配置為使用基于密鑰的加密(諸如,高級加密標(biāo)準(zhǔn)(“aes”)或者twofish機(jī)制)來對安全分區(qū)進(jìn)行加密。在一些示例中,可以在級聯(lián)中采用多個(gè)加密機(jī)制,諸如,連續(xù)地應(yīng)用于相同的數(shù)據(jù)的aes、twofish、和serpent機(jī)制。因此,當(dāng)將數(shù)據(jù)存儲(chǔ)在安全分區(qū)360上時(shí),按照加密格式來存儲(chǔ)該數(shù)據(jù)。稍后,當(dāng)軟件應(yīng)用請求對加密文件進(jìn)行訪問時(shí),向軟件應(yīng)用提供文件的解密版本。

      安全軟件346被配置為調(diào)節(jié)對安全分區(qū)360上的加密數(shù)據(jù)的訪問并且維護(hù)和更新在訪問規(guī)則數(shù)據(jù)儲(chǔ)庫344內(nèi)的規(guī)則。在該示例中,在已經(jīng)啟動(dòng)設(shè)備200之后,要求用戶向安全軟件346提供其證書,諸如,用戶名和密碼。在一些示例中,可以使用其它類型的認(rèn)證,諸如,使用生成的訪問代碼的雙因素認(rèn)證。在用戶已經(jīng)提供了可接受的證書之后,安全軟件346安裝安全分區(qū)360并且然后嘗試訪問遠(yuǎn)程服務(wù)器350以獲得加密密鑰來訪問安全分區(qū)360上的數(shù)據(jù)。例如,計(jì)算設(shè)備200可以是由公司員工用來訪問公司的文檔儲(chǔ)存庫內(nèi)的文件的膝上型計(jì)算機(jī)。

      安全軟件346然后嘗試訪問公司的服務(wù)器350以獲得加密密鑰。在該示例中,當(dāng)安全軟件346與公司的服務(wù)器350連接時(shí),安全軟件346向服務(wù)器350提供用戶的訪問證書。服務(wù)器350然后訪問或者生成待由安全軟件346使用的加密密鑰。在一個(gè)示例中,服務(wù)器350生成540位密鑰,使密鑰散列,并且將散列密鑰傳輸至計(jì)算設(shè)備200。如果安全軟件346無法訪問服務(wù)器350,則安全軟件346可以確定其是否具有現(xiàn)有的有效加密密鑰。例如,加密密鑰在到期之前可能在特定時(shí)間周期(諸如,48小時(shí))內(nèi)可用,在特定時(shí)間周期之后,安全軟件346禁用該加密密鑰。

      在該示例中,安全軟件346被配置為在禁用加密密鑰之前的48小時(shí)內(nèi)維護(hù)加密密鑰。但除此之外,安全軟件還被配置為每隔4小時(shí)向服務(wù)器350請求新密鑰。當(dāng)獲得新密鑰時(shí),使用新密鑰來對安全分區(qū)進(jìn)行重新加密,隨后使舊密鑰無效。除了重新啟動(dòng)48小時(shí)的周期之外,每隔4小時(shí)使用新密鑰的效果是其可以幫助重新保護(hù)先前的密鑰被未被授權(quán)的實(shí)體所破解的設(shè)備。但是只要計(jì)算設(shè)備200與服務(wù)器350保持通信,并且只要授權(quán)用戶登錄到安全軟件中,其就會(huì)具有訪問存儲(chǔ)在安全分區(qū)360中的數(shù)據(jù)文件的無限期權(quán)限(授權(quán)給用戶)。然而,如果計(jì)算設(shè)備200與服務(wù)器350斷開連接,則用戶可以在無法訪問數(shù)據(jù)文件之前的48小時(shí)內(nèi)繼續(xù)訪問安全分區(qū)。顯而易見的是,這些時(shí)間周期僅僅作為示例而提供,并且可以建立不同的密鑰刷新和密鑰到期時(shí)間周期。在一些示例中,不同類型的文件可能具有不同的密鑰刷新或者密鑰到期周期。例如,高靈敏度的文檔可以具有比低靈敏度的文檔更短的密鑰到期周期。并且在一些示例中,每個(gè)文檔可以具有其自身相關(guān)聯(lián)的密鑰刷新或者到期時(shí)間周期。

      另外,安全軟件346為用戶檢查任何更新的訪問規(guī)則,如果找到任何更新的訪問規(guī)則,則其下載訪問規(guī)則并且將這些規(guī)則存儲(chǔ)在訪問規(guī)則數(shù)據(jù)儲(chǔ)庫344中。訪問規(guī)則可以包括可以定義為調(diào)節(jié)對數(shù)據(jù)文件的訪問的用戶特定的規(guī)則、設(shè)備特定的規(guī)則、文件特定的規(guī)則、專用規(guī)則、或者其它類型的規(guī)則。例如,用戶可能只具有訪問公司的文件儲(chǔ)存庫內(nèi)可用的特定文件的權(quán)限,因此,用戶規(guī)則的集合可以包括指示用戶是否具有權(quán)限打開或者訪問存儲(chǔ)在安全分區(qū)360中的數(shù)據(jù)文件的信息。因此,當(dāng)用戶嘗試打開數(shù)據(jù)文件時(shí),監(jiān)視軟件342檢查訪問規(guī)則344,識別與用戶和數(shù)據(jù)文件相關(guān)聯(lián)的規(guī)則,并且通過從命令隊(duì)列刪除命令來防止文件“打開”命令被執(zhí)行。在該示例中,監(jiān)視軟件342還將條目添加到審計(jì)日志345中以指示被禁用的命令和其它相關(guān)信息,諸如,嘗試命令的用戶、嘗試的時(shí)間和日期、文件名、或者路徑。可以將審計(jì)日志345傳輸至服務(wù)器350或者可以由服務(wù)器350請求審計(jì)日志345。例如,每天都可以將審計(jì)日志345傳輸至服務(wù)器350。在一些示例中,可以將審計(jì)日志345存儲(chǔ)在服務(wù)器350處,并且計(jì)算設(shè)備200可以將審計(jì)日志消息傳輸至服務(wù)器350以便進(jìn)入日志345。

      在一些示例中,可以將訪問規(guī)則存儲(chǔ)為數(shù)據(jù)儲(chǔ)庫內(nèi)的記錄。例如,針對訪問規(guī)則的合適的示例記錄可以包括以下信息:

      這種訪問規(guī)則與用戶“jsmith”和存儲(chǔ)在目錄“docs”中的安全分區(qū)("/secure")內(nèi)的所識別的文件“document.doc”有關(guān)。在該示例中,規(guī)則針對“復(fù)制”動(dòng)作,該文檔和該用戶允許該規(guī)則。因此,當(dāng)監(jiān)視軟件檢測由與“document.doc”文件和“jsmith”相關(guān)聯(lián)的進(jìn)程id所嘗試的“復(fù)制”動(dòng)作時(shí),系統(tǒng)將訪問訪問規(guī)則,定位與用戶、文件、和動(dòng)作相關(guān)聯(lián)的規(guī)則,并且根據(jù)規(guī)則來確定是否允許動(dòng)作。

      上文的記錄被提供作為說明性示例,而非意在指示這種記錄(或者這些記錄)的所有變型或者作為要根據(jù)不同的方面存儲(chǔ)在記錄內(nèi)的信息的詳盡或者必要列表。

      可以從服務(wù)器350獲得一個(gè)或者多個(gè)記錄,或者可以基于從服務(wù)器350獲得的信息,在計(jì)算設(shè)備200處創(chuàng)建并且存儲(chǔ)一個(gè)或者多個(gè)記錄。

      在該示例中,子系統(tǒng)340還包括文件同步軟件348。文件同步軟件348被配置為從文件儲(chǔ)存庫(或者多個(gè)儲(chǔ)存庫)(示出為圖3中的文檔儲(chǔ)存器352)檢索一個(gè)或者多個(gè)數(shù)據(jù)文件并且將更改的文件或者新文件推送至文件儲(chǔ)存庫(或者多個(gè)儲(chǔ)存庫)。例如,公司可以維護(hù)企業(yè)文檔儲(chǔ)存庫,該企業(yè)文檔儲(chǔ)存庫允許用戶創(chuàng)建新文檔并且將文檔從儲(chǔ)存庫檢入和檢出以便編輯、打印、通過電子郵件發(fā)送、或者使用文檔。為了使用戶能夠遠(yuǎn)程地訪問在文檔儲(chǔ)存庫中可用的文檔,公司可以(諸如,經(jīng)由虛擬私人網(wǎng)絡(luò)(“vpn”))提供對文檔儲(chǔ)存庫的直接訪問。然而,根據(jù)本公開的示例,文件同步軟件348可以從文檔儲(chǔ)存器352檢索文檔并且將文檔的本地副本存儲(chǔ)在計(jì)算設(shè)備上的安全分區(qū)360內(nèi)。另外,文件同步軟件348可以將新文檔或者修改的文檔推送至文檔儲(chǔ)存器352。在一些示例中,文件同步軟件348或者子系統(tǒng)340的其它方面還可以針對文檔儲(chǔ)存器348提供檢入/檢出功能,這可以使用戶能夠在不存在同時(shí)打開并且編輯相同文檔的另一用戶情況下打開編輯文檔。

      文件同步軟件348可以從文檔儲(chǔ)存器352獲得一個(gè)或多個(gè)文檔的集合。文件同步軟件348然后分析一個(gè)或多個(gè)文檔的集合以識別未呈現(xiàn)在安全分區(qū)中的文檔。在識別任何遺漏的文檔之后,文件同步軟件348獲得遺漏的文檔的副本并且將其存儲(chǔ)在安全分區(qū)360內(nèi)。在一些示例中,文件同步軟件348還確定存儲(chǔ)在安全分區(qū)360上的任何文檔是否與存儲(chǔ)在文檔儲(chǔ)存器352中的版本不同。

      例如,文件同步軟件348可以生成在安全分區(qū)上的一個(gè)或者多個(gè)文檔的散列值并且將在安全分區(qū)上的一個(gè)或者多個(gè)文檔的散列值與在文檔儲(chǔ)存器352中的對應(yīng)文檔進(jìn)行比較。如果在安全分區(qū)上的文件的散列值與在文檔儲(chǔ)存器352中的版本不同,則文件同步軟件348確定是要將文檔的副本從安全分區(qū)推送至文檔儲(chǔ)存器352,還是要從文檔儲(chǔ)存器352獲得文檔的副本并且替代安全分區(qū)360上的副本。為了做出這種確定,文件同步軟件348可以將在安全分區(qū)上的文件的最新修改的日期或者時(shí)間與在文檔儲(chǔ)存器352中的文件的最新修改的日期或者時(shí)間進(jìn)行比較。文件同步軟件348然后可以將最新修改版本復(fù)制到其它位置(例如,將最新修改版本從安全分區(qū)復(fù)制到文檔儲(chǔ)存器)。在一些示例中,如上文討論的,文件同步軟件348(或者子系統(tǒng)340)可以被配置為從文檔儲(chǔ)存器352檢出文檔。當(dāng)稍后將文檔檢入時(shí),文件同步軟件348然后可以將版本從安全分區(qū)復(fù)制到文檔儲(chǔ)存器352以替代文檔儲(chǔ)存器352上當(dāng)時(shí)存在的副本。

      然而,在一些示例中,子系統(tǒng)340可能無法從文檔儲(chǔ)存器352檢出文檔。因此,計(jì)算設(shè)備200的用戶能夠與編輯文檔儲(chǔ)存器中的相同文檔的副本的另一用戶同時(shí)編輯安全分區(qū)360上的文檔的副本。在這種情況下,文件同步軟件348可以確定兩個(gè)版本的文檔已經(jīng)“分叉”,因此,文件同步軟件348可以將文件從安全分區(qū)360復(fù)制到文檔儲(chǔ)存器作為文檔儲(chǔ)存器352中的新文檔。“分叉”僅僅是指從相同源文檔生成兩個(gè)(或者多個(gè))不同的文檔。在該示例中,文件同步軟件348或者子系統(tǒng)340可以存儲(chǔ)新“分叉”文檔與原始文檔有關(guān)的指示符。

      現(xiàn)在參照圖4,圖4示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例方法400。將針對圖2中示出的計(jì)算設(shè)備200和圖3中示出的示例系統(tǒng)300對圖4的方法400進(jìn)行討論。然而,示例方法不限于這種計(jì)算設(shè)備200或者這種示例系統(tǒng)300。相反,可以采用任何合適的設(shè)備或者系統(tǒng)。在該示例中,方法400從框410處開始。

      在框410中,安全軟件346獲得安全分區(qū)360的加密密鑰。如果不存在安全分區(qū),則安全軟件346在存儲(chǔ)介質(zhì)250上創(chuàng)建新分區(qū),以用作安全分區(qū)360。在一些方面,為了獲得加密密鑰,安全軟件346訪問與已知密鑰服務(wù)器的網(wǎng)絡(luò)地址相關(guān)聯(lián)的記錄并且將對加密密鑰的請求傳輸至密鑰服務(wù)器中的一個(gè)或者多個(gè)。在一些方面中,安全軟件346可以向服務(wù)器(諸如,服務(wù)器350)發(fā)送“心跳”或者其它消息以指示計(jì)算設(shè)備200正在操作,而不是對加密密鑰的特定請求。響應(yīng)于該請求或者響應(yīng)于接收到來自計(jì)算設(shè)備200的不同消息或者數(shù)據(jù),密鑰服務(wù)器(或者其它服務(wù)器)生成加密密鑰并且將該加密密鑰傳輸至設(shè)備。在一些方面中,密鑰服務(wù)器還提供指示加密密鑰的生存時(shí)間或者到期日期或者時(shí)間的配置信息。在一些方面中,計(jì)算設(shè)備200可以預(yù)先配置有用于與一個(gè)或者多個(gè)加密密鑰一起使用的生存時(shí)間參數(shù)或者可以從用戶或者管理員獲得生存時(shí)間參數(shù)。

      在一些方面中,與多個(gè)用戶相關(guān)聯(lián)的文件可以具有其自身的與每個(gè)用戶相關(guān)聯(lián)的加密密鑰并且可以按照如上所述的方式進(jìn)行刷新。例如,安全軟件348可以為每個(gè)用戶維護(hù)加密密鑰,并且還可以為用戶的一個(gè)或者多個(gè)聚合或者一組或者多組用戶維護(hù)加密密鑰。在一些示例中,當(dāng)多個(gè)用戶獲得訪問相同的文件或者多個(gè)文件的權(quán)限時(shí),可以動(dòng)態(tài)地確定這些聚合或者組。當(dāng)建立新聚合或者組時(shí)(諸如,通過確定兩個(gè)或者更多個(gè)用戶可以訪問相同的文件),安全軟件348可以向聚合請求加密密鑰,并且如下文將更詳細(xì)地討論的,安全軟件348可以分別為新密鑰維護(hù)一個(gè)或者多個(gè)定時(shí)器或者到期時(shí)間。

      在一些方面中,在將加密密鑰傳輸至計(jì)算設(shè)備200之前,服務(wù)器350使用加密散列函數(shù)(諸如,sha-1、sha-2、或者sha-3)來對加密密鑰進(jìn)行加密。

      在獲得加密密鑰之后,方法400進(jìn)入框420。

      在框420中,安全軟件348使用所獲得的加密密鑰來對安全分區(qū)進(jìn)行加密。在該示例中,安全軟件348使用加密密鑰來采用包括aes、twofish、和serpent機(jī)制并且使用基于xex(xor-encrypt-xor)的帶有密碼竊取的調(diào)整碼本模式(“xts”)方法的級聯(lián)加密機(jī)制。在一些示例中,加密密鑰可以與其它合適的加密方案一起用來對安全分區(qū)進(jìn)行加密。在一些示例中,計(jì)算設(shè)備200可以采用支持并且被配置為使用一個(gè)或者多個(gè)加密文件系統(tǒng)(諸如,微軟的加密文件系統(tǒng))的os。另外,如果尚未安裝安全分區(qū),則安全軟件346還可以將安全分區(qū)安裝到計(jì)算設(shè)備的文件系統(tǒng),或者其可以在稍后的時(shí)間之前延緩安裝。

      在一些示例中,安全軟件346可以使用不同的加密密鑰來生成對安全分區(qū)360的不同部分的加密。例如,如果多個(gè)不同的用戶可以在不同的時(shí)間訪問計(jì)算設(shè)備,則安全軟件346可以使用加密密鑰來對活躍用戶的文件進(jìn)行加密,但是可以不使用該密鑰來對其它用戶的文件進(jìn)行加密。因此,每個(gè)用戶具有其自身的可能一度活躍或者可以獨(dú)立于彼此到期的加密密鑰(或者多個(gè)密鑰),并且可以使用用戶自身的加密密鑰來對每個(gè)用戶的文件進(jìn)行加密。

      例如,兩個(gè)用戶可以訪問計(jì)算設(shè)備200。計(jì)算設(shè)備200可以將每個(gè)用戶指派到安全分區(qū)360上的不同的子目錄結(jié)構(gòu),以供用戶訪問文件。當(dāng)?shù)谝挥脩舻卿浀接?jì)算設(shè)備200中時(shí),計(jì)算設(shè)備200獲得加密密鑰并且使用新加密密鑰來對第一用戶的文件進(jìn)行加密,但不對安全分區(qū)上的其它文件進(jìn)行處理。如上所述,當(dāng)?shù)谝挥脩艄ぷ鲿r(shí),可以定期地刷新加密密鑰。稍后,當(dāng)?shù)谝挥脩糇N時(shí),安全軟件348維護(hù)用戶的加密密鑰,直到該加密密鑰到期為止。同時(shí),第二用戶登錄。計(jì)算設(shè)備200獲得第二加密密鑰并且對第二用戶的文件進(jìn)行加密。而且,如上所述,當(dāng)?shù)诙脩艄ぷ鲿r(shí),可以定期地刷新加密密鑰。稍后,第二用戶注銷,并且第一用戶再次登錄。計(jì)算設(shè)備確定與第一用戶相關(guān)聯(lián)的加密密鑰是否仍然有效。如果該加密密鑰有效,則其使能對用戶的在安全分區(qū)360上的文件進(jìn)行訪問。如果該加密密鑰無效,則安全軟件346請求新加密密鑰并且使用該新加密密鑰來對用戶的文件進(jìn)行加密。不同的示例可以針對一個(gè)或者多個(gè)用戶使用這種加密方法。

      在已經(jīng)對安全分區(qū)進(jìn)行加密之后,方法進(jìn)入框430。

      在框430中,文件同步軟件348使存儲(chǔ)在安全分區(qū)上的文件與存儲(chǔ)在文檔儲(chǔ)存器352中的文件同步。在該示例中,文件同步軟件348維護(hù)指示要在安全分區(qū)360與文檔儲(chǔ)存器352之間同步的文件的記錄。例如,文件同步軟件348可以從文檔儲(chǔ)存器352檢索在過去30天(或者其它預(yù)設(shè)時(shí)間周期或者用戶可配置的時(shí)間周期)內(nèi)用戶已經(jīng)在文檔儲(chǔ)存器352中訪問的所有文檔的列表,并且針對由計(jì)算設(shè)備200上的用戶創(chuàng)建的任何新文檔將條目添加至列表。

      為了使在安全分區(qū)360與文檔儲(chǔ)存器352之間的一個(gè)或者多個(gè)文件同步,文件同步軟件348可以識別存儲(chǔ)在安全分區(qū)360上的、未存儲(chǔ)在文檔儲(chǔ)存器352中的一個(gè)或者多個(gè)文件并且將這些文件中的一個(gè)或者多個(gè)復(fù)制到文檔儲(chǔ)存器352。文件同步軟件348還可以識別存儲(chǔ)在文檔儲(chǔ)存器352中的、未駐留在安全分區(qū)360內(nèi)的一個(gè)或者多個(gè)文件,并且從文檔儲(chǔ)存器352獲得文件中的一個(gè)或者多個(gè)的副本并且將這些副本保存到安全分區(qū)360。文件同步軟件348還可以分析存儲(chǔ)在安全分區(qū)360和文檔儲(chǔ)存器352中的文件版本并且確定在何時(shí)將不同的文件版本存儲(chǔ)在每個(gè)位置中。文件同步軟件348然后可以確定哪個(gè)版本最新并且可以嘗試?yán)幂^新的文件版本來重寫較舊的版本。在一些示例中,文件同步軟件348可以不利用較新的版本來重新較舊的文件版本,而是可以維護(hù)這兩個(gè)版本并且使這兩個(gè)版本同步。例如,如果計(jì)算設(shè)備200的用戶編輯安全分區(qū)360中的文檔,則文件同步軟件348可以將編輯后的文檔復(fù)制到文檔儲(chǔ)存器352并且指示要將其存儲(chǔ)作為先前文檔的新版本。

      在一些示例中,文件同步軟件348可以被配置為僅僅使安全分區(qū)的一部分(諸如,單個(gè)子目錄或者子目錄組)同步。例如,可以向采用計(jì)算設(shè)備200的每個(gè)用戶分派并且指派要維持其同步文件的子目錄。因此,文件同步軟件348可以只使登錄到計(jì)算設(shè)備200中的用戶的文件同步。這種特征可以減少用于使安全分區(qū)360與文檔儲(chǔ)存器352同步的處理和帶寬要求。

      在已經(jīng)發(fā)起對安全分區(qū)的同步之后,方法400進(jìn)入框440。

      在框440中,安全軟件348使能對安全分區(qū)360進(jìn)行訪問。例如,安全軟件348可以安裝安全分區(qū)360以使能訪問。在一些方面中,安全軟件348可以提供圖形用戶界面,該圖形用戶界面提供與存儲(chǔ)在安全分區(qū)360內(nèi)的一個(gè)或者多個(gè)文件對應(yīng)的圖標(biāo)或者其它圖形元素。在一些方面中,一旦已經(jīng)安裝了安全分區(qū)360,安全軟件348可能就不需要采取任何肯定步驟來使能對安全分區(qū)360進(jìn)行訪問。

      在安全軟件348已經(jīng)使能對安全分區(qū)360進(jìn)行訪問之后,方法400進(jìn)入框450。

      在框450中,安全軟件348確定是否要刷新一個(gè)或者多個(gè)加密密鑰。在該示例中,安全軟件348識別與加密密鑰的到期相關(guān)聯(lián)的一個(gè)或者多個(gè)時(shí)間周期。例如,加密密鑰可以具有與到期相關(guān)聯(lián)的兩個(gè)時(shí)間周期:刷新時(shí)間周期和到期時(shí)間周期。安全軟件348確定加密密鑰的開始時(shí)間,這可以基于獲得密鑰的時(shí)間、初次使用密鑰的時(shí)間、在對安全分區(qū)進(jìn)行加密的時(shí)間、或者一些其它時(shí)間。安全軟件348然后確定已經(jīng)過去的時(shí)間,并且將該已經(jīng)過去的時(shí)間與這兩個(gè)時(shí)間周期進(jìn)行比較。如果這兩個(gè)時(shí)間周期都尚未過去,則不需要刷新,并且方法返回至框440,并且用戶可以繼續(xù)訪問安全分區(qū)360。如果已經(jīng)過去了刷新時(shí)間周期或者已經(jīng)過去了到期時(shí)間周期,則方法400進(jìn)入框450,下文將對此進(jìn)行更詳細(xì)地描述。在一些情況下,刷新定時(shí)器可能會(huì)超時(shí),但安全設(shè)備無法獲得新加密密鑰,因此,安全軟件348還可以檢查到期時(shí)間。如果滿足到期時(shí)間,則方法還要進(jìn)入框450。

      在一些示例中,與確定已經(jīng)過去的時(shí)間(在該已經(jīng)過去的時(shí)間期間,密鑰一直表現(xiàn)活躍)相反,安全軟件348可以為密鑰建立一個(gè)或者多個(gè)到期時(shí)間。因此,安全軟件348可以檢查當(dāng)前時(shí)間與(多個(gè))到期時(shí)間以確定密鑰是否已經(jīng)到期或者需要刷新。例如,安全軟件348可以為密鑰維護(hù)兩個(gè)到期時(shí)間。第一到期時(shí)間是刷新時(shí)間,而第二到期時(shí)間是到期時(shí)間。當(dāng)滿足或者超過時(shí)間時(shí),方法400進(jìn)入框460。在一些示例中,刷新時(shí)間可以比到期時(shí)間更早。

      在一些示例中,安全軟件348可以只維護(hù)加密密鑰的單個(gè)定時(shí)器,并且當(dāng)定時(shí)器已經(jīng)過去或者已經(jīng)滿足時(shí),方法400進(jìn)入框450。進(jìn)一步地,在一些示例中,安全軟件348可以維護(hù)多個(gè)加密密鑰,諸如,如上所述,在具有使用相同的計(jì)算設(shè)備200的兩個(gè)用戶的示例中。在一些這種示例中,安全軟件348可以為每個(gè)加密密鑰維護(hù)相應(yīng)的刷新或者到期時(shí)間或者可以為所有加密密鑰維護(hù)單個(gè)時(shí)間/定時(shí)器或者兩者的組合。例如,在一個(gè)示例中,安全軟件348可以為每個(gè)加密密鑰維護(hù)單獨(dú)的刷新時(shí)間,但是可以維護(hù)單個(gè)到期定時(shí)器,在該單個(gè)到期定時(shí)器時(shí),所有的加密密鑰到期。

      如上所述,多個(gè)用戶可以訪問計(jì)算設(shè)備200。在一個(gè)這種示例中,安全軟件348為每個(gè)用戶維護(hù)不同的加密密鑰。當(dāng)?shù)谝挥脩舻卿浀接?jì)算設(shè)備中時(shí),安全軟件348可以只嘗試刷新與第一用戶相關(guān)聯(lián)的加密密鑰,但是安全軟件348仍然可以檢查以確定與不同的用戶相關(guān)聯(lián)的加密密鑰是否到期,因此,即使不需要刷新活躍用戶的加密密鑰,方法400也可以進(jìn)入框460。在一個(gè)這種示例中,(多個(gè))不活躍用戶的加密密鑰可以僅用于對安全分區(qū)的一部分進(jìn)行加密,因此,即使(多個(gè))不活躍用戶的(多個(gè))加密密鑰到期,活躍用戶的加密密鑰也可以保持活躍并且許可活躍用戶繼續(xù)訪問安全分區(qū)。

      如果安全軟件348確定要刷新加密密鑰,則方法400進(jìn)入框460,否則方法400返回至框440。

      在框460中,安全軟件348確定密鑰服務(wù)器是否可用于獲得新加密密鑰。在該示例中,安全軟件348嘗試與服務(wù)器350通信。如果安全軟件348能夠與服務(wù)器350通信,則方法400返回至框410,其中,如上所述,安全軟件獲得新加密密鑰。如果安全軟件348無法與服務(wù)器350通信,則安全軟件348可以嘗試與合適的替選服務(wù)器或者備份服務(wù)器通信。如果安全軟件348能夠與這種合適的替選服務(wù)器或者備份服務(wù)器通信,則方法400返回至框410,其中,如上所述,安全軟件348獲得新加密密鑰。然而,如果安全軟件348無法與合適的服務(wù)器通信,則方法進(jìn)入框470。

      在框470中,安全軟件348確定加密密鑰是否已經(jīng)到期。在該示例中,安全軟件348確定加密密鑰的到期周期是否已經(jīng)過去。如上文討論的,安全軟件348維護(hù)加密密鑰的刷新周期和到期周期。如果到期周期尚未過去,則方法返回至框440;然而,如果到期周期已經(jīng)過去,則方法進(jìn)入框472。在其它示例中,許多加密密鑰中僅有其中一個(gè)加密密鑰可能會(huì)到期。例如,如果安全軟件348為多個(gè)不同的用戶維護(hù)不同的加密密鑰并且只為活躍用戶刷新加密密鑰,則可以刷新一個(gè)用戶的加密密鑰,而其它用戶的加密密鑰可能會(huì)到期。

      在框472中,安全軟件348禁用對安全分區(qū)360的訪問。在該示例中,到期周期指示加密密鑰已經(jīng)使用了過長時(shí)間,并且因?yàn)椴⑽传@得任何新加密密鑰,所以安全軟件348禁用對安全分區(qū)360的訪問。在該示例中,安全軟件348通過在已經(jīng)獲得新加密密鑰之前禁用對加密密鑰的訪問,并且,除了關(guān)閉任何打開文件之外,通過拒絕定向至安全分區(qū)的所有應(yīng)用命令,來禁用對安全分區(qū)360的訪問。在一些示例中,安全軟件348可以卸載安全分區(qū)360以防止對其進(jìn)行訪問,直到已經(jīng)獲得新加密密鑰為止?;蛘咴谝恍┦纠校绻鄠€(gè)用戶分別具有不同的加密密鑰,則一個(gè)用戶的加密密鑰可能會(huì)到期,而另一用戶的加密密鑰仍然進(jìn)行刷新。在一個(gè)這種示例中,安全軟件348禁用對安全分區(qū)360中與到期密鑰相關(guān)聯(lián)的任何目錄或者文件的訪問。或者,如果文件與多個(gè)用戶相關(guān)聯(lián),則安全軟件348可以在防止對該文件進(jìn)行訪問的同時(shí)允許一個(gè)用戶訪問文件,諸如,通過禁用用戶的與該文件相關(guān)聯(lián)的訪問規(guī)則。下文將針對圖5對訪問規(guī)則進(jìn)行更詳細(xì)地討論。

      在已經(jīng)禁用了對安全分區(qū)360的訪問之后,方法返回至框460,以嘗試與密鑰服務(wù)器通信。

      雖然上文描述的示例方法400已經(jīng)被描述為根據(jù)特定順序進(jìn)行,但在一些方面中,步驟序列可以按照不同的順序發(fā)生,或者多個(gè)步驟可以同時(shí)發(fā)生。因此,當(dāng)查看圖4或者圖4中示出的示例方法400的對應(yīng)說明時(shí),不應(yīng)該暗示步驟的任何特定順序。

      現(xiàn)在參照圖5,圖5示出了用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的示例方法500。將針對圖2中示出的計(jì)算設(shè)備200和圖3中示出的示例系統(tǒng)300對圖5的方法500進(jìn)行討論。然而,示例方法不限于這種計(jì)算設(shè)備200或者這種示例系統(tǒng)300。相反,可以采用任何合適的設(shè)備或者系統(tǒng)。在該示例中,方法500從框510處開始。

      在框510中,監(jiān)視軟件342訪問命令隊(duì)列332。在該示例中,計(jì)算設(shè)備200執(zhí)行作為其它進(jìn)程(包括單線程進(jìn)程或者多線程進(jìn)程)而執(zhí)行的、使能多個(gè)應(yīng)用的os,以訪問由os提供的api函數(shù)來執(zhí)行各種功能,諸如,顯示信息、訪問文件、以及向計(jì)算設(shè)備200提供輸入。當(dāng)應(yīng)用調(diào)用api函數(shù)時(shí),該api函數(shù)生成命令并且將該命令插入到os的命令隊(duì)列中以供執(zhí)行。隨著時(shí)間的變化,os執(zhí)行隊(duì)列中的命令,并且最終到達(dá)新插入的命令并且執(zhí)行該新插入的命令。

      在圖3中示出的示例中,監(jiān)視軟件342訪問命令隊(duì)列332并且訪問隊(duì)列332中的命令。為了訪問命令隊(duì)列332,監(jiān)視軟件342作為os的驅(qū)動(dòng)級處的進(jìn)程而執(zhí)行,使得其提供充足的訪問權(quán)限來監(jiān)視命令隊(duì)列332。通常,按照由用戶執(zhí)行的軟件應(yīng)用不具備充足的權(quán)限來訪問命令隊(duì)列332的方式來執(zhí)行命令隊(duì)列332,盡管如此,在一些示例中,如果不需要特殊的訪問權(quán)限,則監(jiān)視軟件342可以在沒有額外權(quán)限的情況下訪問命令隊(duì)列332。在其它方面中,監(jiān)視軟件342可以不專門被配置為利用充足的訪問權(quán)限來操作,而是可以按照授予充足的訪問權(quán)限的方式執(zhí)行,諸如,使用命令(比如“sudo”)來將超級用戶權(quán)限提供給監(jiān)視軟件342。如果監(jiān)視軟件342無法訪問命令隊(duì)列332,則監(jiān)視軟件342可以向安全軟件348發(fā)送消息或者傳遞信息,該安全軟件348然后可以禁用對安全分區(qū)360的訪問,諸如,通過卸載安全分區(qū),或者導(dǎo)致所有的加密密鑰到期。

      在監(jiān)視軟件342已經(jīng)訪問了命令隊(duì)列之后,方法500進(jìn)入框520。

      在框520中,監(jiān)視軟件342識別命令隊(duì)列332中的命令。

      現(xiàn)在參照圖6,圖6示出了用于保護(hù)非受信設(shè)備中的數(shù)據(jù)的示例系統(tǒng)。在該示例中,監(jiān)視軟件342將指示器343建立到命令隊(duì)列332中以指示命令隊(duì)列332中監(jiān)視軟件342正在訪問的位置。在該示例中,因?yàn)槊铌?duì)列332是隊(duì)列,所以命令610-616按照從底部602到頂部601將其插入到隊(duì)列中的順序來執(zhí)行,因此,針對指示器343的特定位置,監(jiān)視軟件342只在朝向命令隊(duì)列332的頂部601的單個(gè)方向上訪問命令,在命令隊(duì)列332的頂部601中,添加新命令。在一些方面中,命令隊(duì)列可以具有不同的結(jié)構(gòu),或者可以包括多個(gè)命令隊(duì)列,例如,以適應(yīng)較高優(yōu)先級的命令(例如,從中斷處理程序下發(fā)的命令),或者可以不包括隊(duì)列結(jié)構(gòu)。在這種方面中,對命令結(jié)構(gòu)的訪問可以根據(jù)其架構(gòu)而變化,但是可以對其進(jìn)行相應(yīng)地監(jiān)視。

      當(dāng)首次啟動(dòng)監(jiān)視軟件342時(shí),在該示例中,如果在隊(duì)列332中存在命令,則該監(jiān)視軟件342設(shè)置處于命令隊(duì)列332的底部處的指示器343并且分析命令610。另外,當(dāng)首次啟動(dòng)監(jiān)視軟件342時(shí),監(jiān)視軟件342建立數(shù)據(jù)結(jié)構(gòu)以跟蹤嘗試對安全分區(qū)360執(zhí)行命令的進(jìn)程。數(shù)據(jù)結(jié)構(gòu)包括使得監(jiān)視軟件342能夠確定是否應(yīng)該允許命令隊(duì)列332中的命令的零個(gè)或者多個(gè)記錄。為了識別命令,監(jiān)視軟件342讀取指示器343所指向的命令并且識別命令的進(jìn)程id。檢測軟件342然后在其數(shù)據(jù)結(jié)構(gòu)中搜索進(jìn)程id。如果找到進(jìn)程id,則識別命令,并且方法500進(jìn)入框530。然而,在一些方面中,監(jiān)視軟件342還可以維護(hù)識別免受監(jiān)視的進(jìn)程id的記錄,諸如,安全軟件348或者文件同步軟件346。如果識別到免除進(jìn)程id,則監(jiān)視軟件342將指示器343移動(dòng)至命令隊(duì)列332中的下一個(gè)命令(例如,命令611)。進(jìn)一步地,在一些示例中,在數(shù)據(jù)結(jié)構(gòu)內(nèi)的記錄可以包括關(guān)于記錄是否與免除進(jìn)程id相關(guān)聯(lián)的指示符。例如,文件同步軟件346可以在某些時(shí)間時(shí)被免除,但是在其它時(shí)間時(shí)可能是不可免除的。例如,如果安全軟件348確定所有的加密密鑰到期,則安全軟件348通過使監(jiān)視軟件342改變文件同步軟件346進(jìn)程id的狀態(tài)以指示其是不可免除的,來防止文件同步。

      如果監(jiān)視軟件342在其命令的進(jìn)程id的數(shù)據(jù)結(jié)構(gòu)中沒有找到記錄,則監(jiān)視軟件342在命令中搜索與安全分區(qū)360相關(guān)聯(lián)的數(shù)據(jù),諸如,路徑名。例如,如果包括安全分區(qū)的路徑名位于命令內(nèi),則監(jiān)視軟件342識別命令,并且方法500進(jìn)入框530。另外,監(jiān)視軟件342為其數(shù)據(jù)結(jié)構(gòu)生成新記錄并且存儲(chǔ)與命令相關(guān)聯(lián)的信息,諸如,進(jìn)程id和所訪問的文件的路徑和文件名。因此,對于未來命令,監(jiān)視軟件342可以基于進(jìn)程id(而不是搜索路徑或者文件名)找到記錄。

      在一些方面中,命令隊(duì)列332中的命令可以與不直接與安全分區(qū)相關(guān)聯(lián)的進(jìn)程id(諸如,屏幕截圖命令)相關(guān)聯(lián)。這種命令可以由除了訪問安全分區(qū)中的數(shù)據(jù)的進(jìn)程之外的進(jìn)程下發(fā)。例如,如果用戶嘗試截取文字處理程序屏幕的示出了存儲(chǔ)在安全分區(qū)上的文檔的一部分的屏幕截圖,則屏幕截圖功能的進(jìn)程id可能與文字處理程序的進(jìn)程id不同。然而,在這種情況下,命令隊(duì)列332中用于屏幕截圖的命令通常將包括具有正在截取屏幕截圖的活躍窗口的進(jìn)程的進(jìn)程id。因此,監(jiān)視軟件342還可以在命令隊(duì)列332中的命令中搜索由另一進(jìn)程id引用的進(jìn)程id。如果監(jiān)視軟件342識別到屏幕截圖進(jìn)程id引用文字處理程序的進(jìn)程id,則監(jiān)視軟件342然后可以識別命令。

      在該示例中,監(jiān)視軟件342按照預(yù)定義速率(諸如,每毫秒)來訪問命令隊(duì)列332,該預(yù)定義速率可以根據(jù)用戶或者管理員偏好進(jìn)行配置。然而,在一些方面中,可以使用其它速率,或者可以采用其它觸發(fā)器。例如,啟動(dòng)新應(yīng)用可以觸發(fā)監(jiān)視軟件342訪問命令隊(duì)列332,或者監(jiān)視軟件342可以建立每當(dāng)將新命令輸入到命令隊(duì)列332中以檢查命令隊(duì)列332時(shí)發(fā)生的事件(諸如,中斷)。

      現(xiàn)在參照圖7,圖7示出了用于跟蹤用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的進(jìn)程id的示例數(shù)據(jù)結(jié)構(gòu)700。數(shù)據(jù)結(jié)構(gòu)700被配置為存儲(chǔ)可以用于識別命令隊(duì)列中的命令的零個(gè)或者多個(gè)記錄710。在該示例中,每個(gè)記錄包括用于進(jìn)程id、用戶id、應(yīng)用、路徑、和文件名的字段。進(jìn)程id是由os指派給執(zhí)行軟件應(yīng)用的實(shí)例的進(jìn)程id。在一些示例中,數(shù)據(jù)結(jié)構(gòu)可以跟蹤線程id。用戶id是與“擁有”進(jìn)程的用戶相關(guān)聯(lián)的標(biāo)識符。在大多數(shù)os中,即使只有一個(gè)用戶登錄到計(jì)算設(shè)備中,進(jìn)程也可以由不同的“用戶”(諸如,由不同的服務(wù)或者由os本身)啟動(dòng),從而可以具有不同的用戶id。在該示例中,用戶id“103”與用戶“jsmith”對應(yīng),而用戶id“100”與os對應(yīng)?!皯?yīng)用”字段是與進(jìn)程id相關(guān)聯(lián)的應(yīng)用的名稱?!奥窂健弊侄螘r(shí)由對應(yīng)的進(jìn)程id訪問的文檔的路徑,并且“文件名”字段是由對應(yīng)的進(jìn)程id訪問的文檔的名稱。在該示例中,存在已經(jīng)由監(jiān)視軟件342所識別的5個(gè)進(jìn)程,四個(gè)進(jìn)程已經(jīng)由用戶id“103”啟動(dòng),并且一個(gè)進(jìn)程已經(jīng)由os(具有用戶id“100”)啟動(dòng)。因此,當(dāng)監(jiān)視軟件342分析命令隊(duì)列332中的命令時(shí),其可以檢查數(shù)據(jù)結(jié)構(gòu)700以確定是否應(yīng)該識別命令,因?yàn)樵撁钆c安全分區(qū)有關(guān)。

      盡管在一些示例中,可以使用不同類型的數(shù)據(jù)結(jié)構(gòu),但是在該示例中,數(shù)據(jù)結(jié)構(gòu)700被存儲(chǔ)作為未分類的記錄鏈表。例如,可以使用散列表、關(guān)系數(shù)據(jù)庫、對象數(shù)據(jù)庫、分類列表、或者其它合適的數(shù)據(jù)結(jié)構(gòu)。

      如果監(jiān)視軟件342沒有找到與安全分區(qū)相關(guān)聯(lián)的數(shù)據(jù),則監(jiān)視軟件將指示器343移動(dòng)到命令隊(duì)列332中的下一個(gè)命令。監(jiān)視軟件然后再次重復(fù)進(jìn)程以確定是否應(yīng)該識別下一個(gè)命令611。

      在監(jiān)視軟件342識別命令之后,方法500進(jìn)入框530。應(yīng)該注意的是,方法500可以進(jìn)入框530,但是還相對于下一個(gè)命令(例如,命令611)大體上同時(shí)執(zhí)行框520處的功能。例如,在一些示例中,監(jiān)視軟件342可以創(chuàng)建新線程以執(zhí)行方法的剩余步驟530、540、542、550、560,而監(jiān)視軟件的主線程移動(dòng)到命令隊(duì)列中的下一個(gè)命令。

      在框530中,監(jiān)視軟件342訪問訪問規(guī)則344。在該示例中,將訪問規(guī)則344存儲(chǔ)在數(shù)據(jù)儲(chǔ)庫中,該數(shù)據(jù)儲(chǔ)庫可以是用于維護(hù)訪問規(guī)則344的數(shù)據(jù)庫、內(nèi)存中的數(shù)據(jù)結(jié)構(gòu)、或者其它合適的結(jié)構(gòu)。在該示例中,監(jiān)視軟件342首先識別與所識別的命令相關(guān)聯(lián)的路徑和文件名。例如,如上文針對框520討論的,監(jiān)視軟件342維護(hù)跟蹤與安全分區(qū)360相關(guān)聯(lián)的進(jìn)程id的數(shù)據(jù)結(jié)構(gòu)。監(jiān)視軟件342訪問并且獲得與進(jìn)程id相關(guān)聯(lián)的文件名,并且在訪問規(guī)則中搜索與文件名相關(guān)聯(lián)的一個(gè)或者多個(gè)訪問規(guī)則。在一個(gè)示例中,將訪問規(guī)則344存儲(chǔ)在關(guān)系數(shù)據(jù)庫中,并且監(jiān)視軟件342為任何記錄生成搜索查詢語言(“sql”)查詢,其中,記錄中的文件名與來自監(jiān)視軟件的數(shù)據(jù)結(jié)構(gòu)中的記錄的文件名相匹配。

      如果返回了多個(gè)記錄,則記錄軟件342搜索所返回的記錄以識別與和所識別的命令相關(guān)聯(lián)的用戶id相關(guān)聯(lián)的任何記錄。例如,對于相同文件,多個(gè)用戶可以具有不同的訪問規(guī)則。因此,監(jiān)視軟件342必須為文件和用戶兩者識別適當(dāng)?shù)脑L問規(guī)則。在一些示例中,對于相同用戶的不同應(yīng)用,可能存在不同的訪問規(guī)則。在一個(gè)這種情況下,監(jiān)視軟件342可以進(jìn)一步完善所返回的記錄以識別與文件、用戶、和與所識別的命令相關(guān)聯(lián)的應(yīng)用相關(guān)聯(lián)的記錄。在一些示例中,可以采用其它標(biāo)準(zhǔn)來識別要應(yīng)用的訪問規(guī)則。

      在一些示例中,可能會(huì)出現(xiàn)以下情況:多個(gè)訪問規(guī)則同等地適用于命令。在這樣一個(gè)示例中,監(jiān)視軟件342針對所識別的命令使用具有最嚴(yán)格的規(guī)則的訪問規(guī)則。例如,如果所識別的命令是“打印”命令并且兩個(gè)訪問規(guī)則均適用,但是一個(gè)訪問規(guī)則禁止打印,而另一個(gè)訪問規(guī)則許可打印,則監(jiān)視軟件342將比較用于所識別的命令的訪問規(guī)則,并且如果規(guī)則發(fā)生沖突,則選擇禁止命令的訪問規(guī)則。然而,在一些示例中,監(jiān)視軟件342可能能夠確定多個(gè)訪問規(guī)則的相對年齡并且選擇最新的訪問規(guī)則,這可以反映最新訪問規(guī)則變化,或者可以表示先前規(guī)則的例外。

      在一些示例中,管理員或者其它用戶可以配置監(jiān)視軟件342如何處理在兩個(gè)或者更多個(gè)訪問規(guī)則之間的沖突。例如,管理員可以基于待執(zhí)行的命令來建立沖突解決規(guī)則。在一個(gè)示例中,管理員可以配置監(jiān)視軟件342來為命令“移動(dòng)”、“復(fù)制”、“粘貼”、“重命名”、“另存為”、“保存”、和“電子郵件”解決沖突,以選擇最嚴(yán)格的訪問規(guī)則,而命令“打開”和“打印”可以采用最不嚴(yán)格的訪問規(guī)則。這種沖突解決方案可以允許用戶打開并且查看文檔,但并不編輯文件或者將文件移除安全分區(qū),即,這種沖突解決方案可以提供對文件的一些只讀訪問。

      在一些方面中,訪問規(guī)則344可以包括默認(rèn)規(guī)則和用戶特定的規(guī)則。因此,搜索針對命令的規(guī)則可以始終返回兩個(gè)訪問規(guī)則:默認(rèn)規(guī)則和用戶特定的規(guī)則。在這種情況下,如果存在用戶特定的規(guī)則,則監(jiān)視軟件342可以始終使用用戶特定的規(guī)則,否則使用默認(rèn)規(guī)則。替選地,如果未找到針對文件的訪問規(guī)則,如果存在一個(gè)默認(rèn)規(guī)則,則監(jiān)視軟件342可以搜索默認(rèn)規(guī)則并且應(yīng)用默認(rèn)規(guī)則,或者如果未找到任何訪問規(guī)則,則監(jiān)視軟件342可以僅僅拒絕所有命令。

      在一些示例中,監(jiān)視軟件342可以不直接訪問訪問規(guī)則,相反,可以將消息傳輸至另一進(jìn)程(諸如,訪問規(guī)則進(jìn)程),其確定是否允許所識別的命令。例如,監(jiān)視軟件342可以識別命令并且將包括命令的至少一部分的消息傳輸至第二進(jìn)程。第二進(jìn)程然后響應(yīng)于接收到消息而訪問訪問規(guī)則數(shù)據(jù)儲(chǔ)庫以識別與所識別的命令相關(guān)聯(lián)的訪問規(guī)則。

      在監(jiān)視軟件342已經(jīng)識別了與所識別的命令相關(guān)聯(lián)的訪問規(guī)則之后,方法500進(jìn)入框540。

      在框540中,監(jiān)視軟件342確定所識別的規(guī)則是否許可所識別的命令被執(zhí)行。為了確定是否許可命令,監(jiān)視軟件342識別所識別的規(guī)則中具有與所識別的命令相關(guān)聯(lián)的權(quán)限的字段。例如,如果所識別的命令是“打開”命令,則監(jiān)視軟件342識別所識別的規(guī)則中與“打開”命令的權(quán)限對應(yīng)的字段。在該示例中,具有權(quán)限的字段具有二進(jìn)制值—可以許可或者不許可命令。然而,在一些示例中,一個(gè)或者多個(gè)字段可以具有不同種類的值。例如,字段可以在特定次數(shù)內(nèi)許可特定操作,例如,最多可以許可用戶打開文件5次。在一些示例中,訪問規(guī)則字段可以包括日期或者時(shí)間,從而使得可以先于存儲(chǔ)在字段中的日期或者時(shí)間(或者在存儲(chǔ)在字段中的日期或者時(shí)間時(shí))執(zhí)行命令,但是在日期或者時(shí)間之后不許可執(zhí)行命令。更進(jìn)一步的變型也是可能的。

      在一些示例中,如上文討論的,監(jiān)視軟件342與第二進(jìn)程通信以確定是否允許命令,第二進(jìn)程可以生成指示是否允許命令的響應(yīng)并且將該響應(yīng)傳輸至監(jiān)視軟件342。例如,第二進(jìn)程可以生成包括與從監(jiān)視軟件接收的消息對應(yīng)的值的響應(yīng)消息,該響應(yīng)消息可以包括所識別的命令的進(jìn)程id并且包括指示是否允許命令的值。第二進(jìn)程然后可以將響應(yīng)消息傳輸至監(jiān)視軟件342。

      如果監(jiān)視軟件342確定允許所識別的命令,則方法進(jìn)入框542。

      在框542中,監(jiān)視軟件342未針對所識別的命令采取進(jìn)一步的動(dòng)作。在該示例中,監(jiān)視軟件342已經(jīng)至少部分地基于訪問規(guī)則來確定允許所識別的命令,因此,允許命令被os執(zhí)行。在一些示例中,監(jiān)視軟件342可以在審計(jì)日志345中生成條目以指示檢測到所識別的命令、識別到對應(yīng)規(guī)則、和許可所識別的命令。在一些示例(諸如,上文討論的一個(gè)示例)中,監(jiān)視軟件342可以更新訪問規(guī)則,諸如,對與可以對文檔執(zhí)行特定命令的次數(shù)相關(guān)聯(lián)的值進(jìn)行減量。

      在已經(jīng)完成了框542處的任何處理之后,方法500返回至框520,在框520中,監(jiān)視軟件識別下一個(gè)命令。

      如果在框540中監(jiān)視軟件342確定不允許所識別的命令,則方法500進(jìn)入框550。

      在框550中,監(jiān)視軟件342檢測來自命令隊(duì)列332的所識別的命令。在該示例中,使用插入有命令的循環(huán)緩沖區(qū)來提供命令隊(duì)列332。循環(huán)包括用于隊(duì)列的頭部和用于隊(duì)列的尾部的指示器,使得在隊(duì)列的尾部處添加新命令,并且從隊(duì)列的頭部取出待執(zhí)行的命令。當(dāng)將新命令添加至隊(duì)列時(shí),對尾部指示器進(jìn)行增量,并且如果到達(dá)緩沖區(qū)的末尾,則設(shè)置為指向緩沖區(qū)的開頭。類似地,當(dāng)執(zhí)行命令時(shí),如同尾部指示器那樣,對頭部指示器進(jìn)行增量,并且如果到達(dá)緩沖區(qū)的末尾,則設(shè)置為指向緩沖區(qū)的開頭。

      為了從循環(huán)緩沖區(qū)刪除命令,監(jiān)視軟件342可以將“無操作”或者相似條目替換在命令隊(duì)列內(nèi),使得當(dāng)os到達(dá)循環(huán)緩沖區(qū)中的條目時(shí),不執(zhí)行操作,或者監(jiān)視軟件342可以改變所識別的命令中的值以指示已經(jīng)執(zhí)行了命令,使得其在頭部指示器到達(dá)其時(shí)不會(huì)被執(zhí)行。如果所識別的命令處于與頭部指示器的位置相鄰的位置中,則監(jiān)視軟件342可以僅移動(dòng)尾部指示器,使得插入到命令隊(duì)列中的下一個(gè)命令重寫禁用的命令。在一些示例中,監(jiān)視軟件342可以重寫“無操作”的命令或者相似命令并且移動(dòng)尾部指示器,使得下一個(gè)命令重寫“無操作”命令。在新命令重寫禁用的命令之前,如果頭部指示器到達(dá)尾部指示器,則這種方面可以消除潛在的競態(tài)條件。在一些示例中,如果禁用的命令緊鄰頭部指示器,則監(jiān)視軟件342可以調(diào)整頭部指示器以跳過禁用的命令。

      在一些示例中,命令隊(duì)列332可以使用不同的數(shù)據(jù)結(jié)構(gòu),諸如,鏈表或者雙向鏈表。在一個(gè)這種示例中,監(jiān)視軟件342可以刪除列表中的節(jié)點(diǎn),并且修改與所刪除的節(jié)點(diǎn)鄰近的兩個(gè)列表節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)中的指示器,使得這兩個(gè)列表節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)指向彼此,從而繞過所刪除的節(jié)點(diǎn)。在一些示例中,可以將命令隊(duì)列332存儲(chǔ)在不同類型的數(shù)據(jù)結(jié)構(gòu)中,并且可以在這種示例中采用合適的刪除策略。

      除了從命令隊(duì)列332刪除所識別的命令之外,監(jiān)視軟件342還可以將條目添加至審計(jì)日志345。例如,監(jiān)視軟件342可以添加具有時(shí)間和日期戳的條目、用戶名、文件名、所識別的命令、和應(yīng)用名。

      在一些示例中,在監(jiān)視軟件342從命令隊(duì)列332刪除所識別的命令之后,方法500返回至框520以分析附加命令。在一些示例中,如上文討論的,監(jiān)視軟件342可以啟動(dòng)線程以確定是否應(yīng)該允許所識別的命令。在一個(gè)這種示例中,在從命令隊(duì)列332刪除所識別的命令之后,線程可以終止。在一些示例中,方法可以進(jìn)入框560。

      在框560中,監(jiān)視軟件342向用戶提供禁用所嘗試的命令的通知。當(dāng)監(jiān)視軟件342從命令隊(duì)列332刪除所識別的命令時(shí),除非向用戶提供通知,否則根本不執(zhí)行命令,并且用戶可能不會(huì)認(rèn)識到這不是由于故障或者一些其它錯(cuò)誤造成的。因此,在一些示例中,可以向用戶提供通知。例如,監(jiān)視軟件342可以生成并且顯示指示禁用的命令的對話框以及指示用戶未被授權(quán)執(zhí)行命令的消息。在一些示例中,可以向用戶提供聽覺、視覺、觸覺、或者其它通知以指示禁用命令或者未執(zhí)行命令。

      在監(jiān)視軟件342提供通知之后,方法500返回至框520以識別下一個(gè)命令。在一些示例中,如上文討論的,監(jiān)視軟件342可以啟動(dòng)線程以確定是否應(yīng)該允許所識別的命令。在一個(gè)這種示例中,在向用戶提供通知之后,線程可以終止。

      在一些示例中,圖5的方法500可以與圖4的示例方法400并行執(zhí)行或者結(jié)合圖4的示例方法400執(zhí)行。如上所述,圖4的示例方法400可以提供對安全分區(qū)360的訪問,而圖5的方法500可以調(diào)節(jié)在安全分區(qū)360內(nèi)的不同文件上執(zhí)行的命令。然而,圖5的示例方法500可以獨(dú)立于圖4而執(zhí)行,并且不需要圖4的示例方法400的性能。進(jìn)一步地,可以執(zhí)行圖4的示例方法400,但不執(zhí)行圖5的示例方法。然而,執(zhí)行方法400、500可以提供用于保護(hù)非受信設(shè)備上的數(shù)據(jù)的增強(qiáng)的益處。

      雖然根據(jù)在各種機(jī)器上執(zhí)行的軟件描述了本文的方法和系統(tǒng),但是也可以將方法和系統(tǒng)實(shí)現(xiàn)為專門配置的硬件,諸如,專門執(zhí)行各種方法的現(xiàn)場可編程門陣列(fpga)。例如,可以在數(shù)字電子電路系統(tǒng)、或者計(jì)算機(jī)硬件、固件、軟件、或者它們的組合中來實(shí)現(xiàn)示例。在一個(gè)示例中,設(shè)備可以包括一個(gè)或者多個(gè)處理器。處理器包括計(jì)算機(jī)可讀介質(zhì),諸如,耦合至處理器的隨機(jī)存取存儲(chǔ)器(“ram”)。處理器執(zhí)行存儲(chǔ)在存儲(chǔ)器中的計(jì)算機(jī)可執(zhí)行程序指令,諸如,執(zhí)行用于編輯圖像的一個(gè)或者多個(gè)計(jì)算機(jī)程序。這種處理器可以包括微處理器、數(shù)字信號處理器(“dsp”)、專用集成電路(“asic”)、現(xiàn)場可編程門陣列(“fpga”)、和狀態(tài)機(jī)。這種處理器可以進(jìn)一步包括可編程電子設(shè)備,諸如,可編程邏輯控制器(“plc”)、可編程中斷控制器(“pic”)、可編程邏輯設(shè)備(“pld”)、可編程只讀存儲(chǔ)器(“prom”)、電可編程只讀存儲(chǔ)器(“eprom”或者“eeprom”)、或者其它相似的設(shè)備。

      這種處理器可以包括介質(zhì)(例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì))或者可以與介質(zhì)進(jìn)行通信,該介質(zhì)可以存儲(chǔ)指令,該指令在由處理器執(zhí)行時(shí)可以使處理器:在由處理器執(zhí)行或者協(xié)助時(shí),執(zhí)行本文描述的步驟。計(jì)算機(jī)可讀介質(zhì)的示例可以包括,但不限于,電子存儲(chǔ)設(shè)備、光學(xué)存儲(chǔ)設(shè)備、磁性存儲(chǔ)設(shè)備、或者能夠向處理器(諸如,在web服務(wù)器中的處理器)提供計(jì)算機(jī)可讀指令的其它存儲(chǔ)設(shè)備。介質(zhì)的其它示例包括,但不限于,軟盤、cd-rom、磁盤、存儲(chǔ)器芯片、rom、ram、asic、配置處理器、所有光學(xué)介質(zhì)、所有磁帶或者其它磁性介質(zhì)、或者計(jì)算機(jī)處理器可以讀取的任何其它介質(zhì)。所描述的處理器和處理可以在一個(gè)或者多個(gè)結(jié)構(gòu)中,并且可以通過一個(gè)或者多個(gè)結(jié)構(gòu)分散。處理器可以包括用于執(zhí)行本文描述的方法中的一種或者多種(或者方法的部分)的代碼。

      一些示例的前述說明僅僅是出于說明和描述之目的而呈現(xiàn)的,并且不旨在詳盡地展現(xiàn)所公開的精確形式或者限制所公開的精確形式。對于本領(lǐng)域的技術(shù)人員而言,在不脫離本公開的精神和范圍的情況下,對本公開的許多修改和適應(yīng)將是顯而易見的。

      本文對示例或者實(shí)施方式的引用意味著結(jié)合示例描述的特定特征、結(jié)構(gòu)、操作、或者其它特性可以被包括在本公開的至少一種實(shí)施方式中。本公開不限于同樣地進(jìn)行了描述的特定示例或者實(shí)施方式。在說明書的各處中出現(xiàn)的短語“在一個(gè)示例中”、“在示例中”、“在一種實(shí)施方式中”、或者“在實(shí)施方式中”、或者相同短語的變型不一定指的是相同示例或者實(shí)施方式。在本說明書中針對一個(gè)示例或者一種實(shí)施方式描述的任何特定特性、結(jié)構(gòu)、操作、或者其它特性可以與關(guān)于任何其它示例或者實(shí)施方式所描述的其它特征、結(jié)構(gòu)、操作、或者其它特性組合。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1