蘇瑋,尹曉
SU Wei, YIN Xiao
(山東財(cái)經(jīng)大學(xué)管理科學(xué)與工程學(xué)院)
(School of Management Science and Engineering, Shandong University of Finance and Economics)
智慧社區(qū)中的跨域訪問控制模型研究
蘇瑋,尹曉
SU Wei, YIN Xiao
(山東財(cái)經(jīng)大學(xué)管理科學(xué)與工程學(xué)院)
(School of Management Science and Engineering, Shandong University of Finance and Economics)
智慧社區(qū)是智慧城市的基本構(gòu)成單元之一,其以基于信息的居家服務(wù)為核心,涵蓋了生活服務(wù)、行政管理、信息資源共享、商業(yè)交易等多項(xiàng)功能,構(gòu)成一個(gè)跨域的異構(gòu)網(wǎng)絡(luò)系統(tǒng)。對(duì)于智慧社區(qū)而言,跨域訪問控制機(jī)制是保證其各項(xiàng)功能正常進(jìn)行的基礎(chǔ),而目前所廣泛采用的基于角色的跨域訪問控制中存在著隱蔽提升等安全問題,且靈活性不高。為提高智慧社區(qū)跨域訪問控制的安全性與靈活性,提出了基礎(chǔ)角色映射概念,并建立基于基礎(chǔ)角色的跨域訪問控制模型。該模型中跨域訪問用戶通過基礎(chǔ)角色映射獲得基礎(chǔ)訪問權(quán)限,在此基礎(chǔ)上可通過申請(qǐng)附加角色獲得基礎(chǔ)權(quán)限之外的訪問資源。模型通過基礎(chǔ)角色映射有效地提高了跨域訪問效率,降低了隱蔽提升的可能性,利用附加角色申請(qǐng)確保授權(quán)的動(dòng)態(tài)性,從而在保證安全性和效率的同時(shí)又使其具有了一定的靈活性。
智慧社區(qū);跨域訪問控制;基礎(chǔ)角色映射;附加角色
智慧社區(qū)是智慧城市的重要構(gòu)成部分,其以基于信息的居家服務(wù)為核心,涵蓋了生活服務(wù)、行政管理、信息資源共享、商業(yè)交易等多項(xiàng)功能,構(gòu)成一個(gè)多功能的復(fù)合系統(tǒng)。其功能多樣,且參與方眾多,如何確保數(shù)據(jù)資源的安全訪問是智慧社區(qū)建設(shè)中亟待解決的問題。而智慧社區(qū)用戶類型多,服務(wù)類型多,安全機(jī)制不一致,使得智慧社區(qū)形成一個(gè)異構(gòu)多域的網(wǎng)絡(luò)架構(gòu),對(duì)訪問控制提出了更高的要求。此外,智慧社區(qū)中服務(wù)復(fù)雜多樣,服務(wù)粒度差異大,用戶的服務(wù)請(qǐng)求與社區(qū)服務(wù)的粒度往往不一致,也給訪問控制增加了難度。因此,如何為如此復(fù)雜的應(yīng)用構(gòu)建訪問控制機(jī)制是當(dāng)前智慧社區(qū)研究的熱點(diǎn)之一,其核心是如何建立異構(gòu)多域環(huán)境中的訪問控制模型。
在訪問控制領(lǐng)域繼MAC與DAC訪問控制模型之后,基于角色的訪問控制RBAC模型[1]成為主流,1996年Ferraiolo DF與 Sandhu R提出了RBAC96模型[2],成為RBAC的經(jīng)典模型。在該模型中給出了用戶、角色、權(quán)限等各要素的定義,并明確了將權(quán)限授權(quán)給角色,而用戶通過角色指派獲得權(quán)限的基本角色授權(quán)模式。在跨域訪問控制領(lǐng)域,目前則以2000年Kapadia等人提出的IRBAC模型為基礎(chǔ)[3]。在IRABC中,不同資源域都有自己的角色集合,不同域中的角色建立相互的映射關(guān)系,當(dāng)用戶跨域訪問時(shí),依據(jù)角色映射關(guān)系,用戶完成跨域的角色轉(zhuǎn)換,獲得新資源域中的角色指派,從而獲得跨域資源訪問的權(quán)限。IRABC在兩個(gè)域間的跨域訪問中有良好的使用效果,但由于IRBAC是為兩個(gè)域角色建立的映射關(guān)系,對(duì)于多于兩個(gè)域間的訪問控制,
IRBAC的管理復(fù)雜性上升明顯,穩(wěn)定性也沒有很好的保證,且因?yàn)榻巧成浔淼墓潭ㄐ?,其靈活性受限。針對(duì)IRBAC模型中存在的問題,國內(nèi)外的研究人員提出了眾多的改進(jìn)模型。Hu JW等人提出,在域間角色映射的基礎(chǔ)上增加了外域角色與本域權(quán)限之間的映射,以提高跨域訪問的靈活性和穩(wěn)定性,但大大增加了訪問控制的復(fù)雜性和系統(tǒng)開銷[4]。而Cai WH等人則引入角色委托授權(quán),允許已授權(quán)用戶將自己所擁有的權(quán)限委托給其他人,并通過權(quán)限標(biāo)識(shí)位控制委托授權(quán)的深度[5]。劉偉等人的研究中引入委托角色的概念,實(shí)現(xiàn)了跨域的細(xì)粒度訪問控制[6]。付常勝等人基于協(xié)商機(jī)制建立不同域間的角色映射關(guān)系,減輕了集中控制角色映射中心控制的負(fù)載,并提高了靈活性[7]。但協(xié)商機(jī)制下,當(dāng)問授權(quán)需要反復(fù)協(xié)商,時(shí)間開銷大大增加了。袁家斌等人提出的面向移動(dòng)終端的云計(jì)算跨域訪問委托模型[8],利用角色委托提高訪問控制的靈活性。熊厚仁等人提出了基于雙層角色和組織的訪問控制模型[9],將角色分為只能角色和任務(wù)角色,降低了角色冗余。而對(duì)于基于角色的訪問粒度問題,趙衛(wèi)東[10]等人則提出了基于角色的細(xì)粒度訪問控制模型。
本文基于RBAC訪問控制模型,提出了一種智慧社區(qū)中基于角色的細(xì)粒度跨域訪問控制模型。針對(duì)用戶在跨域訪問過程中固定角色映射關(guān)系靈活性不高,而協(xié)商角色映射關(guān)系建立時(shí)間消耗過大等問題,模型首先在智慧社區(qū)的各個(gè)資源域中將用戶權(quán)限與服務(wù)進(jìn)行細(xì)粒度劃分,形成原子權(quán)限與原子服務(wù),在智慧社區(qū)的各個(gè)資源域中建立跨域訪問的基礎(chǔ)角色映射表。當(dāng)發(fā)生跨域訪問時(shí),用戶首先根據(jù)所訪問域的基礎(chǔ)角色映射表獲得所要訪問域的基礎(chǔ)角色指派,在跨域訪問過程中,若還需要其他的資源請(qǐng)求,再根據(jù)具體操作的資源需求,根據(jù)原子服務(wù)與訪問域角色的映射關(guān)系,申請(qǐng)附加角色,完成跨域訪問操作。模型通過基礎(chǔ)角色映射有效地提高了跨域訪問效率,降低了隱蔽提升的可能性,利用附加角色申請(qǐng)確保授權(quán)的動(dòng)態(tài)性,從而保證智慧社區(qū)跨域訪問控制的效率和靈活性。
為提高智慧社區(qū)中跨域訪問控制的效率,在訪問控制模型中設(shè)置了基礎(chǔ)角色映射表,同時(shí),為減少在角色映射中的域穿梭滲透和隱蔽提升問題,對(duì)智慧社區(qū)各資源域的域內(nèi)基礎(chǔ)角色指派及跨域的基礎(chǔ)角色映射做了限制。
為更好地描述基礎(chǔ)角色映射,首先對(duì)涉及到的幾個(gè)基本概念進(jìn)行定義。
定義1: 資源域:資源域是在智慧社區(qū)中獨(dú)立的資源擁有和控制單元,對(duì)本域中的資源具有所有權(quán)和控制權(quán)。記資源域集合為Dome,dome為其中任一資源域,記為dome∈Dome。
定義2: 原子授權(quán):在智慧社區(qū)各資源域中不可再分的最小資源訪問授權(quán),每個(gè)原子授權(quán)之間不存在重疊。記資源域domei中的原子授權(quán)集合為pi,p為其中任一原子授權(quán),記為p∈pi,p=(rs,op),其中rs是授權(quán)中允許訪問的資源,op是授權(quán)中允許對(duì)資源rs進(jìn)行的操作。
2.1 基礎(chǔ)角色
基礎(chǔ)角色是智慧社區(qū)中各資源域擁有者根據(jù)本域內(nèi)的資源和訪問操作,所給出的角色的集合,基礎(chǔ)角色在本域中建立角色-權(quán)限映射關(guān)系,其權(quán)限集合中均為原子權(quán)限,基礎(chǔ)角色之間的權(quán)限是互斥的,從而保證滿足訪問控制中的最小授權(quán)原則[11]。智慧社區(qū)中資源域的擁有者為本域內(nèi)的用戶指派基礎(chǔ)角色,用戶可同時(shí)擁有多個(gè)基礎(chǔ)角色。模型在本域用戶每次返回資源域時(shí)檢查其角色指派,若發(fā)現(xiàn)其角色指派不是原始基礎(chǔ)角色,則恢復(fù)為原始角色指派,通過該規(guī)則可有效降低隱蔽提升的可能性。
定義3: 基礎(chǔ)角色:在智慧社區(qū)各資源域中的角色集合,記智慧社區(qū)中資源域domei的基礎(chǔ)角色集合為BaseRolei,baserole為其中任一基礎(chǔ)角色,記為baserole∈BaseRolei。
定義4: 基礎(chǔ)角色權(quán)限指派:智慧社區(qū)中各資源域的擁有者為資源域中的基礎(chǔ)角色指派權(quán)限,記為RPA,智慧社區(qū)資源域domei中基礎(chǔ)角色的角色權(quán)限映射關(guān)系記為RPA=BaseRolei×Pi,(baserole,p)∈RPA表示在智慧社區(qū)資源domei域中存在將p權(quán)限指派給基礎(chǔ)角色baserole。
2.2 基礎(chǔ)角色映射
為實(shí)現(xiàn)跨域訪問,在智慧社區(qū)的不同資源域之間建立基礎(chǔ)角色的角色映射表,各資源域在本地保存外域到本域的基礎(chǔ)角色映射表,用于完成跨域訪問時(shí)的基礎(chǔ)角色映射。
定義5:基礎(chǔ)角色映射表:智慧社區(qū)中各資源域中域外基本角色到本域基本角色之間的轉(zhuǎn)換表,記為RPA,對(duì)于智慧社區(qū)任一資源域domei,存在RPA=BaseRolei×BaseRolej,其中BaseRolei是資源域domei中的基礎(chǔ)角色集合,BaseRolej是智慧社區(qū)中資源域domei之外的任一資源域domej的基礎(chǔ)角色,即資源域domei的外域基礎(chǔ)角色集合。若baserolei為智慧社區(qū)資源域domei中的任一基礎(chǔ)角色,baserolej為外域domej中的任一基礎(chǔ)角色,若存在(baserolei, baserolej)∈RPA,則表示在智慧社區(qū)資源域domei中存在外域基礎(chǔ)角色baserolej到本域基礎(chǔ)角色baserolei的映射關(guān)系。
基于基礎(chǔ)角色理論,我們提出了一個(gè)智慧社區(qū)中基于基礎(chǔ)角色的跨域訪問控制模型,在智慧社區(qū)的資源域中發(fā)生跨域訪問時(shí),被訪問資源域的管理者首先檢查訪問者是否具有本域中的基礎(chǔ)角色指派,若沒有則根據(jù)本域中基礎(chǔ)角色映射表對(duì)照用戶在原所在域中的角色,為訪問用戶指派訪問域中的基礎(chǔ)角色,若還需要訪問域中的其他資源,訪問域的管理者再根據(jù)具體操作的資源需求,對(duì)照本域內(nèi)原子服務(wù)與訪問域角色的基礎(chǔ)角色權(quán)限映射關(guān)系,通過協(xié)商確定訪問者的附加角色,以完成跨域訪問操作。
智慧社區(qū)中基于基礎(chǔ)角色的跨域訪問控制步驟為:
1) 智慧社區(qū)中各資源域建立域間的基礎(chǔ)角色映射表;
2) 智慧社區(qū)中用戶進(jìn)行跨域訪問時(shí),被訪問域管理者首先檢查訪問者是否擁有本域內(nèi)的基礎(chǔ)角色指派,若有則指派該基礎(chǔ)角色,跳轉(zhuǎn)第四步;
3) 被訪問域管理者根據(jù)訪問者在智慧社區(qū)其他域中的域外角色,對(duì)照本域的基礎(chǔ)角色映射表,完成基礎(chǔ)角色映射,為訪問者指派基礎(chǔ)角色;
4) 若所指派角色權(quán)限滿足本次訪問請(qǐng)求,則跳轉(zhuǎn)第5步;
5) 指派角色權(quán)限不滿足本次訪問的資源操作請(qǐng)求,對(duì)照本域的基礎(chǔ)角色權(quán)限映射表,由被訪問資源域管理者決定是否為訪問者指派新的附加角色;
6) 完成跨域訪問。
進(jìn)行跨域訪問控制一個(gè)很大的問題是存在域穿梭滲透和隱蔽提升的可能性,域穿梭滲透指訪問者通過穿越多個(gè)資源域,在不同資源域中進(jìn)行角色映射,從而獲得原本不被資源域允許的角色指派,而隱蔽提升則是指在訪問者的跨域訪問中獲得比初始角色更多的訪問權(quán)限。在智慧社區(qū)基于基礎(chǔ)角色的訪問控制模型中,通過檢查訪問者是否擁有本域內(nèi)的基礎(chǔ)角色指派,很好地解決了隱蔽提升問題,使得訪問者不可能通過跨域穿梭獲得比原本域內(nèi)基礎(chǔ)角色指派更多的權(quán)限。
圖1 智慧社區(qū)基于基礎(chǔ)角色的訪問控制模型
根據(jù)前面章節(jié)給出的各實(shí)體定義,我們給出智慧社區(qū)基于基礎(chǔ)角色跨域訪問控制模型如圖1所示。
dome1和dome2是智慧社區(qū)中的兩個(gè)獨(dú)立的資源域,當(dāng)dome2中的域內(nèi)User用戶想要訪問dome1中的資源時(shí)引發(fā)跨域訪問控制。其中資源域、基礎(chǔ)角色集合、原子權(quán)限集合、基礎(chǔ)角色映射表的定義前面已經(jīng)給出,下面將給出模型中其他各對(duì)象的定義。
定義6:域內(nèi)用戶:智慧社區(qū)任一資源域內(nèi)原本用戶稱為域內(nèi)用戶,記為User,一個(gè)資源域內(nèi)所有域內(nèi)用戶的集合記為,User , user∈User。
定義7:用戶基礎(chǔ)角色指派:為智慧社區(qū)中任一資源域dome域內(nèi)用戶指派資源域基礎(chǔ)角色稱為用戶基礎(chǔ)角色指派,記為URA,URA=User×BaseRole,User與BaseRole為智慧社區(qū)中任一資源域的域內(nèi)用戶集合和基礎(chǔ)角色集合,user為User內(nèi)任一域內(nèi)用戶,baserole為BaseRole內(nèi)任一基礎(chǔ)角色,若存在(user,baserole)∈URA,則表示在智慧社區(qū)資源域dome內(nèi)存在基礎(chǔ)角色baserole到域內(nèi)用戶user的指派。
定義7 會(huì)話: 會(huì)話記為session,是智慧社區(qū)中用戶一次訪問請(qǐng)求,會(huì)話開始用戶被指派角色,會(huì)話結(jié)束角色指派收回。會(huì)話集合Session是智慧社區(qū)資源域中當(dāng)前所有會(huì)話的集合,session∈Session。一次會(huì)話可以是域內(nèi)資源訪問請(qǐng)求也可以是跨域資源訪問請(qǐng)求。
定義8:跨域用戶角色指派:為智慧社區(qū)資源域domei的域內(nèi)用戶指派另一資源域domej中的基礎(chǔ)角色稱為跨域角色指派,記為CDURA。CDURA=Useri×BaseRolej,Useri為資源域domei資源域的域內(nèi)角色集合,BaseRolej為資源域domej的基礎(chǔ)角色集合,user為Useri內(nèi)任一用戶,baserole為BaseRolej內(nèi)任一基礎(chǔ)角色,若存在(user,baserole)∈CDURA,則表示在智慧社區(qū)中存在資源域domej內(nèi)的基礎(chǔ)角色baserole到資源域domei的域內(nèi)用戶user的跨域角色指派。
4.1 約束條件
為保證智慧社區(qū)中跨域訪問控制,特別是跨域角色指派的正常進(jìn)行,提高訪問控制的有效性,需對(duì)前文提出的智慧社區(qū)基于基礎(chǔ)角色跨域訪問控制模型設(shè)定約束規(guī)則。
為確保智慧社區(qū)同一資源域中的不同基礎(chǔ)角色之間的訪問權(quán)限是互斥的,在智慧社區(qū)任一資源域中的基礎(chǔ)角色的權(quán)映射關(guān)系都滿足以下約束:智慧社區(qū)同一資源域內(nèi)不允許將同一訪問授權(quán)指派給不同的兩個(gè)基礎(chǔ)角色。(見約束1)
為提高智慧社區(qū)跨域訪問控制的安全性,智慧社區(qū)中任一資源域的基礎(chǔ)角色映射表應(yīng)滿足以下約束條件:智慧社區(qū)任一資源域的基礎(chǔ)角色映射表中同一域外基礎(chǔ)角色不可同時(shí)映射為兩個(gè)及以上的本域基礎(chǔ)角色。(見約束2)
4.2 跨域角色指派策略
當(dāng)智慧社區(qū)任意資源域domei的域內(nèi)用戶向智慧社區(qū)另一資源域domej發(fā)起資源訪問請(qǐng)求時(shí),引發(fā)跨域角色指派,被訪問資源域domej的管理者首先根據(jù)用戶在原資源域domei中的角色指派baserole,對(duì)照domej中的基礎(chǔ)角色映射表RRA,為請(qǐng)求用戶指派domej內(nèi)的基礎(chǔ)角色;對(duì)照用戶訪問請(qǐng)求,根據(jù)本地用戶權(quán)限映射關(guān)系RPA,判斷基礎(chǔ)角色指派是否滿足訪問權(quán)限要求,若不滿足則觸發(fā)協(xié)商;資源域domej管理者根據(jù)用戶請(qǐng)求和本地安全策略,對(duì)照本域內(nèi)的角色權(quán)限映射關(guān)系,決定是否為用戶指派附加角色,指派哪個(gè)附加角色,并將角色指派結(jié)果告知訪問請(qǐng)求用戶,用戶接受則完成指派,進(jìn)行訪問控制,用戶不接受則再次進(jìn)行協(xié)商。
智慧社區(qū)跨域訪問控制模型中跨域角色指派是核心,其實(shí)現(xiàn)的復(fù)雜性也直接影響智慧社區(qū)訪問控制的效率。下面將給出智慧社區(qū)跨域角色指派算法,并分析其復(fù)雜度。算法用于被訪問資源域管理者完成跨域角色指派,在算法的實(shí)現(xiàn)過程中,使用矩陣存儲(chǔ)本地資源域的基礎(chǔ)角色映射表。算法中user(D’,R’)表示域外用戶user在其原始域D’中的角色指派為R’,request(p)表示外用戶在本域中請(qǐng)求訪問的資源為p。
本文針對(duì)智慧社區(qū)中的跨域訪問控制問題,提出了一種智慧社區(qū)中基于基礎(chǔ)角色的跨域訪問控制模型,引入跨域基礎(chǔ)角色映射的概念。當(dāng)智慧社區(qū)各資源域管理者首先為其本域用戶指派本域內(nèi)的基礎(chǔ)角色,發(fā)生跨域訪問時(shí),被訪問資源域管理者首先根據(jù)基礎(chǔ)角色映射表為用戶指派所要訪問域的基礎(chǔ)角色,在跨域訪問過程中,若訪問者還存在其他的資源請(qǐng)求,再根據(jù)具體操作的資源需求,由被訪問資源域管理者根據(jù)原子服務(wù)與訪問域角色的映射關(guān)系,指派附加角色,完成跨域訪問操作。模型利用基礎(chǔ)角色映射表避免的在跨域訪問過程中的反復(fù)協(xié)商、檢查等過程,有效地提高了跨域訪問效率,同時(shí),利用附加角色申請(qǐng)確保授權(quán)的動(dòng)態(tài)性,從而保證智慧社區(qū)跨域訪問控制的效率和靈活性。模型中資源域管理者又可通過對(duì)本域用戶的基礎(chǔ)角色檢查,有效降低隱蔽提升的可能性。
模型中還有需進(jìn)一步完善之處,下一步的工作主要在于智慧社區(qū)跨域訪問控制中本地安全策略的制定和智慧社區(qū)
資源與之間協(xié)商機(jī)制的進(jìn)一步完善。
算法1 智慧社區(qū)中跨域角色指派算法
[1]Ferraiolo D, Kuhn DR. Role based access control[C]. Proceedings of the 15th annual conference on national computer security. NIST, Gaithersburg, MD, 1992, 554-563.
[2]Ferraiolo DF, Sandhu R, Gavrila S, Kuhn DR, Chandramouli R. Proposed NIST standard for role-based access control[J]. ACM Trans. on Information and System Security, 2001,4(3):224-274.
[3]Kapadia A, Al-Muhtadi J, Campbell R, Mickunas D. IRBAC 2000: Secure interoperability using dynamic role translation[R]. Technical Report,
UIUCDCS-R-2000-2162, Urbana: University of Illinois, 2000.
[4]Hu JW, Li RX, Lu ZD. Establishing RBAC-based secure interoperability in decentralized multi-domain environments[J]. Berlin, Heidelberg: Springer-Verlag, 2007, 4817-4963.
[5]Cai WH. Wei G. Xiao S. Fine-Grained role delegation model based on mapping mechanism[J]. ACTA Electronica Sinica, 2010, 38(8):1753-1758.
[6]劉偉,蔡嘉勇,賀也平.協(xié)同環(huán)境下基于角色的細(xì)粒度委托限制框架[J].通信學(xué)報(bào),2008,29(1):83-91.
[7]付長勝,肖儂,趙英杰,陳濤.基于協(xié)商的跨社區(qū)訪問的動(dòng)態(tài)角色轉(zhuǎn)換[J].軟件學(xué)報(bào),2008, 19(10),2754-2761.
[8]袁家斌,魏利利,曾青華.面向移動(dòng)終端的云計(jì)算跨域訪問委托模型[J].軟件學(xué)報(bào),2013,24(3):564-574.
[9]熊厚仁,陳性元,張斌,杜學(xué)繪.基于雙層角色和組織的可擴(kuò)展訪問控制模型[J].電子與信息學(xué)報(bào),2015,37(7):1612-1619.
[10]趙衛(wèi)東,畢曉清,盧新明.基于角色的細(xì)粒度訪問控制模型的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,2(34),474-479.
[11]蘇瑋.基于角色的遷移工作流訪問控制模型研究[D].濟(jì)南:山東大學(xué),2012.
[12]林智鑫.跨域訪問控制研究[D].武漢:武漢理工大學(xué),2008.
[13]馮朝勝,秦志光,袁丁,卿昱.云計(jì)算環(huán)境下訪問控制關(guān)鍵技術(shù)[J].電子學(xué)報(bào), 2015,2(43):312-319.
The Research on Cross-Domain Access Control in the Smart Community
Smart community is the basic unit of smart city, its core is home service based on information. The smart community is a crossdomain heterogeneous network, including living service, administration, information resource sharing, commercial transaction, and so on. For smart community, cross-domain access control is the basic to ensure the smart community’s normal operation. At present, the rolebased access control is widely used, but there are hidden promotion and other problem in it. To promote the smart community’s safety and flexibility, the conception of basic role mapping is proposed; and the cross-domain access control model based on the basic role is constructed. In this model, the cross-domain user gets basic access permissions by basic role mapping, and then gets other permissions by get additional role. The model improves cross-domain access efficiency and reduces the possibility of implicit promotion by basic role mapping, and ensures the authorization’s dynamics by additional role. Thus this model gets higher safety, efficiency and flexibility.
smart community; cross-domain access control; basic role mapping; additional role
山東省住房與城鄉(xiāng)建設(shè)軟科學(xué)研究項(xiàng)目(RK015)