新四季網

對計算機文件實施密級管理的方法與流程

2023-06-03 01:33:46 2


本發明涉及文件密級管理領域,主要是一種對計算機文件實施密級管理的方法。



背景技術:

企業的信息安全是長期存在的問題,近年來隨著數據量的增大和移動終端設備的興起而變得尤為突出。就企業而言,包括數據在內的信息主要是以計算機文件形式存放的,所以信息安全的問題最終還是歸結到文件內容的安全問題。

早在幾十年前,Unix作業系統中就有了對與計算機文件的「訪問權限控制」,把計算機用戶分成「文件主(文件的創建者)」、「文件主的同組人」、「(其他)用戶」三類,把對於文件的「訪問」分成讀、寫、執行三種基本操作,並為每個具體的文件或目錄(由文件主)規定好每一類用戶對其可以實行哪幾種操作、稱為對此文件的「訪問權限」。有關各類用戶訪問權限的信息「如影隨形」地跟隨著每個具體的文件,存儲在每個文件的「目錄項」中,不能被輕易改變。而具體的用戶屬於哪一類,則是在「登錄」到系統的時候就(根據用戶名和口令密碼)決定了的。後來,又有了更為精細的「訪問控制名單(Access Control List)」即ACL的機制,可以為具體的文件詳列個人對此文件的訪問權限。

但是,迄今為止的訪問權限控制都是基於個人身份的,權限也只有是否可讀和是否可寫(可執行對於數據並無意義),而並不涉及訪問的方式和地點,這與實體的文件檔案管理制度是脫節的。在實體的文檔管理中,文件是分密級的;即使對於同一個人,對於不同密級的文件的閱讀和處理方式也是不一樣的。不涉密的文件也許可以帶回家去,涉密的文件可能只允許在辦公室閱讀並且讀後要上交,密級再高的文件也許得要到機要室去閱讀。相比之下,計算機文件的訪問權限控制在這方面卻是空白,這不能不說是個缺陷,事實上也對企業的信息安全造成不利影響。

在企業環境中,重要一點的文件一般都在文件伺服器上,但是即使對於一個擁有訪問權限的人也有很多不同的情況,包括:這個人是在那一臺機器上,是PC?筆記本電腦?還是手機?你這是在辦公室還是在哪裡?是在企業內部還是從外網進來?如果出差在外的話,用的是自己的機器還是別人的機器?文件的重要性不同,處理和讀寫的方式就應該不同。



技術實現要素:

針對現有技術的缺陷,本發明提供了一種對計算機文件實施密級管理的方法,其顯著的特點是對計算機文件設置不同的密級,按密級實施不同的文件訪問和使用方式,以提高企業的信息安全水平。

本發明實現目的所採用的技術方案如下:這種對計算機文件實施密級管理的方法,

1.1)將計算機文件按重要性和保密程度劃分密級;

1.2)制訂針對各種密級的限制措施,以規範其訪問方式;

1.3)將文件密級當成文件的一種擴充屬性,通過作業系統提供的setxattr/getxattr系統調用或NtSetEaFile/NtGetEaFile系統調用設置文件密級;

1.4)將預定對於各種文件密級的訪問限制措施記錄在一個資料庫或文件中,運行時裝載到機器的內存中;

1.5)當某個進程要求訪問一個文件時,在作業系統檢查其訪問權限認為可以放行之後還要檢查該文件的密級,根據其密級和1.4)步驟所述的限制措施實施預定的文件訪問限制。

作為優選,當某個進程要求訪問一個文件時,由用戶空間的DLL檢查該文件的密級,並按1.4)步驟所述的記錄實施針對該密級的限制措施。

作為優選,在發生違反保密規定的訪問企圖作為可能的入侵記錄在運行日誌中。

作為優選,運用在文件伺服器上,使文件伺服器成為有密級管理的文件伺服器。

作為優選,要為計算機文件設置密級,首先要劃分密級,密級的高低以整數值表示,0級為最低表示不涉密,沒有設置密級的文件視同0級。1級以上逐級提升,上不封頂,但是一般只要有4級就夠了。

決定了具體文件的密級之後,就得把表示密級的信息與之綁定,並提供設置密級和查詢密級的方法,能實現這種綁定的方法不止一種,最簡單的就是建一個資料庫,將各個文件的文件名和密級存儲在資料庫中。但是這樣的方法有很多缺點,首先文件名是可以更改的,還可以把一個文件複製成另一個文件,而且不同目錄中還可能有同名的文件。所以,最好是能將密級作為文件的一種屬性,讓密級如影隨身跟著文件走,也不受文件複製的影響。本發明利用Linux和Windows兩個作業系統都提供的文件擴充屬性機制,使密級成為為文件的一項屬性,並提供類似於Linux上用來設置文件訪問權限的chmod那樣的工具軟體,例如可以叫chsec,在這軟體中通過Linux的setxattr/getxattr系統調用或Windows的NtSetEaFile/NtGetEaFile系統調用設置文件密級。文件的擴充屬性是一個「屬性名:屬性值」形式的鍵值(Key-Value)對,我們以屬性名security表示密級,那麼「security:3」就表示密級為3。這樣,文件主(和超級用戶)就可以用這工具設置和改變文件的密級,其它人也可以用這個工具查看文件密級(如果對目標文件有讀訪問權)。

