《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 一種模糊級(jí)別的多級(jí)安全關(guān)系數(shù)據(jù)模型研究
一種模糊級(jí)別的多級(jí)安全關(guān)系數(shù)據(jù)模型研究
來源:微型機(jī)與應(yīng)用2010年第17期
王六平,魯建愷,張偉林
(湖南師范大學(xué),湖南 長(zhǎng)沙410081)
摘要: 基于多實(shí)例的思想提出了一種新的模糊級(jí)別的多級(jí)安全模型,將多個(gè)僅密級(jí)不同的元組合并表示,并用安全模式來表示元組所適用的密級(jí),只要主體的許可級(jí)別匹配此安全模式,便可存取此元組。這種模型解決了現(xiàn)有多級(jí)安全數(shù)據(jù)模型中存在的數(shù)據(jù)冗余度大及隱通道等問題。
Abstract:
Key words :

 摘  要: 基于多實(shí)例的思想提出了一種新的模糊級(jí)別的多級(jí)安全模型,將多個(gè)僅密級(jí)不同的元組合并表示,并用安全模式來表示元組所適用的密級(jí),只要主體的許可級(jí)別匹配此安全模式,便可存取此元組。這種模型解決了現(xiàn)有多級(jí)安全數(shù)據(jù)模型中存在的數(shù)據(jù)冗余度大及隱通道等問題。
關(guān)鍵詞: 多級(jí)安全;多實(shí)例;數(shù)據(jù)模型;合并;安全模式

    現(xiàn)有的多級(jí)安全數(shù)據(jù)模型都遵循BLP模型[1]中提出的“向下讀,向上寫”的多級(jí)關(guān)系的強(qiáng)制訪問控制規(guī)則,從而確保信息的向上單向流動(dòng)。然而,在大多數(shù)應(yīng)用中,主體(用戶或程序)和客體的敏感度很難嚴(yán)格地劃分等級(jí),只存在一些模糊級(jí)別。許可級(jí)別高的用戶未必一定允許查看密級(jí)(表示該客體所包含信息的敏感度)低的信息,例如:一個(gè)許可級(jí)別較高的用戶不允許查看另一部門的較低密級(jí)的信息。
    另外,在一般的多級(jí)安全關(guān)系數(shù)據(jù)庫中,為了對(duì)低許可級(jí)的主體隱藏高密級(jí)的敏感信息,引入了多實(shí)例(Polyinstantiation)和偽元組(Cover Story)的概念,使得真實(shí)世界的單個(gè)實(shí)體在一個(gè)多級(jí)關(guān)系表中會(huì)產(chǎn)生多個(gè)元組,每個(gè)元組對(duì)應(yīng)著不同密級(jí)的實(shí)例,并為每個(gè)字段設(shè)置相應(yīng)的密級(jí)附加字段,以記錄各數(shù)據(jù)項(xiàng)的密級(jí)信息。當(dāng)不同實(shí)例間的數(shù)據(jù)差異很大時(shí),這樣的設(shè)計(jì)是合理的。然而,研究表明實(shí)際應(yīng)用時(shí),數(shù)據(jù)庫中敏感數(shù)據(jù)(即需要對(duì)低許可級(jí)主體隱藏的數(shù)據(jù))所占的比例通常僅僅只有約5%[2],這意味著多實(shí)例間的數(shù)據(jù)差異通常非常小,高密級(jí)的元組除個(gè)別字段外,絕大部分?jǐn)?shù)據(jù)(90%以上)與低密級(jí)元組相同[3],造成數(shù)據(jù)的大量冗余,而且數(shù)據(jù)定義與操縱規(guī)則相當(dāng)復(fù)雜。
    為了解決上述問題,本文提出了一種新的模糊級(jí)別的多級(jí)安全關(guān)系數(shù)據(jù)庫模型,采用類似于“同級(jí)讀,同級(jí)寫”的原則,既可以防止“高”許可級(jí)用戶查看或修改“低”密級(jí)的信息,造成信息泄漏;又可以防止“低”許可級(jí)主體修改“高”密級(jí)的數(shù)據(jù),形成隱通道,還可以通過多密級(jí)共享元組來減少數(shù)據(jù)冗余。
