張 峻,闞銀環(huán)
(華南農(nóng)業(yè)大學(xué)珠江學(xué)院,廣東 廣州510900)
伴隨著數(shù)據(jù)庫(kù)技術(shù)的發(fā)展與完善,它已滲透到社會(huì)生活的各個(gè)領(lǐng)域,承擔(dān)著越來(lái)越大的數(shù)據(jù)存儲(chǔ)任務(wù),包括醫(yī)療衛(wèi)生、電子商務(wù)、軍事等。通過(guò)數(shù)據(jù)庫(kù)存儲(chǔ)和處理大量的數(shù)據(jù),包括一些機(jī)密的敏感數(shù)據(jù)、商業(yè)秘密數(shù)據(jù)和個(gè)人隱私數(shù)據(jù)。如果數(shù)據(jù)一旦被竊取或篡改,就會(huì)造成不可估量的損失,數(shù)據(jù)庫(kù)安全問(wèn)題是隨著各種信息的爆炸式增長(zhǎng)和信息處理的日益復(fù)雜而逐步擴(kuò)大的,所以,確保數(shù)據(jù)庫(kù)的安全已成為當(dāng)前數(shù)據(jù)庫(kù)研究領(lǐng)域的重要課題。
當(dāng)前,有較多學(xué)者對(duì)異構(gòu)數(shù)據(jù)庫(kù)訪問(wèn)控制方法已經(jīng)有了較多的研究,文獻(xiàn)[1]中,楊霞等人對(duì)RTOS的輕量級(jí)強(qiáng)制訪問(wèn)控制技術(shù)進(jìn)行了研究,該方法首先建立了強(qiáng)制訪問(wèn)控制模型,然后提出了任務(wù)權(quán)限安全模型,設(shè)計(jì)了安全策略,實(shí)現(xiàn)了數(shù)據(jù)庫(kù)訪問(wèn)控制;文獻(xiàn)[2]中,付永貴等人研究了基于區(qū)塊鏈的數(shù)據(jù)庫(kù)訪問(wèn)控制機(jī)制,該機(jī)制主要設(shè)計(jì)了數(shù)據(jù)庫(kù)訪問(wèn)控制架構(gòu),通過(guò)訪問(wèn)者的身份,對(duì)數(shù)據(jù)庫(kù)進(jìn)行了控制。但是上述方法在應(yīng)用過(guò)程中,存在控制時(shí)授權(quán)時(shí)間長(zhǎng)的問(wèn)題,量化行為能夠綜合考慮訪問(wèn)活動(dòng)發(fā)起的主體、訪問(wèn)活動(dòng)所處環(huán)境以及訪問(wèn)活動(dòng)發(fā)起的時(shí)間定義訪問(wèn)行為,因此,將該方法應(yīng)用到異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制中,提高授權(quán)時(shí)間。實(shí)驗(yàn)結(jié)果表明,此次研究的基于量化行為的異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制方法有效提高了授權(quán)時(shí)間與授權(quán)正確率,證明此次研究的控制方法具備一定的應(yīng)用效果,實(shí)際應(yīng)用意義強(qiáng)。
在對(duì)異構(gòu)數(shù)據(jù)庫(kù)實(shí)施強(qiáng)制訪問(wèn)控制前,建立用戶訪問(wèn)權(quán)限關(guān)系,通過(guò)用戶訪問(wèn)權(quán)限關(guān)系建立為異構(gòu)數(shù)據(jù)庫(kù)提供初始保護(hù)。下面是用戶與多層角色之間的關(guān)系表。
表1 用戶與多級(jí)角色關(guān)系表
多層及內(nèi)部角色關(guān)系表,這個(gè)表用來(lái)存儲(chǔ)多層角色和內(nèi)部角色之間的對(duì)應(yīng)關(guān)系。下面是該表的具體字段信息。
表2 多級(jí)角色與內(nèi)部角色表
內(nèi)部角色和對(duì)象表和操作權(quán)限的關(guān)系表,該表用于存儲(chǔ)內(nèi)部角色和對(duì)象表,以及該表中角色的操作權(quán)限關(guān)系。下面是這個(gè)表的具體字段信息。
表3 內(nèi)部角色與客體表的關(guān)系表
通過(guò)上述三個(gè)表的結(jié)合,實(shí)現(xiàn)了基于角色的多層次關(guān)系安全訪問(wèn)控制模型的權(quán)限關(guān)系[3]。在這些關(guān)系中,用戶和多級(jí)角色的一一對(duì)應(yīng)關(guān)系,多級(jí)角色和內(nèi)部角色之間的一對(duì)多關(guān)系,內(nèi)部角色[4]和對(duì)象表上的操作權(quán)限之間的關(guān)系可以用下面的圖1表來(lái)表示。
圖1 用戶對(duì)客體表的操作權(quán)限關(guān)系圖
這一權(quán)限關(guān)系結(jié)構(gòu)為以后實(shí)現(xiàn)安全、方便的訪問(wèn)控制系統(tǒng)奠定了良好的基礎(chǔ)。
通過(guò)上述過(guò)程能夠限定用戶在數(shù)據(jù)庫(kù)中的訪問(wèn)權(quán)限,初步依據(jù)用戶具有的內(nèi)部角色判斷是否允許操作,在允許操作后,進(jìn)行后續(xù)訪問(wèn)控制[5]。在最后的訪問(wèn)控制中,主要采用量化行為的方法進(jìn)行控制。量化行為能夠?qū)⒉煌瑢傩缘膶傩灾涤成涞浇y(tǒng)一度量值,這個(gè)模型包含很多不同的元素[6],通過(guò)量化每個(gè)元素的屬性來(lái)增加訪問(wèn)控制系統(tǒng)的復(fù)雜性,使相同的用戶在不同的時(shí)間具有不同的權(quán)限,數(shù)據(jù)庫(kù)管理員 booth在備份任務(wù)執(zhí)行過(guò)程中具有備份文件修改權(quán)限[7]。綜上所述,提出圖2所示的訪問(wèn)控制模型。
圖2 訪問(wèn)控制模型結(jié)構(gòu)圖
根據(jù)圖2的異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制模型可知,首先,需要先根據(jù)不同的用戶屬性進(jìn)行用戶量化,同時(shí)判斷當(dāng)前環(huán)境屬性,實(shí)現(xiàn)當(dāng)前環(huán)境下的用戶訪問(wèn)行為量化,并在上述基礎(chǔ)上對(duì)操作對(duì)象與操作環(huán)境的時(shí)態(tài)進(jìn)行分析,判斷用戶的操作類型,完成對(duì)用戶訪問(wèn)權(quán)限的綜合性評(píng)估,最后,根據(jù)評(píng)估結(jié)果進(jìn)行對(duì)客體數(shù)據(jù)庫(kù)訪問(wèn)過(guò)程進(jìn)行控制。
該控制模型主要預(yù)先驗(yàn)證用戶名和密碼是否真實(shí)有效,若有效則進(jìn)行下一步操作,獲得用戶的訪問(wèn)操作類型、用戶角色與訪問(wèn)的相關(guān)信息。并將這些信息交由訪問(wèn)控制模塊,最后判斷是否授權(quán)訪問(wèn)行為[8]。具體過(guò)程如下所示:
為對(duì)用戶的信任度進(jìn)行量化,利用映射函數(shù)將用戶的屬性值轉(zhuǎn)換為可計(jì)算的常數(shù)值,并將其引入到信任度計(jì)算函數(shù)中,得到相應(yīng)的信任度[9]。表達(dá)式為
(1)
式中,Lattr代表用戶屬性集合,V(uattr1)代表對(duì)應(yīng)的屬性值,w代表屬性對(duì)應(yīng)的權(quán)重。
定期量化用戶屬性[10],當(dāng)量化結(jié)果超出了角色元素的閾值時(shí),將進(jìn)行角色狀態(tài)轉(zhuǎn)換,并根據(jù)量化結(jié)果向角色重新分配用戶。
然后,對(duì)用戶行為的信任度進(jìn)行量化[11]。可以將行為屬性進(jìn)一步細(xì)化為用戶、環(huán)境和時(shí)間屬性[12]。對(duì)體系結(jié)構(gòu)行為屬性進(jìn)行量化,對(duì)上述屬性進(jìn)行進(jìn)一步加權(quán)和匯總,從而實(shí)現(xiàn)更詳細(xì)的訪問(wèn)控制。進(jìn)行量化的流程如圖3所示。
圖3 用戶行為信任度量化流程
根據(jù)圖3的用戶行為信任度量化流程可知,首先需要對(duì)用戶權(quán)限進(jìn)行查詢,然后進(jìn)行查詢重寫,判斷查詢是否完成,查詢完畢后進(jìn)行信任度評(píng)價(jià),匯總用戶行為屬性,進(jìn)行用戶訪問(wèn)控制;反之,細(xì)化用戶行為信任度進(jìn)行,返回查詢重寫過(guò)程。
評(píng)估的表達(dá)式是
(2)
式中,wi、wj、wk分別代表用戶屬性、環(huán)境屬性以及時(shí)態(tài)屬性的權(quán)重,V(uattr)、V(eattr)、V(tattr)分別代表各個(gè)屬性對(duì)應(yīng)的屬性值。
根據(jù)以上過(guò)程,訪問(wèn)者的訪問(wèn)被量化,在此基礎(chǔ)上,對(duì)主體行為屬性進(jìn)行了定量,當(dāng)量化結(jié)果超出安全級(jí)別閾值時(shí),將進(jìn)行安全級(jí)別轉(zhuǎn)移,并再次將安全級(jí)別分配給用戶的訪問(wèn)行為。
在上述量化用戶信任度與用戶行為的信任度量化的基礎(chǔ)上,對(duì)訪問(wèn)情況安全等級(jí)評(píng)價(jià),其表達(dá)式為:
(3)
式中,secn、sec2、sec1分別代表安全等級(jí)。
在確定訪問(wèn)行為的安全等級(jí)后,授予訪問(wèn)者訪問(wèn)權(quán)限,具體表現(xiàn)形式如下所示
(4)
式中,security(opci)代表操作類型為opci的訪問(wèn)行為所需要的最低安全等級(jí)。
經(jīng)過(guò)上述計(jì)算分析用戶訪問(wèn)行為的安全等級(jí),如果用戶訪問(wèn)行為安全等級(jí)高于操作類型的最低安全等級(jí)則允許用戶訪問(wèn),若低于則拒絕用戶的訪問(wèn)請(qǐng)求,以此通過(guò)上述過(guò)程完成基于量化行為的異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制。
為驗(yàn)證此次研究的數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制方法的有效性,進(jìn)行實(shí)驗(yàn)對(duì)比。該實(shí)驗(yàn)采用 NHRTDB關(guān)系數(shù)據(jù)庫(kù)作為數(shù)據(jù)庫(kù)平臺(tái),試驗(yàn)硬件環(huán)境為英特爾酷睿i3(3.30 GHz)4 G內(nèi)存 CPU。
并為了保證實(shí)驗(yàn)嚴(yán)謹(jǐn)性,將文獻(xiàn)[1]中的針對(duì)RTOS的輕量級(jí)強(qiáng)制訪問(wèn)控制技術(shù)與文獻(xiàn)[2]中的基于區(qū)塊鏈的數(shù)據(jù)庫(kù)訪問(wèn)控制機(jī)制與所設(shè)計(jì)的訪問(wèn)控制方法進(jìn)行對(duì)比,主要對(duì)比三種方法的多次訪問(wèn)次數(shù)下授權(quán)時(shí)間變化趨勢(shì)、多次訪問(wèn)次數(shù)下資源使用情況、以及三種方法的授權(quán)正確率。
此次研究的基于量化行為的異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制方法與傳統(tǒng)針對(duì)RTOS的輕量級(jí)強(qiáng)制訪問(wèn)控制技術(shù)、基于區(qū)塊鏈的數(shù)據(jù)庫(kù)訪問(wèn)控制機(jī)制兩種方法在多次訪問(wèn)次數(shù)下授權(quán)時(shí)間變化趨勢(shì)如圖4所示。
圖4 多次訪問(wèn)次數(shù)下授權(quán)時(shí)間變化趨勢(shì)
由圖4可知,訪問(wèn)次數(shù)越多,訪問(wèn)時(shí)間越長(zhǎng)。當(dāng)訪問(wèn)次數(shù)為20×104次時(shí),文獻(xiàn)[1]方法的訪問(wèn)時(shí)間為320ms,文獻(xiàn)[2]方法的訪問(wèn)時(shí)間為350ms,本文方法的訪問(wèn)時(shí)間僅為275ms。當(dāng)訪問(wèn)次數(shù)為30×104次時(shí),文獻(xiàn)[1]方法的訪問(wèn)時(shí)間為560ms,文獻(xiàn)[2]方法的訪問(wèn)時(shí)間為580ms,本文方法的訪問(wèn)時(shí)間僅為350ms。此次研究的方法與傳統(tǒng)兩種方法的授權(quán)時(shí)間均隨著訪問(wèn)次數(shù)的增加而增加,并且都呈線性增長(zhǎng)的趨勢(shì)增加。本文方法的授權(quán)時(shí)間遠(yuǎn)低于其它方法,說(shuō)明本文方法的授權(quán)效率較高。
為了進(jìn)一步驗(yàn)證在多次訪問(wèn)下的資源利用率,驗(yàn)證文獻(xiàn)[1]方法、文獻(xiàn)[2]方法以及本文方法下的系統(tǒng)資源使用情況,得到對(duì)比結(jié)果如表1所示。
表1 多次訪問(wèn)次數(shù)下資源使用情況
分析表1可知,訪問(wèn)次數(shù)越多CPU占用率越高。當(dāng)訪問(wèn)次數(shù)為5×104次時(shí),文獻(xiàn)[1]方法的CPU占用率為25%,文獻(xiàn)[2]方法的CPU占用率為32%,本文方法的CPU占用率僅為2%。當(dāng)訪問(wèn)次數(shù)為30×104次時(shí),文獻(xiàn)[1]方法的CPU占用率為35%,文獻(xiàn)[2]方法的CPU占用率為47%,本文方法的CPU占用率僅為7%。當(dāng)訪問(wèn)次數(shù)為50×104次時(shí),文獻(xiàn)[1]方法的CPU占用率為45%,文獻(xiàn)[2]方法的CPU占用率為64%,本文方法的CPU占用率僅為12%。本文方法的CPU占用率始終處于較低水平,這是因?yàn)楸疚姆椒▽?duì)用戶的信任度與用戶行為的信任度進(jìn)行量化,定量主體行為屬性,對(duì)訪問(wèn)情況的安全等級(jí)進(jìn)行了評(píng)價(jià)??傮w能夠證明,系統(tǒng)資源占用率能夠滿足數(shù)據(jù)生產(chǎn)端需求,能夠滿足訪問(wèn)控制需求。
通過(guò)下述公式對(duì)三種方法的授權(quán)正確率計(jì)算
(5)
式(5)中,C代表授權(quán)正確率,n代表正確授權(quán)的訪問(wèn)數(shù)目,N代表訪問(wèn)行為的總數(shù)。
針對(duì)RTOS的輕量級(jí)強(qiáng)制訪問(wèn)控制技術(shù)、基于區(qū)塊鏈的數(shù)據(jù)庫(kù)訪問(wèn)控制機(jī)制與此次設(shè)計(jì)的訪問(wèn)控制方法的授權(quán)正確率對(duì)比結(jié)果如圖6所示。
圖6 授權(quán)正確率對(duì)比
分析上圖可知,當(dāng)訪問(wèn)次數(shù)為10×104次時(shí),文獻(xiàn)[1]方法的授權(quán)正確率為39%,文獻(xiàn)[2]方法的授權(quán)正確率為41%,本文方法的授權(quán)正確率高達(dá)83%。當(dāng)訪問(wèn)次數(shù)為20×104次時(shí),文獻(xiàn)[1]方法的授權(quán)正確率為41%,文獻(xiàn)[2]方法的授權(quán)正確率為48%,本文方法的授權(quán)正確率高達(dá)82%。
在不同的訪問(wèn)量下,此次研究的基于量化行為的異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制方法的授權(quán)正確率都比較高,并且遠(yuǎn)遠(yuǎn)高于其它傳統(tǒng)方法。這是因?yàn)楸疚姆椒ㄍㄟ^(guò)量化行為方法對(duì)用戶行為的信任度進(jìn)行量化,同時(shí)進(jìn)行了安全等級(jí)評(píng)價(jià),實(shí)現(xiàn)了異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制,提高了系統(tǒng)的授權(quán)正確率。
綜上所述,此次研究的基于量化行為的異構(gòu)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制方法較傳統(tǒng)針對(duì)RTOS的輕量級(jí)強(qiáng)制訪問(wèn)控制技術(shù)、基于區(qū)塊鏈的數(shù)據(jù)庫(kù)訪問(wèn)控制機(jī)制兩種方法的控制效果好,原因是此次研究的控制方法預(yù)先對(duì)用戶關(guān)系進(jìn)行了分析,然后采用了量化行為方法對(duì)控制對(duì)象進(jìn)行了細(xì)化,最后實(shí)現(xiàn)數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制,得到了效果較好的訪問(wèn)控制效果。
對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)控制進(jìn)行了研究,通過(guò)實(shí)驗(yàn)驗(yàn)證了此次研究的控制方法的有效性。通過(guò)對(duì)比實(shí)驗(yàn)得出以下結(jié)論:
1)當(dāng)訪問(wèn)次數(shù)為30×104次時(shí),設(shè)計(jì)方法的訪問(wèn)時(shí)間僅為350ms,明設(shè)計(jì)方法能夠提升授權(quán)效率。
2)當(dāng)訪問(wèn)次數(shù)為50×104次時(shí),設(shè)計(jì)方法的CPU占用率僅為12%,說(shuō)明設(shè)計(jì)方法能夠降低CPU占用率。
3)當(dāng)訪問(wèn)次數(shù)為20×104次時(shí),設(shè)計(jì)方法的授權(quán)正確率高達(dá)82%,說(shuō)明設(shè)計(jì)方法能夠提升授權(quán)正確率。
但是由于研究時(shí)間的限制,此次研究的方法還有一定的不足,因此在后續(xù)研究中還需要繼續(xù)優(yōu)化此次研究的方法。下一步的研究工作將主要圍繞更加高效的方式對(duì)行為進(jìn)行量化,從而進(jìn)一步減少用戶訪問(wèn)時(shí)控制方法的響應(yīng)時(shí)間,為數(shù)據(jù)庫(kù)強(qiáng)制訪問(wèn)控制提供幫助。