設置密級的目的不僅是要讓人知道具體文件的密級,更重要的是讓系統根據文件密級和訪問權限自動採取不同的限制措施,使文件內容不容易外流或被竊。把一個文件設置成某個密級,這個文件就帶上了為此密級所設置的種種限制。這些措施主要用在企業的文件伺服器上。目前本發明所採取的限制措施有:

●加密,規定凡是這個密級的文件必須加密存儲。對於帶有加密限制的文件,在讀寫文件時需要調用一個函數crypto_restriction。

●地點限制,規定凡是這個密級的文件只能在哪幾個網段或者那幾個IP位址的機器上閱讀或修改。對於帶有地點限制的文件,在打開和讀寫文件時需要調用一個函數location_restriction。

·機器限制,規定凡是這個密級的文件只能在哪幾臺機器(包括手機)上閱讀或修改。對於帶有機器限制的文件,在打開和讀寫文件時需要調用一個函數machine_restriction。

●時段限制,規定凡是這個密級的文件只能在哪些時間段中閱讀或修改。對於帶有時段限制的文件,在打開和讀寫文件時需要調用一個函數time_restriction。

●修改限制,規定對修改文件的(除訪問權限以外的)附加限制,即使訪問權限控制已經允許用戶對一目標文件有寫入權,並滿足對於地點、機器、時間的限制,仍需採取一定的措施,例如記入運行日誌。對於帶有修改限制的文件,在打開和讀寫文件時需要調用一個函數change_restriction。

●方式限制,規定對文件的內容只能以圖像方式閱讀,而不得以文字方式下載到客戶端的機器上。對於帶有方式限制的文件,在打開和讀寫文件時需要調用一個函數method_restriction。

●特殊限制,規定凡是這個密級的文件需要特殊處理,使系統調用一個插件,在插件中可以進行種種特殊的處理。例如,出差在外的人通過公網或VPN回來訪問文件,就可以加上特殊處理,以驗證其身份和環境。對於帶有特殊限制的文件,在打開和讀寫文件時需要調用一個函數special_restriction。

具體的限制措施不屬於本發明的內容,限制項的多少和目的也不屬於本發明的內容,這些措施可以很複雜,也可以相對簡單,可以有很多,也可以只有一項兩項,本發明只是為實現這些措施所需的機制和框架提供一個方法。

為實施預定的種種限制,需要開發一些具體的子程序(或稱函數),例如為實施關於使用地點的限制就要開發一個location_restriction;為實施關於使用時間的限制,就要開發一個time_restriction;餘可類推。從限制項的名稱或編碼代號到具體子程序入口的映射可以硬編碼在過濾模塊的程序中,也可以放在資料庫中。這些子程序本身的算法和流程不屬於本發明的內容。

對於不同密級的限制措施規定,可以存儲在一個小資料庫中,例如Windows上的註冊表或Linux上目錄/etc下面的某個文件中。系統可以在初始化時將這些信息緩衝存儲在內存中。

有了按密級的規定,以及為實施這些限制而開發的種種子程序之後,就可以讓系統在用戶打開文件、讀文件、映射文件、寫文件時自動加以檢驗和限制。為此,本發明所述方法在作業系統內核中的一些特定文件操作流程中插入過濾驅動模塊,在下列兩個流程中加入過濾,攔截不符合保密規定的文件讀寫操作不讓其完成:

●文件系統的設備驅動中實現文件內容讀寫的流程中。在這個流程中插入過濾模塊之後,用戶讀寫文件內容的操作請求就要先經過這過濾模塊的處理,然後才進入原有的常規設備驅動。過濾模塊實施對各個密級所加的各項限制,如果不符合條件就不讓讀寫,使程序中止並失敗返回。

●內核中實現將文件內容映射到內存的流程中,在Linux內核中就是系統調用mmap,在Windows內核中就是NtCreateSection。這使得應用軟體要將文件內容映射到內存中時先要經過這過濾模塊的檢查,如果不符合條件就不讓映射,使程序中止並失敗返回。

預定的種種限制僅施加於文件內容的讀寫,因為需要保護的就是文件內容,只要把文件內容的讀寫卡住,不符合保密規定就不讓讀、更不讓寫,就解決問題了。至於打開文件,其實並不涉及文件內容,加不加限制都可以。

