熊海濤 蔣承睿 任宇峰 賈 攀
(北京工商大學(xué)計(jì)算機(jī)與信息工程學(xué)院)
訪問(wèn)控制技術(shù)起源于20世紀(jì)70年代,當(dāng)時(shí)是為了滿足管理大型主機(jī)系統(tǒng)上共享數(shù)據(jù)授權(quán)訪問(wèn)的需要。但隨著計(jì)算機(jī)技術(shù)和應(yīng)用的發(fā)展,特別是網(wǎng)絡(luò)應(yīng)用的發(fā)展,這一技術(shù)的思想和方法迅速應(yīng)用于信息系統(tǒng)的各個(gè)領(lǐng)域。目前流行的訪問(wèn)控制技術(shù)的基本目標(biāo)都是防止非法用戶進(jìn)入系統(tǒng)和合法用戶對(duì)系統(tǒng)資源的非法操作。訪問(wèn)控制技術(shù)作為實(shí)現(xiàn)保護(hù)信息系統(tǒng)安全的核心技術(shù),是系統(tǒng)安全的一個(gè)解決方案,是保證信息機(jī)密性和完整性的關(guān)鍵,對(duì)訪問(wèn)控制的研究已成為相關(guān)領(lǐng)域的研究熱點(diǎn)之一[1-2]。
Lampson最早提出了訪問(wèn)控制的形式化和機(jī)制描述,引入了訪問(wèn)控制中的基本概念:主體、客體和訪問(wèn)矩陣[3]。對(duì)訪問(wèn)控制模型的研究,從早期的20世紀(jì)70年代至今,大致經(jīng)歷了以下3個(gè)階段:
(1)傳統(tǒng)的訪問(wèn)控制模型,有自主訪問(wèn)控制(DAC)和強(qiáng)制訪問(wèn)控制(MAC)2種。
(2)基于角色的訪問(wèn)控制(RBAC)將角色作為重要因素進(jìn)行考慮,在用戶和訪問(wèn)權(quán)限之間引入了角色的概念,為訪問(wèn)控制模型提供了參考。
(3)基于任務(wù)的授權(quán)控制模型(TBAC)[4]、基于任務(wù)和角色的訪問(wèn)控制模型(T-RBAC)[5]是近來(lái)研究的主要內(nèi)容。
礦山安全知識(shí)管理是一個(gè)復(fù)雜協(xié)作處理的系統(tǒng),其中會(huì)涉及到多部門(mén)數(shù)據(jù)的應(yīng)用與多專業(yè)的參與[6]。其對(duì)知識(shí)共享的需求尤為強(qiáng)烈,因此需要對(duì)安全知識(shí)進(jìn)行有效的訪問(wèn)控制。然而上述訪問(wèn)控制模型都不能靈活地改變,應(yīng)用于礦山知識(shí)管理時(shí)無(wú)法在運(yùn)行過(guò)程中自動(dòng)調(diào)整用戶權(quán)限,只能夠通過(guò)修改訪問(wèn)控制規(guī)則來(lái)達(dá)到更改用戶權(quán)限的目的。用戶一旦被賦予了相關(guān)權(quán)限,則只能通過(guò)改變規(guī)則取消權(quán)限,因此用戶的行為也就很難得到規(guī)范,影響安全知識(shí)共享。本研究將信譽(yù)引入訪問(wèn)控制模型當(dāng)中,使得訪問(wèn)控制能夠根據(jù)用戶在系統(tǒng)中的歷史操作計(jì)算信譽(yù)值,動(dòng)態(tài)分配用戶的權(quán)限,提出了基于信譽(yù)的訪問(wèn)控制模型(ReBAC)。
礦山企業(yè)所擁有的安全知識(shí)的總和可以被看作是其企業(yè)安全記憶(Organizational Security Memory)。企業(yè)安全記憶是企業(yè)將過(guò)去的安全知識(shí)運(yùn)用于當(dāng)前生產(chǎn)、提高安全性的一種方式。企業(yè)安全記憶是描述企業(yè)安全記憶庫(kù)的核心概念,是知識(shí)管理的基礎(chǔ)和先決條件。同時(shí),知識(shí)管理反過(guò)來(lái)又可以推動(dòng)企業(yè)安全記憶的發(fā)展。礦山企業(yè)由于其技術(shù)具有高附加值和高風(fēng)險(xiǎn)的特點(diǎn),屬于典型的知識(shí)密集型企業(yè)。礦山企業(yè)中需要實(shí)施知識(shí)管理,對(duì)企業(yè)的知識(shí)管理能力進(jìn)行準(zhǔn)確的評(píng)價(jià),知識(shí)管理系統(tǒng)能夠很好地對(duì)礦山企業(yè)中的知識(shí)進(jìn)行有效的管理。
礦山安全知識(shí)管理系統(tǒng)包括了礦山生產(chǎn)安全知識(shí)的采集、分析、處理以及基于信任網(wǎng)絡(luò)的安全知識(shí)推薦。用戶在系統(tǒng)中的各種操作經(jīng)過(guò)處理形成系統(tǒng)的信任庫(kù),知識(shí)推薦向用戶推薦符合用戶個(gè)性化需求的安全知識(shí)。在安全知識(shí)的采集、分析和處理過(guò)程中使用了基于信譽(yù)的訪問(wèn)控制模型對(duì)用戶進(jìn)行權(quán)限驗(yàn)證。2002年Shengli Wu等提出了工作流管理中的訪問(wèn)控制模型[7],但這個(gè)模型應(yīng)用于礦山安全知識(shí)管理系統(tǒng)存在著不足。
信任網(wǎng)絡(luò)是系統(tǒng)中所有用戶的信任關(guān)系構(gòu)成的網(wǎng)絡(luò)[8]。2個(gè)用戶之間信譽(yù)可以分為2種:直接信譽(yù)和間接信譽(yù)。直接信譽(yù)是用戶在與其他用戶交互之后所形成的對(duì)該用戶直接信譽(yù)的度量。間接信譽(yù)是利用信任傳遞計(jì)算不存在交互的2個(gè)用戶之間的信任的度量。本研究構(gòu)建這樣的信任網(wǎng)絡(luò),在知識(shí)采集、分析和處理的流轉(zhuǎn)過(guò)程中,每一步都需要相關(guān)用戶去判斷知識(shí)是否能夠通過(guò)當(dāng)前工作,進(jìn)入到下一工作。在理性用戶假設(shè)下,只有當(dāng)用戶具有和當(dāng)前待處理知識(shí)相關(guān)知識(shí)背景的條件下,用戶才會(huì)選擇執(zhí)行當(dāng)前工作,如果不具備相關(guān)知識(shí)背景,則即使具備執(zhí)行當(dāng)前工作權(quán)限,也會(huì)選擇不執(zhí)行當(dāng)前工作。這樣執(zhí)行當(dāng)前工作的用戶就與發(fā)起知識(shí)流程的用戶之間建立了信任網(wǎng)絡(luò)。如果通過(guò)當(dāng)前工作,則2個(gè)用戶之間產(chǎn)生正反饋;如果不通過(guò)當(dāng)前工作,則2個(gè)用戶之間產(chǎn)生負(fù)反饋。
在本研究中所有的組件都表現(xiàn)為知識(shí)的形式,并通過(guò)XML文件實(shí)現(xiàn)。組件的XML文件結(jié)構(gòu)如下:
∥知識(shí)組件結(jié)構(gòu)說(shuō)明:
∥kbsm:Memory,將所有知識(shí)組件通過(guò)記憶的形式表現(xiàn):
∥rdf:about,表示組件模型的id號(hào),用來(lái)唯一標(biāo)明組件模型;
∥kbsm:purpose,表示組件模型的類型;
〈kbsm:Memory rdf:about=“…”kbsm:purpose=“…”〉
∥kbs:property:描述組件模型的屬性值:
〈kbs:property〉屬性值〈/kbs:property〉
〈kbsm:Memory〉
知識(shí)在系統(tǒng)中是通過(guò)一個(gè)成為記憶片段的XML來(lái)組織的,每一個(gè)知識(shí)(或者在系統(tǒng)中稱作記憶)的形成是由各種動(dòng)作來(lái)產(chǎn)生的,系統(tǒng)中產(chǎn)生的各種信息都以知識(shí)的形式存儲(chǔ),包括了用戶信息,工作流信息等。操作影響記憶,反過(guò)來(lái)記憶又可以驅(qū)動(dòng)操作,這樣形成了一套封閉的知識(shí)系統(tǒng)。各種系統(tǒng)子功能在記憶體系外環(huán)繞,通過(guò)還原核心的記憶知識(shí)來(lái)實(shí)現(xiàn)記憶到子功能需要信息的轉(zhuǎn)化,這個(gè)過(guò)程我們定義為記憶還原過(guò)程。
語(yǔ)義還原是指將給定語(yǔ)義片斷分解還原成可索引的字段。依據(jù)還原結(jié)果的粒度,可以分為主題還原單元、記憶還原單元、陳述還原單元。陳述還原是還原的最小結(jié)構(gòu),是將含有“rdf:about”的陳述(〈主語(yǔ),謂語(yǔ),賓語(yǔ)〉三元關(guān)系)按照給定的映射規(guī)則分解還原成鍵值(〈字段名,字段值〉二元關(guān)系)。記憶還原是將一個(gè)記憶片段分解還原成若干個(gè)鍵值(〈字段名,字段值〉二元關(guān)系)。主題還原是將所有記憶片段按照主題還原成相關(guān)主題的若干個(gè)鍵值(〈字段名,字段值〉二元關(guān)系)。
礦山安全知識(shí)管理平臺(tái)中通過(guò)工作流對(duì)知識(shí)的流程進(jìn)行管理。工作流模型的基本概念是實(shí)體,在這里包括了以下實(shí)體:工作,用戶,角色,身份,條件,權(quán)力。
(1)工作。工作是業(yè)務(wù)流程中的流程節(jié)點(diǎn),包含相關(guān)屬性以及其他實(shí)體,用T來(lái)表示用戶集。處理是工作的核心部分,位于工作流實(shí)例的外部。處理可能更新有關(guān)的工作流的外部實(shí)體或系統(tǒng)信息,也可能通知外部系統(tǒng)工作流的狀態(tài)變化。工作實(shí)體中包括了2種處理:前序和后序工作處理。前序處理是在進(jìn)行工作核心部分之前進(jìn)行的預(yù)處理。后序處理與前序處理基本相同,但后序處理是在業(yè)務(wù)流程狀態(tài)發(fā)生變化后進(jìn)行。一個(gè)工作可能有許多動(dòng)作與之相關(guān)。用戶、外部環(huán)境或觸發(fā)器決定將要執(zhí)行的動(dòng)作。動(dòng)作可被約束為僅被特定的角色或身份在工作流處于一定的狀態(tài)下執(zhí)行,每個(gè)動(dòng)作都有默認(rèn)的結(jié)果和零或多個(gè)條件結(jié)果。綜上所述,一個(gè)工作有當(dāng)前狀態(tài)(例如待審查,待審核或發(fā)布狀態(tài))。同處理一樣,工作有條件屬性,并且只有在滿足條件的情況下,工作才能夠執(zhí)行。工作的結(jié)果可以改變工作的狀態(tài)以及改變當(dāng)前工作,即工作流進(jìn)入下個(gè)工作。在工作流的工作集中存在兩個(gè)特殊的工作,代表工作流開(kāi)始的起始工作和代表工作流結(jié)束的終止工作。
(2)用戶。用戶是使用系統(tǒng)的外部實(shí)體,用U來(lái)表示用戶集。用戶屬于一定的角色和身份,正是具有了這些屬性用戶才能使用系統(tǒng)。對(duì)于特定的工作,需要通過(guò)工作中定義的相關(guān)角色、身份等信息來(lái)確認(rèn)用戶是否有權(quán)限完成這項(xiàng)工作。
(3)角色。系統(tǒng)中的角色是按層次結(jié)構(gòu)組織的,用R來(lái)表示角色集。讓角色ri,rj∈R,在角色樹(shù)中,如果角色ri位于角色rj的父節(jié)點(diǎn),我們就說(shuō)角色ri包含角色rj。用戶與角色之間存在多對(duì)多關(guān)系來(lái)表示用戶具有哪些角色。礦山安全知識(shí)管理系統(tǒng)中存在二種角色:系統(tǒng)角色和組織角色。系統(tǒng)角色為用戶在系統(tǒng)中扮演的角色,組織角色為用戶在企業(yè)組織中扮演的實(shí)際業(yè)務(wù)角色,二者在系統(tǒng)中起著不同的作用。為了能夠更好地與其他子系統(tǒng)整合,角色僅指系統(tǒng)角色,將組織角色納入到身份實(shí)體當(dāng)中。
(4)身份。身份表示了用戶在礦山企業(yè)中的位置和職務(wù),例如礦山企業(yè)中的生產(chǎn)部主任、生產(chǎn)班組組長(zhǎng)等。同角色一樣,身份也是按層次結(jié)構(gòu)組織的,用I來(lái)表示身份集。在組織中,身份分為了多個(gè)類別,位置包括總部、科室、班組和小組等,職務(wù)包括主任、領(lǐng)導(dǎo)、職員等。不同的身份完成工作的種類和順序是不相同的。為了提高工作流系統(tǒng)的靈活性,不同的身份會(huì)啟動(dòng)不同的工作流,不同的工作流中工作可能不同,工作的執(zhí)行順序也可能不同。
(5)條件。條件是一個(gè)布爾表達(dá)式,它的結(jié)果是多個(gè)條件的運(yùn)算結(jié)果。在本研究中使用C來(lái)表示條件集?!癆ND”和“OR”是用來(lái)進(jìn)行條件運(yùn)算的運(yùn)算符。
(6)權(quán)力。最后一個(gè)實(shí)體是權(quán)力,權(quán)力表示用戶能夠?qū)χR(shí)進(jìn)行操作的類型,用P來(lái)表示權(quán)力集。本研究中包括了8種權(quán)力:對(duì)于安全知識(shí)的新增,更新,刪除,查看;對(duì)于獨(dú)占知識(shí)的新增,更新,刪除,查看。
信譽(yù)是對(duì)用戶在系統(tǒng)中以往行為的評(píng)價(jià),在本研究中使用Re來(lái)表示信譽(yù)。所有用戶在初始階段的信譽(yù)都為零,在使用系統(tǒng)的過(guò)程中,系統(tǒng)根據(jù)信譽(yù)模型動(dòng)態(tài)調(diào)整用戶的信譽(yù)值。用戶的信譽(yù)值小于零時(shí),系統(tǒng)對(duì)用戶進(jìn)行孤立,將用戶排除在系統(tǒng)外。對(duì)于信譽(yù)大于零的那些用戶,信譽(yù)起到激勵(lì)作用,在工作當(dāng)中,只有信譽(yù)值高的那些用戶才能夠執(zhí)行該工作。
知識(shí)是知識(shí)管理系統(tǒng)的核心,系統(tǒng)中所有的組件都是以知識(shí)的形式存在的。這里討論實(shí)際的知識(shí),而不是知識(shí)管理系統(tǒng)中泛指的知識(shí)。知識(shí)管理系統(tǒng)中的知識(shí)分為兩類:共享知識(shí)和獨(dú)占知識(shí)。其中共享知識(shí)允許在對(duì)知識(shí)進(jìn)行修改時(shí)其他用戶仍能夠查看知識(shí),獨(dú)占知識(shí)在被更新時(shí)則不允許其他用戶瀏覽知識(shí)。
關(guān)系是2個(gè)實(shí)體間聯(lián)系的抽象。實(shí)體與關(guān)系都包含了相關(guān)屬性來(lái)實(shí)現(xiàn)業(yè)務(wù)流程的控制。在模型的定義中,當(dāng)使用“is-a”來(lái)表示X和Y之間的關(guān)系時(shí),意味著X繼承了Y,X是Y的一個(gè)子類。當(dāng)使用“has-a”來(lái)表示X和Y之間的關(guān)系時(shí),意味著X包含了Y,Y是X中的一個(gè)部分。這兩種關(guān)系用來(lái)表示實(shí)體之間的關(guān)系類別。
權(quán)限是一個(gè)集合,它包含了 r,i,t,k,p,re。系統(tǒng)中的權(quán)限通過(guò)六元組表示,六元組(r,i,t,k,p,re)表示了擁有角色r,身份i,權(quán)力p的用戶在信譽(yù)re滿足的條件下,能夠在工作t中處理知識(shí)k。
圖1為基于信譽(yù)的訪問(wèn)控制模型(ReBAC),可以看出信譽(yù)如何影響訪問(wèn)控制過(guò)程:首先需要根據(jù)用戶的信譽(yù)值排除信譽(yù)為負(fù)的用戶,將這些用戶孤立在本次工作的外部,然后驗(yàn)證用戶的角色,用戶能否進(jìn)行當(dāng)前的工作以及用戶能否處理此知識(shí),在進(jìn)行完這些驗(yàn)證后從與工作發(fā)起的用戶在歷史上有過(guò)交互行為的用戶中選擇信譽(yù)值較高的幾個(gè)用戶作為當(dāng)前工作的待執(zhí)行人,若不存在這些用戶,則從根據(jù)所有用戶信譽(yù)值推薦當(dāng)前工作的執(zhí)行人。
圖1 基于信譽(yù)的訪問(wèn)控制模型
信譽(yù)值通過(guò)文獻(xiàn)[9]中的信任模型獲得,包括了4個(gè)步驟:
第1步,利用用戶間的操作關(guān)系得到正反饋和負(fù)反饋,生成反饋矩陣。
第2步,計(jì)算直接信譽(yù)。令r和s分別表示用戶A對(duì)目標(biāo)用戶T交互的正反饋和負(fù)反饋的次數(shù)。則從用戶A的角度來(lái)看用戶T的信譽(yù)為取值在[-1,1]。
第3步,計(jì)算間接信譽(yù)。根據(jù)推薦算子進(jìn)行信任傳遞的運(yùn)算,得到不相鄰的用戶之間的間接信譽(yù)。
第4步,將用戶與所有用戶的直接信譽(yù)以及間接信譽(yù)根據(jù)合意算子進(jìn)行信任聚合得到用戶在系統(tǒng)中的總的信譽(yù)值,根據(jù)此值判斷用戶是否可以對(duì)安全知識(shí)進(jìn)行相關(guān)操作。
本研究提出了礦山安全知識(shí)管理平臺(tái)中一種基于信譽(yù)的訪問(wèn)控制模型(ReBAC),這個(gè)模型能夠適應(yīng)不斷變化的企業(yè)業(yè)務(wù)流程和對(duì)安全知識(shí)的權(quán)限及訪問(wèn)控制要求,模型有效地加強(qiáng)了系統(tǒng)的安全性和訪問(wèn)控制的靈活性,克服了傳統(tǒng)的基于角色的訪問(wèn)控制(RBAC)和基于任務(wù)和角色的訪問(wèn)控制模型(T-RBAC)的缺點(diǎn),提高了礦山企業(yè)安全生產(chǎn)的能力。用戶的行為作為訪問(wèn)控制的一個(gè)重要部分包括在了模型當(dāng)中,能夠影響訪問(wèn)控制的結(jié)果,這樣用戶的行為就受到一定的約束,有效地減少系統(tǒng)中的惡意行為,為安全知識(shí)在礦山安全知識(shí)管理系統(tǒng)中的傳遞和推薦提供了良好的基礎(chǔ)。
[1] 熊海濤,劉 魯,張繼春,等.裝備保障中基于信任和預(yù)測(cè)的訪問(wèn)控制模型[J].系統(tǒng)工程與電子技術(shù),2011,33(2):315-319.
[2] 李鳳華,蘇 铓,史國(guó)振,等.訪問(wèn)控制模型研究進(jìn)展及發(fā)展趨勢(shì)[J].電子學(xué)報(bào),2012,40(4):805-813.
[3] Lampson B W.Protection[J].Operating Systems Review,1974,8(1):18-24.
[4] 鄧集波,洪 帆.基于任務(wù)的訪問(wèn)控制模型[J].軟件學(xué)報(bào),2003,14(1):76-82.
[5] Oh S,Park S.Task-Role-Based access control model[J].Information System,2003,28(6):533-562.
[6] 余 牧,汪文生.礦山安全知識(shí)管理信息平臺(tái)構(gòu)建[J].山西師范大學(xué)學(xué)報(bào):自然科學(xué)版,2012,25(S2):127-129.
[7] Wu Shengli,Amit Sheth,John Miller,et al.Authorization and access control of application data in workflow systems[J].Journal of Intelligent Information Systems,2002,18(1):71-94.
[8] 甘早斌,曾 燦,李 開(kāi),等.電子商務(wù)下的信任網(wǎng)絡(luò)構(gòu)造與優(yōu)化[J].計(jì)算機(jī)學(xué)報(bào),2012,35(1):27-37.
[9] Jsang A,Ismail R.The beta reputation system[C]∥Proceedings of the 15th bled electronic commerce conference.Slovenia:[s.n.],2002:41-55.