呂環(huán)宇,鄢楚平
(華北計(jì)算技術(shù)研究所,北京 100083)
基于WoT的訪問控制的設(shè)計(jì)與實(shí)現(xiàn)
呂環(huán)宇,鄢楚平
(華北計(jì)算技術(shù)研究所,北京 100083)
Web of Things(WoT)就是把物聯(lián)網(wǎng)和Web技術(shù)結(jié)合起來,將物聯(lián)網(wǎng)網(wǎng)絡(luò)環(huán)境中的設(shè)備抽象為資源和服務(wù)能力連接到Web空間。針對(duì)WoT技術(shù),當(dāng)前存在的訪問控制模型并不完全適用。因此本文結(jié)合了基于角色的訪問控制模型和基于屬性的訪問控制模型,并在基于WoT思想的“物聯(lián)網(wǎng)通用體系架構(gòu)”的基礎(chǔ)上,設(shè)計(jì)一個(gè)訪問控制子模塊,展開對(duì)滿足物聯(lián)網(wǎng)特性的訪問控制機(jī)制的研究和實(shí)現(xiàn),提出一種改進(jìn)的訪問控制機(jī)制。在基于角色的訪問控制基礎(chǔ)上增加屬性的判斷,從而在保留基于角色訪問控制優(yōu)點(diǎn)的同時(shí)實(shí)現(xiàn)自動(dòng)分配權(quán)限的功能。
訪問控制;基于角色的訪問控制;基于屬性的訪問控制; 物聯(lián)網(wǎng)
本文著錄格式:呂環(huán)宇,鄢楚平. 基于WoT的訪問控制的設(shè)計(jì)與實(shí)現(xiàn)[J]. 軟件,2016,37(12):153-156
Web of Things(WoT)是近幾年提出的把Web和物聯(lián)網(wǎng)技術(shù)相結(jié)合的技術(shù)實(shí)現(xiàn)形式,利用Web中REST風(fēng)格架構(gòu)的靈活和易用等優(yōu)勢(shì),解決傳統(tǒng)物聯(lián)網(wǎng)系統(tǒng)中存在的架構(gòu)封閉化、耦合度高和擴(kuò)展性差等問題,使得物聯(lián)網(wǎng)上的設(shè)備和業(yè)務(wù)更容易接入與訪問。
WoT技術(shù)使得物聯(lián)網(wǎng)環(huán)境更加開放,用戶使用Web進(jìn)行訪問更加便捷快速。但隨之而來的安全問題也日益顯著,而訪問上的安全問題則成為其中重要的一部分。在傳統(tǒng)的基于角色、基于身份的訪問控制模型中,由于物聯(lián)網(wǎng)中系統(tǒng)、設(shè)備的位置不斷變化,訪問者的身份、地點(diǎn)等也在隨之改變。這樣的動(dòng)態(tài)性導(dǎo)致了無法預(yù)知附近訪問者的權(quán)限從未提前分配;又加之物聯(lián)網(wǎng)中對(duì)某一信息的訪問者往往數(shù)量巨大,這也增加了提前分配權(quán)限的工作量,使之難以實(shí)現(xiàn)。而基于屬性的訪問控制根據(jù)用戶的屬性特點(diǎn),使用提前預(yù)設(shè)的規(guī)則將用戶歸類,進(jìn)而能夠動(dòng)態(tài)的分配權(quán)限,雖然能夠解決動(dòng)態(tài)性這一問題,但單純的基于屬性的訪問控制授權(quán)過程復(fù)雜、不靈活,不能滿足實(shí)時(shí)性[1];同時(shí)規(guī)則的數(shù)量也會(huì)隨著用戶和屬性的增加而急劇膨脹。
因此,本課題在基于WoT思想的“物聯(lián)網(wǎng)通用體系架構(gòu)”的基礎(chǔ)上,設(shè)計(jì)一個(gè)訪問控制子模塊,展開對(duì)滿足物聯(lián)網(wǎng)特性的訪問控制機(jī)制的研究和實(shí)現(xiàn),提出一種改進(jìn)的訪問控制機(jī)制——基于角色和屬性的混合訪問控制。在基于角色的訪問控制模型的基礎(chǔ)上增加屬性的判斷,從而在保留基于角色訪問控制優(yōu)點(diǎn)的同時(shí)實(shí)現(xiàn)自動(dòng)分配權(quán)限的功能。
1.1 基于角色的訪問控制模型
基于角色的訪問控制模型是在1992年由美國國家標(biāo)準(zhǔn)化和技術(shù)委員會(huì)的Ferraiolo等人提出的,該模型的核心思想是在用戶和系統(tǒng)訪問權(quán)限之間加入角色的概念[2],將系統(tǒng)的訪問權(quán)限與角色建立對(duì)應(yīng)關(guān)系,為不同的角色分配不用的權(quán)限[1]。然后在用戶訪問系統(tǒng)時(shí)為其分配角色,這樣將用戶和權(quán)限相關(guān)聯(lián),系統(tǒng)為用戶分配不同的角色就可以實(shí)現(xiàn)不同用戶的訪問控制。基于角色的訪問控制基本模型如圖1所示:

