高翰卿,秦小麟,史文浩
南京航空航天大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,南京 210016
基于目的和上下文推理的數(shù)據(jù)庫訪問控制模型*
高翰卿+,秦小麟,史文浩
南京航空航天大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,南京 210016
訪問控制;目的;上下文;規(guī)則
經(jīng)濟(jì)合作與發(fā)展組織于2013年最新發(fā)布的《個人數(shù)據(jù)隱私保護(hù)和跨界流通準(zhǔn)則》[1]中提出個人隱私數(shù)據(jù)需要與可使用目的相綁定;而在隱私數(shù)據(jù)被使用前,使用者必須首先表明使用目的,只有某些特定目的的操作才能被允許。而傳統(tǒng)的關(guān)系數(shù)據(jù)庫訪問控制模型,如自主訪問控制、強(qiáng)制訪問控制、基于角色訪問控制等,主要是對用戶的訪問內(nèi)容和用戶的訪問操作進(jìn)行管理和限制,并沒有考慮用戶的訪問目的和數(shù)據(jù)的用途等屬性,從而無法滿足個人隱私保護(hù)環(huán)境下的數(shù)據(jù)庫安全保護(hù)功能。
為了滿足上述要求,近年來出現(xiàn)了多個以數(shù)據(jù)被訪問目的為研究重點的訪問控制模型。但這些模型都存在著一個共同缺點:用戶在發(fā)起訪問操作時,由用戶來輸入訪問目的。這樣就無法避免某些惡意用戶為了獲取隱私數(shù)據(jù)而編造訪問目的的情況。例如:在醫(yī)療管理系統(tǒng)[2]中存放著病人的電子病歷,而其中的病情和治療過程等信息可以允許研究機(jī)構(gòu)和制藥公司以“研究”為訪問目的進(jìn)行訪問,但當(dāng)上述機(jī)構(gòu)的人員欺騙性地輸入“治療”作為訪問目的發(fā)起訪問會話時,用戶個人信息將被泄露,進(jìn)而可能導(dǎo)致針對病人的電話推銷和招聘歧視等不良結(jié)果。
在現(xiàn)實生活中,通常使用人的行為以及所處的環(huán)境來推測人的目的。人們將這一方法[3-5]拓展到訪問控制中,利用用戶所處的物理環(huán)境、訪問時間以及執(zhí)行的任務(wù)等來刻畫訪問目的?;谶@一點,本文提出了一種基于目的和上下文推理的訪問控制模型(purpose and context reasoning based access control model,PCRAC)。
PCRAC模型具有以下特點:
(1)用戶發(fā)起一個訪問會話時,不必表明訪問目的。PCRAC模型根據(jù)用戶所處的上下文環(huán)境信息以及用戶提交的操作信息,為用戶動態(tài)地分配訪問目的。
(2)數(shù)據(jù)提供者(data provider)通過設(shè)定意向目的(intended purpose)來限制隱私數(shù)據(jù)的訪問用途。訪問控制模型根據(jù)數(shù)據(jù)提供者提交的意向目的來制定相應(yīng)的訪問策略。
(3)模型針對數(shù)據(jù)庫中存放的數(shù)據(jù)內(nèi)容制定相應(yīng)的目的訪問規(guī)則(access rule)。通過上下文環(huán)境觸發(fā)不同的規(guī)則,從而為用戶綁定不同的訪問目的。
本文組織結(jié)構(gòu)如下:第2章介紹現(xiàn)有的基于目的訪問控制模型;第3章介紹PCRAC模型的結(jié)構(gòu)以及執(zhí)行流程,并以實例說明模型的可用性;第4章通過實驗證明PCRAC模型在數(shù)據(jù)庫訪問控制中的可用性和高效性;最后對文章進(jìn)行總結(jié)。
由于數(shù)據(jù)庫隱私保護(hù)這一需求的急迫性,針對隱私保護(hù)提出的基于目的訪問控制的概念一經(jīng)提出,馬上成為數(shù)據(jù)庫研究領(lǐng)域的一個熱點。近年來,先后有多個優(yōu)秀的目的訪問控制模型被提出,以下將分別進(jìn)行介紹。
IBM公司的Agrawal等人于2002年在VLDB會議上提出了Hippocratic數(shù)據(jù)庫的概念[6]。其中首次提出了關(guān)系數(shù)據(jù)庫中隱私保護(hù)的問題,并提出了數(shù)據(jù)庫隱私保護(hù)的10條經(jīng)典規(guī)則,分別是:目的說明、數(shù)據(jù)提供者許可、收集限制、使用限制、公開限制、保留限制、準(zhǔn)確、安全、順從和開放。根據(jù)上述10條準(zhǔn)則,文章提出以隱私元數(shù)據(jù)為核心的Hippocratic數(shù)據(jù)庫系統(tǒng)架構(gòu),并且使用訪問目的作為構(gòu)建隱私數(shù)據(jù)保護(hù)策略的關(guān)鍵。架構(gòu)中為每個用戶綁定了被授權(quán)的訪問目的,為每個數(shù)據(jù)表綁定了可訪問目的。通過系統(tǒng)監(jiān)測兩個訪問目的是否匹配來進(jìn)行訪問控制。
基于目的的訪問控制模型(purpose based access control,PBAC)由Byunn等人在文獻(xiàn)[7-8]中提出。Byunn給出了訪問目的的定義,即訪問目的用來描述數(shù)據(jù)采集和數(shù)據(jù)訪問的原因,并且創(chuàng)新性地使用樹狀結(jié)構(gòu)來存儲目的數(shù)據(jù)。該模型提出了4個不同的訪問粒度,分別是表級、屬性級、行級和元素級。對于表級和屬性級訪問控制,模型采用新建隱私信息字典的方式來存儲相關(guān)的訪問目的信息,而對于行級和元素級,則是通過在數(shù)據(jù)表中添加一列數(shù)據(jù)來存儲相應(yīng)的目的信息。
Peng等人在文獻(xiàn)[9]中提出了“基于目的的動態(tài)訪問控制模型”。該模型不再將訪問目的與訪問主體靜態(tài)地綁定,而是創(chuàng)建了條件角色(conditional roles)的概念,將訪問目的與條件角色綁定,在用戶進(jìn)行訪問時,通過激活相應(yīng)的角色,獲取相應(yīng)的訪問目的。這樣做改進(jìn)了PBAC模型中主體與訪問目的靜態(tài)綁定的缺點。
Kabir等人在文獻(xiàn)[10]中提出了“基于動態(tài)角色和條件目的的訪問控制”。該模型基于RBAC(rolebased access control)模型[11]提出了條件目的的概念,也就是被訪問的客體與一個額外的數(shù)據(jù)形式條件相關(guān)聯(lián),用來指定當(dāng)前數(shù)據(jù)內(nèi)容展現(xiàn)給訪問者的形式。該模型提高了訪問控制的靈活程度,在適應(yīng)更廣泛的訪問類型的同時,盡可能地保護(hù)隱私數(shù)據(jù)的內(nèi)容。
Colombo等人在文獻(xiàn)[12]中提出創(chuàng)建公司的實際問題:數(shù)據(jù)庫中存放著用戶住址等隱私數(shù)據(jù),而使用的關(guān)系數(shù)據(jù)庫并不能提供個人化、隱私化的數(shù)據(jù)保護(hù)能力。對此,作者在PuRBAC(purpose-aware RBAC)模型[13]的基礎(chǔ)上,使用查詢語句重寫技術(shù)[14-15],解決了細(xì)粒度基于目的訪問控制的問題。
劉逸敏等人在文獻(xiàn)[16-18]中提出了“基于目的的隱私數(shù)據(jù)訪問控制模型”,將數(shù)據(jù)的訪問目的表示為隱私數(shù)據(jù)的一個可訪問標(biāo)簽,以隱私數(shù)據(jù)的一個屬性的形式存儲。該模型將訪問控制模型抽象為一棵隱私泄漏風(fēng)險樹,將查詢改寫為對風(fēng)險平衡樹的查詢,以評估查詢的隱私泄露風(fēng)險。該模型被使用到XML(extensible markup language)數(shù)據(jù)中,對模型中的隱私泄漏風(fēng)險樹等概念進(jìn)行了實例化的應(yīng)用。
本文選擇以PBAC模型為基礎(chǔ),使用規(guī)則推理機(jī)制進(jìn)行訪問目的分配,從而更加靈活地將用戶與訪問目的相結(jié)合,增加了訪問控制機(jī)制的靈活性和安全性。
上文對現(xiàn)有的基于目的訪問控制模型進(jìn)行了介紹。通過總結(jié)和比較,發(fā)現(xiàn)這些模型存在一個共同的缺點,即用戶的訪問目的需要訪問者輸入。這個缺點會導(dǎo)致惡意用戶偽造訪問目的,從而達(dá)到欺騙訪問控制系統(tǒng),獲取隱私數(shù)據(jù)的結(jié)果。
針對這個不足,對PBAC模型進(jìn)行了改進(jìn)和擴(kuò)展,提出了一種基于規(guī)則推理的訪問控制模型PCRAC。本模型利用用戶環(huán)境上下文、用戶操作請求等信息,通過規(guī)則推理得出用戶的訪問目的,從而解決了現(xiàn)有PBAC模型的上述缺點,可以更安全地保護(hù)數(shù)據(jù)庫中的隱私數(shù)據(jù)。
3.1模型結(jié)構(gòu)
在PCRAC模型中,為了解決動態(tài)分配訪問目的的問題,引入了訪問目的規(guī)則集。將用戶的輸入信息、上下文信息以及角色信息等組合成目的上下文字典(context data dictionary,CDD),通過激活相應(yīng)的目的規(guī)則來為用戶分配相應(yīng)的訪問目的。PCRAC模型的結(jié)構(gòu)如圖1所示。
Fig.1 Construction diagram of PCRAC model圖1PCRAC模型結(jié)構(gòu)圖
PCRAC模型可以形式化地定義如下。
(1)UR?USER×ROLE:表示一個從用戶集USER到角色集ROLE的多對多分配關(guān)系,即一個用戶可以擁有多個角色,而一個角色也可以分配給多個用戶。
(2)CDD:上下文字典。上下文用來表示當(dāng)前對象所處的環(huán)境。根據(jù)文獻(xiàn)[19]中的定義,上下文包括物理變量(如網(wǎng)絡(luò)類型、物理位置等)和人為因素(如用戶行為等),上下文根據(jù)使用環(huán)境等信息構(gòu)造出一個系統(tǒng)的行為環(huán)境。上下文字典定義如下:
① AN(attribute name)={Attr1,Attr2,…,Attrn}:表示上下文中包括的屬性名稱集合。AN可能是時間、位置、IP等一些用戶所處的外部環(huán)境信息,也可能是系統(tǒng)內(nèi)部的狀態(tài)信息,比如用戶訪問量、用戶位置等。
②AV(attribute value):表示上下文屬性的取值集合。上下文屬性的取值是動態(tài)變化的,通過相應(yīng)的獲取函數(shù),在用戶發(fā)起訪問時抓取數(shù)據(jù)。
PCRAC模型的上下文字典中主要包括用戶所處的環(huán)境,以及當(dāng)前程序上下文環(huán)境和用戶的操作請求等信息。
(3)PURP={purp1,purp2,…,purpn}:表示數(shù)據(jù)庫系統(tǒng)中的訪問目的集合。
(4)PT(purpose tree)=PURP×PURP:目的樹的概念最早由Byunn[5]提出,用來表示訪問目的集合中元素之間的繼承關(guān)系。目的樹中,每個節(jié)點代表一個訪問目的,每條邊代表兩個目的之間的偏序關(guān)系。設(shè)PT樹中兩個目的為 pi、pj,稱 pi是 pj的祖先,當(dāng)樹中存在一條從 pi到 pj的下行邊,而此時 pj稱為pi的子孫。
表示關(guān)聯(lián)了訪問目的的客體oip與關(guān)系操作perm間的對應(yīng)關(guān)系。
(8)COND=AN×AV:表示上下文條件表達(dá)式集合。其中,AN為上下文屬性名;AV為管理員為屬性名設(shè)定的值;COND用來記錄屬性 field的允許取值范圍。
3.2目的規(guī)則建立
目的規(guī)則作為PCRAC模型的核心,用來動態(tài)地為訪問用戶分配訪問目的。目的規(guī)則集中每條規(guī)則都是以訪問目的為規(guī)則頭,上下文條件集作為規(guī)則體。模型通過用戶的上下文差異,激活相應(yīng)的規(guī)則,從而為用戶分配相應(yīng)的訪問目的。下面給出目的規(guī)則結(jié)構(gòu)體的定義以及創(chuàng)建互斥目的規(guī)則集(mutual purpose rule,MPR)的算法:
在PCRAC模型中,目的規(guī)則結(jié)構(gòu)體包括規(guī)則頭和規(guī)則體兩部分。規(guī)則頭中存儲訪問目的Purpose,這里要保證Purpose為系統(tǒng)訪問目的集PURP中的元素;而規(guī)則體包含了觸發(fā)這條規(guī)則的所有上下文條件,每個條件之間由邏輯運(yùn)算符“&”進(jìn)行連接。如果當(dāng)前用戶的上下文屬性值滿足規(guī)則集中一條規(guī)則rule的所有條件時,該規(guī)則被觸發(fā)。為了避免多條規(guī)則同時被觸發(fā)而導(dǎo)致的邏輯混亂,定義了互斥規(guī)則集的概念。
定義1(互斥規(guī)則集)
上下文條件間的包含關(guān)系表示:兩個條件的屬姓名一致,且屬性值存在包含關(guān)系。其中,is_in()函數(shù)用來判斷實數(shù)域中的包含關(guān)系。
上述定義互斥規(guī)則集用來描述一組規(guī)則,其中任意兩條規(guī)則的規(guī)則體中包含的屬性不完全一致。
算法1規(guī)則編碼算法
算法1中,rule_length用來記錄一條規(guī)則rule中上下文條件數(shù),而con_num用來記錄上下文屬性集CA中屬性的個數(shù)。算法3~10行用來遍歷規(guī)則rule的每一個上下文條件,若當(dāng)前條件rule.condi在上下文屬性集CA中在第 j位,則創(chuàng)建一個二進(jìn)制串temp,temp的第 j位為1,其他位為0。然后,將規(guī)則編碼code與temp做“與”運(yùn)算,從而將編碼code的第j位置1。這樣,code就是規(guī)則rule的編碼。
通過上述編碼方法,將每條規(guī)則的規(guī)則體表述為一串二進(jìn)制碼。在每次進(jìn)行規(guī)則插入時,不再需要線性地將新插入規(guī)則與規(guī)則集中每一個規(guī)則相匹配,而只需將新的規(guī)則進(jìn)行編碼,與規(guī)則集中已有的規(guī)則對應(yīng)的編碼進(jìn)行逐一比較。下面給出規(guī)則互斥性判斷算法。
算法2規(guī)則互斥性判斷算法
輸入:規(guī)則集編碼表rule_code;新插入規(guī)則new_rule。
輸出:TRUE或FALSE。
算法2中3~4行用于順序遍歷編碼表,當(dāng)新插入規(guī)則的編碼new_code與編碼表中一項相同,則進(jìn)入該規(guī)則;5~10行用于判斷該規(guī)則是否與新插入的規(guī)則互斥,其中is_cover函數(shù)首先判斷兩個條件表達(dá)式的屬性名是否一致,若一致,則繼續(xù)判斷兩個表達(dá)式是否滿足實數(shù)域上的包含關(guān)系。若所有條件都為相互包含關(guān)系時,則判斷兩條規(guī)則不具有互斥性,從而返回FALSE。
通過上述算法,將每次插入時順序遍歷檢查互斥性的任務(wù)簡化為比較兩個比特串是否一致,從而將時間開銷降為O(rule.num+k×rulei.length)。其中rule.num表示規(guī)則條數(shù),k表示與當(dāng)前待插入規(guī)則編碼一致的規(guī)則條數(shù),rulei.length表示第i條規(guī)則的規(guī)則體長度。
3.3目的規(guī)則推理與匹配
在訪問主體發(fā)起會話時,PCRAC模型將訪問目的推理過程分為兩個階段:
(1)在用戶登錄時,PCRAC模型調(diào)用上下文獲取函數(shù),得到用戶的上下文屬性值,并根據(jù)用戶的身份標(biāo)識,為其分配角色。在用戶的上下文變量獲取完畢后,將其保存至上下文屬性字典中。
(2)將用戶的上下文屬性字典作為輸入?yún)?shù)傳遞到規(guī)則匹配模塊。在該模塊中,系統(tǒng)將用戶的上下文屬性值與每一條規(guī)則進(jìn)行匹配。由于規(guī)則集具有互斥性,每次匹配至多有一條規(guī)則與用戶的上下文環(huán)境相匹配。下面給出規(guī)則匹配算法。
算法3規(guī)則匹配算法
22.return NULL;
算法1~5行用于找到當(dāng)前用戶被分配的角色對應(yīng)的全部規(guī)則,其中first_rule函數(shù)用于獲取當(dāng)前角色對應(yīng)的第一條規(guī)則的位置。算法6~18行將上下文屬性字典CDD與當(dāng)前待匹配的規(guī)則rule_temp進(jìn)行屬性的一一匹配,其中is_in函數(shù)用來判斷rule_temp當(dāng)前的條件condi是否在規(guī)則頭集合H_Rule中,如果在,則進(jìn)行規(guī)則遞歸推理;is_cover函數(shù)與規(guī)則互斥性判斷算法中的一致,用于判別兩個條件表達(dá)式是否具有包含關(guān)系。19~21行用于判斷當(dāng)前規(guī)則rule_ temp是否與屬性字典匹配;若匹配成功,則將rule_ temp規(guī)則的規(guī)則頭rule_temp.purpose賦予給用戶。
3.4PCRAC模型執(zhí)行流程
本模型主要包括3個階段:用戶發(fā)起會話的輸入階段、基于規(guī)則推理的訪問目的分配階段和目的訪問控制階段。具體執(zhí)行流程如圖2所示。
詳細(xì)步驟描述如下:
(1)在用戶發(fā)起一個新的會話(session)后,Client模塊向用戶請求身份驗證;用戶將身份認(rèn)證信息發(fā)送回Client模塊。Client通過驗證用戶與身份認(rèn)證信息的有效性來判斷是否允許用戶繼續(xù)訪問。
(2)Client模塊將當(dāng)前訪問的用戶信息發(fā)送到用戶-角色表中,該表存放有系統(tǒng)的UR(user-role)信息。根據(jù)表中信息,系統(tǒng)為用戶分配角色。
Fig.2 Flow diagram of PCRAC model圖2PCRAC模型流程圖
(3)Client模塊將用戶提出的操作信息發(fā)送到目的規(guī)則集。
(4)在為當(dāng)前用戶分配相應(yīng)的角色后,將用戶信息以及角色信息發(fā)送到目的規(guī)則集。
(5)通過上面的介紹,上下文屬性字典用于存放用戶的上下文信息。在Client模塊通過用戶的身份驗證后,激活上下文屬性字典模塊中包括的環(huán)境數(shù)據(jù)抓取函數(shù)。抓取到的上下文變量數(shù)據(jù)存放在上下文屬性字典中。隨后,將屬性字典發(fā)送到目的規(guī)則集。
(6)目的規(guī)則集分別接收用戶信息、用戶操作信息以及上下文信息。該模塊需要做以下事情:
①整合、處理數(shù)據(jù),將收到的信息分為用戶角色、上下文信息、操作類型和操作對象4部分,整合成為用戶信息(user information,UI)。
②調(diào)用規(guī)則匹配算法,將用戶信息UI與目的規(guī)則集中的規(guī)則進(jìn)行逐條匹配。由于規(guī)則集在構(gòu)造時已保證了規(guī)則之間的互斥性,可以保證在匹配過程中至多有一條規(guī)則與用戶信息相匹配。如果匹配成功,則將匹配的規(guī)則頭作為用戶本次會話的訪問目的(access purpose,AP);否則,中斷會話。
(7)將當(dāng)前用戶的訪問目的AP傳遞到OIP(Object-IP)模塊中。
(8)將用戶的操作信息發(fā)送到OIP模塊。
(9)系統(tǒng)根據(jù)用戶的操作信息找到數(shù)據(jù)庫中存放的相應(yīng)客體,并在目的數(shù)據(jù)字典中找到與客體對應(yīng)的意向訪問目的IP(intended purpose)。
(10)模型進(jìn)行IP與AP的匹配,若IP與AP一致,則允許用戶的操作請求;若不一致,則查詢目的樹PT,判斷AP與IP的關(guān)系。若存在AP?IP,則認(rèn)為當(dāng)前用戶的訪問目的是可以被許可的(permitted),否則拒絕用戶的操作請求。
綜上所述,PCRAC模型在用戶發(fā)起會話后,通過模型內(nèi)部的上下文抓取函數(shù),將用戶當(dāng)前的上下文信息填寫到上下文屬性字典中。然后利用上下文屬性字典和用戶的角色信息等,在目的規(guī)則集中進(jìn)行逐條匹配。如果匹配成功,則將該規(guī)則的規(guī)則頭中存儲的訪問目的分配給當(dāng)前用戶。否則,拒絕用戶繼續(xù)訪問。之后,將用戶的操作信息及訪問目的傳送到訪問控制決策模塊。通過查詢目的數(shù)據(jù)字典,判斷是否允許用戶執(zhí)行相應(yīng)的操作。通過規(guī)則推理機(jī)制,更加安全、智能地獲取用戶的訪問目的。因此實現(xiàn)了一種細(xì)粒度、實時動態(tài)的訪問控制機(jī)制,能夠更加安全地為用戶分配合適的權(quán)限。
數(shù)據(jù)庫訪問控制模塊的評判標(biāo)準(zhǔn)主要包括有效性和高效性。由于PCRAC模型包含規(guī)則集的構(gòu)造和數(shù)據(jù)庫操作中的訪問控制兩個模塊,本文在測試模型的高效性時分別對這兩部分進(jìn)行實驗。而對于模型的有效性,本文使用實例分析的方法進(jìn)行驗證。因此,設(shè)置了如下3組實驗:
(1)基于不同規(guī)模的規(guī)則集下規(guī)則插入時間的比較。本組實驗以規(guī)則集大小為自變量,測試了規(guī)則插入需要的時間。
(2)PCRAC模型應(yīng)對惡意攻擊的有效性驗證。本組實驗用來驗證模型在實際場景中能否有效地阻止惡意攻擊。
(3)PCRAC模型查詢效率驗證。本組實驗將PCRAC模型與PBAC模型進(jìn)行對比,在相同的操作下比較分別帶有兩種模型的數(shù)據(jù)庫系統(tǒng)查詢所需的時間。
4.1規(guī)則插入效率實驗
本實驗包含兩部分,首先測試單次規(guī)則集構(gòu)造的效率。以規(guī)則集的大小作為變量,進(jìn)行了5次實驗,實驗結(jié)果如圖3所示。
Fig.3 Expense of rule inserting operation圖3 規(guī)則插入開銷實驗結(jié)果
在圖3中,當(dāng)規(guī)則集中規(guī)則數(shù)為10、30、40條時,時間消耗較低,僅用20 μs。這是因為新插入的規(guī)則的編碼與規(guī)則集中任意一個現(xiàn)有規(guī)則編碼都不重合,直接執(zhí)行插入。當(dāng)規(guī)則數(shù)為20和50時,插入耗時約為100 μs。這是因為新插入的規(guī)則的編碼與規(guī)則集中已有的某個規(guī)則編碼一致,需要通過比較兩條規(guī)則體來進(jìn)行規(guī)則互斥性檢查。因此,這兩次插入的時間開銷大于其他3次。
實驗第二部分測試規(guī)則集構(gòu)造的平均效率。仍以規(guī)則集大小作為自變量,進(jìn)行50次類似實驗,求時間開銷均值,實驗結(jié)果如圖4所示。
Fig.4 Average expense of rule inserting operation圖4 規(guī)則插入平均開銷實驗結(jié)果
在圖4中,規(guī)則插入的開銷隨規(guī)則集的增加而緩慢增加,并且都能保證在0.1 ms以下。這個開銷可以滿足數(shù)據(jù)庫系統(tǒng)要求的高效性。
4.2PCRAC模型有效性實驗
針對上文提到的醫(yī)療管理系統(tǒng),系統(tǒng)中存放著醫(yī)院治療記錄表(PI),如表1所示。
Table1 Patient index表1 治療記錄表
本文將訪問的目的分為3大類:治療(cure)、研究(research)和審計(audit)。而治療包括開處方(prescribe)和做手術(shù)(operation),研究包括病情研究(patient?s condition research,PCR)和藥物作用研究(medicine effect research,MER)。這個層次性目的集構(gòu)成了如圖5所示的目的樹。
Fig.5 Purpose tree of medical administrative system圖5 醫(yī)療管理系統(tǒng)目的樹
針對醫(yī)療管理系統(tǒng)中的PI表,設(shè)計了以下規(guī)則:
第一條規(guī)則表示:當(dāng)主治醫(yī)生在醫(yī)院內(nèi)部訪問當(dāng)前在診病人的年齡、性別和病情信息時,分配“cure”訪問目的;第二條規(guī)則表示:當(dāng)研究人員訪問已經(jīng)出院的病人的病情和治療方法信息時,分配“research”訪問目的;第三條規(guī)則用于規(guī)定hospital的范圍,當(dāng)規(guī)則1被觸發(fā),判斷position IN hospital時,規(guī)則匹配算法跳到第三條規(guī)則進(jìn)行匹配。
上述規(guī)則在PCRAC模型中以表2和表3編碼后的形式存儲。
如表3所示,對于同樣擁有Doctor角色的用戶Sam和King來說,Sam發(fā)起一個查詢請求“Select P_sex From PI Where P_id=‘161060205’”,而King發(fā)起查詢請求“Select P_age From PI Where P_id=‘161060508’”。根據(jù)病人信息表中的情況,兩位被查詢的病人的P_State=1,即都處在住院期間。根據(jù)上下文屬性字典中Position信息,用戶King處在hospital內(nèi)部,而Sam則在hospital外,雖然二者的角色相同,且訪問目標(biāo)都滿足訪問規(guī)則,但用戶Sam的位置信息不滿足IN hospital。因此模型將用戶Sam的訪問行為視為惡意攻擊,系統(tǒng)禁止Sam執(zhí)行該查詢請求,而King可以訪問P_age信息。
Table 2 Rule encoding表2 規(guī)則編碼表
Table 3 Data dictionary of context表3 上下文數(shù)據(jù)字典
上面的實例說明,PCRAC模型在應(yīng)對非法區(qū)域的惡意攻擊方面具有很好的效果。此外,模型在應(yīng)對用戶名和密碼的惡意泄露、內(nèi)部人員的惡意攻擊等方面都具有較好的效果。
4.3PBAC模型與PCRAC模型的效率對比實驗
為了驗證PCRAC模型的查詢效率,本文實現(xiàn)了PBAC模型,并將兩個模型添加到實驗室自主實現(xiàn)的NHDB關(guān)系數(shù)據(jù)庫系統(tǒng)[20]中。每次系統(tǒng)處理查詢操作之前,需要通過匹配目的規(guī)則來為用戶分配一個訪問目的,因此本實驗同樣以規(guī)則集的大小作為自變量,進(jìn)行5次對比實驗,實驗結(jié)果如圖6。
Fig.6 Comparison of accessing time between PCRAC and PBAC圖6PCRAC模型與PBAC模型時間開銷對比
在圖6中,PBAC模型不存在規(guī)則推理機(jī)制,因此訪問控制時間開銷不隨規(guī)則數(shù)的增加而增加。而對于PCRAC模型,時間開銷曲線呈增長趨勢。這是因為規(guī)則數(shù)的增加,提高了規(guī)則匹配的時間開銷。但是本文在存儲規(guī)則時,以每條規(guī)則對應(yīng)的訪問角色作為關(guān)鍵字,建立了類似Hash表的鏈表存儲結(jié)構(gòu)。因此,規(guī)則數(shù)雖然以線性增長,但鏈表數(shù)據(jù)結(jié)構(gòu)保證了每次搜索的次數(shù)不會以線性規(guī)模進(jìn)行增長。在實驗結(jié)果圖中可以看出,當(dāng)規(guī)則數(shù)達(dá)到50次時,訪問控制開銷漲幅已經(jīng)逐漸趨緩。
本文針對基于目的的訪問控制需要用戶輸入訪問目的的缺點,提出了一種基于目的和上下文的訪問控制模型,該模型以用戶所處上下文環(huán)境變量和用戶操作作為輸入?yún)?shù),使用規(guī)則推理機(jī)制,可以為用戶動態(tài)分配訪問目的,從而提高了訪問控制機(jī)制的安全性。在實驗驗證階段,從有效性和高效性兩方面入手,分別做了實例分析和效率測試實驗。實驗結(jié)果表明,本文模型能實時地獲取用戶的上下文數(shù)據(jù),并根據(jù)該數(shù)據(jù)進(jìn)行規(guī)則推理。本文模型適用于傳統(tǒng)關(guān)系數(shù)據(jù)庫系統(tǒng)。
作為一個使用規(guī)則的訪問控制模型,本文模型需要在使用前針對數(shù)據(jù)庫中存放的數(shù)據(jù)創(chuàng)建相應(yīng)的規(guī)則集,這需要相關(guān)領(lǐng)域?qū)<业慕槿?。因此,下一步研究工作將針對這一問題,嘗試提取不同數(shù)據(jù)庫的規(guī)則創(chuàng)建的共同點,抽象出一套可以適應(yīng)盡可能多的實際應(yīng)用環(huán)境的規(guī)則集。
References:
[1]Charney S.The evolution of online identity[J].IEEE Security &Privacy,2009,7(5):56-59.
[2]Rahmouni H B,Solomonides T,Mont M C,et al.Privacy aware access controls for medical data disclosure on European healthgrids[J].Studies in Health Technology&Informatics,2010,159:14-27.
[3]Daniele L,Costa P D,Pires L F.Towards a rule-based approach for context-aware applications[C]//LNCS 4606:Dependable and Adaptable Networks and Services,Proceedings ofthe 13th Open European Summer School and IFIP TC6.6 Workshop,Enschede,The Netherlands,Jul 18-20,2007.Berlin,Heidelberg:Springer,2007:33-43.
[4]Liu Dong,Meng Xiangwu,Chen Junliang,et al.Algorithms for rule generation and matchmaking in context-aware system[J].Journal of Software,2009,20(10):2655-2666.
[5]Costa P D,Almeida J P A,Pires L F,et al.Evaluation of a rule-based approach for context-aware services[C]//Proceedings of the 2008 IEEE Global Telecommunications Conference,New Orleans,USA,Nov 30-Dec 4,2008.Piscataway, USA:IEEE,2008:1-5.
[6]Agrawal R,Kiernan J,Srikant R,et al.Hippocratic databases[C]//Proceedings of the 28th International Conference on Very Large Data Bases,Hong Kong,China,Aug 20-23,2002. San Fransisco,USA:Morgan Kaufmann,2002:143-154.
[7]Byunn J W,Li Ninghui.Purpose based access control for privacy protection in relational database systems[J].The International Journal on Very Large Data Bases,2008,17(4): 603-619.
[8]Byunn J W,Bertino E,Li Ninghui.Purpose based access control of complex data for privacy protection[C]//Proceedings of the 10th ACM Symposium on Access Control Models and Technologies,Stockholm,Sweden,Jun 1-3,2005. New York,USA:ACM,2005:102-110.
[9]Peng Huanchun,Gu Jun,Ye Xiaojun.Dynamic purposebased access control[C]//Proceedings of the 2008 IEEE International Symposium on Parallel and Distributed Processing with Applications,Sydney,Australia,Dec 10-12,2008.Piscataway,USA:IEEE,2008:695-700.
[10]Kabir M E,Wang Hua.Conditional purpose based access control model for privacy protection[C]//Proceedings of the 20th Australasian Database Conference,Wellington,New Zealand,2009.Darlinghurst:Australian Computer Society, Inc,2009:135-142.
[11]Sandhu R,Coyne E,Feinstein H,et al.Role-based access control models[J].IEEE Computer,1996,29(2):38-47.
[12]Colombo P,Ferrari E.Enforcement of purpose based access control within relational database management systems[J]. IEEE Transactions on Knowledge&Data Engineering, 2014,26(11):2703-2716.
[13]Masoumzadeh A,Joshi J B D.PuRBAC:purpose-aware role-based access control[C]//LNCS 5332:Proceedings of the 2008 International Conference on the Move to Meaningful Internet Systems,Monterrey,Mexico,Nov 9-14,2008. Berlin,Heidelberg:Springer,2008:1104-1121.
[14]Van Staden W,Olivier M S.Extending SQL to allow the active usage of purposes[C]//LNCS 4083:Proceedings of the 3rd International Conference on Trust and Privacy in Digital Business,Kraków,Poland,Sep 4-8,2006.Berlin,Heidelberg:Springer,2006:123-131.
[15]Agrawal R,Bird P,Grandison T,et al.Extending relational database systems to automatically enforce privacy policies [C]//Proceedings of the 21st International Conference on Data Engineering,Tokyo,Japan,Apr 5-8,2005.Washington:IEEE Computer Society,2005:1013-1022.
[16]Liu Yimin,Wang Zhihui,Wang Wei.Research and implementation of purpose-based privacy access control policy in XML data model[J].Computer Applications&Software, 2013,30(2):148-151.
[17]Liu Yimin.Purpose based access control model on privacy data[D].Shanghai:Fudan University,2012.
[18]Liu Yimin,Wang Zhihui,Zhou Haofeng,et al.Privacyaware data purpose based access control for relational database[J].Journal of Frontiers of Computer Science and Technology,2010,4(3):222-230.
[19]Dey A K,Providing architectural support for building context aware applications[D].Georgia Institute of Technology, 2000.
[20]Lin Junhai,Qin Xiaolin.NHDB relational database system [J].Journal of Nanjing Aeronautical Institute,1989,21(3): 99-103.
附中文參考文獻(xiàn):
[4]劉棟,孟祥武,陳俊亮,等.上下文感知系統(tǒng)中的規(guī)則生成與匹配算法[J].軟件學(xué)報,2009,20(10):2655-2666.
[16]劉逸敏,王智慧,汪衛(wèi).XML數(shù)據(jù)模式下基于purpose的隱私訪問控制策略研究與實現(xiàn)[J].計算機(jī)應(yīng)用與軟件, 2013,30(2):148-151.
[17]劉逸敏.基于訪問目的的隱私數(shù)據(jù)訪問控制機(jī)制研究[D].上海:復(fù)旦大學(xué),2012.
[18]劉逸敏,王智慧,周皓峰,等.基于Purpose的隱私數(shù)據(jù)訪問控制模型[J].計算機(jī)科學(xué)與探索,2010,4(3):222-230.
[20]林鈞海,秦小麟.NHDB關(guān)系數(shù)據(jù)庫系統(tǒng)[J].南京航空學(xué)院學(xué)報,1989,21(3):99-103.
GAO Hanqing was born in 1992.He is an M.S.candidate at Nanjing University of Aeronautics and Astronautics. His research interests include security in database,cloud computing and distributed database,etc.
高翰卿(1992—),男,遼寧丹東人,南京航空航天大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院碩士研究生,主要研究領(lǐng)域為數(shù)據(jù)庫安全,分布式數(shù)據(jù)庫等。
QIN Xiaolin was born in 1953.He is a professor and doctoral supervisor at Nanjing University of Aeronautics and Astronautics,and the senior member of CCF.His research interests include spatial and spatio-temporal databases, data management and security in distributed environment,etc.
秦小麟(1953—),男,江蘇南京人,南京航空航天大學(xué)教授、博士生導(dǎo)師,CCF高級會員,主要研究領(lǐng)域為空間與時空數(shù)據(jù)庫,分布式數(shù)據(jù)管理與安全等。
SHI Wenhao was born in 1988.He is an M.S.candidate at Nanjing University of Aeronautics and Astronautics.His research interests include access control and cloud computing,etc.
史文浩(1988—),男,河北衡水人,南京航空航天大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院碩士研究生,主要研究領(lǐng)域為訪
問控制,云計算技術(shù)等。
Purpose and Context Reasoning Based Access Control Model on Databases?
GAO Hanqing+,QIN Xiaolin,SHI Wenhao
College of Computer Science and Technology,Nanjing University of Aeronautics and Astronautics,Nanjing 210016,China
+Corresponding author:E-mail:gaohqnuaa@foxmail.com
GAO Hanqing,QIN Xiaolin,SHI Wenhao.Purpose and context reasoning based access control model on databases.Journal of Frontiers of Computer Science and Technology,2016,10(9):1229-1239.
With the rapid development of information technology today,as the most effective storage data tool,the database stores a large number of data related to userys privacy.But the traditional database access control model cannot guarantee the security of personal privacy data due to the different degrees of protection for the privacy information between different people.This gives birth to the emergence of purpose based access control model.Existing models concentrate on binding the data with intend purpose dynamically,but rarely concern about the distribution between users and access purpose.On the basis of previous studies,this paper proposes a purpose and context based access control model,which uses the rule reasoning mechanism and takes the context information of users as the trigger condition.In this way,the access purpose can be distributes to user dynamically.The experiment shows that,the new model not only makes up the shortcomings of existing models,but also controls the access behavior from user to database efficiently.
access control;purpose;context;rule
在信息技術(shù)高速發(fā)展的今天,作為存儲數(shù)據(jù)最有效的工具,數(shù)據(jù)庫存儲了大量與用戶個人隱私相關(guān)的數(shù)據(jù)。由于每個人對于隱私信息的保護(hù)程度不同,傳統(tǒng)數(shù)據(jù)庫訪問控制無法保證隱私數(shù)據(jù)的安全,從而產(chǎn)生了基于目的的訪問控制模型?,F(xiàn)有的基于目的訪問控制模型主要針對數(shù)據(jù)與允許目的的動態(tài)綁定方式進(jìn)行研究,考慮用戶與訪問目的的動態(tài)分配的研究較少。在過去研究的基礎(chǔ)上,提出了一種基于目的和上下文的訪問控制模型,模型使用規(guī)則推理機(jī)制,以用戶的上下文信息作為規(guī)則觸發(fā)條件,動態(tài)地為用戶分配訪問目的。實驗結(jié)果表明,該模型不僅彌補(bǔ)了現(xiàn)有模型的缺點,而且能夠高效地控制用戶對數(shù)據(jù)庫中隱私數(shù)據(jù)的訪問行為。
2015-07,Accepted 2015-10.
*The National Natural Science Foundation of China under Grant Nos.61373015,61300052,41301047(國家自然科學(xué)基金);the PriorityAcademic Development Program of Jiangsu Higher Education Institutions(江蘇高校優(yōu)勢學(xué)科建設(shè)工程資助項目).
CNKI網(wǎng)絡(luò)優(yōu)先出版:2015-11-02,http://www.cnki.net/kcms/detail/11.5602.TP.20151102.0857.002.html
A
TP311