1 對(duì)基于多實(shí)例的多級(jí)關(guān)系的改進(jìn)
    當(dāng)不同的元組具有相同的主鍵,卻具有不同的密級(jí)時(shí),稱為多實(shí)例。在給定的格中,對(duì)每一個(gè)許可級(jí)都有一個(gè)關(guān)系實(shí)例,代表該許可級(jí)的用戶眼中的數(shù)據(jù)版本。例如,對(duì)關(guān)系模式R而言,實(shí)例RC就是許可級(jí)為C的用戶所看到的元組的集合。多實(shí)例是一個(gè)應(yīng)用多級(jí)安全的系統(tǒng)所固有的屬性[4-5]。
    在SeaView[6]和Jajodia、Sandhu[4-5,7]等人對(duì)多級(jí)安全數(shù)據(jù)模型的研究中,對(duì)每一個(gè)屬性定義其相應(yīng)的密級(jí),并引入了多實(shí)例,但由于采用“向下讀,向上寫”的規(guī)則,因此,存在隱匿通道問題。參考文獻(xiàn)[8]中引入了主從表,通過在從表中讀寫偽元組來消除隱通道問題,但按照這些規(guī)則進(jìn)行讀寫操作后,大部分元組的各屬性的密級(jí)最終都會(huì)與元組的密級(jí)相同。因此,本模型直接將各屬性的密級(jí)屬性去掉,只留下元組的密級(jí)屬性;參考文獻(xiàn)[9]直接去掉了屬性的密級(jí)屬性,只留下元組的密級(jí)屬性TC,但要求為實(shí)體的每一種許可級(jí)定義一個(gè)實(shí)例。然而根據(jù)前面的分析,實(shí)際應(yīng)用中不同密級(jí)實(shí)例的大部分屬性值可能是相同的,甚至可能只是元組密級(jí)屬性TC值不同而已,造成大量的冗余數(shù)據(jù),而且,當(dāng)許可級(jí)較多時(shí),數(shù)據(jù)的冗余量將會(huì)成倍增長(zhǎng)。因此,為了進(jìn)一步減少冗余,本模型再將所有屬性值均相同的多個(gè)不同密級(jí)的元組合并成一個(gè)元組,用一種類似于通配符的數(shù)據(jù),即安全模式(Security Pattern)來表示這些密級(jí)。強(qiáng)制訪問控制就是通過對(duì)比主體的許可級(jí)別和客體的安全模式是否匹配來確定主體是否能夠存取客體。
    安全模式定義及其運(yùn)算規(guī)則。

    因此,一個(gè)改進(jìn)后的多級(jí)關(guān)系可以定義為:
    定義2:設(shè)有R(A1,A2,…,An,SP),其中,Ai是定義在域Di上的數(shù)據(jù)屬性,SP表示元組的密級(jí)屬性,SP的值為安全模式,為所有有權(quán)訪問該元組的主體所支配。稱R為多級(jí)關(guān)系模式。
    可見本模型不僅形式簡(jiǎn)單,而且由于它保持了標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫的特點(diǎn),因此易于在目前常見的DBMS上實(shí)現(xiàn)。又由于本模型不同于其他學(xué)者提出的模式,不再用屬性TC來表示某一個(gè)密級(jí)別,而是一種稱為安全模式的數(shù)據(jù)來表示多個(gè)密級(jí)別,只有許可級(jí)別與此安全模式匹配的主體才可以訪問此元組,類似于“同級(jí)讀,同級(jí)寫”的訪問控制規(guī)則,顯然不可能泄漏敏感數(shù)據(jù),也不存在隱通道。
