李海華
(1.中國人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué),河南 鄭州 450002;2.河南工業(yè)貿(mào)易職業(yè)學(xué)院,河南 鄭州 450012)
網(wǎng)絡(luò)通信中,數(shù)據(jù)讀寫的安全十分重要,不同數(shù)據(jù)要求的安全級(jí)別也不相同,這就迫切需要構(gòu)建等級(jí)保護(hù)理論模型,并明確其中的關(guān)鍵技術(shù),提出一個(gè)面對(duì)網(wǎng)絡(luò)中信息的等級(jí)保護(hù)的思路。當(dāng)前,面對(duì)等級(jí)保護(hù)的網(wǎng)絡(luò)安全通信,采用了面向等級(jí)保護(hù)的安全訪問控制與安全數(shù)據(jù)傳輸保護(hù)這兩項(xiàng)技術(shù),而現(xiàn)有的這兩項(xiàng)技術(shù)在應(yīng)對(duì)等級(jí)保護(hù)問題上,均存在一些不理想的地方。例如,對(duì)不同密級(jí)的網(wǎng)絡(luò)數(shù)據(jù)流沒有建立多密級(jí)安全通道來隔離與保護(hù)信息;提出的網(wǎng)絡(luò)信息流安全規(guī)則也不夠完備,要精確地控制與保護(hù)網(wǎng)絡(luò)中的信息流是十分困難的;并且信息也容易被泄露,還會(huì)出現(xiàn)隱蔽通道問題;對(duì)“安全標(biāo)記保護(hù)級(jí)”中主體安全標(biāo)記調(diào)整及客體安全標(biāo)記綁定機(jī)制的研究也不充分,影響了系統(tǒng)的安全性、靈活性。
該文提出了一種基于安全標(biāo)記的網(wǎng)絡(luò)安全通信模型NSMBL(Network Security Model Based on Label),對(duì)模型元素進(jìn)行說明;對(duì)模型的安全性規(guī)則從形式化的角度加以描述;給出了模型定理并加以證明;給出一個(gè)模型實(shí)例并與相關(guān)模型進(jìn)行了性能對(duì)比[1]。
下面對(duì)模型中使用到的重要元素,從形式化角度定義如下[2]:
定義1 安全通道(T):為數(shù)據(jù)流信息傳輸提供安全路徑,并且對(duì)安全級(jí)別劃分出不同的安全級(jí)別,安全通道中保護(hù)本通道級(jí)別及以下所有級(jí)別的信息通信。
定義2 實(shí)體(E):
實(shí)體指系統(tǒng)中的對(duì)象,包含主體與客體,用(e)表示實(shí)體,用(E)表示所有實(shí)體的集合。
主體是訪問操作的實(shí)施者,如用戶執(zhí)行某段代碼產(chǎn)生的進(jìn)程,用(s)表示某個(gè)主體,(S)表示所有主體的集合。
客體是訪問操作的實(shí)施對(duì)象,如文件、共享內(nèi)存、進(jìn)程或其他數(shù)據(jù),用(o)表示某個(gè)客體,用(O)表示所有客體的集合[3]。
定義3 安全客體(OS):是傳輸信息跟安全標(biāo)記綁定構(gòu)成的對(duì)象。在安全通道中進(jìn)行傳輸?shù)臄?shù)據(jù)一定是信息與安全標(biāo)記綁定后形成的物理客體。
定義4 系統(tǒng)狀態(tài)(V):
由主體、客體(包含安全客體)、安全屬性、主體的安全標(biāo)記函數(shù)與客體的安全標(biāo)記函數(shù)構(gòu)成系統(tǒng)狀態(tài),可以用一個(gè)四元組v=(b,M,F,OS)表示[4],其中b是主體對(duì)客體的訪問屬性集合,M是訪問控制矩陣,F(xiàn)是主體或客體的安全標(biāo)記函數(shù),OS是安全客體。
定義5 安全系統(tǒng)(VS):
在信息安全傳輸過程中,需要“打開”通道操作,接著,“寫(write)”操作完成“發(fā)送(send)”操作抽象定義的對(duì)象;信息到接收端后,“讀(read)”操作完成“接收(receive)”操作抽象定義的對(duì)象,最后,“關(guān)閉”操作[5],嚴(yán)格限制信息的流入與流出。設(shè)?P,p∈S,操作集的定義如下:
①create(P1,P2)。一個(gè)主體創(chuàng)建了一個(gè)新的主體,那么,該新主體的安全標(biāo)記繼承于原主體的安全標(biāo)記。比如一個(gè)進(jìn)程創(chuàng)建了另一個(gè)新進(jìn)程,那么新進(jìn)程的安全標(biāo)記繼承于原進(jìn)程的安全標(biāo)記。
②create(p,o)。若客體o由主體p創(chuàng)建,那么o的安全標(biāo)記繼承于p的安全標(biāo)記。比如某進(jìn)程創(chuàng)建了一個(gè)文件,那么,該文件的安全標(biāo)記繼承于進(jìn)程的安全標(biāo)記。
③open(T=
)。在向安全通道中發(fā)送數(shù)據(jù)前,先要打開安全通道T=
,之后才能向安全通道中“寫”入數(shù)據(jù)。
④open(T=
⑤open(T=
⑥write(P,OS)。打開安全通道
后,由主體P向客體OS寫入數(shù)據(jù),這一通道中數(shù)據(jù)流是單向的P→OS,即主題P實(shí)施“寫”操作,客體OS實(shí)施“讀”操作。
⑦read(P,OS)。打開安全通道
⑧write(P1,P2,OS)。打開主體P1與P2之間的安全通道
precondition::
⑨read(P1,P2,OS)。首先打開安全通道
通信雙方實(shí)體之間能夠建立不同密級(jí)的安全通道,不同密級(jí)的安全通道用于傳輸與保護(hù)不同密級(jí)的數(shù)據(jù)流信息。不同級(jí)別的主體依據(jù)其權(quán)限可以“打開”不同密級(jí)的安全通道,對(duì)通道中的安全客體實(shí)施“讀(接收)”或“寫(發(fā)送)”等操作。為了保證主體對(duì)安全通道及通道中安全客體操作的安全性,NSMBL模型給出了安全通道操作規(guī)則的集合[6]。
安全通道集合表示為T={T1,T2,…,Ti,…Tl},其中Ti表示是密級(jí)為i的安全通道,安全通道能夠?yàn)椴煌芗?jí)數(shù)據(jù)信息流的傳輸提供安全保護(hù)。安全通道中數(shù)據(jù)流信息的流動(dòng)具有方向性,Ti=
規(guī)則一(選擇安全通道):
密級(jí)為i的安全通道Ti,安全通道中數(shù)據(jù)信息(安全客體)的密級(jí)必須小于或等于通道的密級(jí),即?o∈OS,Fo(o)≤i,即不同密級(jí)的安全通道中只能夠流動(dòng)小于或等于當(dāng)前安全通道密級(jí)的數(shù)據(jù)信息。
規(guī)則二(建立安全通道):
若主體P1的安全級(jí)為Fs(P1),主體P2的安全級(jí)為Fs(P2),若Fs(P1)
規(guī)則三(打開安全通道):
密級(jí)為i的安全通道只能夠被安全級(jí)別大于或等于通道安全級(jí)別的主體執(zhí)行“打開”操作、發(fā)送(或接收)信息,密級(jí)低于安全通道密級(jí)的主體不能執(zhí)行“打開”通道操作。
規(guī)則四(關(guān)閉安全通道):
安全通道建立的雙方是成對(duì)出現(xiàn)的,如果通道的一方關(guān)閉,則另一方也必須關(guān)閉相應(yīng)的通道;如果系統(tǒng)在運(yùn)行過程中對(duì)主體的安全標(biāo)記進(jìn)行了調(diào)整,那么,必須依照安全規(guī)則對(duì)當(dāng)前的安全通道進(jìn)行相應(yīng)處理,規(guī)則表示如下:
規(guī)則五(寫入通道信息):
寫入通道是指主體將數(shù)據(jù)信息以安全客體的方式發(fā)送至安全通道中進(jìn)行網(wǎng)絡(luò)傳輸,發(fā)送數(shù)據(jù)信息之前,首先必須打開安全通道,規(guī)則表示如下:
規(guī)則六(讀取通道信息):
打開安全通道,主題P1或P2從安全通道接收客體OS中的數(shù)據(jù),表示如下:
(1)基本控制約束。
信息流從總體上可以分為單向信息流(a→b∨a←b)與雙向信息流(a?b)。
①信息流單向控制約束。
單向信息流發(fā)生的條件:當(dāng)實(shí)體a的安全標(biāo)記小于b的安全標(biāo)記時(shí),且通道Tab= “打開”,那么能夠產(chǎn)生單向信息流(a→b),當(dāng)實(shí)體a的安全標(biāo)記大于b的安全標(biāo)記時(shí),且通道Tba= “打開”,那么能夠產(chǎn)生單向信息流(b→a)。單向信息流規(guī)則表示為:
②信息流雙向控制約束。
雙向信息流發(fā)生的條件為實(shí)體a與實(shí)體b的安全標(biāo)記相等,且通道Tab=與通道Tba=同時(shí)都“打開”。雙向信息流規(guī)則表示為:
(a,b∈S,o∈OS,(F(a)=F(b))∧(open∧open))?(a?b)
(2)主客體信息流控制約束。
具體的信息流規(guī)則包含有主體與主體之間的信息流規(guī)則,主體與客體之間的信息流規(guī)則,分別存在有雙向信息流及單向信息流,下面分別進(jìn)行討論[7]。
①主體-主體間信息流控制約束。
·主體間信息流單向控制約束。
該文將安全客體OS作為中間媒介進(jìn)行數(shù)據(jù)信息交換,安全客體OS的安全標(biāo)記等于其包含信息的最高密級(jí)。?i∈l,Ti=,且(?a,b∈S;o∈OS;open)=open ∧open
·主體間信息流雙向控制約束。
②主體-客體間信息流控制約束。
·主客體間信息流單向控制。
·主客體間信息流雙向控制。
(a∈S,o∈OS,(F(a)=F(o))∧(open∧open
(3)隱蔽通道避免規(guī)則。
多級(jí)安全網(wǎng)絡(luò)中的隱蔽通道一般可以分為兩種:網(wǎng)絡(luò)存儲(chǔ)隱蔽通道與網(wǎng)絡(luò)時(shí)間隱蔽通道,前一種隱蔽通道是將數(shù)據(jù)信息加入至協(xié)議控制信息的選項(xiàng)中實(shí)現(xiàn)隱蔽信息流,如IP包頭選項(xiàng)字段等;后一種則利用網(wǎng)絡(luò)傳輸確認(rèn)信息來構(gòu)成隱蔽時(shí)間通道。對(duì)于前一種隱蔽通道需要具體對(duì)數(shù)據(jù)協(xié)議進(jìn)行解析與分析來避免,比如當(dāng)網(wǎng)絡(luò)信息由高密級(jí)實(shí)體傳輸至低密級(jí)時(shí),必須經(jīng)過相應(yīng)的協(xié)議分析檢測(cè)設(shè)備等措施。這里對(duì)隱蔽時(shí)間通道進(jìn)行分析,防止由于網(wǎng)絡(luò)確認(rèn)信號(hào)的傳輸而造成隱蔽時(shí)間通道,從而帶來信息的泄露[8]。
當(dāng)信息流由低級(jí)別實(shí)體流至高級(jí)別實(shí)體時(shí)LOW→HIGH,符合通道信息流安全規(guī)則,當(dāng)信息流由高級(jí)別實(shí)體流至低級(jí)別實(shí)體時(shí)HIGH→LOW,不符合安全通道信息流安全規(guī)則,這里將“向下(↓)”的信息流分為如下兩種[7]。
(1)如果向下的數(shù)據(jù)信息是網(wǎng)絡(luò)傳輸確認(rèn)信息,為了避免隱蔽時(shí)間通道的發(fā)生,依據(jù)Pump(見圖1)設(shè)計(jì)思想,同時(shí)增加過濾函數(shù)Filter(OS)。限制信息流隱蔽通道規(guī)則為:
圖1 隱蔽通道避免示意圖
(HIGH→LOW)?(HIGH→TP)∧(TP1→buffer)∧(TP2→buffer)∧(buffer→LOW)
(2)如果向下的數(shù)據(jù)信息是數(shù)據(jù)客體,為了防止數(shù)據(jù)信息的泄露,必須依據(jù)“安全標(biāo)記調(diào)整規(guī)則”對(duì)主體的安全標(biāo)記實(shí)施調(diào)整后才能夠發(fā)送數(shù)據(jù)[9],實(shí)際應(yīng)用中數(shù)據(jù)信息還需要經(jīng)過過濾函數(shù)Filter(OS)的過濾,過濾函數(shù)Filter(OS)能夠基于安全客體中綁定的安全標(biāo)記實(shí)現(xiàn)對(duì)數(shù)據(jù)信息進(jìn)行過濾與降級(jí),信息流規(guī)則表示為:
(HIGH→LOW)?(HIGH→TP)∧(TP1→buffer)∧(Filter(buffer))∧(TP2→buffer)∧(buffer→LOW)
在一個(gè)主體的生命周期中,主體的安全標(biāo)記存在一個(gè)上界值,一個(gè)下界值及當(dāng)前安全標(biāo)記值:(Fmax,Fmin,FC),Fmin≤FC≤Fmax,F(xiàn)max、Fmin、FC分別代表一個(gè)主體生命周期內(nèi)的最大安全標(biāo)記,最小安全標(biāo)記及當(dāng)前安全標(biāo)記。主體的安全標(biāo)記能夠按照安全標(biāo)記調(diào)整規(guī)則在上界與下界之間進(jìn)行調(diào)整。主體安全標(biāo)記的調(diào)整分為安全標(biāo)記靜態(tài)調(diào)整與安全標(biāo)記動(dòng)態(tài)調(diào)整,靜態(tài)調(diào)整是指依據(jù)主體的可信度評(píng)估值對(duì)主體的安全級(jí)實(shí)施“升級(jí)”或“降級(jí)”操作,經(jīng)過安全標(biāo)記靜態(tài)調(diào)整后,主體的訪問權(quán)限發(fā)生了變化;動(dòng)態(tài)調(diào)整是指具體的某一次訪問操作出現(xiàn)“向下(↓)”的信息流時(shí),評(píng)估此次訪問行為信息流泄露危害程度的大小,動(dòng)態(tài)臨時(shí)調(diào)整主體安全標(biāo)記,在完成訪問操作后,主體的安全標(biāo)記必須恢復(fù)至原安全標(biāo)記,經(jīng)過安全標(biāo)記動(dòng)態(tài)調(diào)整后,主體的訪問權(quán)限沒有發(fā)生實(shí)際改變[10]。主體安全標(biāo)記調(diào)整如圖2所示。
圖2 主體安全標(biāo)記調(diào)整規(guī)則
(1)安全標(biāo)記靜態(tài)調(diào)整規(guī)則。
針對(duì)主體歷史訪問行為可信程度與主體的應(yīng)用需求,經(jīng)過可信度評(píng)估Trust(S)后,實(shí)施靜態(tài)安全標(biāo)記調(diào)整,調(diào)整后主體的訪問權(quán)限發(fā)生了變化。Trust(S)≥φ(UP)表示經(jīng)可信度評(píng)估后,主體的可信度大于或等于升級(jí)閾值;Trust(S)?φ(UP)表示長(zhǎng)時(shí)間內(nèi)主體的可信度值非常接近于升級(jí)閾值;Trust(S)=φ(UP-DOWN)表示經(jīng)可信度評(píng)估后,主體的可信度處于升級(jí)閾值與降級(jí)閾值區(qū)間內(nèi);Trust(S)<φ(UP)表示經(jīng)可信度評(píng)估后,主體的可信度小于降級(jí)閾值;(Trust(S)?φ(DOWN)表示經(jīng)可信度評(píng)估,主體長(zhǎng)時(shí)間內(nèi)可信度值非常接近于降級(jí)閾值;"need-to-upgrade"表示主體需要升級(jí)的策略,"must-to-down"表示主體強(qiáng)制降級(jí)策略,"no-change"表示主體的安全標(biāo)記保持不變[11],安全標(biāo)記靜態(tài)調(diào)整表示如下:
(2)安全標(biāo)記動(dòng)態(tài)調(diào)整規(guī)則。
針對(duì)主體具體的某一次訪問行為,存在“向下(↓)”的信息流時(shí),需要經(jīng)過危害度評(píng)估函數(shù)Threat(S)的評(píng)估,依據(jù)評(píng)估的結(jié)果對(duì)主體安全標(biāo)記實(shí)施動(dòng)態(tài)臨時(shí)調(diào)整[12],且當(dāng)主體的訪問行為完成后,其安全標(biāo)記必須恢復(fù)到原安全標(biāo)記,主體實(shí)際的訪問權(quán)限并沒有發(fā)生改變。Threat(S)=0表示經(jīng)危害度評(píng)估后此次訪問行為不存在危害,Threat(S)>0表示經(jīng)危害度評(píng)估后存在危害[13],安全標(biāo)記動(dòng)態(tài)調(diào)整規(guī)則可形式化表述如下:
為了保證系統(tǒng)的安全狀態(tài)及經(jīng)過安全規(guī)則轉(zhuǎn)換以后系統(tǒng)仍保持安全狀態(tài)[14],模型中給出了六個(gè)定理,并且給出了定理的證明。
(1)對(duì)于任意(S,OS,RT∈A)∈b-b'滿足對(duì)于F的SSCP特性;
(2)對(duì)于任意(S,OS,RT∈A)∈b不滿足對(duì)于F的SSCP特性。
定理證明:
其中命題(2)的證明等價(jià)于其逆否命題的證明,即:
通過將以上命題(1)與命題(2)進(jìn)行合并,得出:
進(jìn)一步得出等價(jià)式子:
?(s,o,A)∈b'?(s,o,A) satisfyF'
或者:
?S*∈S?
定理證明:
定理的證明過程與定理1的證明相類似,略去證明。
對(duì)于任意:
(S,OS,RT∈A)∈b-b',A∈M
(S,OS,RT∈A)∈b-b'&&A?M?(o∈OS,(s,o,A)?b)
定理證明:
利用反證法進(jìn)行證明,假設(shè)?(s,o,A)∈(S,O,RT)∧(s,o,A)∈b-b'?A?M,這顯然是與安全特性(6)相違背,所以定理得到了證明。
定理4 如果系統(tǒng)∑[RT,Q,WT,v0]保持SSCP規(guī)則,且系統(tǒng)以后的變化狀態(tài)遵守SSCP特性,則系統(tǒng)∑[RT,Q,WT,v0]滿足SSCP特性。
定理證明:
同樣可以利用反證法加以證明,證明過程如下:
假設(shè)系統(tǒng)設(shè)∑[RT,Q,WT,v0]存在一個(gè)時(shí)刻t時(shí)不滿足安全特性SSCP,那么有?t∈T,(r,p,q)∈∑[RT,Q,WT,v0]?(RT,D,vt,v)WT。設(shè)vt是系統(tǒng)∑[RT,Q,WT,v0]不符合SSCP的最小元,那么有vt-1滿足SSCP,且依據(jù)系統(tǒng)的安全狀態(tài)的轉(zhuǎn)換有(?rt∈RT,?d∈D,vt,v)WT,而根據(jù)安全系統(tǒng)所定義的安全狀態(tài)轉(zhuǎn)化函數(shù)能夠得到γ(rt∈RT,v)=(d∈D,vt),所以存在有γ(rt,v)=(p,vt),因?yàn)棣檬窍到y(tǒng)的安全定義,因此vt滿足系統(tǒng)的安全特性,與(?rt∈RT,?d∈D,vt,v)WT不一致,推出了矛盾,所以定理4的命題是正確的[15],證畢。
定理5 如果系統(tǒng)∑[RT,Q,WT,v0]保持*-SCP規(guī)則,且系統(tǒng)以后的變化狀態(tài)遵守*-SCP特性,則系統(tǒng)∑[RT,Q,WT,v0]滿足*-SCP特性。
定理證明:定理5的證明參照定理4的證明進(jìn)行。
定理6 假設(shè)σ為一規(guī)則且有:
·如果(b2?b1)∧(F1=F2),那么經(jīng)過規(guī)則σ后系統(tǒng)狀態(tài)仍然是安全的,且保持系統(tǒng)原有的SSCP特性。
·如果(b2?b1)∧(F1=F2),那么經(jīng)過規(guī)則σ后系統(tǒng)狀態(tài)仍然是安全的,且保持系統(tǒng)原有的*-SCP特性。
·如果(b2?b1)∧(?m∈M1?m∈M2),那么經(jīng)過規(guī)則σ后系統(tǒng)狀態(tài)仍然是安全的,且保持原有安全特性。
·如果(b2?b1)∧(F1=F2)∧(?m∈M1?m∈M2),那么規(guī)則σ能夠使信息系統(tǒng)保持安全狀態(tài)。
定理證明:
因?yàn)関1滿足SSCP,所以(S,OS,RT∈A)∈b,且給出了假設(shè)條件(b2?b1)可以得出((b2?b1)∧(S,OS,RT∈A)∈b)?(S,OS,RT∈A)∈b',當(dāng)F1=F2時(shí),有?o∈OS,F2(s)≥F2(o),滿足SSCP,證明完畢。同理以下的兩個(gè)命題也可以類似證明得到,而由前三個(gè)命題很容易可以推導(dǎo)出第四個(gè)命題的正確性。
(1)模型實(shí)例。
下面通過兩個(gè)設(shè)備之間的通信說明NSMBL模型應(yīng)用的具體過程(見圖3)。用戶A需要將密級(jí)為i的數(shù)據(jù)信息發(fā)送給用戶B,A的級(jí)別為i,B的級(jí)別大于i,符合模型的安全規(guī)則。設(shè)備1的級(jí)別為i,所以用戶A能夠登錄設(shè)備1,用戶B的級(jí)別為i+1,設(shè)備2的級(jí)別為i+1,用戶B能夠登錄設(shè)備2,因?yàn)镕(A)
(2)與相關(guān)模型性能對(duì)比。
模型性能對(duì)比如表1所示。
表1 模型性能對(duì)比
多級(jí)互聯(lián)安全通道模型中涉及到主體、客體、安全標(biāo)記、安全標(biāo)記調(diào)整規(guī)則,通道操作集及約束處理機(jī)制,隱蔽通道避免規(guī)則等,在這些元素及操作上,構(gòu)建一種基于安全標(biāo)記的網(wǎng)絡(luò)安全通信模型NSMBL,模型中給出了六個(gè)定理,保證了多級(jí)網(wǎng)絡(luò)環(huán)境下不同密級(jí)信息流的隔離保護(hù)與安全傳輸,保證了系統(tǒng)的安全狀態(tài)及經(jīng)過安全規(guī)則轉(zhuǎn)換以后系統(tǒng)仍保持安全狀態(tài)。