圖1 基于角色的訪問控制模型
在圖1中可以看出,基于角色的訪問控制模型擁有三個(gè)基本概念。用戶[3]:用戶是一個(gè)主體,在物聯(lián)網(wǎng)系統(tǒng)中是指對(duì)設(shè)備信息或者數(shù)據(jù)進(jìn)行訪問的人或應(yīng)用。角色[4]:角色是模型中核心的概念,是權(quán)限的集合。角色作為用戶和權(quán)限之間的中間層,將用戶和權(quán)限結(jié)合起來。不同的角色通過不同是權(quán)限來實(shí)現(xiàn)各自的功能。權(quán)限[5]:權(quán)限是對(duì)物聯(lián)網(wǎng)系統(tǒng)中數(shù)據(jù)或者其他資源進(jìn)行訪問的一種許可。例如對(duì)溫度傳感器中數(shù)據(jù)讀取或者開關(guān)的控制都是一種權(quán)限。
1.2 基于屬性的訪問控制模型
基于屬性的訪問控制和基于角色的訪問控制模型所包含的基本元素大體相同,都包括了訪問主體、被訪問的資源、訪問方式和外界條件[6]。基于屬性的訪問控制是隨著分布式系統(tǒng)的發(fā)展而被提出的,目的在于解決分布式應(yīng)用中的訪問控制問題。該模型的基本思想是:訪問控制以實(shí)體的屬性作為基礎(chǔ)進(jìn)行授權(quán)決策,它可以隨著實(shí)體屬性的變化,動(dòng)態(tài)地更新訪問控制策略,從而提供一種更加靈活的、細(xì)粒度的動(dòng)態(tài)訪問控制方法。在基于屬性的訪問控制模型中,屬性是訪問控制策略授權(quán)判斷的依據(jù)和基礎(chǔ),用戶滿足訪問控制策略中規(guī)定的屬性條件即可獲得策略規(guī)定的訪問權(quán)限。并且,主體、資源統(tǒng)一用屬性來描述,每個(gè)元素的屬性可以根據(jù)系統(tǒng)的實(shí)際需求來定義。
2.1 物聯(lián)網(wǎng)通用體系架構(gòu)
針對(duì)WoT的思想,該項(xiàng)目中提出了一套完整的針對(duì)物聯(lián)網(wǎng)核心基礎(chǔ)設(shè)施的新型的物聯(lián)網(wǎng)通用體系架構(gòu)。通用體系架構(gòu)將物體和應(yīng)用分離,在物體和應(yīng)用間添加一個(gè)中間層,即物聯(lián)港支撐系統(tǒng),成為應(yīng)用的共性支撐。物聯(lián)港支撐系統(tǒng)對(duì)下供物體接入并進(jìn)行服務(wù)封裝,對(duì)上提供便捷統(tǒng)一的開發(fā)接口支持應(yīng)用構(gòu)建。同時(shí)采用通用體系架構(gòu)的物聯(lián)網(wǎng)系統(tǒng)之間可以實(shí)現(xiàn)互聯(lián)互通互操作,為用戶提供通用的物聯(lián)網(wǎng)應(yīng)用共性支撐平臺(tái)。在物聯(lián)網(wǎng)的體系建設(shè)中,起到承上啟下的橋梁作用,實(shí)現(xiàn)對(duì)物體統(tǒng)一描述與接入、統(tǒng)一標(biāo)識(shí)與尋址、統(tǒng)一服務(wù)封裝與調(diào)用。
2.2 物聯(lián)港支撐系統(tǒng)
物聯(lián)港支撐系統(tǒng)是構(gòu)建物聯(lián)港的軟件系統(tǒng),利用物聯(lián)港支撐系統(tǒng),可以在服務(wù)器、PC或者嵌入式設(shè)備上構(gòu)建硬件承載方式、規(guī)模大小不同的物聯(lián)港系統(tǒng),支撐多樣化的物聯(lián)網(wǎng)物體接入和應(yīng)用構(gòu)建方式。其基本功能包括支持物體的注冊(cè)、接入和管理,支持便捷的物體感知/控制數(shù)據(jù)傳輸,支持物體服務(wù)的封裝及事件訂閱。
2.3 PE(Physical Entity)
PE是具有可交互接口的設(shè)備在物聯(lián)港內(nèi)對(duì)應(yīng)的數(shù)字對(duì)象,其對(duì)應(yīng)物體世界中確定的物體。PE具有屬性和接口,直接支撐VE的生成、開發(fā)和運(yùn)行,可以利用PE配置工具生成。PE中描述的接口需要符合E-things物聯(lián)港接口規(guī)范。
2.4 VE(Visual Entity)
VE是虛擬實(shí)體的簡(jiǎn)稱,是物聯(lián)港內(nèi)具有統(tǒng)一服務(wù)化接口的數(shù)字實(shí)體。VE是物聯(lián)港系統(tǒng)內(nèi)直接與應(yīng)用發(fā)生交互的對(duì)象,在應(yīng)用看來,對(duì)物體的操作實(shí)際是對(duì)VE的操作。VE既可以由PE自動(dòng)生成和部署,也可以利用VE開發(fā)支持框架開發(fā)VE模板然后進(jìn)行部署。
訪問控制系統(tǒng)基于上述物聯(lián)網(wǎng)通用體系架構(gòu)設(shè)計(jì),該訪問控制模塊具有如下幾個(gè)功能:認(rèn)證訪問物聯(lián)網(wǎng)平臺(tái)服務(wù)的用戶/應(yīng)用,只有認(rèn)證合法的用戶/應(yīng)用才允許對(duì)物聯(lián)港進(jìn)行訪問。鑒定用戶/應(yīng)用的對(duì)物聯(lián)網(wǎng)平臺(tái)中資源的訪問權(quán)限,只有鑒定通過的用戶/應(yīng)用才允許對(duì)平臺(tái)中的資源進(jìn)行訪問。授予用戶/應(yīng)用對(duì)對(duì)物聯(lián)網(wǎng)平臺(tái)中資源的訪問權(quán)限,具體包括授予服務(wù)擁有者對(duì)物體的開發(fā)權(quán)限、授予用戶/應(yīng)用對(duì)服務(wù)的訪問權(quán)限。管理用戶信息,包括第三方應(yīng)用,VE擁有者,PE擁有者的注冊(cè)信息,以及VE擁有者,PE擁有者擁有的資源的信息。
如圖2所示,根據(jù)訪問控制系統(tǒng)需要實(shí)現(xiàn)的功能,該系統(tǒng)具有如下幾個(gè)模塊:授權(quán)模塊、用戶管理模塊、資源管理模塊。
3.1 授權(quán)模塊