2 模型的完整性規(guī)則
    由于本模型擴(kuò)展了標(biāo)準(zhǔn)的關(guān)系數(shù)據(jù)模型,引入了元組密級(jí)屬性,為了保證數(shù)據(jù)庫中數(shù)據(jù)的完整性和一致性,本模型對(duì)標(biāo)準(zhǔn)關(guān)系模式的完整性規(guī)則進(jìn)行了增強(qiáng)。
2.1 實(shí)體完整性
    本模型中,在標(biāo)準(zhǔn)關(guān)系模式的基礎(chǔ)上增加了表示元組密級(jí)的屬性SP,標(biāo)準(zhǔn)關(guān)系模式的直覺意義上的主鍵,稱外觀主鍵AK(Apparent primary Key),真正的主鍵是外觀主鍵加元組密級(jí)屬性(即AK∪SP)。
    實(shí)體完整性:多級(jí)關(guān)系R的一個(gè)實(shí)例r滿足實(shí)體完整性,當(dāng)且僅當(dāng),對(duì)r的所有元組t,若Ai∈AK則t[Ai]≠null且t[SP]≠null。即假定AK是定義在關(guān)系模式R上的外觀主鍵,構(gòu)成AK的所有屬性均不能為空,元組的密級(jí)屬性SP也不能為空。
2.2 參照完整性
    參照完整性:R和S為多級(jí)關(guān)系,S參照了R,AKr為R的外觀主鍵,F(xiàn)Ks為S的外鍵,許可級(jí)別為c的主體所支配的R的實(shí)例rc和S的實(shí)例sc滿足參照完整性,對(duì)sc的所有元組ts,或者ts[FKs]=null,或者存在tr∈rc且tr[AKr]=ts[FKs]和tr[SP]&ts[SP]&c=c。
    任何元組只能參照其他關(guān)系(或自身)中存在的元組,且參照及被參照的元組必須受同一許可級(jí)別主體支配。
2.3 實(shí)例間完整性
    實(shí)例間完整性反映的是對(duì)給定格的所有密級(jí),其對(duì)應(yīng)的各個(gè)實(shí)例之間的聯(lián)系和約束。
    由于本模型中討論的是模糊級(jí)別的格,采用的是類似于“同級(jí)讀,同級(jí)寫”的規(guī)則,故不保證一個(gè)實(shí)體在不同的許可級(jí)的關(guān)系實(shí)例中均可見。如果不可見,則表明本許可級(jí)別未被授權(quán)存取此實(shí)體。但如果實(shí)體的兩個(gè)實(shí)例所有屬性值均相同時(shí),可用同一個(gè)實(shí)例來表示,并在此實(shí)例的SP屬性中將這兩個(gè)密級(jí)合并表示。
 
    此規(guī)則要求對(duì)于任意許可級(jí)別c和任意實(shí)體,多級(jí)關(guān)系R中至多存在一個(gè)實(shí)例t受許可級(jí)別為c的用戶支配。
    在一個(gè)關(guān)系中可能有多個(gè)實(shí)例具有相同的AK值,但主體在任何密級(jí)最多只能接受1個(gè)AK值的實(shí)例。對(duì)某個(gè)特定許可級(jí)的關(guān)系,其所有元組的密級(jí)均受此許可級(jí)c支配,而且是其支配的元組的唯一代表,而密級(jí)屬性的存在對(duì)用戶是透明的,因此在用戶眼中,仍是AK→Ai(AiAK),保持了標(biāo)準(zhǔn)關(guān)系模型中的函數(shù)依賴特性。為了禁止一個(gè)實(shí)體在同一密級(jí)中的多實(shí)例存在,首先要求多級(jí)關(guān)系中的主鍵為AK∪SP,然后再通過讀寫規(guī)則加以控制。