過濾模塊中進行的處理包括(但不限於):

●通過getxattr、NtQueryEaFile獲取目標文件的密級,如果沒有設置密級就視同0級予以放行。

●根據目標文件的密級,在資料庫中查旬,獲取這個密級的限制規定。

●逐項掃描檢查這個密級的限制規定,根據具體限制項的名稱或編碼代號調用相應的子程序。例如,假定文件的密級是3,而密級3的限制措施中有一項是地點限制,並且地點參數為192.168.1.2,就把這參數傳給location_restrict,那個子程序會檢查客戶端所在的網段,如果不在這個網段中就加以拒絕。

●在各個限制項所對應的子程序中,還可以有一些附加的操作,例如記入運行日誌、報警等。

如果順利通過了對於這個密級的所有限制條件的檢驗,就通過了基於文件密級的過濾保護,可以繼續完成對文件的操作。否則就說明所作的文件訪問違反企業預定的保密規定,因此已被終止。

本發明所述的上述方法,可以用在單機上,但主要還是用於企業環境的伺服器上。

本發明有益的效果是:提供一種為計算機文件設置密級並按文件密級和訪問權限處理文件訪問的方法,使企業的信息安全得到加強和提升。

附圖說明

圖1是賴以實現文件密級管理的打開文件流程示意圖。

圖2是實施密級管理後的讀寫文件操作流程示意圖。

具體實施方式

下面結合附圖和實施例對本發明作進一步說明:

