專利名稱:基于秘密模式來切換要訪問的文件夾的方法及計算機(jī)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于基于秘密模式來切換要訪問的文件夾的方法、程序、以及計算機(jī)系統(tǒng),更具體地說,涉及一種根據(jù)安全級別的文件訪問控制方案。
背景技術(shù):
在傳統(tǒng)的文件訪問控制方法中,已經(jīng)知道了一種加強(qiáng)對計算機(jī)中文件等的訪問控制的方案。在這種方案中,預(yù)先向諸如文件之類的訪問對象(客體)以及諸如用戶進(jìn)程之類的訪問主體(主體)分別分配“秘密”和“常規(guī)”的安全級別。通過比較主體和客體的安全級別,來確定從主題對客體的可訪問性。這種方案通常被稱作“多級安全(MLS)”。
這種MLS的概念作為強(qiáng)制訪問控制(MAC)在實踐中已經(jīng)被引入了例如作為具有加強(qiáng)的安全功能的OS(操作系統(tǒng))而受到注目的各種“安全OS”中。在這種強(qiáng)制訪問控制之下,用戶進(jìn)程不能對安全級別比用戶進(jìn)程低的文件執(zhí)行寫入(這稱作“NWD原則禁止下寫原則”),并且相反,不能讀取安全級別比用戶進(jìn)程高的文件(這稱作“NRU原則禁止上讀原則”)。以這種方式,嚴(yán)格防止了高安全級別的信息被傳送到只有低安全級別的用戶。還經(jīng)常使用這樣一種原則來代替NWD原則用戶進(jìn)程只可以在與用戶進(jìn)程自身相同的安全級別上執(zhí)行寫入。結(jié)果,可以防止對無意的安全級別進(jìn)行提升,但是犧牲了靈活性。
關(guān)于上述根據(jù)安全級別來實現(xiàn)文件訪問控制的方案,存在如下兩種公知的實現(xiàn)方案。
(第一傳統(tǒng)技術(shù))在一種公知方案中,每個文件具有關(guān)于安全級別的屬性信息。在I/O(輸入/輸出)文件時,將屬性信息與當(dāng)前運(yùn)行的進(jìn)程的安全級別進(jìn)行比較。結(jié)果,如果訪問不滿足NWD原則或NRU原則,則阻斷對文件的訪問。這使用專門創(chuàng)建的專用文件系統(tǒng)來完成。如果訪問安全級別比進(jìn)程的安全級別低的文件,則文件的安全級別被提升到與進(jìn)程相同的安全級別。
(第二傳統(tǒng)技術(shù))在SUN MICROSYSTEM,Inc.所制造的安全Solaris(商業(yè)名稱)中實現(xiàn)了另一方案。在這種方案中,包括兩種特殊目錄,即,多級目錄(MLD)和單級目錄(SLD),以對應(yīng)于秘密模式。MLD是允許多個SLD直接位于其下的特殊目錄。SLD是與具體安全級別一一對應(yīng)的特殊目錄。通過組合這些特殊目錄,用戶可看到的目錄可以與用戶的安全級別相匹配。
涉及上述方案的傳統(tǒng)技術(shù)文檔包括JP-A-2002-288030、JP-A-2004-126634、JP-A-1996-249238、以及JP-A-1998-312335。
如上所述,通過為每個文件提供關(guān)于安全級別的屬性來管理文件的技術(shù)(第一傳統(tǒng)技術(shù))以及對被分為多個安全級別的目錄進(jìn)行排列的另一技術(shù)(第二傳統(tǒng)技術(shù))是實施MLS的傳統(tǒng)技術(shù)。這些技術(shù)中每一種都采用增強(qiáng)現(xiàn)有文件系統(tǒng)的方法。因此,出現(xiàn)了下列問題。
第一個問題是用戶難以在一個應(yīng)用(AP)中同時操作位于常規(guī)模式和秘密模式的進(jìn)程。這是因為,在第一傳統(tǒng)技術(shù)中,如果兩個AP都輸出相同的臨時文件,則安全級別彼此沖突,因此,應(yīng)用不能同時共存。這導(dǎo)致了對AP操作的限制。
第二個問題是在常規(guī)模式和秘密模式中不可避免地必須使用不同的配置文件。因此,用戶被操作環(huán)境的模式之間的設(shè)置區(qū)別搞糊涂。這是因為,在第一傳統(tǒng)技術(shù)中,如果在秘密模式中更新配置文件,則提升了該文件的安全級別,并且不能從常規(guī)級別的進(jìn)程對其進(jìn)行讀取。另一方面,在第二傳統(tǒng)技術(shù)中,在其中要放置配置文件的目錄位于不同的單級目錄中。
第三個問題是與現(xiàn)有文件系統(tǒng)不兼容。因此,難以移植基于如下假設(shè)而創(chuàng)建的應(yīng)用存在由現(xiàn)有文件系統(tǒng)管理的訪問權(quán)限管理。這是因為,通過為每個文件提供增強(qiáng)的屬性信息或通過提供唯一的目錄屬性,增強(qiáng)了文件系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明的目的是,在基于安全級別的文件訪問控制方案中,對于一個應(yīng)用,允許用戶在同時操作處于常規(guī)模式和秘密模式的進(jìn)程時工作。
本發(fā)明的另一目的是克服操作環(huán)境的模式之間的設(shè)置差別使用戶造成混淆的情形。
另外,本發(fā)明的另一目的是能夠在以存在由現(xiàn)有文件系統(tǒng)管理的訪問權(quán)限管理的假設(shè)為基礎(chǔ)而創(chuàng)建的應(yīng)用中進(jìn)行操作。
為了達(dá)到上述目的,在本發(fā)明中,能夠處理秘密信息的進(jìn)程與不能處理秘密信息的進(jìn)程彼此分離。只從能夠處理秘密信息的進(jìn)程構(gòu)建可訪問的文件夾。秘密信息文件對常規(guī)進(jìn)程是隱藏的。另外,從處理秘密信息的進(jìn)程能夠透明地訪問秘密信息和非秘密信息。例如,如果從任意應(yīng)用程序發(fā)出了文件訪問請求,并且如果該應(yīng)用程序是秘密進(jìn)程,則請求訪問的文件的路徑被文件路徑重寫函數(shù)用預(yù)定秘密文件夾下的文件名代替,并將此通知給內(nèi)核。否則,如果應(yīng)用程序是不能處理秘密文件的常規(guī)進(jìn)程,則切換訪問文件夾,從而防止對秘密文件夾下的文件進(jìn)行文件訪問。結(jié)果,可以利用現(xiàn)有文件系統(tǒng)來強(qiáng)制執(zhí)行與安全級別相對應(yīng)的文件訪問。
本發(fā)明是在上述概念的基礎(chǔ)上完成的。
根據(jù)本發(fā)明,提供了一種在計算機(jī)中使用的用于基于秘密模式來切換要訪問的文件夾的方法。計算機(jī)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序。內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng)。應(yīng)用程序通過文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問。該方法包括在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)的步驟秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;在計算機(jī)啟動應(yīng)用程序時,指定功能級別的步驟,其中所述功能級別表示應(yīng)用程序應(yīng)該運(yùn)行為能夠處理秘密文件的秘密模式的進(jìn)程還是不能處理秘密文件的常規(guī)模式的進(jìn)程;當(dāng)從應(yīng)用程序接收到以指定文件路徑名、對盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定應(yīng)用程序是運(yùn)行為秘密模式的進(jìn)程還是運(yùn)行為常規(guī)模式的進(jìn)程的步驟;如果應(yīng)用程序運(yùn)行為秘密模式的進(jìn)程,則將指定文件路徑名重寫為與秘密根目錄下的秘密文件夾相對應(yīng)的文件路徑名,并且允許通過內(nèi)核對由所述文件路徑名指定的秘密文件夾中的秘密文件執(zhí)行文件訪問的步驟;以及如果應(yīng)用程序運(yùn)行為常規(guī)模式的進(jìn)程,則不允許對秘密文件夾中的秘密文件進(jìn)行文件訪問的步驟。
根據(jù)本發(fā)明,提供了一種程序,用于使計算機(jī)執(zhí)行用于基于秘密模式來切換要訪問的文件夾的方法。計算機(jī)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序。內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng)。應(yīng)用程序通過文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問。該方法包括在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)的步驟秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;在計算機(jī)啟動應(yīng)用程序時,指定功能級別的步驟,其中所述功能級別表示應(yīng)用程序應(yīng)該運(yùn)行為能夠處理秘密文件的秘密模式的進(jìn)程還是不能處理秘密文件的常規(guī)模式的進(jìn)程;當(dāng)從應(yīng)用程序接收到以指定文件路徑名、對盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定應(yīng)用程序是運(yùn)行為秘密模式的進(jìn)程還是運(yùn)行為常規(guī)模式的進(jìn)程的步驟;如果應(yīng)用程序運(yùn)行為秘密模式的進(jìn)程,則將指定文件路徑名重寫為與秘密根目錄下的秘密文件夾相對應(yīng)的文件路徑名,并且允許通過內(nèi)核對由所述文件路徑名指定的秘密文件夾中的秘密文件執(zhí)行文件訪問的步驟;以及如果應(yīng)用程序運(yùn)行為常規(guī)模式的進(jìn)程,則不允許對秘密文件夾中的秘密文件進(jìn)行文件訪問的步驟。
根據(jù)本發(fā)明,提供了一種用于基于秘密模式來切換要訪問的文件夾的計算機(jī)系統(tǒng)。計算機(jī)系統(tǒng)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序。內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng)。應(yīng)用程序通過文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問。該計算機(jī)系統(tǒng)包括裝置,用于在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;裝置,用于在計算機(jī)啟動應(yīng)用程序時,指定功能級別,其中所述功能級別表示應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;裝置,用于在從應(yīng)用程序接收到以指定文件路徑名、對盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定應(yīng)用程序是運(yùn)行為秘密模式的進(jìn)程還是運(yùn)行為常規(guī)模式的進(jìn)程;裝置,用于如果應(yīng)用程序運(yùn)行為秘密模式的進(jìn)程,則將指定文件路徑名重寫為與秘密根目錄下的秘密文件夾相對應(yīng)的文件路徑名,并且允許通過內(nèi)核對由所述文件路徑名指定的秘密文件夾中的秘密文件執(zhí)行文件訪問;以及裝置,用于如果應(yīng)用程序運(yùn)行為常規(guī)模式的進(jìn)程,則不允許對秘密文件夾中的秘密文件進(jìn)行文件訪問。
根據(jù)本發(fā)明,可以利用現(xiàn)有文件系統(tǒng)來強(qiáng)制地執(zhí)行根據(jù)安全級別的文件訪問。因此,用戶可以在同時操作處于常規(guī)模式和秘密模式的進(jìn)程時工作。另外,可以克服操作環(huán)境之間的設(shè)置差別使用戶造成混淆的情形。另外,即使應(yīng)用程序是在存在由現(xiàn)有文件系統(tǒng)管理的訪問權(quán)限管理的前提下創(chuàng)建的,也可以運(yùn)行而不需要改變。
在附圖中圖1是示出了根據(jù)本發(fā)明第一實施例的計算機(jī)系統(tǒng)的整體結(jié)構(gòu)的圖;圖2是解釋圖1所示的文件路徑重寫函數(shù)的操作的流程圖;圖3是解釋盤設(shè)備中目錄結(jié)構(gòu)的樹狀圖;圖4是示出了根據(jù)本發(fā)明第二實施例的計算機(jī)系統(tǒng)的整體結(jié)構(gòu)的圖;圖5是解釋圖4所示的文件訪問強(qiáng)制函數(shù)的操作的流程圖。
具體實施例方式
現(xiàn)在參考附圖,以最優(yōu)方式來描述根據(jù)本發(fā)明的用于基于安全級別來切換要訪問的文件夾的方法、程序、以及計算機(jī)系統(tǒng)的優(yōu)選實施例。
(第一實施例)圖1是示出了根據(jù)本實施例的計算機(jī)系統(tǒng)的整體結(jié)構(gòu)的圖。
參考圖1,根據(jù)本實施例的計算機(jī)系統(tǒng)包括CPU(中央處理單元)2,其執(zhí)行預(yù)先設(shè)置的軟件(程序)1以實現(xiàn)軟件1的功能;以及盤設(shè)備103(例如硬盤驅(qū)動設(shè)備),其通過總線電連接到CPU2(但是在圖1所示的示例中省略了盤設(shè)備103之外的其他輸入/輸出(I/O)設(shè)備)。
軟件1包括應(yīng)用程序(后文簡稱為“應(yīng)用”)101;內(nèi)核10,其具有控制對盤設(shè)備103的各種文件訪問的文件系統(tǒng)102;并且在本實施例中還具有文件路徑重寫函數(shù)104以及AP(應(yīng)用)啟動檢測函數(shù)105。這里所使用的應(yīng)用101以及具有文件系統(tǒng)102的內(nèi)核10是由普通計算機(jī)及其OS提供的。因此,將省略對它們的函數(shù)的結(jié)構(gòu)和細(xì)節(jié)的描述。文件路徑重寫函數(shù)104和AP啟動檢測函數(shù)105構(gòu)成了用于切換要訪問的文件夾的方法和程序的各個處理步驟的主要部分,并且構(gòu)成了根據(jù)本發(fā)明的計算機(jī)系統(tǒng)的各個裝置的主要部分。這些函數(shù)104和105以及內(nèi)核10和應(yīng)用101被安裝為由CPU2執(zhí)行的控制程序。
文件路徑重寫函數(shù)104例如被實現(xiàn)為動態(tài)鏈接庫(DLL)。當(dāng)從應(yīng)用101調(diào)用涉及對盤設(shè)備103的文件訪問的系統(tǒng)調(diào)用時,讀取該函數(shù)104,并且該函數(shù)104變?yōu)槟軌蚬ぷ鳌?br>
AP啟動檢測函數(shù)105用來監(jiān)視應(yīng)用101的啟動,并且在任意應(yīng)用101啟動時,替換應(yīng)用101的函數(shù)指針,從而在文件訪問時調(diào)用文件路徑重寫函數(shù)104。
接著,將參考圖1至3具體描述本實施例的操作。
圖2是示出了路徑重寫函數(shù)的操作的流程圖。圖3示出了盤設(shè)備103中的目錄結(jié)構(gòu)。
首先,如圖3所示,作為盤設(shè)備103中的目錄結(jié)構(gòu),在秘密根目錄“sec_root”下預(yù)先定義去往秘密文件夾的路徑,其中秘密文件夾用于寫入作為秘密信息的秘密文件。秘密根目錄“sec_root”位于常規(guī)根目錄“/”之下。秘密根目錄“sec_root”下的目錄“bin”、“doc”、“tmp”等的目錄結(jié)構(gòu)被設(shè)置為與常規(guī)根目錄下的常規(guī)文件夾“bin”、“doc”、“tmp”等的目錄結(jié)構(gòu)相同,其中常規(guī)文件夾用于寫入作為非秘密信息的常規(guī)文件。
接著,在啟動應(yīng)用101時,用戶預(yù)先指定所啟動的進(jìn)程是能夠處理秘密信息的秘密模式的進(jìn)程還是不能處理秘密信息的常規(guī)模式的進(jìn)程。對安全級別的這種指定例如通過將其設(shè)置為環(huán)境變量,被傳送到文件路徑重寫函數(shù)104。
接著,AP啟動檢測函數(shù)105檢測到任意應(yīng)用101的啟動,并且重寫應(yīng)用101進(jìn)行的文件訪問中的系統(tǒng)調(diào)用的函數(shù)指針。這樣,在訪問文件時,調(diào)用與文件路徑重寫函數(shù)104相對應(yīng)的函數(shù)。
接著,文件路徑重寫函數(shù)104基于從應(yīng)用101傳送來的進(jìn)程的秘密模式、去往請求訪問的文件的路徑、以及訪問請求的內(nèi)容,執(zhí)行下列處理(見圖2)。
如圖2所示,文件路徑重寫函數(shù)104首先確定進(jìn)程是否處于秘密模式(步驟A1)。結(jié)果,如果進(jìn)程處于秘密模式(是),則文件路徑重寫函數(shù)104確定文件訪問請求是否是寫指令(步驟A2)。
結(jié)果,如果該請求是寫指令(是),則重寫文件路徑(步驟A4)。此時,通過向被寫為完全路徑的文件名的頭部加入“/sec_root”,文件路徑被重寫為相對于被視作根目錄的“/sec_root”的相對路徑。例如,如果給定的文件是“/doc/filel”的路徑文件名,則在這種情形中通過重寫該文件路徑名,文件名被替換為“/sec_root/doc/filel”的路徑名。接著,對該路徑名執(zhí)行寫指令(步驟A6)。
另一方面,如果在步驟A2中文件訪問請求是寫指令之外的其他指令(否),例如,如果請求是讀指令,則確定在通過向給定文件路徑的頭部加入“/sec_root”所定義的路徑處是否存在文件(步驟A3)。結(jié)果,如果文件存在,則與寫指令的情形中一樣,重寫文件路徑名(步驟A4)。如果不存在,則不執(zhí)行重寫。接著,對該路徑名執(zhí)行讀指令(步驟A6)。
同樣,在步驟A1中,如果進(jìn)程處于常規(guī)模式,則確認(rèn)給定的文件路徑是否是“/sec_root”下的文件名(步驟A5)。結(jié)果,如果給定文件路徑是“/sec_root”下的文件,則返回指示不可訪問的錯誤(步驟A7)。如果給定文件路徑不同于“/sec_root”,則如往常一樣執(zhí)行文件訪問指令(步驟A6)。
因此,根據(jù)本實施例,可以獲得下列優(yōu)點(diǎn)。
第一個優(yōu)點(diǎn)是要訪問的文件夾被切換為與秘密模式相對應(yīng),并且可以防止處于常規(guī)模式的進(jìn)程訪問秘密文件夾中的文件以及向秘密文件夾之外的任何其他文件夾寫入文件。這是因為通過重寫路徑,由處于秘密模式的進(jìn)程所寫出的每個文件位于秘密文件夾之下。這也是因為從處于常規(guī)模式的進(jìn)程返回關(guān)于訪問秘密文件夾之下的文件的錯誤。
第二個優(yōu)點(diǎn)是可以透明地引用使用秘密模式和常規(guī)模式共有的一個相同文件名的文件。這是因為結(jié)構(gòu)被布置為能夠在秘密文件夾下具有與常規(guī)根目錄下的所有目錄結(jié)構(gòu)相對應(yīng)的這種目錄結(jié)構(gòu)。另外,因為執(zhí)行路徑重寫,所以在秘密模式和常規(guī)模式中,應(yīng)用程序可以通過指定相同的文件名來訪問文件。以這種方式,在秘密模式和常規(guī)模式中具有相同名稱的臨時文件可以位于不同目錄中,而應(yīng)用程序不會察覺。因此,可以解決在同時操作處于秘密模式和常規(guī)模式的進(jìn)程時臨時文件的安全級別沖突的問題。
第三個優(yōu)點(diǎn)是,即使處于秘密模式的進(jìn)程讀入及寫出常規(guī)文件,原始文件仍保持為常規(guī)文件,并且可以從處于常規(guī)模式的另一應(yīng)用程序訪問。
第四個優(yōu)點(diǎn)是不改變現(xiàn)有文件系統(tǒng)。這是因為不是通過擴(kuò)展內(nèi)核中的文件系統(tǒng)來執(zhí)行基于秘密模式的訪問控制,而是通過在上層中重寫文件路徑來實現(xiàn)。因此,可以利用現(xiàn)有文件系統(tǒng)。
在本實施例中,在常規(guī)模式中禁止對秘密文件夾的讀取和寫入。然而,可以如此布置結(jié)構(gòu)嚴(yán)格應(yīng)用前述NWD原則,從而允許對秘密文件夾進(jìn)行寫入。
同樣,在本實施例中,從處于秘密模式的應(yīng)用101輸出的所有文件都被輸出到秘密文件夾中。然而,可以如此布置結(jié)構(gòu)對于每個應(yīng)用101,文件路徑重寫函數(shù)104具有可以輸出到常規(guī)文件夾的例外文件的列表。在這種情形中,可以預(yù)先將去往某個應(yīng)用所特有的配置文件(不包括秘密信息)的路徑作為例外文件寫入例外文件列表中。那么,即使在處于秘密模式的進(jìn)程中用戶改變了設(shè)置,也可以向常規(guī)文件路徑上的文件夾進(jìn)行寫入,而不會提升該配置文件的安全級別。因此,可以繼續(xù)在常規(guī)模式和秘密模式中使用公共配置文件。
(第二實施例)圖4是示出了根據(jù)本實施例的計算機(jī)系統(tǒng)的整體結(jié)構(gòu)的圖。
在上述第一實施例中,文件路徑重寫函數(shù)104(圖1)用秘密根目錄“sec_root”來透明地替代秘密模式中文件的輸入/輸出。然而,在本實施例中,如圖4所示,由環(huán)境變量重寫函數(shù)106和文件訪問強(qiáng)制函數(shù)107來實現(xiàn)與文件路徑重寫函數(shù)104相似的功能。該結(jié)構(gòu)的其他方面與實施例1相同。因此,這里省略對它們的描述。
AP啟動檢測函數(shù)105用來監(jiān)視應(yīng)用101的啟動,并在任意應(yīng)用101啟動時,調(diào)用環(huán)境變量重寫函數(shù)106和文件訪問強(qiáng)制函數(shù)107。
環(huán)境變量重寫函數(shù)106例如被實現(xiàn)為動態(tài)鏈接庫(DLL),并且在應(yīng)用101調(diào)用系統(tǒng)調(diào)用時,調(diào)用該函數(shù)來獲得程序的操作環(huán)境,例如環(huán)境變量、注冊表等。
如果進(jìn)程工作于秘密模式,則該環(huán)境變量重寫函數(shù)106執(zhí)行重寫,就如同指定了臨時目錄的環(huán)境變量或指定了緩存文件夾的注冊表值位于“/sec_root”之下。例如,指定了臨時目錄的環(huán)境變量TEMP被設(shè)置為“/tmp”,在秘密模式中執(zhí)行重寫就如同該變量被設(shè)置為“/sec_root/tmp”。
例如,將文件訪問強(qiáng)制函數(shù)107實現(xiàn)為動態(tài)鏈接庫,并且在應(yīng)用101調(diào)用用于文件操作的系統(tǒng)調(diào)用時,調(diào)用該函數(shù)。該文件訪問強(qiáng)制函數(shù)107對每個應(yīng)用101具有可以輸出到常規(guī)文件夾的文件的例外文件列表(先前所述)。
接著,參考圖5描述文件訪問強(qiáng)制函數(shù)107的操作。
首先,確定進(jìn)程是否處于秘密模式(步驟B1)。如果進(jìn)程處于秘密模式(是),則隨后確定文件訪問請求是否是寫指令(步驟B2)。結(jié)果,如果請求是寫指令(是),則檢查指定的路徑是否表示秘密文件夾下的位置,即,檢查給定的文件路徑是否是“/sec_root”下的文件名(步驟B3)。如果文件路徑表示“/sec_root”下的文件,即,如果文件路徑表示秘密文件夾下的位置(是),則允許寫入。如果文件路徑表示“/sec_root”下的文件之外的另一文件,即,如果文件路徑并不表示秘密文件夾下的位置(否),則檢查該文件路徑是否表示例外文件(步驟B4)。如果文件路徑表示例外文件(是),則允許對文件的訪問。否則(否),返回指示不可訪問的錯誤(步驟B7)。
同樣,在步驟B1中,如果進(jìn)程不是處于秘密模式,即,如果進(jìn)程處于常規(guī)模式(否),則檢查所指定的路徑是否表示秘密文件夾下的秘密文件,即檢查給定的文件路徑是否是“/sec_root”下的文件名(步驟B5)。結(jié)果,如果文件路徑是“/sec_root”下的文件名(是),則返回指示不可訪問的錯誤(步驟B7)。否則,如果文件路徑是“/sec_root”下的文件名之外的其他文件名(否),則執(zhí)行正常使用的文件訪問指令(步驟B6)。
這樣,在本實施例中,只能在“/sec_root”下的位置處存儲秘密文件。因此,在秘密模式和常規(guī)模式之間彼此不同的文件不會被視為相同的文件。因此,普通的用戶可以更容易地理解操作。另外,環(huán)境變量重寫函數(shù)106臨時寫入的文件被寫在秘密文件夾之下。因此,當(dāng)操作于秘密模式的應(yīng)用101要將文件寫出為常規(guī)文件時,阻斷該寫操作,從而防止錯誤操作。
在本實施例中,在常規(guī)模式中也禁止對秘密文件夾的讀取和寫入。然而,可以嚴(yán)格應(yīng)用前述NWD原則,從而允許對秘密文件夾進(jìn)行寫入。
本發(fā)明適于用作防止秘密信息從通用計算機(jī)泄漏的程序。
權(quán)利要求
1.一種在計算機(jī)中使用的用于基于秘密模式來切換要訪問的文件夾的方法,所述計算機(jī)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序,所述內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng),所述應(yīng)用程序通過所述文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問,所述方法包括在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)的步驟秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于所述常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于所述秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由所述秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由所述常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;在所述計算機(jī)啟動所述應(yīng)用程序時,指定功能級別的步驟,其中所述功能級別表示所述應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;當(dāng)從所述應(yīng)用程序接收到以指定文件路徑名、對所述盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定所述應(yīng)用程序是運(yùn)行為所述秘密模式的進(jìn)程還是運(yùn)行為所述常規(guī)模式的進(jìn)程的步驟;如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則進(jìn)行重寫及允許步驟將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的文件路徑名,并且允許通過所述內(nèi)核對由所述文件路徑名指定的所述秘密文件夾中的所述秘密文件執(zhí)行文件訪問;以及如果所述應(yīng)用程序運(yùn)行為所述常規(guī)模式的進(jìn)程,則不允許對所述秘密文件夾中的所述秘密文件進(jìn)行文件訪問的步驟。
2.根據(jù)權(quán)利要求1所述的方法,其中所述重寫及允許步驟包括如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則通過向所述指定文件路徑名的頭部加入所述秘密根目錄名,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的文件路徑名的步驟。
3.根據(jù)權(quán)利要求1所述的方法,其中所述重寫及允許步驟包括確定所述文件訪問請求是否是寫指令的步驟;如果所述文件訪問請求是寫指令,則允許通過所述內(nèi)核對所述秘密文件夾中的所述秘密文件執(zhí)行寫入的步驟;如果所述文件訪問請求不是寫指令,則確定與所述文件路徑名相對應(yīng)的文件是否存在的步驟,其中所述文件路徑名是通過向所述指定文件路徑名的頭部加入所述秘密根目錄名寫出的;如果所述文件存在,則通過向所述指定文件路徑名的頭部加入所述秘密根目錄,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的所述文件路徑名,并且允許通過所述內(nèi)核對由所述文件路徑名指定的所述秘密文件夾中的所述秘密文件執(zhí)行除了寫入之外的其他文件訪問的步驟;以及如果所述文件不存在,則允許通過所述內(nèi)核對與所述指定文件路徑名相對應(yīng)的所述常規(guī)文件夾中的所述常規(guī)文件執(zhí)行文件訪問的步驟。
4.根據(jù)權(quán)利要求1所述的方法,其中所述重寫及允許步驟包括如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則為每個應(yīng)用程序維護(hù)能夠輸出到所述常規(guī)文件夾的例外文件的列表,并且預(yù)先將所述應(yīng)用程序所特有的配置文件的路徑名設(shè)置為所述列表中維護(hù)的所述例外文件的步驟;以及如果所述秘密文件是所述例外文件,則基于所述列表中的所述配置文件的路徑名,允許通過所述內(nèi)核對與所述常規(guī)文件夾中的所述例外文件相對應(yīng)的所述配置文件執(zhí)行文件訪問的步驟。
5.一種在計算機(jī)中使用的用于基于秘密模式來切換要訪問的文件夾的方法,所述計算機(jī)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序,所述內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng),所述應(yīng)用程序通過所述文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問,所述方法包括在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)的步驟秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于所述常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于所述秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由所述秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由所述常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;在所述計算機(jī)啟動所述應(yīng)用程序時,指定功能級別的步驟,其中所述功能級別表示所述應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;當(dāng)從所述應(yīng)用程序接收到以指定文件路徑名、對所述盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定所述應(yīng)用程序是運(yùn)行為所述秘密模式的進(jìn)程還是運(yùn)行為所述常規(guī)模式的進(jìn)程的步驟;如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程并且所述指定文件路徑名是與所述秘密根目錄下的功能文件夾相對應(yīng)的文件路徑名,則進(jìn)行允許步驟允許通過所述內(nèi)核對所述秘密文件夾中的秘密文件執(zhí)行文件訪問;以及如果所述應(yīng)用程序運(yùn)行為所述常規(guī)模式的進(jìn)程,則不允許對所述秘密文件夾中的所述秘密文件進(jìn)行文件訪問的步驟。
6.根據(jù)權(quán)利要求5所述的方法,其中所述允許步驟包括如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則為每個應(yīng)用程序維護(hù)能夠輸出到所述常規(guī)文件夾的例外文件的列表,并且預(yù)先將所述應(yīng)用程序所特有的配置文件的路徑名設(shè)置為所述列表中維護(hù)的所述例外文件的步驟;以及如果所述指定文件路徑名所表示的文件對應(yīng)于所述例外文件,則允許通過所述內(nèi)核對與所述常規(guī)文件夾中的所述例外文件相對應(yīng)的所述配置文件執(zhí)行文件訪問的步驟。
7.一種程序,用于使計算機(jī)執(zhí)行用于基于秘密模式來切換要訪問的文件夾的方法,所述計算機(jī)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序,所述內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng),所述應(yīng)用程序通過所述文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問,所述方法包括在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)的步驟秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于所述常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于所述秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由所述秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由所述常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;在所述計算機(jī)啟動所述應(yīng)用程序時,指定功能級別的步驟,其中所述功能級別表示所述應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;當(dāng)從所述應(yīng)用程序接收到以指定文件路徑名、對所述盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定所述應(yīng)用程序是運(yùn)行為所述秘密模式的進(jìn)程還是運(yùn)行為所述常規(guī)模式的進(jìn)程的步驟;如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則進(jìn)行重寫及允許步驟將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的文件路徑名,并且允許通過所述內(nèi)核對由所述文件路徑名指定的所述秘密文件夾中的所述秘密文件執(zhí)行文件訪問;以及如果所述應(yīng)用程序運(yùn)行為所述常規(guī)模式的進(jìn)程,則不允許對所述秘密文件夾中的所述秘密文件進(jìn)行文件訪問的步驟。
8.根據(jù)權(quán)利要求7所述的程序,其中所述重寫及允許步驟包括如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則通過向所述指定文件路徑名的頭部加入所述秘密根目錄名,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的文件路徑名的步驟。
9.根據(jù)權(quán)利要求7所述的程序,其中所述重寫及允許步驟包括確定所述文件訪問請求是否是寫指令的步驟;如果所述文件訪問請求是寫指令,則允許通過所述內(nèi)核對所述秘密文件夾中的所述秘密文件執(zhí)行寫入的步驟;如果所述文件訪問請求不是寫指令,則確定與所述文件路徑名相對應(yīng)的文件是否存在的步驟,其中所述文件路徑名是通過向所述指定文件路徑名的頭部加入所述秘密根目錄名寫出的;如果所述文件存在,則通過向所述指定文件路徑名的頭部加入所述秘密根目錄,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的所述文件路徑名,并且允許通過所述內(nèi)核對由所述文件路徑名指定的所述秘密文件夾中的所述秘密文件執(zhí)行除了寫入之外的其他文件訪問的步驟;以及如果所述文件不存在,則允許通過所述內(nèi)核對與所述指定文件路徑名相對應(yīng)的所述常規(guī)文件夾中的所述常規(guī)文件執(zhí)行文件訪問的步驟。
10.根據(jù)權(quán)利要求7所述的程序,其中所述重寫及允許步驟包括如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則為每個應(yīng)用程序維護(hù)能夠輸出到所述常規(guī)文件夾的例外文件的列表,并且預(yù)先將所述應(yīng)用程序所特有的配置文件的路徑名設(shè)置為所述列表中維護(hù)的所述例外文件的步驟;以及如果所述秘密文件是所述例外文件,則基于所述列表中的所述配置文件的路徑名,允許通過所述內(nèi)核對與所述常規(guī)文件夾中的所述例外文件相對應(yīng)的所述配置文件執(zhí)行文件訪問的步驟。
11.一種程序,用于使計算機(jī)執(zhí)行用于基于秘密模式來切換要訪問的文件夾的方法,所述計算機(jī)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序,所述內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng),所述應(yīng)用程序通過所述文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問,所述方法包括在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)的步驟秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于所述常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于所述秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由所述秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由所述常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;在所述計算機(jī)啟動所述應(yīng)用程序時,指定功能級別的步驟,其中所述功能級別表示所述應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;當(dāng)從所述應(yīng)用程序接收到以指定文件路徑名、對所述盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定所述應(yīng)用程序是運(yùn)行為所述秘密模式的進(jìn)程還是運(yùn)行為所述常規(guī)模式的進(jìn)程的步驟;如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程并且所述指定文件路徑名是與所述秘密根目錄下的功能文件夾相對應(yīng)的文件路徑名,則進(jìn)行允許步驟允許通過所述內(nèi)核對所述秘密文件夾中的秘密文件執(zhí)行文件訪問;以及如果所述應(yīng)用程序運(yùn)行為所述常規(guī)模式的進(jìn)程,則不允許對所述秘密文件夾中的所述秘密文件進(jìn)行文件訪問的步驟。
12.根據(jù)權(quán)利要求11所述的程序,其中所述允許步驟包括如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則為每個應(yīng)用程序維護(hù)能夠輸出到所述常規(guī)文件夾的例外文件的列表,并且預(yù)先將所述應(yīng)用程序所特有的配置文件的路徑名設(shè)置為所述列表中維護(hù)的所述例外文件的步驟;以及如果所述指定文件路徑名所表示的文件對應(yīng)于所述例外文件,則允許通過所述內(nèi)核對與所述常規(guī)文件夾中的所述例外文件相對應(yīng)的所述配置文件執(zhí)行文件訪問的步驟。
13.一種用于基于秘密模式來切換要訪問的文件夾的計算機(jī)系統(tǒng),所述計算機(jī)系統(tǒng)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序,所述內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng),所述應(yīng)用程序通過所述文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問,所述計算機(jī)系統(tǒng)包括裝置,用于在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于所述常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于所述秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由所述秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由所述常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;裝置,用于在所述計算機(jī)啟動所述應(yīng)用程序時,指定功能級別,其中所述功能級別表示所述應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;裝置,用于在從所述應(yīng)用程序接收到以指定文件路徑名、對所述盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定所述應(yīng)用程序是運(yùn)行為所述秘密模式的進(jìn)程還是運(yùn)行為所述常規(guī)模式的進(jìn)程;重寫及允許裝置,用于如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的文件路徑名,并且允許通過所述內(nèi)核對由所述文件路徑名指定的所述秘密文件夾中的所述秘密文件執(zhí)行文件訪問;以及裝置,用于如果所述應(yīng)用程序運(yùn)行為所述常規(guī)模式的進(jìn)程,則不允許對所述秘密文件夾中的所述秘密文件進(jìn)行文件訪問。
14.根據(jù)權(quán)利要求13所述的計算機(jī)系統(tǒng),其中所述重寫及允許裝置包括裝置,用于如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則通過向所述指定文件路徑名的頭部加入所述秘密根目錄名,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的文件路徑名。
15.根據(jù)權(quán)利要求13所述的計算機(jī)系統(tǒng),其中所述重寫及允許裝置包括裝置,用于確定所述文件訪問請求是否是寫指令;裝置,用于如果所述文件訪問請求是寫指令,則允許通過所述內(nèi)核對所述秘密文件夾中的所述秘密文件執(zhí)行寫入;裝置,用于如果所述文件訪問請求不是寫指令,則確定與所述文件路徑名相對應(yīng)的文件是否存在,其中所述文件路徑名是通過向所述指定文件路徑名的頭部加入所述秘密根目錄名寫出的;裝置,用于如果所述文件存在,則通過向所述指定文件路徑名的頭部加入所述秘密根目錄,將所述指定文件路徑名重寫為與所述秘密根目錄下的所述秘密文件夾相對應(yīng)的所述文件路徑名,并且允許通過所述內(nèi)核對由所述文件路徑名指定的所述秘密文件夾中的所述秘密文件執(zhí)行除了寫入之外的其他文件訪問;以及裝置,用于如果所述文件不存在,則允許通過所述內(nèi)核對與所述指定文件路徑名相對應(yīng)的所述常規(guī)文件夾中的所述常規(guī)文件執(zhí)行文件訪問。
16.根據(jù)權(quán)利要求13所述的計算機(jī)系統(tǒng),其中所述重寫及允許裝置包括裝置,用于如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則為每個應(yīng)用程序維護(hù)能夠輸出到所述常規(guī)文件夾的例外文件的列表,并且預(yù)先將所述應(yīng)用程序所特有的配置文件的路徑名設(shè)置為所述列表中維護(hù)的所述例外文件;以及裝置,用于如果所述秘密文件是所述例外文件,則基于所述列表中的所述配置文件的路徑名,允許通過所述內(nèi)核對與所述常規(guī)文件夾中的所述例外文件相對應(yīng)的所述配置文件執(zhí)行文件訪問。
17.一種用于基于秘密模式來切換要訪問的文件夾的計算機(jī)系統(tǒng),所述計算機(jī)系統(tǒng)執(zhí)行內(nèi)核以及作為進(jìn)程的應(yīng)用程序,所述內(nèi)核具有用于控制對盤設(shè)備的文件訪問的文件系統(tǒng),所述應(yīng)用程序通過所述文件系統(tǒng)對盤設(shè)備執(zhí)行文件訪問,所述計算機(jī)系統(tǒng)包括裝置,用于在盤設(shè)備中如下設(shè)置目錄結(jié)構(gòu)秘密根目錄位于常規(guī)根目錄之下;至少一個常規(guī)文件夾分層次地位于所述常規(guī)根目錄之下,并且被配置為存儲由非秘密信息構(gòu)成的常規(guī)文件;至少一個秘密文件夾分層次地位于所述秘密根目錄之下,并且被配置為存儲由秘密信息構(gòu)成的秘密文件;并且由所述秘密根目錄之外的所述至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由所述常規(guī)根目錄之外的所述至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同;裝置,用于在所述計算機(jī)啟動所述應(yīng)用程序時,指定功能級別,其中所述功能級別表示所述應(yīng)用程序應(yīng)該運(yùn)行為能夠處理所述秘密文件的秘密模式的進(jìn)程還是不能處理所述秘密文件的常規(guī)模式的進(jìn)程;裝置,用于在從所述應(yīng)用程序接收到對所述盤設(shè)備進(jìn)行文件訪問的文件訪問請求時,基于所指定的功能級別,確定所述應(yīng)用程序是運(yùn)行為所述秘密模式的進(jìn)程還是運(yùn)行為所述常規(guī)模式的進(jìn)程,其中所述文件訪問請求具有指定文件路徑名;允許裝置,用于如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程并且所述指定文件路徑名是與所述秘密根目錄下的功能文件夾相對應(yīng)的文件路徑名,則允許通過所述內(nèi)核對所述秘密文件夾中的秘密文件執(zhí)行文件訪問;以及裝置,用于如果所述應(yīng)用程序運(yùn)行為所述常規(guī)模式的進(jìn)程,則不允許對所述秘密文件夾中的所述秘密文件進(jìn)行文件訪問。
18.根據(jù)權(quán)利要求17所述的計算機(jī)系統(tǒng),其中所述允許裝置包括裝置,用于如果所述應(yīng)用程序運(yùn)行為所述秘密模式的進(jìn)程,則為每個應(yīng)用程序維護(hù)能夠輸出到所述常規(guī)文件夾的例外文件的列表,并且預(yù)先將所述應(yīng)用程序所特有的配置文件的路徑名設(shè)置為所述列表中維護(hù)的所述例外文件;以及裝置,用于如果所述指定文件路徑名所表示的文件對應(yīng)于所述例外文件,則允許通過所述內(nèi)核對與所述常規(guī)文件夾中的所述例外文件相對應(yīng)的所述配置文件執(zhí)行文件訪問。
全文摘要
公開了一種根據(jù)秘密模式切換訪問文件夾的方法。在該方法中,秘密根目錄位于常規(guī)根目錄之下。由秘密根目錄之外的至少一個秘密文件夾構(gòu)成的目錄結(jié)構(gòu)與由常規(guī)根目錄之外的至少一個常規(guī)文件夾構(gòu)成的目錄結(jié)構(gòu)相同。從應(yīng)用程序接收到對盤設(shè)備的文件訪問請求。如果應(yīng)用程序運(yùn)行為秘密模式的進(jìn)程,則通過將指定文件路徑名重寫為與秘密根目錄下的秘密文件夾相對應(yīng)的文件路徑名,通過內(nèi)核來對秘密文件夾中的秘密文件執(zhí)行文件訪問。如果應(yīng)用程序運(yùn)行為常規(guī)模式的進(jìn)程,則不允許對秘密文件夾中的秘密文件進(jìn)行文件訪問。
文檔編號G06F1/00GK1766883SQ20051011805
公開日2006年5月3日 申請日期2005年10月26日 優(yōu)先權(quán)日2004年10月28日
發(fā)明者細(xì)川正廣, 矢野尾一男 申請人:日本電氣株式會社