3 讀寫規(guī)則
3.1 讀規(guī)則

    在本模型中,不是為每一密級(jí)創(chuàng)建1個(gè)元組,而可能是多密級(jí)別共享1個(gè)元組。每個(gè)密級(jí)別對(duì)應(yīng)的關(guān)系實(shí)例的元組為多級(jí)關(guān)系中可由此許可級(jí)主體支配的元組組成。因此本模型中讀規(guī)則為:用戶在其有效的讀范圍內(nèi),讀取元組安全模式SP值與主體許可級(jí)匹配的元組。如果某AK值對(duì)應(yīng)的所有元組中所有SP值都與主體許可級(jí)不匹配,表明此實(shí)體的所有信息均對(duì)此主體隱藏了。
    例1:假設(shè)某情報(bào)機(jī)構(gòu)使用MLS數(shù)據(jù)庫記錄職員的信息。假定系統(tǒng)中密級(jí)分為四級(jí)分別是a、b、c、d(分別用1000,0100,0010,0001表示)。系統(tǒng)中存在2個(gè)多級(jí)關(guān)系:職員關(guān)系Empl與部門關(guān)系Dept,外觀主鍵分別為EName和DName,元組如表1、表2所示(其中SP部分的字段對(duì)用戶是透明的,下同)。

    根據(jù)上面的讀規(guī)則,許可級(jí)別為的a,b,c,d的用戶看到兩表的關(guān)系實(shí)例如表3~表8所示。
   
   

    不同級(jí)別的用戶,Empl引用的DName都是Dept中存在的DName,而且是受同許可級(jí)的主體支配??梢?,不同用戶視圖都滿足參照完整性。同樣本例中多級(jí)安全數(shù)據(jù)庫滿足前述的其他各項(xiàng)完整性約束規(guī)則。
3.2 插入操作
    情形1:對(duì)單個(gè)多級(jí)關(guān)系的插入操作。
    (1)檢查多級(jí)關(guān)系的用戶視圖中是否存在與待插入的外觀主鍵值相同的元組,如果存在則插入失??;否則按步驟(2)進(jìn)行;
    (2)檢查多級(jí)關(guān)系中是否存在各數(shù)據(jù)項(xiàng)與待插入元組各數(shù)據(jù)項(xiàng)相同的元組,如果存在則將此元組的SP值sp用sp&c代替(c代表執(zhí)行插入操作的用戶的許可級(jí)),插入完成;否則繼續(xù)下面的步驟。
    (3)插入此元組,并將該元組的密級(jí)屬性置為用戶的許可級(jí)。
    例2:許可級(jí)為b的用戶執(zhí)行以下插入語句:insert into Dept values(‘機(jī)要’,‘1-101’),插入后的效果如表9所示。

    情形2:若是對(duì)有外鍵的多級(jí)關(guān)系進(jìn)行插入操作,還要滿足參照的完整性。亦即先檢查被參照關(guān)系的用戶視圖中是否存在相應(yīng)AK=fk(fk表示待插入元組的外鍵值),若存在,則直接按情形1完成插入操作;否則,插入失敗。
    例3:許可級(jí)為b的用戶執(zhí)行以下插入語句:insert into Empl values(‘王平’,‘機(jī)要’),由于在Dept的b用戶視圖中不存在AK=‘機(jī)要’的元組,故插入失敗。但d級(jí)用戶卻可以成功執(zhí)行此插入操作,成功操作后結(jié)果如表10、表11所示。

3.3 更新操作
    由于在本模型中,將多個(gè)不同的密級(jí)元組合并成1個(gè)元組,因此,1個(gè)元組可能代表多個(gè)密級(jí)的實(shí)例,一個(gè)許可級(jí)主體的更新操作不應(yīng)該影響其他許可級(jí)的視圖。
    (1)檢查待更新的元組的SP值是否為某單個(gè)密級(jí)(即二進(jìn)制數(shù)只有一位為1,下同),若是,則表明此次更新不會(huì)影響其他許可級(jí)的視圖,因此可按標(biāo)準(zhǔn)關(guān)系模型的更新操作進(jìn)行;否則,按以下步驟。
    (2)先將此元組的SP值sp更新為sp&~c(c表示執(zhí)行更新操作的主體的許可級(jí),下同),再按“插入操作”插入新元組,新元組各項(xiàng)為待更新的元組的新值。
    例4:許可級(jí)為b的用戶欲執(zhí)行命令:update dept set addr=‘4-201’ where DName=‘管理’,根據(jù)表6可見,元組{管理,3-201,1100}代表了a、b密級(jí)的實(shí)例。為了不影響a的實(shí)例,先將此元組的SP從1100更新為1000,再執(zhí)行插入操作:insert into dept values(‘管理’,‘4-201’)。
