亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        多源對象關(guān)系數(shù)據(jù)庫細(xì)粒度強制訪問控制機制實現(xiàn)方法

        2021-12-14 01:37:10陳曉娟
        計算機應(yīng)用與軟件 2021年12期
        關(guān)鍵詞:關(guān)系數(shù)據(jù)庫訪問控制數(shù)據(jù)源

        繆 燕 孫 燕 陳曉娟 宋 偉

        1(北京許繼電氣有限公司 北京 100085)2(武漢大學(xué)計算機學(xué)院 湖北 武漢 430074)

        0 引 言

        數(shù)據(jù)庫技術(shù)作為計算機系統(tǒng)軟件,一直以來都是信息系統(tǒng)中數(shù)據(jù)存儲的核心。傳統(tǒng)關(guān)系數(shù)據(jù)庫具備堅實的理論基礎(chǔ)、完備的配套工具和靈活的數(shù)據(jù)表達(dá)能力,因此以關(guān)系數(shù)據(jù)庫為代表的傳統(tǒng)數(shù)據(jù)庫系統(tǒng)在產(chǎn)業(yè)領(lǐng)域取得了巨大成功。

        隨著計算機技術(shù)的發(fā)展,數(shù)據(jù)存儲管理變得越來越重要,無論從數(shù)據(jù)規(guī)模還是數(shù)據(jù)管理復(fù)雜度上都對數(shù)據(jù)存儲和管理提出了越來越高的要求。近年來數(shù)據(jù)庫已經(jīng)應(yīng)用到眾多新興應(yīng)用領(lǐng)域,如社交網(wǎng)絡(luò)、移動數(shù)據(jù)、地理信息系統(tǒng)、圖數(shù)據(jù)管理等,各種半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的內(nèi)在特征和服務(wù)特性都使得傳統(tǒng)關(guān)系型數(shù)據(jù)庫效率低下甚至無能為力。關(guān)系數(shù)據(jù)庫具有統(tǒng)一的數(shù)據(jù)存儲和處理規(guī)范,在管理結(jié)構(gòu)化數(shù)據(jù)方面具有優(yōu)勢,但是在表達(dá)復(fù)雜語義方面則顯得效率低下。

        面向?qū)ο竽P图懊嫦驅(qū)ο蟛僮鞯某霈F(xiàn),彌補了關(guān)系數(shù)據(jù)庫基于關(guān)系對象操作在復(fù)雜語義表達(dá)性和復(fù)雜語義操作方面存在的不足。但是面向?qū)ο髷?shù)據(jù)庫由于對數(shù)據(jù)對象進(jìn)行結(jié)構(gòu)化封裝,又使得對象數(shù)據(jù)庫存在數(shù)據(jù)冗余大、數(shù)據(jù)表達(dá)靈活性差等缺點。為克服關(guān)系數(shù)據(jù)庫和對象數(shù)據(jù)庫的不足之處,出現(xiàn)了對象關(guān)系數(shù)據(jù)庫。對象關(guān)系數(shù)據(jù)庫具有關(guān)系數(shù)據(jù)庫表達(dá)靈活、理論完備的優(yōu)勢,又支持面向?qū)ο筇卣鞯臄?shù)據(jù)操作,具有語義表達(dá)能力強、數(shù)據(jù)對象存儲持久等諸多優(yōu)勢。

        近年隨著大數(shù)據(jù)應(yīng)用的發(fā)展與普及,對象關(guān)系數(shù)據(jù)庫受到越來越廣泛的關(guān)注,知名的開源數(shù)據(jù)庫系統(tǒng)PostgreSQL就是一種對象關(guān)系數(shù)據(jù)庫系統(tǒng)。PostgreSQL數(shù)據(jù)庫在復(fù)雜數(shù)據(jù)管理領(lǐng)域擴張迅速,已被廣泛應(yīng)用于地理信息系統(tǒng)、云數(shù)據(jù)庫、圖數(shù)據(jù)管理等諸多領(lǐng)域,但對于PostgreSQL的數(shù)據(jù)訪問授權(quán)管理則顯得有些滯后。

        數(shù)據(jù)訪問授權(quán)是信息系統(tǒng)的基本核心功能,也是網(wǎng)絡(luò)安全等級保護(hù)的重要組成部分。傳統(tǒng)商用關(guān)系型數(shù)據(jù)庫如Oracle、SqlServer、DB2等都有一整套完備的數(shù)據(jù)訪問授權(quán)邏輯和實現(xiàn),但是在對象關(guān)系數(shù)據(jù)庫中(以最新版PostgreSQL12為例)仍沒有嚴(yán)格意義上完備的強制訪問控制。這給對象關(guān)系數(shù)據(jù)庫系統(tǒng)在更多商業(yè)領(lǐng)域應(yīng)用造成了巨大困難。

        如何基于對象關(guān)系數(shù)據(jù)庫的數(shù)據(jù)模式和服務(wù)特點,設(shè)計適用于對象關(guān)系數(shù)據(jù)庫的強制訪問控制模型成為亟需解決的理論和應(yīng)用問題。本文以PostgreSQL為研究對象,設(shè)計并實現(xiàn)了一種對象關(guān)系數(shù)據(jù)庫環(huán)境下的強制訪問控制方法,該訪問控制模型實現(xiàn)了完備的強制訪問控制邏輯,同時支持多數(shù)據(jù)源、細(xì)粒度授權(quán)的特點,通過在PostgreSQL12中的實驗證明,設(shè)計的強制訪問控制方法具有授權(quán)訪問靈活、數(shù)據(jù)維護(hù)開銷小的優(yōu)點。

        1 相關(guān)研究

        20世紀(jì)70年代,Bell等[1]首次提出可證明安全的強制訪問控制模型,稱為Bell-La Padula(BLP)模型,該模型針對操作系統(tǒng)安全,最初主要應(yīng)用于軍事安全策略實現(xiàn)。此后,為了優(yōu)化BLP模型,避免引發(fā)因使用強制訪問控制模型而造成的隱通道問題,國內(nèi)外的學(xué)者們提出了多級安全關(guān)系數(shù)據(jù)模型,其中包括Sea View模型[2]和Jajodia-Sandhu模型[3]等。

        在BLP強制訪問控制模型中,實體被分為主體和客體,每個實體都被賦予了相應(yīng)的安全等級。模型通過比較主體和客體的安全等級來決定主體對客體的操作授權(quán)[4]。在BLP模型中,主體不能讀安全等級比自己高的客體,也不能寫安全等級比自己低的客體。因此,信息只能從低安全級向高安全級流動或者在同安全級之間流動,有效防止了由低安全等級的用戶讀取高安全等級的數(shù)據(jù)造成的信息泄露。然而當(dāng)BLP模型的讀寫規(guī)則應(yīng)用在數(shù)據(jù)庫系統(tǒng)中的時候,低安全等級的用戶擁有寫高安全等級數(shù)據(jù)的權(quán)限,可能因此造成不恰當(dāng)?shù)闹貙懖僮?,給數(shù)據(jù)安全帶來隱患[5]。為此研究者們提出了改進(jìn)的BLP模型,只有當(dāng)主體的安全等級和客體的安全等級相同時,主體才能對客體進(jìn)行寫操作,從而避免了低安全等級用戶對高安全等級數(shù)據(jù)重寫所造成的問題。

        除此之外,為了能讓BLP模型更好地應(yīng)用于數(shù)據(jù)庫系統(tǒng),出現(xiàn)了各類改進(jìn)工作。文獻(xiàn)[6]對BLP模型進(jìn)行進(jìn)一步優(yōu)化,使其契合屬性安全值的特點,形成一個靈活的基于屬性安全值的強制訪問控制模型。文獻(xiàn)[7]基于BLP模型提出了一種具有自主控制特性的強制訪問控制模型。文獻(xiàn)[8]從安全模型構(gòu)建入手,對智能終端的Web操作系統(tǒng)進(jìn)行抽象建模,并重定義BLP模型的元素,增強主客體的訪問控制以提高其機密性。

        Sea View模型引入了多實例和多級關(guān)系。多實例和多級關(guān)系的存在解決了由于主鍵唯一性導(dǎo)致的隱通道問題。但因Sea View安全數(shù)據(jù)視圖模型標(biāo)識粒度較細(xì)并定義了完整性規(guī)則,這導(dǎo)致一個寫操作會產(chǎn)生多個元組,且元組個數(shù)可能達(dá)到非關(guān)鍵字屬性個數(shù)的指數(shù)級,這些元組中得到屬性的產(chǎn)生是不合邏輯的。同時,其多級關(guān)系存取的處理也會嚴(yán)重降低系統(tǒng)的性能。

        針對Sea View安全數(shù)據(jù)視圖模型中存在的問題,Jajodia-Sandhu模型[3]重新定義了多實例完整性,并且定義了空值完整性和實例間完整性,消除了Sea View模型中的多值依賴,提高了數(shù)據(jù)安全性和完整性,并且減少了寫操作產(chǎn)生的多實例的個數(shù)。不過由于該模型中的插入和更新操作仍然會存在著一定數(shù)量的多實例[9]。此后,Sandhu等[11]又在Jajodia-Sandhu模型的基礎(chǔ)上,吸收了Sea View模型的優(yōu)點,并引入了Simith-Winslett模型[10]中基于信任的語義概念,提出了MLR綜合模型。該模型提供了元素粒度的強制訪問控制,定義了數(shù)據(jù)借用關(guān)系,即高安全等級的主體可以從低安全級別的主體借用數(shù)據(jù),不過其控制較為復(fù)雜,在實現(xiàn)的過程中可能存在安全隱患。

        此后,國內(nèi)外數(shù)據(jù)庫安全領(lǐng)域的學(xué)者們針對各種數(shù)據(jù)庫的實際安全需求進(jìn)行了大量的強制訪問控制研究。文獻(xiàn)[12]提出了一個安全數(shù)據(jù)庫訪問控制模型,包括一個多層關(guān)系模型和一個增強自主訪問控制能力的元素級粒度的授權(quán),在多層關(guān)系模型中拓展了MLR模型,使其支持了傳遞借用和多值借用。文獻(xiàn)[13]提出一種新的云計算環(huán)境中數(shù)據(jù)分布式強制訪問控制算法。文獻(xiàn)[14]提出一種協(xié)作環(huán)境下具有時空約束的強制訪問控制模型,將任務(wù)、時間、空間等要素進(jìn)行綜合考慮,既增強了訪問控制模型的安全性,又滿足了協(xié)作環(huán)境下訪問控制的靈活性。文獻(xiàn)[15]采用數(shù)據(jù)庫資源的染色標(biāo)記方法,提出了一種基于染色標(biāo)記的數(shù)據(jù)庫安全強制訪問控制體系。文獻(xiàn)[16]針對實時操作系統(tǒng)資源少、開銷小、實時性要求嚴(yán)格等特點,提出了一種針對RTOS的輕量級強制訪問控制模型。文獻(xiàn)[17]基于對象代理特性提出了一個適用于TOTEM數(shù)據(jù)庫的強制訪問控制模型。文獻(xiàn)[18]針對SQL注入、內(nèi)部人員權(quán)限濫用等非法行為,提出可信計算環(huán)境下的數(shù)據(jù)庫強制行為控制(MBC)模型。

        現(xiàn)有數(shù)據(jù)庫安全訪問控制研究重點側(cè)重關(guān)系數(shù)據(jù)庫環(huán)境中的數(shù)據(jù)授權(quán)訪問,但是并沒有考慮到對象關(guān)系數(shù)據(jù)庫給數(shù)據(jù)授權(quán)帶來的新問題,如數(shù)據(jù)對象之間的繼承關(guān)系、數(shù)據(jù)對象的溯源操作帶來的隱私泄露問題等。因此需要提出一種安全、實用的強制訪問控制邏輯和實現(xiàn)機制,以滿足目前對于對象關(guān)系數(shù)據(jù)庫的巨大應(yīng)用需求。

        2 對象關(guān)系數(shù)據(jù)對象強制訪問控制

        2.1 對象關(guān)系數(shù)據(jù)庫的訪問控制

        現(xiàn)有對象關(guān)系數(shù)據(jù)庫的自主訪問控制安全性能有限,在實際應(yīng)用場景中也存在授權(quán)機制不靈活的限制?,F(xiàn)有對象關(guān)系數(shù)據(jù)庫訪問控制機制存在權(quán)限管理不當(dāng),可能引發(fā)秘密數(shù)據(jù)泄露,在很多方面也存在安全隱患,并且粗粒度的訪問控制也缺乏靈活性。目前的對象關(guān)系數(shù)據(jù)庫訪問控制中,可以進(jìn)行訪問控制的數(shù)據(jù)庫對象的最小粒度是類,因此在PostgreSQL中使用訪問控制列表無法限制數(shù)據(jù)庫用戶對數(shù)據(jù)庫列級對象和行級對象的訪問,使得PostgreSQL的訪問控制機制并不能滿足實際應(yīng)用中細(xì)粒度訪問控制的需求。

        在對象關(guān)系數(shù)據(jù)庫實際應(yīng)用中,用戶會根據(jù)不同的使用目的,生成不同類型的繼承類,包括SELECTED選擇型繼承類、JOIN連接型繼承類、UNION合并型繼承類和GROUP分組型繼承類。其中對于擁有多個數(shù)據(jù)源(即源類)的繼承類,僅僅只在其屬性上分配一個統(tǒng)一的安全標(biāo)簽可能會造成部分源類的數(shù)據(jù)無法通過繼承類被合法用戶訪問的問題。為了讓基于對象關(guān)系特性的強制訪問控制模型為多源繼承類提供更為方便靈活的訪問控制,本文針對多源繼承類在理論和實際應(yīng)用方面的特性,從更細(xì)的粒度上探討了各種繼承類中屬性級對象的安全等級管理,并在此基礎(chǔ)上闡述繼承類上細(xì)粒度訪問控制的過程。

        為方便描述訪問控制規(guī)則及介紹對象安全等級管理方法,表1列出了本文中使用的符號及其意義。

        表1 正文符號表及意義

        在詳細(xì)介紹對象關(guān)系數(shù)據(jù)庫的強制訪問控制規(guī)則之前,先對用到的基本概念進(jìn)行定義。

        (1) 安全級別序列。安全級別序列是一個有n個元素的有序序列,用SL=(sl1,sl2,…,sln)表示,其中sli(i=1,2,…,n)表示第i個元素,對于任意兩個元素sli和slj,若i

        (2) 類別范圍集合。類別范圍集合是一個有m個元素的集合,用CR={cr1,cr2,…,crm}表示,其中cri(i=1,2,…,m)表示第i個元素,對于任意兩個元素cri和crj,若i≠j,則有cri≠crj。

        (3) 安全標(biāo)簽。一個安全標(biāo)簽SecL由一個安全級別元素和一個類別范圍集合組成,表示為SecL=sl:cr,其中sl∈SL為安全級別序列SL中的一個元素,cr為空集或者類別范圍集合CR中的一個或多個元素的集合。數(shù)據(jù)庫對象的安全標(biāo)簽表示為SecLobj=SLobj:CRobj,請求訪問數(shù)據(jù)庫對象的主體的安全標(biāo)簽表示為SecLsub=SLsub:CRsub。

        (4) 安全等級。數(shù)據(jù)庫對象的安全等級由數(shù)據(jù)庫對象的安全標(biāo)簽來體現(xiàn)。對于數(shù)據(jù)庫對象obj1和obj2,obj1的安全標(biāo)簽SecLobj1表示為SLobj1:CRobj1,obj2的安全標(biāo)簽SecLobj2表示為SLobj2:CRobj2。當(dāng)且僅當(dāng)SLobj1>SLobj2且CRobj1?CRobj2,認(rèn)為obj1的安全等級高于obj2的安全等級;當(dāng)且僅當(dāng)SLobj1=SLobj2且CRobj1=CRobj2時,認(rèn)為obj1的安全等級等obj2的安全等級。

        (5) 源類。對象關(guān)系數(shù)據(jù)庫中存在著繼承關(guān)系,即通過特定的繼承規(guī)則從源類繼承部分或全部屬性值,這里的源類就是繼承類中部分屬性的數(shù)據(jù)源。一個繼承類可以有一個或多個源類,一個繼承類的n個源類用集合SC表示,SC={SCi|i=1,2,…,n}。

        (6) 繼承類。繼承類中必定會有虛屬性,即根據(jù)規(guī)則從源類中繼承的屬性,這些屬性的內(nèi)容并未實際存儲。同時繼承類中也可以新增屬性,這些屬性為繼承類中實際存儲的實屬性,繼承類中的實屬性個數(shù)可為0個或若干個。繼承類用IC表示,繼承類的第i個虛屬性表示為IC.vai,繼承類的第j個實屬性表示為IC.raj,則繼承類的安全標(biāo)簽表示為SecLIC=SLIC:CRIC,繼承類的第i個虛屬性的安全標(biāo)簽表示為SecLIC.vai=SLIC.vai:CRIC.vai,繼承類的第j個實屬性的安全標(biāo)簽表示為SecLIC.raj=SLICIC.raj:CRIC.raj。

        (7) UNION繼承類。UNION繼承類合并了若干個源類中共有屬性的選擇型繼承結(jié)果,用UIC表示,那么代表其安全等級的安全標(biāo)簽表示為SecLUIC=SLUIC:CRUIC。

        2.2 強制訪問控制安全模型

        對象關(guān)系數(shù)據(jù)庫強制訪問控制的安全模型主要基于BLP(Bell-La Padula)安全模型,該模型如圖1所示。數(shù)據(jù)庫系統(tǒng)中的每一個數(shù)據(jù)庫對象都被分配一個安全標(biāo)簽,這個安全標(biāo)簽反映了數(shù)據(jù)庫對象的安全等級。數(shù)據(jù)庫中除了數(shù)據(jù)庫、源類、繼承類等數(shù)據(jù)庫對象被分配了安全標(biāo)簽外,源類的實屬性、繼承類的虛屬性和實屬性也被分配了安全標(biāo)簽。同時,對數(shù)據(jù)庫進(jìn)行操作和訪問的主體也被授予了一個安全標(biāo)簽。當(dāng)主體訪問數(shù)據(jù)庫對象時,需要比較二者的安全標(biāo)簽是否符合主體訪問數(shù)據(jù)庫對象管理規(guī)則。

        圖1 對象關(guān)系數(shù)據(jù)庫的強制訪問安全模型

        2.3 基于多源數(shù)據(jù)的安全等級細(xì)化方法

        在對象關(guān)系數(shù)據(jù)庫中,具有多個源類的繼承類有兩種,分別是UNION繼承類和JOIN繼承類。其中,UNION繼承類存在著類中不同實例的同一屬性內(nèi)容來源于多個源類中對應(yīng)屬性的內(nèi)容。下面將結(jié)合具體的例子說明這種多源類繼承類上在進(jìn)行強制訪問控制時可能出現(xiàn)的問題。

        假設(shè)音樂網(wǎng)站的數(shù)據(jù)庫中有兩個基本類,命名為vipmusic和freemusic,分別存儲付費歌曲和免費歌曲的信息。其中,vipmusic類和freemusic類中共有的屬性有編號number、歌名name、歌手singer和歌曲音頻內(nèi)容context,不過付費歌曲的音頻內(nèi)容只有在用戶付費成為會員后才能聽到,免費的歌曲音頻內(nèi)容普通用戶和會員都可以聽到。為了方便在音樂網(wǎng)站的構(gòu)建中對歌曲共有的屬性信息進(jìn)行統(tǒng)一的獲取和處理,需要構(gòu)建一個提供所有歌曲信息的更抽象的類。UNION繼承類便可以滿足這個需求,將vipmusic和freemusic兩個基本類作為源類,創(chuàng)建一個名為music的UNION繼承類,如圖2所示。

        圖2 UNION繼承類中多數(shù)據(jù)源屬性示例

        那么通過直接對UNION繼承類music進(jìn)行查詢即可得到所有歌曲共有屬性的信息。music類中繼承自源類的屬性均為虛屬性,其擴展定義的屬性comment為實屬性,表示網(wǎng)站用戶對歌曲的評論,其中music類中所有實例的虛屬性內(nèi)容都不是實際存儲在本地的,而是通過訪問源類vipmusic和freemusic中對應(yīng)屬性的內(nèi)容而得到的,實屬性的內(nèi)容是實際存儲在本地的。

        假設(shè)源類vipmusic中,除了表示歌曲音頻內(nèi)容的context屬性之外的所有屬性安全級別為sl1,例如SLvipmusic.name=sl1,而context屬性的安全級別為sl5,即SLvipmusic.context=sl5。源類freemusic中,所有屬性的安全級別均為sl1,例如SLfreemusic.name=sl1,SLfreemusic.context=sl1。若UNION繼承類music的安全級別也為sl1,那么有music中除context屬性的以外的所有屬性的安全級別為sl1,context屬性安全級別為sl5。對于context外的其他屬性,顯然能訪問源類中這些屬性內(nèi)容的用戶也能通過UNION繼承類music訪問到這些屬性內(nèi)容。然而,只有安全級別大于等于sl5的用戶才可以通過music同時訪問到兩個源類中context屬性的內(nèi)容。安全級別為sl1、sl2、sl3和sl4的用戶可以訪問源類freemusic中的context屬性內(nèi)容,卻無法通過繼承類music而訪問到源類freemusic中的context屬性內(nèi)容。因此,可以看到UNION繼承類上的強制訪問控制在某些情況下阻止了部分擁有源類數(shù)據(jù)訪問權(quán)限的用戶通過UNION繼承類訪問源類數(shù)據(jù),從而影響了UNION繼承類在實際條件下的使用。

        為了解決多源類繼承類中多數(shù)據(jù)源虛屬性的內(nèi)容在強制訪問控制模型中的訪問受限問題,本文設(shè)計了多數(shù)據(jù)源虛屬性的安全等級細(xì)化方法,為多源類繼承類上靈活的細(xì)粒度訪問控制提供支持。

        對于一個UNION繼承類UIC,其有m個源類SC={SCi|i=1,2,…,m},UIC有從這m個源類中繼承的n個虛屬性va={vaj|j=1,2,…,n}。這些虛屬性都是擁有多個數(shù)據(jù)源的虛屬性,且每個虛屬性的數(shù)據(jù)源為m個源類中與這個虛屬性相對應(yīng)的屬性。

        任一虛屬性va的安全標(biāo)簽只有一個,表示為SecLUIC.va=SLUIC.va:CRUIC.va,其中SLUIC.va為va的安全級別,CRUIC.va為va的類別范圍,該安全標(biāo)簽代表了va的安全等級。因此,UNION繼承類虛屬性va在所有UIC實例中對應(yīng)內(nèi)容都由同一個安全標(biāo)簽SecLUIC.va來進(jìn)行訪問控制。

        為了支持多源類繼承類UIC中多數(shù)據(jù)源屬性上的細(xì)粒度訪問控制,設(shè)計了UIC虛屬性的安全等級細(xì)化方法,使得同一屬性中來自不同數(shù)據(jù)源的屬性內(nèi)容擁有各自的安全等級。其具體表現(xiàn)為:對于有m個源類的UIC中的任一虛屬性va,設(shè)置一個安全標(biāo)簽集SecLUIC.va,該安全標(biāo)簽集合中默認(rèn)有m個安全標(biāo)簽,va中從一個源類繼承的屬性內(nèi)容與一個安全標(biāo)簽對應(yīng)。UIC虛屬性va安全等級的細(xì)化實際上就是將UIC所有實例的va屬性內(nèi)容根據(jù)數(shù)據(jù)源進(jìn)行劃分,并為來自不同數(shù)據(jù)源的屬性內(nèi)容分配與之對應(yīng)的安全標(biāo)簽。

        1) 虛屬性va按數(shù)據(jù)源劃分。

        由UIC類實例的介紹可知,UNION繼承類中的所有類實例集合表示為TUIC,將TUIC按照實例對應(yīng)源類實例所屬類的不同進(jìn)行劃分,可以得到:

        2) 虛屬性va多安全標(biāo)簽分配。

        對TUIC.va中包含的其他m-1個分組,都按照相同的方法為其分配安全標(biāo)簽,可以得到UIC中虛屬性va的安全標(biāo)簽集合為:

        各個安全標(biāo)簽和虛屬性va按數(shù)據(jù)源進(jìn)行劃分后的各個分組為一一對應(yīng)關(guān)系。

        為了進(jìn)一步說明多源類繼承類中虛屬性的安全等級細(xì)化方法,下面將結(jié)合實際的例子對安全等級細(xì)化方法進(jìn)行具體的介紹。此處同樣以圖2的UNION繼承類music為例,對于其中的虛屬性context,由于其內(nèi)容繼承自兩個源類,因此context的屬性內(nèi)容可以劃分為兩組,分組結(jié)果表示為:

        為每個分組分配安全標(biāo)簽以表示來自數(shù)據(jù)源的屬性內(nèi)容的安全等級,由于此例中各級對象的類別范圍CR均未設(shè)置,因此安全標(biāo)簽的內(nèi)容只需考慮安全級別SL,則有:

        經(jīng)過以上處理的UNION繼承類中context虛屬性的安全標(biāo)簽由之前的單一安全標(biāo)簽變成了一個安全標(biāo)簽集合,圖3直觀地展現(xiàn)了music繼承類中虛屬性context安全等級細(xì)化后的結(jié)果。

        圖3 多數(shù)據(jù)源屬性安全等級細(xì)化示例

        通過對同一虛屬性中來自不同源類的屬性內(nèi)容進(jìn)行劃分并添加安全標(biāo)簽,多源類繼承類UIC中同一虛屬性繼承自不同數(shù)據(jù)源的屬性內(nèi)容以分組為單位擁有了各自的安全標(biāo)簽,從而實現(xiàn)了多源類繼承類中虛屬性的安全等級細(xì)化。

        2.4 細(xì)粒度訪問控制機制

        當(dāng)數(shù)據(jù)庫用戶企圖訪問UNION繼承類中的虛屬性va中的部分屬性內(nèi)容時,細(xì)粒度訪問控制機制可以通過獲取待訪問屬性內(nèi)容對應(yīng)的一個或者多個安全標(biāo)簽進(jìn)行更為具體的訪問控制。其具體過程為:

        (1) 獲取請求訪問多源類繼承類的用戶的安全標(biāo)簽SecLsub,得到其安全級別SLsub和類別范圍CRsub。

        (7) 在初步訪問結(jié)果PreResva中屬性va的所有屬性值都經(jīng)過以上判斷后,若PreResva=?,則不返回任何va屬性內(nèi)容給用戶。否則,將初步訪問結(jié)果PreResva中剩余的屬性內(nèi)容作為最終訪問結(jié)果返回給用戶。

        為了進(jìn)一步說明多源類繼承類中的細(xì)粒度訪問控制機制,下面同樣將結(jié)合圖3中已進(jìn)行虛屬性安全等級細(xì)化的UNION繼承類music為例,對多源類繼承類中進(jìn)行細(xì)粒度訪問控制的流程和方法進(jìn)行介紹。

        假設(shè)音樂網(wǎng)站上有一普通用戶user,并且該普通用戶的安全標(biāo)簽為SecLuser=SLuser:CRuser,其中安全級別SLuser的內(nèi)容為sl3,CRuser的內(nèi)容默認(rèn)為空。用戶user請求訪問UNION繼承類music中歌曲名字包含“晴天”的歌曲內(nèi)容。則采用細(xì)粒度訪問控制機制對用戶user的訪問請求進(jìn)行控制的流程如下:

        對初步訪問結(jié)果PreRescontext中的context虛屬性內(nèi)容依次進(jìn)行訪問權(quán)限判定后,PreRescontext={r18.context,r57.context}表示初步訪問結(jié)果經(jīng)過訪問權(quán)限篩選后僅剩下music繼承類中第18個實例和第57個實例中的context屬性內(nèi)容。最后,將PreRescontext作為訪問結(jié)果返回給用戶user。

        由以上介紹可知,多源類繼承類中屬性級對象的強制訪問控制可以細(xì)化到具體的屬性內(nèi)容,用戶可以訪問在多數(shù)據(jù)源屬性中其安全等級可以訪問到的所有數(shù)據(jù),而屬性上安全等級高于用戶安全等級的屬性內(nèi)容則不會包含在用戶的訪問結(jié)果中,從而很好地避免了多數(shù)據(jù)源屬性上單一安全標(biāo)簽導(dǎo)致的用戶訪問受限的問題,實現(xiàn)了多源類繼承類上的細(xì)粒度訪問控制。

        2.5 安全性分析

        在多源數(shù)據(jù)上進(jìn)行細(xì)粒度的訪問控制是為了在保證數(shù)據(jù)安全的前提下,最大限度地提高多源類數(shù)據(jù)中各虛屬性內(nèi)容的可用性。為了實現(xiàn)這一目的,本文提出了基于多源數(shù)據(jù)的安全等級細(xì)化方法。該方法考慮到對象繼承數(shù)據(jù)庫中的主體是通過訪問繼承類中的虛屬性而得到源類中對應(yīng)屬性內(nèi)容的,因此若要對繼承類中的虛屬性進(jìn)行粒度更細(xì)的訪問控制,需要對繼承類的虛屬性內(nèi)容根據(jù)其繼承數(shù)據(jù)所在的源類的不同而進(jìn)行分組,并為繼承自不同源類的數(shù)據(jù)分組分配相應(yīng)的安全標(biāo)簽,從而實現(xiàn)對多源類繼承類中同一虛屬性中來自不同數(shù)據(jù)源的數(shù)據(jù)分別進(jìn)行互相獨立的訪問權(quán)限判斷。由于訪問權(quán)限的判斷完全是基于用戶的安全標(biāo)簽和屬性內(nèi)容安全標(biāo)簽的比較的,所以同一虛屬性中各個內(nèi)容分組安全標(biāo)簽的設(shè)定將直接決定細(xì)粒度訪問控制的安全性。

        SLsub≥SLSCi.a且CRsub?CRSCi.a

        SLsub≥SLUIC且CRsub?CRUIC

        可以看出,用戶sub的安全等級大于等于SCi中a屬性的安全等級,即具備SCi中a屬性的訪問權(quán)限,并且用戶sub的安全等級大于等于va所在的繼承類UIC的安全等級,即具備了UIC的訪問權(quán)限。

        由以上推理可得,按照基于多源數(shù)據(jù)的安全等級細(xì)化方法處理得到的虛屬性安全標(biāo)簽集合中,同一虛屬性中繼承了不同源類對應(yīng)屬性的內(nèi)容分組的安全標(biāo)簽和其各自對應(yīng)的源類屬性的安全標(biāo)簽存在著緊密聯(lián)系,以此可以通過判定用戶對虛屬性中各個內(nèi)容分組的訪問權(quán)限來控制用戶對源類屬性內(nèi)容的訪問,從而實現(xiàn)安全的細(xì)粒度強制訪問控制。

        3 實 驗

        3.1 實驗環(huán)境

        實驗在一臺主頻為4.00 GHz、內(nèi)存為8 GB的PC機上進(jìn)行,實驗平臺操作系統(tǒng)為Redhat 6.5。實驗數(shù)據(jù)集選用開源音樂數(shù)據(jù)集Million Song Dataset。

        3.2 實驗方案設(shè)計

        基于PostgreSQL12實現(xiàn)了本文提出的支持多數(shù)據(jù)源、細(xì)粒度授權(quán)的強制訪問控制模型,對該方法進(jìn)行效率評估。目前還沒有一種針對對象關(guān)系數(shù)據(jù)庫的多源細(xì)粒度授權(quán)的訪問控制模型實現(xiàn),因此將本文改進(jìn)的系統(tǒng)(PostgreSQL12+)與PostgreSQL12系統(tǒng)的訪問控制功能進(jìn)行比較。實驗選用10個類,10 000條數(shù)據(jù),并逐漸增大數(shù)據(jù)規(guī)模進(jìn)行數(shù)據(jù)隨機授權(quán)、隨機撤銷授權(quán)、查詢和更新操作,通過統(tǒng)計分析PostgreSQL12系統(tǒng)執(zhí)行時間和本文改進(jìn)系統(tǒng)(PostgreSQL12+)在執(zhí)行時間上的差異,對設(shè)計的細(xì)粒度強制訪問模型給PostgreSQL12系統(tǒng)帶來的性能影響進(jìn)行分析。

        3.3 用戶授權(quán)實驗分析

        首先對授權(quán)效率進(jìn)行對比分析,結(jié)果如圖4所示??梢钥闯觯?0 000條數(shù)據(jù)里依次隨機授權(quán)100~1 000條數(shù)據(jù)給指定用戶,PostgreSQL12+在執(zhí)行數(shù)據(jù)授權(quán)操作時所用的時間小于未使用強制訪問控制模型的PostgreSQL12系統(tǒng)執(zhí)行相同操作時所用的時間。這是由于強制訪問控制模型通過細(xì)粒度授權(quán)規(guī)則優(yōu)化了隨機授權(quán)方式,在一定程度上減小了隨機授權(quán)操作的時間開銷,使得PostgreSQL12+數(shù)據(jù)庫授權(quán)訪問更加靈活。

        圖4 隨機授權(quán)操作執(zhí)行時間對比圖

        3.4 用戶撤銷授權(quán)實驗分析

        實驗分析了撤銷不同規(guī)模數(shù)據(jù)的時間開銷,結(jié)果如圖5所示??梢钥闯?,在授權(quán)10 000條數(shù)據(jù)給用戶后依次隨機撤銷100~1 000條數(shù)據(jù)的授權(quán),PostgreSQL12+在執(zhí)行數(shù)據(jù)撤銷授權(quán)操作時所用的時間小于未使用強制訪問控制模型的PostgreSQL12系統(tǒng)執(zhí)行相同操作時所用的時間,但相對而言,強制訪問控制模型對執(zhí)行隨機撤銷授權(quán)操作的影響要更大于其對隨機授權(quán)操作的影響。這和系統(tǒng)執(zhí)行隨機授權(quán)和隨機撤銷授權(quán)操作本身用時有一定關(guān)系,同時由于強制訪問控制模型使用基于多源數(shù)據(jù)的安全等級細(xì)化方法,在較大程度上減小了時間開銷,使得PostgreSQL12+數(shù)據(jù)庫的撤銷授權(quán)操作更加高效。

        圖5 隨機撤銷授權(quán)操作執(zhí)行時間對比圖

        3.5 數(shù)據(jù)查詢實驗分析

        通過上述實驗分析可見,本文方法可以獲得更好的授權(quán)、撤銷權(quán)限效率,同時作為數(shù)據(jù)庫的訪問控制授權(quán)策略,也需要衡量其是否會對數(shù)據(jù)庫查詢本身產(chǎn)生影響。

        設(shè)計實驗分析PostgreSQL12+的數(shù)據(jù)查詢效率,結(jié)果如圖6所示??梢钥闯?,在10個類上進(jìn)行查詢操作,對應(yīng)的數(shù)據(jù)量分別為1 000~10 000條記錄,PostgreSQL12+在執(zhí)行用戶查詢請求時所用的時間略大于PostgreSQL12系統(tǒng)執(zhí)行用戶查詢請求所用時間,并且隨著數(shù)據(jù)規(guī)模的增大,消耗的時間也越多。因此可見強制訪問控制模型對PostgreSQL12系統(tǒng)的查詢性能是有一定影響的。究其原因,主要是對類中的各個屬性上的數(shù)據(jù)進(jìn)行查詢時,均需要通過調(diào)用強制訪問控制的模塊進(jìn)行處理,強制訪問控制的模塊對各個屬性進(jìn)行了訪問權(quán)限判定后才能繼續(xù)查詢執(zhí)行操作,造成了一定的時間延遲。但同時強制訪問控制模型在保證數(shù)據(jù)安全的前提下,最大限度地提高多源類數(shù)據(jù)中各虛屬性內(nèi)容的可用性,改善了PostgreSQL12系統(tǒng)的性能。

        圖6 查詢操作執(zhí)行時間對比圖

        3.6 實驗結(jié)果分析

        綜合以上實驗可以看出,本文設(shè)計的強制訪問控制模型雖然在很小的程度上會降低PostgreSQL12數(shù)據(jù)庫的查詢效率,但是其也賦予PostgreSQL12數(shù)據(jù)庫授權(quán)訪問靈活、時間開銷小等優(yōu)點,是一種實用的對象關(guān)系數(shù)據(jù)庫訪問控制解決方案。

        4 結(jié) 語

        本文設(shè)計了一種對象關(guān)系數(shù)據(jù)庫環(huán)境下的強制訪問控制模型,該模型適用于多數(shù)據(jù)源細(xì)粒度訪問授權(quán),提高了對象關(guān)系數(shù)據(jù)庫在多數(shù)據(jù)源上進(jìn)行強制訪問控制的靈活性,降低了數(shù)據(jù)庫授權(quán)及撤銷授權(quán)的時間開銷。在PostgreSQL12上的實驗表明該方法可以很好地為對象關(guān)系數(shù)據(jù)庫提供靈活高效的強制訪問控制。

        猜你喜歡
        關(guān)系數(shù)據(jù)庫訪問控制數(shù)據(jù)源
        關(guān)系數(shù)據(jù)庫在高爐數(shù)據(jù)采集系統(tǒng)中的應(yīng)用
        山東冶金(2022年2期)2022-08-08 01:51:30
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價研究
        ONVIF的全新主張:一致性及最訪問控制的Profile A
        動態(tài)自適應(yīng)訪問控制模型
        淺析云計算環(huán)境下等級保護(hù)訪問控制測評技術(shù)
        大數(shù)據(jù)平臺訪問控制方法的設(shè)計與實現(xiàn)
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價算法
        基于索引結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫關(guān)鍵詞檢索
        分布式異構(gòu)數(shù)據(jù)源標(biāo)準(zhǔn)化查詢設(shè)計與實現(xiàn)
        亚洲毛片在线观看免费| 亚洲综合色区无码专区| 日本一本草久国产欧美日韩| 日产国产精品亚洲高清| 国产猛烈高潮尖叫视频免费| 熟女人妻在线视频| 9久久精品视香蕉蕉| 亚洲一区二区三区av无| 男人天堂网2017| 欧美野外疯狂做受xxxx高潮| 欧美成人精品三级在线观看| 青青草绿色华人播放在线视频| 亚洲综合国产成人丁香五月激情 | 中文字幕一区二区va| 国产一区二区av免费在线观看| 国产日产欧产精品精品| 福利在线国产| 日本一区二区三区一级免费| 久久九九精品国产av| 亚洲av成人中文无码专区| 动漫在线无码一区| 中文字幕亚洲精品综合| 亚洲小说区图片区色综合网| 欧美成年黄网站色视频| 亚洲AV日韩Av无码久久| av在线天堂国产一区| 国产精品亚洲综合色区| 亚洲国产18成人中文字幕久久久久无码av | 免费a级毛片无码无遮挡| 亚洲综合日韩中文字幕| 男女互舔动态视频在线观看| 成人午夜福利视频后入| 麻豆av传媒蜜桃天美传媒| 国产高跟丝袜在线诱惑| 中文字幕在线乱码一区| 99精品国产99久久久久久97 | 久久久久久中文字幕有精品| 亚洲天堂线上免费av| 精品视频一区二区三区在线观看| 内射交换多p国产| 国产一区二区三区色区|