圖2 訪問控制系統(tǒng)總體架構(gòu)圖
授權(quán)模塊負(fù)責(zé)為第三方應(yīng)用(VE擁有者)發(fā)放訪問令牌,并管理訪問令牌。包括授權(quán)碼管理,令牌管理,對(duì)外服務(wù)端口等子模塊
對(duì)于第三方應(yīng)用來說,可以通過授權(quán)碼模式或者客戶端模式申請(qǐng)?jiān)L問令牌。在客戶端模式下,第三方應(yīng)用以自己的名義向授權(quán)服務(wù)器申請(qǐng)某些權(quán)限。在授權(quán)碼模式下,是物聯(lián)港用戶將自己的某些權(quán)限授權(quán)給第三方應(yīng)用。
在客戶端模式下,具體訪問流程如下:
1)第三方應(yīng)用在物聯(lián)港注冊(cè)之后。第三方應(yīng)用通過客戶端模式向物聯(lián)港申請(qǐng)某些權(quán)限。
2)授權(quán)服務(wù)器將第三方應(yīng)用的信息與授權(quán)規(guī)則進(jìn)行匹配,將匹配成功的權(quán)限授予給第三方應(yīng)用。
3)授權(quán)服務(wù)將訪問令牌和刷新令牌返回給第三方應(yīng)用。
在授權(quán)碼模式下,具體訪問流程如下:
1)第三方應(yīng)用向授權(quán)服務(wù)器申請(qǐng)授權(quán)碼。
2)授權(quán)服務(wù)器對(duì)VE擁有者進(jìn)行認(rèn)證。
3)對(duì)VE擁有者認(rèn)證成功后,返回VE擁有者所擁有的所有權(quán)限信息。
4)VE擁有者選擇要授予的權(quán)限,并同意授權(quán)。
5)授權(quán)服務(wù)器生成授權(quán)碼返回給第三方應(yīng)用。
6)第三方應(yīng)用攜帶授權(quán)碼換取訪問令牌。
7)授權(quán)服務(wù)器通過授權(quán)碼生成相應(yīng)的訪問令牌和刷新令牌,將其返回給第三方應(yīng)用。
3.2 用戶管理模塊
對(duì)物聯(lián)港來說,VE擁有者,PE擁有者和第三方應(yīng)用都屬于物聯(lián)港的用戶。用戶管理模塊主要作用是提供用戶注冊(cè),用戶登錄,用戶信息修改,管理用戶信息等基本功能。用戶在物聯(lián)港內(nèi)注冊(cè)成為物聯(lián)港用戶,物聯(lián)港將注冊(cè)信息轉(zhuǎn)發(fā)給授權(quán)服務(wù)器。
授權(quán)服務(wù)器驗(yàn)證注冊(cè)信息的有效性,將注冊(cè)結(jié)果返回給物聯(lián)港。VE擁有者,PE擁有者在物聯(lián)港內(nèi)進(jìn)行任何操作之前首先需要登錄,物聯(lián)港將登錄信息轉(zhuǎn)發(fā)給授權(quán)服務(wù)器。授權(quán)服務(wù)器驗(yàn)證登錄信息的合法性,將登錄結(jié)果返回給物聯(lián)港。用戶可以在已登錄的基礎(chǔ)上修改個(gè)人信息,物聯(lián)港轉(zhuǎn)發(fā)該請(qǐng)求到授權(quán)服務(wù)器。授權(quán)服務(wù)器驗(yàn)證合法性和有效性,將修改結(jié)果返回給物聯(lián)港。
3.3 資源管理模塊
物聯(lián)港內(nèi)的資源包括VE向外提供的服務(wù),PE提供的操作。同時(shí),VE的生成是依賴與PE的。資源管理模塊的主要工作就是負(fù)責(zé)PE和VE的管理,包括生成PE,生成VE同時(shí)負(fù)責(zé)管理每一個(gè)PE與其操作的對(duì)應(yīng)關(guān)系,每一個(gè)VE的服務(wù)與PE的對(duì)應(yīng)關(guān)系。模塊內(nèi)使用PE的操作和VE的接口都用一個(gè)抽象的Resource對(duì)象來表示。
PE擁有者,VE擁有者在成功登陸之后可以進(jìn)行PE生成和VE生成操作。PE擁有者在物聯(lián)港內(nèi)生成PE,填寫相應(yīng)的PE信息,物聯(lián)港將PE信息轉(zhuǎn)發(fā)到授權(quán)服務(wù)器。授權(quán)服務(wù)器驗(yàn)證PE擁有者的合法性,返回PE生成結(jié)果。VE擁有者在物聯(lián)港生成VE,填寫相應(yīng)的VE信息,并選擇要綁定的PE及接口。物聯(lián)港將生成VE的請(qǐng)求轉(zhuǎn)發(fā)到授權(quán)服務(wù)器。授權(quán)服務(wù)器內(nèi)部驗(yàn)證VE的合法性,并將VE與要綁定的PE接口所對(duì)應(yīng)的授權(quán)規(guī)則進(jìn)行匹配,若匹配成功則VE成功生成,否則生成失敗。授權(quán)服務(wù)器將生成結(jié)果信息返回給物聯(lián)港。
3.4 鑒權(quán)模塊
獲得訪問令牌的第三方應(yīng)用調(diào)用VE的服務(wù),或者VE調(diào)用PE的操作時(shí),都要攜帶訪問令牌到物聯(lián)港請(qǐng)求要調(diào)用的資源,物聯(lián)港將該請(qǐng)求轉(zhuǎn)發(fā)到授權(quán)服務(wù)器,授權(quán)服務(wù)器對(duì)該訪問令牌進(jìn)行鑒權(quán),將鑒權(quán)結(jié)果返回給物聯(lián)港,若鑒權(quán)成功,物聯(lián)港即將所請(qǐng)求的資源返回給調(diào)用者。
本文中所述的在傳統(tǒng)的基于角色的訪問控制模型基礎(chǔ)上與基于屬性的訪問控制相結(jié)合,提出一種優(yōu)化的適于WoT技術(shù)的訪問控制系統(tǒng)。與傳統(tǒng)的訪問控制相比,具有高效、靈活等特點(diǎn),更適用于物聯(lián)網(wǎng)中設(shè)備數(shù)量多、種類多,訪問者身份、位置動(dòng)態(tài)變化的環(huán)境。同時(shí),該系統(tǒng)的應(yīng)用實(shí)踐也表明所述的模型實(shí)現(xiàn)了對(duì)物聯(lián)網(wǎng)系統(tǒng)中權(quán)限的控制和管理。
[1] 王小明, 付紅, 張立臣. 基于屬性的訪問控制研究進(jìn)展[J].電子報(bào), 2010, 38, No.7.
[2] 楊庚, 沈劍剛, 容淳銘. 基于角色的訪問控制理論研究[J].南京郵電大學(xué)學(xué)報(bào): 自然科學(xué)版, 2006, 26(3): 1-8.
[3] 曹天杰, 張永平. 管理信息系統(tǒng)中基于角色的訪問控制[J].計(jì)算機(jī)應(yīng)用, 2001, 21(8): 198-201.
[4] 吳薇. 基于角色的訪問控制技術(shù)的用戶權(quán)限管理及實(shí)現(xiàn)[J]福建電腦, 200, 11: 176-177.
[5] 栗龍, 盧山. 物流信息系統(tǒng)中RBAC模型角色繼承關(guān)系的研究與實(shí)現(xiàn)[J]. 軟件, 2013, 34(7): 15-18.
[6] 李曉峰, 馮登國, 陳朝武, 等. 基于屬性的訪問控制模型[J]. 通信學(xué)報(bào), 2008. 29 (4): 90-99.
[7] 常豆, 宋美娜, 楊俊. 一種基于角色和數(shù)據(jù)項(xiàng)的訪問控制方式[J]. 軟件, 2014, 35(7): 40-43.
[8] 韓金松. 基于角色權(quán)限的投票測(cè)評(píng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件, 2013, 34(9): 47-48.
[9] 趙凱, 汪衛(wèi)平. 數(shù)字化校園中基于角色的權(quán)限控制[J]. 軟件, 2014, 35(11): 22-24.
[10] 劉志杰. 物聯(lián)網(wǎng)技術(shù)的研究綜述[J]. 軟件, 2013, 34(5): 164-165.
[11] 沈海波, 洪帆. 訪問控制模型研究綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2005, No. 6: 9-11.
Design and Implementation of an Access Control Method Based on WoT
LV Huan-yu, Yan Chu-ping
(North China Institute of Computing Technology, Beijing 100083)
Web of Things (WoT) combines the Internet of Things and Web technology,and takes devices as resources and service capabilities to connect to the Web space. For WoT technology, the existing access control model is not fully applicable. Therefore, this paper combines the role-based access control model and attribute-based access control model, and designs an access control sub-module based on the general architecture of Internet of Things. Then this paper proposes an improved access control mechanism which can retain the advantages of role-based access control while achieving the function of automatic allocation of permissions.
Access control; Role-based access control model; Attribute-based access control model; Web of things
TP391
A
10.3969/j.issn.1003-6970.2016.12.032
呂環(huán)宇(1992-),男,研究生,計(jì)算機(jī)系統(tǒng)結(jié)構(gòu);鄢楚平(1965-),男,研究員,通信與移動(dòng)計(jì)算技術(shù)。