呂環(huán)宇,鄢楚平
(華北計算技術研究所,北京 100083)
基于WoT的訪問控制的設計與實現(xiàn)
呂環(huán)宇,鄢楚平
(華北計算技術研究所,北京 100083)
Web of Things(WoT)就是把物聯(lián)網(wǎng)和Web技術結(jié)合起來,將物聯(lián)網(wǎng)網(wǎng)絡環(huán)境中的設備抽象為資源和服務能力連接到Web空間。針對WoT技術,當前存在的訪問控制模型并不完全適用。因此本文結(jié)合了基于角色的訪問控制模型和基于屬性的訪問控制模型,并在基于WoT思想的“物聯(lián)網(wǎng)通用體系架構(gòu)”的基礎上,設計一個訪問控制子模塊,展開對滿足物聯(lián)網(wǎng)特性的訪問控制機制的研究和實現(xiàn),提出一種改進的訪問控制機制。在基于角色的訪問控制基礎上增加屬性的判斷,從而在保留基于角色訪問控制優(yōu)點的同時實現(xiàn)自動分配權限的功能。
訪問控制;基于角色的訪問控制;基于屬性的訪問控制; 物聯(lián)網(wǎng)
本文著錄格式:呂環(huán)宇,鄢楚平. 基于WoT的訪問控制的設計與實現(xiàn)[J]. 軟件,2016,37(12):153-156
Web of Things(WoT)是近幾年提出的把Web和物聯(lián)網(wǎng)技術相結(jié)合的技術實現(xiàn)形式,利用Web中REST風格架構(gòu)的靈活和易用等優(yōu)勢,解決傳統(tǒng)物聯(lián)網(wǎng)系統(tǒng)中存在的架構(gòu)封閉化、耦合度高和擴展性差等問題,使得物聯(lián)網(wǎng)上的設備和業(yè)務更容易接入與訪問。
WoT技術使得物聯(lián)網(wǎng)環(huán)境更加開放,用戶使用Web進行訪問更加便捷快速。但隨之而來的安全問題也日益顯著,而訪問上的安全問題則成為其中重要的一部分。在傳統(tǒng)的基于角色、基于身份的訪問控制模型中,由于物聯(lián)網(wǎng)中系統(tǒng)、設備的位置不斷變化,訪問者的身份、地點等也在隨之改變。這樣的動態(tài)性導致了無法預知附近訪問者的權限從未提前分配;又加之物聯(lián)網(wǎng)中對某一信息的訪問者往往數(shù)量巨大,這也增加了提前分配權限的工作量,使之難以實現(xiàn)。而基于屬性的訪問控制根據(jù)用戶的屬性特點,使用提前預設的規(guī)則將用戶歸類,進而能夠動態(tài)的分配權限,雖然能夠解決動態(tài)性這一問題,但單純的基于屬性的訪問控制授權過程復雜、不靈活,不能滿足實時性[1];同時規(guī)則的數(shù)量也會隨著用戶和屬性的增加而急劇膨脹。
因此,本課題在基于WoT思想的“物聯(lián)網(wǎng)通用體系架構(gòu)”的基礎上,設計一個訪問控制子模塊,展開對滿足物聯(lián)網(wǎng)特性的訪問控制機制的研究和實現(xiàn),提出一種改進的訪問控制機制——基于角色和屬性的混合訪問控制。在基于角色的訪問控制模型的基礎上增加屬性的判斷,從而在保留基于角色訪問控制優(yōu)點的同時實現(xiàn)自動分配權限的功能。
1.1 基于角色的訪問控制模型
基于角色的訪問控制模型是在1992年由美國國家標準化和技術委員會的Ferraiolo等人提出的,該模型的核心思想是在用戶和系統(tǒng)訪問權限之間加入角色的概念[2],將系統(tǒng)的訪問權限與角色建立對應關系,為不同的角色分配不用的權限[1]。然后在用戶訪問系統(tǒng)時為其分配角色,這樣將用戶和權限相關聯(lián),系統(tǒng)為用戶分配不同的角色就可以實現(xiàn)不同用戶的訪問控制?;诮巧脑L問控制基本模型如圖1所示:
圖1 基于角色的訪問控制模型
在圖1中可以看出,基于角色的訪問控制模型擁有三個基本概念。用戶[3]:用戶是一個主體,在物聯(lián)網(wǎng)系統(tǒng)中是指對設備信息或者數(shù)據(jù)進行訪問的人或應用。角色[4]:角色是模型中核心的概念,是權限的集合。角色作為用戶和權限之間的中間層,將用戶和權限結(jié)合起來。不同的角色通過不同是權限來實現(xiàn)各自的功能。權限[5]:權限是對物聯(lián)網(wǎng)系統(tǒng)中數(shù)據(jù)或者其他資源進行訪問的一種許可。例如對溫度傳感器中數(shù)據(jù)讀取或者開關的控制都是一種權限。
1.2 基于屬性的訪問控制模型
基于屬性的訪問控制和基于角色的訪問控制模型所包含的基本元素大體相同,都包括了訪問主體、被訪問的資源、訪問方式和外界條件[6]?;趯傩缘脑L問控制是隨著分布式系統(tǒng)的發(fā)展而被提出的,目的在于解決分布式應用中的訪問控制問題。該模型的基本思想是:訪問控制以實體的屬性作為基礎進行授權決策,它可以隨著實體屬性的變化,動態(tài)地更新訪問控制策略,從而提供一種更加靈活的、細粒度的動態(tài)訪問控制方法。在基于屬性的訪問控制模型中,屬性是訪問控制策略授權判斷的依據(jù)和基礎,用戶滿足訪問控制策略中規(guī)定的屬性條件即可獲得策略規(guī)定的訪問權限。并且,主體、資源統(tǒng)一用屬性來描述,每個元素的屬性可以根據(jù)系統(tǒng)的實際需求來定義。
2.1 物聯(lián)網(wǎng)通用體系架構(gòu)
針對WoT的思想,該項目中提出了一套完整的針對物聯(lián)網(wǎng)核心基礎設施的新型的物聯(lián)網(wǎng)通用體系架構(gòu)。通用體系架構(gòu)將物體和應用分離,在物體和應用間添加一個中間層,即物聯(lián)港支撐系統(tǒng),成為應用的共性支撐。物聯(lián)港支撐系統(tǒng)對下供物體接入并進行服務封裝,對上提供便捷統(tǒng)一的開發(fā)接口支持應用構(gòu)建。同時采用通用體系架構(gòu)的物聯(lián)網(wǎng)系統(tǒng)之間可以實現(xiàn)互聯(lián)互通互操作,為用戶提供通用的物聯(lián)網(wǎng)應用共性支撐平臺。在物聯(lián)網(wǎng)的體系建設中,起到承上啟下的橋梁作用,實現(xiàn)對物體統(tǒng)一描述與接入、統(tǒng)一標識與尋址、統(tǒng)一服務封裝與調(diào)用。
2.2 物聯(lián)港支撐系統(tǒng)
物聯(lián)港支撐系統(tǒng)是構(gòu)建物聯(lián)港的軟件系統(tǒng),利用物聯(lián)港支撐系統(tǒng),可以在服務器、PC或者嵌入式設備上構(gòu)建硬件承載方式、規(guī)模大小不同的物聯(lián)港系統(tǒng),支撐多樣化的物聯(lián)網(wǎng)物體接入和應用構(gòu)建方式。其基本功能包括支持物體的注冊、接入和管理,支持便捷的物體感知/控制數(shù)據(jù)傳輸,支持物體服務的封裝及事件訂閱。
2.3 PE(Physical Entity)
PE是具有可交互接口的設備在物聯(lián)港內(nèi)對應的數(shù)字對象,其對應物體世界中確定的物體。PE具有屬性和接口,直接支撐VE的生成、開發(fā)和運行,可以利用PE配置工具生成。PE中描述的接口需要符合E-things物聯(lián)港接口規(guī)范。
2.4 VE(Visual Entity)
VE是虛擬實體的簡稱,是物聯(lián)港內(nèi)具有統(tǒng)一服務化接口的數(shù)字實體。VE是物聯(lián)港系統(tǒng)內(nèi)直接與應用發(fā)生交互的對象,在應用看來,對物體的操作實際是對VE的操作。VE既可以由PE自動生成和部署,也可以利用VE開發(fā)支持框架開發(fā)VE模板然后進行部署。
訪問控制系統(tǒng)基于上述物聯(lián)網(wǎng)通用體系架構(gòu)設計,該訪問控制模塊具有如下幾個功能:認證訪問物聯(lián)網(wǎng)平臺服務的用戶/應用,只有認證合法的用戶/應用才允許對物聯(lián)港進行訪問。鑒定用戶/應用的對物聯(lián)網(wǎng)平臺中資源的訪問權限,只有鑒定通過的用戶/應用才允許對平臺中的資源進行訪問。授予用戶/應用對對物聯(lián)網(wǎng)平臺中資源的訪問權限,具體包括授予服務擁有者對物體的開發(fā)權限、授予用戶/應用對服務的訪問權限。管理用戶信息,包括第三方應用,VE擁有者,PE擁有者的注冊信息,以及VE擁有者,PE擁有者擁有的資源的信息。
如圖2所示,根據(jù)訪問控制系統(tǒng)需要實現(xiàn)的功能,該系統(tǒng)具有如下幾個模塊:授權模塊、用戶管理模塊、資源管理模塊。
3.1 授權模塊
圖2 訪問控制系統(tǒng)總體架構(gòu)圖
授權模塊負責為第三方應用(VE擁有者)發(fā)放訪問令牌,并管理訪問令牌。包括授權碼管理,令牌管理,對外服務端口等子模塊
對于第三方應用來說,可以通過授權碼模式或者客戶端模式申請訪問令牌。在客戶端模式下,第三方應用以自己的名義向授權服務器申請某些權限。在授權碼模式下,是物聯(lián)港用戶將自己的某些權限授權給第三方應用。
在客戶端模式下,具體訪問流程如下:
1)第三方應用在物聯(lián)港注冊之后。第三方應用通過客戶端模式向物聯(lián)港申請某些權限。
2)授權服務器將第三方應用的信息與授權規(guī)則進行匹配,將匹配成功的權限授予給第三方應用。
3)授權服務將訪問令牌和刷新令牌返回給第三方應用。
在授權碼模式下,具體訪問流程如下:
1)第三方應用向授權服務器申請授權碼。
2)授權服務器對VE擁有者進行認證。
3)對VE擁有者認證成功后,返回VE擁有者所擁有的所有權限信息。
4)VE擁有者選擇要授予的權限,并同意授權。
5)授權服務器生成授權碼返回給第三方應用。
6)第三方應用攜帶授權碼換取訪問令牌。
7)授權服務器通過授權碼生成相應的訪問令牌和刷新令牌,將其返回給第三方應用。
3.2 用戶管理模塊
對物聯(lián)港來說,VE擁有者,PE擁有者和第三方應用都屬于物聯(lián)港的用戶。用戶管理模塊主要作用是提供用戶注冊,用戶登錄,用戶信息修改,管理用戶信息等基本功能。用戶在物聯(lián)港內(nèi)注冊成為物聯(lián)港用戶,物聯(lián)港將注冊信息轉(zhuǎn)發(fā)給授權服務器。
授權服務器驗證注冊信息的有效性,將注冊結(jié)果返回給物聯(lián)港。VE擁有者,PE擁有者在物聯(lián)港內(nèi)進行任何操作之前首先需要登錄,物聯(lián)港將登錄信息轉(zhuǎn)發(fā)給授權服務器。授權服務器驗證登錄信息的合法性,將登錄結(jié)果返回給物聯(lián)港。用戶可以在已登錄的基礎上修改個人信息,物聯(lián)港轉(zhuǎn)發(fā)該請求到授權服務器。授權服務器驗證合法性和有效性,將修改結(jié)果返回給物聯(lián)港。
3.3 資源管理模塊
物聯(lián)港內(nèi)的資源包括VE向外提供的服務,PE提供的操作。同時,VE的生成是依賴與PE的。資源管理模塊的主要工作就是負責PE和VE的管理,包括生成PE,生成VE同時負責管理每一個PE與其操作的對應關系,每一個VE的服務與PE的對應關系。模塊內(nèi)使用PE的操作和VE的接口都用一個抽象的Resource對象來表示。
PE擁有者,VE擁有者在成功登陸之后可以進行PE生成和VE生成操作。PE擁有者在物聯(lián)港內(nèi)生成PE,填寫相應的PE信息,物聯(lián)港將PE信息轉(zhuǎn)發(fā)到授權服務器。授權服務器驗證PE擁有者的合法性,返回PE生成結(jié)果。VE擁有者在物聯(lián)港生成VE,填寫相應的VE信息,并選擇要綁定的PE及接口。物聯(lián)港將生成VE的請求轉(zhuǎn)發(fā)到授權服務器。授權服務器內(nèi)部驗證VE的合法性,并將VE與要綁定的PE接口所對應的授權規(guī)則進行匹配,若匹配成功則VE成功生成,否則生成失敗。授權服務器將生成結(jié)果信息返回給物聯(lián)港。
3.4 鑒權模塊
獲得訪問令牌的第三方應用調(diào)用VE的服務,或者VE調(diào)用PE的操作時,都要攜帶訪問令牌到物聯(lián)港請求要調(diào)用的資源,物聯(lián)港將該請求轉(zhuǎn)發(fā)到授權服務器,授權服務器對該訪問令牌進行鑒權,將鑒權結(jié)果返回給物聯(lián)港,若鑒權成功,物聯(lián)港即將所請求的資源返回給調(diào)用者。
本文中所述的在傳統(tǒng)的基于角色的訪問控制模型基礎上與基于屬性的訪問控制相結(jié)合,提出一種優(yōu)化的適于WoT技術的訪問控制系統(tǒng)。與傳統(tǒng)的訪問控制相比,具有高效、靈活等特點,更適用于物聯(lián)網(wǎng)中設備數(shù)量多、種類多,訪問者身份、位置動態(tài)變化的環(huán)境。同時,該系統(tǒng)的應用實踐也表明所述的模型實現(xiàn)了對物聯(lián)網(wǎng)系統(tǒng)中權限的控制和管理。
[1] 王小明, 付紅, 張立臣. 基于屬性的訪問控制研究進展[J].電子報, 2010, 38, No.7.
[2] 楊庚, 沈劍剛, 容淳銘. 基于角色的訪問控制理論研究[J].南京郵電大學學報: 自然科學版, 2006, 26(3): 1-8.
[3] 曹天杰, 張永平. 管理信息系統(tǒng)中基于角色的訪問控制[J].計算機應用, 2001, 21(8): 198-201.
[4] 吳薇. 基于角色的訪問控制技術的用戶權限管理及實現(xiàn)[J]福建電腦, 200, 11: 176-177.
[5] 栗龍, 盧山. 物流信息系統(tǒng)中RBAC模型角色繼承關系的研究與實現(xiàn)[J]. 軟件, 2013, 34(7): 15-18.
[6] 李曉峰, 馮登國, 陳朝武, 等. 基于屬性的訪問控制模型[J]. 通信學報, 2008. 29 (4): 90-99.
[7] 常豆, 宋美娜, 楊俊. 一種基于角色和數(shù)據(jù)項的訪問控制方式[J]. 軟件, 2014, 35(7): 40-43.
[8] 韓金松. 基于角色權限的投票測評系統(tǒng)的設計與實現(xiàn)[J].軟件, 2013, 34(9): 47-48.
[9] 趙凱, 汪衛(wèi)平. 數(shù)字化校園中基于角色的權限控制[J]. 軟件, 2014, 35(11): 22-24.
[10] 劉志杰. 物聯(lián)網(wǎng)技術的研究綜述[J]. 軟件, 2013, 34(5): 164-165.
[11] 沈海波, 洪帆. 訪問控制模型研究綜述[J]. 計算機應用研究, 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-),男,研究生,計算機系統(tǒng)結(jié)構(gòu);鄢楚平(1965-),男,研究員,通信與移動計算技術。