附圖1是賴以實現文件密級管理的打開文件流程。不管叫什麼名稱,作業系統總會提供一個用來打開文件的系統調用,在Linux中這就是sys_open(在Linux原始碼中的函數名是宏定義SYSCALL_DEFINE3(open,…),其主體是do_sys_open(詳見毛德操、胡希明:《Linux內核原始碼情景分析》)。在Windows中則是NtCreateFile,其主體是IoCreateFile(詳見毛德操:《Windows內核情景分析》)。這二者流程大同小異。以Linux為例,系統調用sys_open的主體do_sys_open的流程與圖一所示大體相同,裡面也有對於用戶訪問權限的檢驗,但是卻沒有對文件密級的檢驗和應對處理,為實施本發明所述文件密級管理的方法,需要在這個流程中插入兩個操作,一個是讀入目標文件的密級,另一個是調用根據目標文件密級實施管理的子程序apply_restrictions,這個子程序根據存儲在資料庫中的密級管理策略施加對於打開具體目標文件的限制。其中最嚴苛的限制就是禁止打開,此時apply_restrictions返回-1,表示應予拒絕。如果apply_restrictions返回大於或等於0,則表示打開文件的操作仍可繼續,但在apply_restrictions中已經採取了必要的措施。從程序結構看,對於apply_restrictions的調用相當於在原有的常規打開文件操作流程中增設了一個「掛鈎」,讓我們可以在外掛的apply_restrictions中實施密級管理。在圖一所示的流程中,調用apply_restrictions之前還有一步獲取目標文件密級的操作,在具體實現的時候這一步操作完全可以搬到apply_restrictions內部,那樣對原始碼的唯一改變就是增加了一個掛鈎,而為實施本發明所述方法的程序則都在這個外掛的函數中。

附圖2是實施密級管理後的讀寫文件操作流程。本來,既然在打開文件時已經通過了文件密級的檢查,後面讀寫文件的時候就不用再檢查了。但是考慮到移動終端對文件伺服器的訪問,有可能在打開文件的時候終端處於被認為是安全的網段中,但過一會兒要讀寫文件時卻移動到了被認為不安全的網段中,所以在讀寫的時候還要再檢查一下。

本發明所述的方法,可以用在單機上,但主要還是用於企業環境的伺服器上。目前用於文件伺服器的作業系統基本就是Windows和Linux兩種;由於Linux系開源軟體,並且在企業應用環境中的使用越來越多,實際上已經超過Windows的裝機量,所以這裡以Linux為主說明本發明的實施方式。至於Windows,由於微軟不公開其原始碼,實際上只有微軟自己才能實施本發明所述的方法,但是這並不影響本發明作為一種方法、即對文件實施密級管理以提高企業信息安全性的實質。

●實施例一:在Linux作業系統上的實施

本發明所述方法的實施分三個方面。第一是為文件設置密級;第二是設置對各個文件密級的訪問限制;第三是對文件訪問實施基於其文件密級的限制。下面分別加以說明。

1.為文件設置密級

除設置文件的屬主、訪問權限等屬性的chown、chmod命令外,Linux還允許用戶為文件設置一些自定義的屬性,稱為擴充屬性,並為此提供了系統調用setxattr和getxattr,還提供了相應的命令setfattr和getfattr,前者的格式為:

setfattr[-h]-n name[-v value]pathname...

這裡「-n name」表示屬性的名稱,「-v value」表示屬性的值,pathname就是文件名或路徑名。我們把密級當作文件的一項名為classify的擴充屬性,所以使用時可以通過例如命令行「setfattr–n classify–v 1 file1」將文件file1的密級設置成1級。但是對用戶更友善的方法是寫個名為classify的腳本,使用戶可以通過命令行「classify 1 file1」達到同樣的目的。這樣的腳本對於本專業的程式設計師而言是很簡單的事,無需詳述。

2.設置對各個文件密級的訪問限制策略

所謂對各個文件密級的訪問限制策略,是一組規則,說明對於各種密級的文件應該加上哪一些訪問限制。例如:

1級:

地點限制(192.168.3.0/24,192.168.31.0/24)

時間限制(8:30–18:30)

2機:

地點限制(192.168.3.0/24)

機器限制(MAC地址)

加密限制(密鑰)

顯然,這樣的規則完全可以存放在資料庫中,但也可以作為一個字符文件存放。事實上,Linux作業系統中/etc目錄下的文件大多都是這種性質的文件。所以,把這些規則編寫在一個文件中,放在/etc目錄下面就可以。這些規則是全局性的,並不屬於某個具體的用戶或文件,用戶把具體的文件設置成某個級別,就適用為這個級別設置的規則。

這些規則需要在系統初始化以後裝載到內存中,另外每當對限制規則有所修改時也需要重新加以裝載。為此可以在/proc目錄下增設一個節點classify,使得每當對節點/proc/classify進行一次讀出就調用一個函數load_and_parse_classify_policy。這一步操作的實施對於有能力進行系統軟體開發的工程師而言並不困難,如有不清楚可以參考毛德操、胡希明合著的《Linux內核原始碼情景分析》一書第五章中「特殊文件系統/proc」一節。

函數load_and_parse_classify_policy則讀入這規則文件加以解析,為每個密級都形成一個相關數據結構的List,例如「地點限制:192.168.3.0/24」、「地點限制:192.168.31.0/24」、「時間限制:8:30–18:30」。這對於一般軟體工程師都不是難事,對於有能力進行系統軟體開發的工程師更無困難。

3.基於文件密級的訪問限制的實施

按上述1、2兩步設置好文件的密級,再為各種密級設置好限制策略即各種限制規則並將其裝載到內存中,就可以實施這些規則了,其中最主要的就是在打開文件時的規則實施。附圖一和上面的附圖說明闡明了實施密級管理後的打開文件流程,其中為實施密級管理而作的修改的核心是調用一個函數apply_restrictions,此前的讀取目標文件密級也可以併入這個函數。作為實施密級管理的核心,下面是這個函數的偽代碼:

如前所述,本發明只是為建立密級管理的框架和機制提供方法,具體有哪一些限制,以及具體的函數如time_restriction之類的實現則不在本發明所述方法的範疇中。但是,為說明問題和幫助理解,這裡以地點限制為例再作些說明。

地點限制的意圖和作用是這樣:有些文件的閱讀,即使對於具有保密資質的人也要有所限制,例如只能在某個網段中才可以,或者某幾臺機器上才可以。例如可以通過路由器把所有高管們的辦公室都連在同一個網段中,然後限制他們只能在自己辦公室中才能閱讀某個存儲在文件伺服器上的保密文件。這時候,就可以將此文件設置成某個密級,並為這個密級規定地點限制,例如地點限制(192.168.3.0/24)。於是,當客戶端連接到伺服器並請求打開這個目標文件時,文件伺服器上的密級管理機制就會通過apply_restrictions而調用location_restriction。而在location_restriction中,則可以檢查連接對方的IP位址是否在所規定的這個網段中,如果不是就加以拒絕,儘管這個用戶確實具有訪問這個文件的權限。

注意以上所述在內核中實施的方案只是一個實施例,可以用來實施本發明所述對計算機文件實行密級管理這種方法的方案絕非僅此一種。例如在文件伺服器上也可以不是在內核中實施限制,而是在內核外面加上一個過濾層,然後在過濾層中加以實施。這種實施細節的不同並不影響本發明所述劃分和設置文件密級並規定相應限制措施,然後在訪問文件特別是打開文件時實施種種限制措施的實質。

同樣,對於Windows或別的作業系統,其文件系統的實現多少有些不同,所涉及的函數名更是毫不相同,但是它們的邏輯和實質是相同的,所以這也並不影響本發明對計算機文件劃分和設置密級,並按限制策略實施訪問限制的實質。

注意本發明的效果只是在一定程度上提高了企業內部的信息安全,在信息安全領域沒有一種方法可以一勞永逸地解決問題,也沒有一種方法單獨就可以解決問題。所以,每一種能夠使信息安全有所提高的方法和措施都是有意義有價值的,實際使用中則應該綜合使用各種有益的方法和措施。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