3.4 刪除操作
    在本模型中,1個(gè)元組可能代表多個(gè)密級(jí)的元組,故刪除規(guī)則應(yīng)按下面的步驟進(jìn)行:
    (1)檢查待刪除元組的SP值是否為某單個(gè)密級(jí),若是,則可按標(biāo)準(zhǔn)關(guān)系模型的刪除操作進(jìn)行。否則,按以下步驟。
    (2)先將此元組的SP值sp更新為sp&~c(c表示執(zhí)行刪除操作的主體的許可級(jí))。
    本模型繼承了多實(shí)例的概念,并作了改進(jìn)。如果多個(gè)實(shí)例僅僅只有元組的密級(jí)屬性不同,則直接將這些實(shí)例用1個(gè)元組表示,其SP值為這些密級(jí)屬性的并集,由于實(shí)際應(yīng)用中敏感數(shù)據(jù)很少,故這種規(guī)則在應(yīng)用中是合理的,從而大大減少了數(shù)據(jù)的冗余。
    本文提出的多級(jí)關(guān)系數(shù)據(jù)模型中使用類似“同級(jí)讀,同級(jí)寫”的規(guī)則,任何許可級(jí)的用戶都無法看到其他密級(jí)的元組(除非與此許可級(jí)用戶共享該元組),同時(shí),也無法修改其他密級(jí)的元組(即使與此許可級(jí)用戶共享元組,修改也不會(huì)影響其他許可級(jí)的用戶視圖),既避免了隱通道,又防止了敏感數(shù)據(jù)的泄漏。
參考文獻(xiàn)
[1] BELL D E, LAPADULA L J P. Secure computer system: Unified exposition and multics interpretation[R]. Tech Rep MTR-2997, MITRE Corp, Bedford, MA, 1975.
[2] SANDHU R, CHEN F. The multilevel relational (MLR) data model[J]. Transactions on Information and System Security, 1998:1(1):93-132.
[3] 馮朝陽,岳麗華,翟小棟,等.一種緊湊的多級(jí)安全關(guān)系數(shù)據(jù)模型[J].計(jì)算機(jī)工程與應(yīng)用,2005(4):170-174.
[4] JAJODIA S, SANDHU R, SIBLEY E. Update semantics for multilevel relations[J]. In Proceedings of the 6th Annual Computer Security Applications Conference. 1990(10):103-112.
[5] JAJODIA S, SANDHU R. Polyinstantiation integrity in multilevel relations[C]. IEEE Symposium on Security and Privacy, 1990.
[6] DENNING D E, LUNT T F. The seaview security model[C]. IEEE Symposium on Security and Privacy, 1998.
[7] JAJODIA S, SANDHU R, LUNT T F. A new polyins-tantiation integrity constraint for multilevel relations[C]. IEEE Work-shop on Computer Security Foundations, 1990.
[8] 武立福,毛宇光.一種改進(jìn)的多級(jí)安全關(guān)系數(shù)據(jù)模型[J].計(jì)算機(jī)應(yīng)用,2003,23(7):103-108.
[9] 馮玉才,張勇.多實(shí)例的多級(jí)安全關(guān)系數(shù)據(jù)庫數(shù)據(jù)模型研究[J].小型微型計(jì)算機(jī)系統(tǒng),2003,24(3):452-455.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。