国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于動(dòng)態(tài)角色服務(wù)權(quán)限控制的物聯(lián)網(wǎng)平臺設(shè)計(jì)

2021-05-07 07:54:46瑤,陳
計(jì)算機(jī)測量與控制 2021年4期
關(guān)鍵詞:細(xì)粒度聯(lián)網(wǎng)動(dòng)態(tài)

查 瑤,陳 朋

(1.浙江工業(yè)大學(xué) 信息工程學(xué)院,杭州 310023; 2.浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023)

0 引言

物聯(lián)網(wǎng)平臺作為數(shù)據(jù)驅(qū)動(dòng)業(yè)務(wù)解決方案在各個(gè)領(lǐng)域變得非常流行[1]。平臺是物聯(lián)網(wǎng)生態(tài)系統(tǒng)的主要部分之一,可實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備和端點(diǎn)管理,數(shù)據(jù)采集和分析。

隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,簡單的Web服務(wù)不足以滿足實(shí)際應(yīng)用需求。技術(shù)產(chǎn)品和系統(tǒng)變得越來越復(fù)雜,系統(tǒng)之間的資源共享與業(yè)務(wù)協(xié)同的問題也迫切需要解決[2]。以傳統(tǒng)的面向?qū)ο蠓绞綐?gòu)建的物聯(lián)網(wǎng)平臺,在后期管理的升級和更改中變得越來越困難。并且在設(shè)備管理過程中,用戶角色各異,容易引起角色自我定位模糊,無法確切地獲取相應(yīng)的權(quán)限和信息[3]。傳統(tǒng)的物聯(lián)網(wǎng)平臺訪問控制的模型應(yīng)用于完整的Web服務(wù),其中包含許多操作,每個(gè)操作都提供某些特殊功能。如果要為用戶提供較少的選定操作的訪問權(quán)限,則需要提供與這些操作相對應(yīng)的單獨(dú)的Web服務(wù)[4]。

為了解決未知角色的復(fù)雜權(quán)限定義和平臺后期的擴(kuò)展性問題,通常使用基于角色的訪問控制方法,因?yàn)樗鼮榻M而不是單個(gè)用戶提供訪問控制,并且易于擴(kuò)展,用戶根據(jù)他們在網(wǎng)絡(luò)中獲取的角色訪問資源[5]。目前國內(nèi)、外對角色的訪問控制方法研究主要有對平臺功能模塊化研究和動(dòng)態(tài)角色權(quán)限研究。在對平臺的功能模塊化研究上,Magnusson等人[6]將模塊化和產(chǎn)品平臺策略視為實(shí)現(xiàn)共性的獨(dú)特概念機(jī)會(huì)。在給定的背景下評估這些概念的適用性。Shamsuzzoha和Helo[7]通過闡述設(shè)計(jì)指南的基本原理提出了一個(gè)概念模型,并且在將各種組件與產(chǎn)品平臺連接以開發(fā)具有成本效益的產(chǎn)品變體之前可以實(shí)施清單。Halstenberg等人[8]開發(fā)了目標(biāo)導(dǎo)向的模塊化方法,用于相對于所追求的目標(biāo)定義模塊化產(chǎn)品架構(gòu)概念。在針對公司的特定情況定制體系結(jié)構(gòu)計(jì)劃時(shí),沒有萬能的。特定環(huán)境需求下的模塊化產(chǎn)品設(shè)計(jì)非常重要[9]。

在對動(dòng)態(tài)角色權(quán)限研究上,文獻(xiàn)[10]提出了一種訪問控制方法。他們擴(kuò)展了XACML-RBAC配置文件,將管理員作為角色之一,執(zhí)行諸如創(chuàng)建/刪除角色,更改角色權(quán)限和用戶分配角色等操作。Zhu等人[11]提出了一種訪問基本服務(wù)的模型,該模型屬于復(fù)合Web服務(wù)的其他安全域。在此模型中,基本W(wǎng)eb服務(wù)的策略文件被組合,并且提供者分析這些文件以構(gòu)造復(fù)合服務(wù)的訪問控制策略。此方法不允許自動(dòng)組合基本W(wǎng)eb服務(wù)的訪問控制策略文件。李蔚等人[12]提出一個(gè)擴(kuò)展模型,在RBAC模型[13]的基礎(chǔ)上,將權(quán)限細(xì)化,添加對象、操作、域和分組等4個(gè)元素,同時(shí)提出域的可繼承性和一種表示域之間的層級關(guān)系的方法,該方法可以管理角色下的數(shù)據(jù)內(nèi)容和操作,將更細(xì)粒度化權(quán)限功能。當(dāng)前基于角色的訪問控制方法或模型[14]都強(qiáng)調(diào)要考慮整個(gè)Web服務(wù)或復(fù)合服務(wù)中的Web服務(wù)分支。如果需要訪問Web服務(wù)的某些選定操作,或通過向用戶提供適當(dāng)?shù)姆?wù)訪問特權(quán)并向用戶動(dòng)態(tài)授予特權(quán),則不能使用這些方法,同時(shí)部分系統(tǒng)操作復(fù)雜,難以商業(yè)化。

綜上所述,本文針對傳統(tǒng)的用戶權(quán)限定義和平臺的擴(kuò)展性的缺點(diǎn),擬利用layui框架對物聯(lián)網(wǎng)平臺進(jìn)行研究,提出一種基于動(dòng)態(tài)角色服務(wù)權(quán)限控制物聯(lián)網(wǎng)平臺的擬議系統(tǒng),解決了未知角色在Web服務(wù)中權(quán)限管理問題。在物聯(lián)網(wǎng)平臺上實(shí)現(xiàn)該方法。首先在系統(tǒng)架構(gòu)上,根據(jù)訪問Web服務(wù)的用戶的目的和需求,提供基于角色的動(dòng)態(tài)用戶服務(wù),然后在應(yīng)用訪問控制精確到操作級別上細(xì)粒度化,進(jìn)一步細(xì)化訪問控制粒度[15]。最后嵌入到平臺采用的模塊化設(shè)計(jì)中。

1 平臺總體設(shè)計(jì)

本文提出的基于動(dòng)態(tài)角色服務(wù)權(quán)限控制的物聯(lián)網(wǎng)平臺設(shè)計(jì)如圖1所示。

圖1 物聯(lián)網(wǎng)平臺設(shè)計(jì)圖

該平臺設(shè)計(jì)由功能模塊設(shè)計(jì)、平臺系統(tǒng)流程圖、RBAC模型和數(shù)據(jù)庫設(shè)計(jì)共4部分組成。

第一部分:由于用戶在使用物聯(lián)網(wǎng)平臺的整個(gè)過程中,每個(gè)用戶都帶有不同屬性,衍生出不同的未知角色,對設(shè)備整個(gè)生命周期中,角色的權(quán)限需求進(jìn)行分析,根據(jù)系統(tǒng)需求,將物聯(lián)網(wǎng)平臺劃分為6個(gè)模塊;第二部分:以角色為中心,建立流程圖,使不同的模塊相串聯(lián);第三部分:根據(jù)RBAC的基本模型,建立物聯(lián)網(wǎng)平臺的角色模型;第四部分:根據(jù)角色的不同權(quán)限和功能,對數(shù)據(jù)庫建表,然后針對部分功能提供更細(xì)粒度的訪問控制。

2 功能模塊設(shè)計(jì)

對于為提供可選服務(wù)的用戶定制的各種類型的軟件融合服務(wù)的需求不斷增長,設(shè)備在使用的過程中,使用者擔(dān)當(dāng)?shù)慕巧愋透鳟?,每個(gè)角色對于權(quán)限規(guī)劃也不明確。在該環(huán)境下,可以根據(jù)用戶的目的和需求組合使用服務(wù),建立以角色為中心的一個(gè)模型,通過向用戶提供適當(dāng)?shù)姆?wù)訪問特權(quán)并向用戶動(dòng)態(tài)授予特權(quán)。

根據(jù)市場需求,基于動(dòng)態(tài)角色服務(wù)權(quán)限控制的物聯(lián)網(wǎng)平臺包括6個(gè)主要功能模塊:數(shù)據(jù)查詢、權(quán)限更新記錄、設(shè)備管理、運(yùn)營管理、用戶管理、角色管理,如圖2所示。其中用戶管理和角色管理模塊屬于動(dòng)態(tài)角色權(quán)限的設(shè)計(jì),而數(shù)據(jù)查詢、報(bào)警查詢、設(shè)備管理、運(yùn)營管理模塊則是圍繞于角色設(shè)計(jì)功能性模塊,整個(gè)設(shè)計(jì)反映了RBAC模型中訪問控制的核心思想。

圖2 系統(tǒng)功能框架圖

3 系統(tǒng)流程

3.1 現(xiàn)有系統(tǒng)

在現(xiàn)有物聯(lián)網(wǎng)平臺的系統(tǒng)中,整體流程一般是基于身份訪問展開的[16-17]。系統(tǒng)的流程如圖3所示。訪問系統(tǒng)的主體是用戶,用戶類型各異。一旦用戶發(fā)送了請求會(huì)話,就開始判別用戶類型,檢查與該用戶相關(guān)聯(lián)的權(quán)限集,然后分配給不同等級用戶類別下固定的權(quán)限。

圖3 基于身份訪問系統(tǒng)流程圖

現(xiàn)有系統(tǒng)沒有基于用戶的環(huán)境條件對權(quán)限集細(xì)分,使得同一級別下,不同類型的用戶只擁有固有的權(quán)限使用權(quán)。不足以涵蓋用戶的使用范圍,安全性也無法得到保障。

3.2 擬議系統(tǒng)

在提出的系統(tǒng)中克服了現(xiàn)有物聯(lián)網(wǎng)平臺系統(tǒng)的局限性,需要將角色用作中心,以使用戶成為獲得特定權(quán)限的角色。擬議物聯(lián)網(wǎng)平臺的系統(tǒng)的整體流程如圖4所示。

圖4 基于動(dòng)態(tài)角色訪問系統(tǒng)流程圖

在所提出的系統(tǒng)中,當(dāng)用戶發(fā)送請求時(shí),其會(huì)話開始,驗(yàn)證用戶信息。當(dāng)約束條件判別為用戶,則擁有系統(tǒng)基本所有的權(quán)限,等同于現(xiàn)有系統(tǒng)的一級用戶。以角色代替二級用戶,當(dāng)不同角色發(fā)送請求會(huì)話且角色已激活,檢查與角色相關(guān)的權(quán)限集,權(quán)限包含對象表達(dá)式,就會(huì)對每個(gè)對象進(jìn)行一對一評估。如果對象表達(dá)式及其對應(yīng)條件對某個(gè)對象的評估為true,授予角色訪問對象表達(dá)式及其相應(yīng)條件返回true的所有那些對象的權(quán)限,完成一個(gè)對不同角色權(quán)限的過濾與授予。

4 擴(kuò)展RBAC動(dòng)態(tài)角色控制模型

RBAC的主要思想是對系統(tǒng)操作的各種權(quán)限不直接授予具體用戶,而在用戶集合與權(quán)限集合之間建立一個(gè)角色集合。當(dāng)角色被創(chuàng)建后,角色再授予訪問權(quán)限。也就引入了一種抽象的中介元素 — 角色傳遞授權(quán)信息[18]。相應(yīng)地,權(quán)限可以分配給多個(gè)角色。每個(gè)操作可以應(yīng)用于多個(gè)客體,每個(gè)客體可以接受多個(gè)操作。

本文擴(kuò)展模型如圖5所示,以RBAC模型為基礎(chǔ)進(jìn)行說明,對此擴(kuò)展模型涉及的部分概念進(jìn)行定義:

用戶(U):RBAC模型中的用戶定義為與系統(tǒng)有特定目的交互的人。每個(gè)用戶都與一個(gè)角色相關(guān)聯(lián),并且只有獲得角色,該用戶才能訪問系統(tǒng)中的任何資源。

角色(R):角色在系統(tǒng)中擔(dān)當(dāng)用戶與權(quán)限之間的橋梁,角色既可以看作是多個(gè)權(quán)限的集合,也可以看作是具有相同身份的用戶的集合。

權(quán)限(P):P=OP(操作集)×OBJ(客體集),權(quán)限是控制對系統(tǒng)資源的訪問的權(quán)限。權(quán)限定義了RBAC模型中的用戶可以與系統(tǒng)資源進(jìn)行交互的類型,客體集在本文中為可供操作的模塊資源。

會(huì)話(S):用戶需要先建立會(huì)話,在該會(huì)話中將每個(gè)用戶賦予該會(huì)話所需要的角色及相關(guān)權(quán)限。

用戶與角色:概念與通常的角色、用戶定義無區(qū)別。但角色類型可以人為的劃分等級,主要分為兩種類型:角色A、角色B。角色A可以成為一些角色并具有相應(yīng)的權(quán)限,角色B可以在權(quán)限上進(jìn)一步細(xì)分等級,角色B可以在自己所擁有的權(quán)限下創(chuàng)建角色,繼承相應(yīng)的權(quán)限,因此用戶可以具有多個(gè)不同的角色身份。

角色與權(quán)限:角色與權(quán)限之間的關(guān)系是多對多的[19],一個(gè)角色可以擁有多種權(quán)限,多個(gè)角色可以對應(yīng)同一個(gè)權(quán)限,但用戶只能用一種角色進(jìn)入系統(tǒng),當(dāng)對某個(gè)角色的定義隨著需求的變更發(fā)生改變時(shí),用戶可以實(shí)時(shí)動(dòng)態(tài)地改變角色的權(quán)限,重新定義角色。

圖5 擴(kuò)展RBAC模型

物聯(lián)網(wǎng)平臺在采用擴(kuò)展RBAC模型為基礎(chǔ)上,增加設(shè)備的概念融入關(guān)系圖,如圖6所示。同時(shí),一臺設(shè)備只可以分配給一個(gè)客戶,但可由多個(gè)管理類型的角色同時(shí)管理。由于當(dāng)用戶訪問對象時(shí),系統(tǒng)需要根據(jù)用戶權(quán)限進(jìn)行檢查和攔截,用戶只可以對自己權(quán)限范圍下的所擁有的功能和設(shè)備進(jìn)行操作。角色A為圖6中的客戶組,角色B為圖6中的其他角色組。

圖6 基于RBAC物聯(lián)網(wǎng)平臺分層訪問控制模型

5 數(shù)據(jù)庫設(shè)計(jì)

根據(jù)RBAC模型,數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計(jì)如圖7所示。分為RBAC用戶表,RBAC角色表,RBAC設(shè)備表,RBAC資源表,RBAC操作表,RBAC用戶角色分配表,RBAC角色權(quán)限表,RBAC權(quán)限操作表,RBAC設(shè)備用戶表,RBAC設(shè)備角色表。

圖7 數(shù)據(jù)庫設(shè)計(jì)圖

在整個(gè)數(shù)據(jù)庫模型中,操作和資源通過權(quán)限操作表連接。通過角色權(quán)限表將權(quán)限分配給角色,并通過用戶角色表將角色分配給用戶。同時(shí)設(shè)備分別通過用戶設(shè)備表和角色設(shè)備表,交由用戶管理以及用戶分配給角色管理。從而實(shí)現(xiàn)了基于動(dòng)態(tài)角色服務(wù)權(quán)限控制模型。

在操作級別的細(xì)粒度級別上,對數(shù)據(jù)庫的權(quán)限操作表進(jìn)行了細(xì)分。根據(jù)授權(quán),允許或拒絕授權(quán)使用者訪問Web服務(wù)的操作。主要體現(xiàn)為對界面的按鈕做顯示設(shè)置,區(qū)別用戶的操作范圍。

6 實(shí)施與測試

6.1 實(shí)驗(yàn)設(shè)計(jì)

部署在應(yīng)用程序服務(wù)器中的測試應(yīng)用程序調(diào)用Web服務(wù)的操作。然后,根據(jù)訪問控制策略中定義的角色和相應(yīng)的權(quán)限,允許用戶訪問通過Web服務(wù)中的操作實(shí)現(xiàn)的所需功能。

本文選用智能數(shù)據(jù)采集系統(tǒng)作為測試用例。平臺客戶端的運(yùn)行時(shí)環(huán)境是Windows 10和帶有V8 JavaScript引擎的Google Chrome Web瀏覽器,服務(wù)器端是基于Java的HTTP服務(wù)器。

在測試方案中,為用戶定義3個(gè)角色,Admin、公司、自定義角色,如表1所示。

表1 測試方案中的角色描述

在RBAC中,權(quán)限被分配給角色以授予其對各種資源的訪問權(quán)限。如表2所示,列出了物聯(lián)網(wǎng)平臺的部分示例權(quán)限,包括權(quán)限ID和權(quán)限的功能描述。

表2 示例權(quán)限列表

表2中給出的示例權(quán)限已分配給測試方案中不同層次結(jié)構(gòu)的3個(gè)角色。{P1, P2, P4, P5, P6}為主模塊權(quán)限,P7,P8屬于權(quán)限{P4}的子模塊,P9屬于權(quán)限{P5}的子模塊,P10屬于權(quán)限{P4, P5}的每個(gè)子模塊下的部分功能,P11屬于權(quán)限{P1}的部分功能權(quán)限。R1具有全部權(quán)限。R2具有許可{P1, P2, P4, P5, P6}。R3具有許可為空集,可以由權(quán)限擁有者從集合中添加至空集。

實(shí)驗(yàn)的流程如下:首先,以admin身份登錄,使用P3權(quán)限,完成對公司的創(chuàng)建。再利用P4權(quán)限下P7分配設(shè)備給公司;然后公司身份登錄,通過權(quán)限P6創(chuàng)建自定義角色,分為管理類型角色B和二級用戶角色A。再利用權(quán)限P7將設(shè)備分配給多個(gè)自定義角色B管理,以及該公司下的角色A使用;角色B身份登錄,可以在權(quán)限允許下使用{P1, P2, P4, P5, P6},子模塊功能{P7, P8, P9},操作權(quán)限{P10}。角色A身份登錄,只擁有權(quán)限{P1, P2}。

6.2 測試結(jié)果及對比分析

本實(shí)驗(yàn)從R1、R2、R3中隨機(jī)地選取7個(gè)實(shí)例作為測試集,角色類型1、角色類型2分別屬于R1和R2,R3中又細(xì)分了5種典型角色,比較能全面的代表使用者的不同身份。角色類型3為公司管理型角色,角色類型4為公司客戶角色,角色類型5則代表了在使用過程中,遇到未知的角色形象,可開放性分配權(quán)限功能。讓每個(gè)用戶按照三種情況進(jìn)行查詢操作,分別對應(yīng)查詢所有有權(quán)訪問的數(shù)據(jù),可讀取到的權(quán)限結(jié)果反饋如表3所示。

表3 權(quán)限測試結(jié)果

為了驗(yàn)證擬議系統(tǒng)在細(xì)粒度權(quán)限管理設(shè)計(jì)優(yōu)勢和角色權(quán)限動(dòng)態(tài)化的靈活性,將現(xiàn)有系統(tǒng)和擬議系統(tǒng)進(jìn)行了比較。如表4、表5所示。

表4 角色權(quán)限動(dòng)態(tài)性比較結(jié)果

如表4所述,不同類型的R3級用戶在現(xiàn)有系統(tǒng)和擬議系統(tǒng)中對權(quán)限的動(dòng)態(tài)可操作性,擬議系統(tǒng)可以人為地對R3級用戶權(quán)限實(shí)施動(dòng)態(tài)進(jìn)行調(diào)整,增加了角色的多樣性。

表5 角色權(quán)限細(xì)粒度比較結(jié)果

如表5所述,擬議系統(tǒng)在客戶組中可以通自定義角色對客戶設(shè)定自定義客戶類型,增加頁面局部操作權(quán)限{P10},符合本文定義的細(xì)粒度權(quán)限管理要求。

7 結(jié)束語

針對現(xiàn)有基于身份的訪問控制系統(tǒng)無法滿足用戶定制的各種軟件組合服務(wù)的需求,提出了一種基于動(dòng)態(tài)角色服務(wù)權(quán)限控制的物聯(lián)網(wǎng)平臺。

相比傳統(tǒng)的角色的權(quán)限定義,角色動(dòng)態(tài)自定義法可以根據(jù)各種用戶的需求,對角色的權(quán)限動(dòng)態(tài)化管理,為每個(gè)用戶提供適當(dāng)?shù)姆?wù)以提供定制的基于Web的軟件。首先,在物聯(lián)網(wǎng)平臺設(shè)計(jì)中,本文提出將平臺功能模塊化,獲得多個(gè)不同功能模塊。然后,經(jīng)過對現(xiàn)有系統(tǒng)流程中引入角色化概念,結(jié)合自定義權(quán)限的設(shè)定,得到了擬議系統(tǒng)流程圖。使用RBAC模型為基礎(chǔ),設(shè)計(jì)動(dòng)態(tài)權(quán)限控制模型并用數(shù)據(jù)庫實(shí)現(xiàn)。最后,選取一組完整且具有代表性的數(shù)據(jù)作為擬議系統(tǒng)的測試集,分析已被授予角色的用戶的訪問權(quán)限;選取一組現(xiàn)有系統(tǒng)二級用戶數(shù)據(jù)作為對比集,與測試集在權(quán)限細(xì)粒度、角色動(dòng)態(tài)性方面展開分析。由實(shí)驗(yàn)可以得出:基于動(dòng)態(tài)角色服務(wù)權(quán)限控制的擬議系統(tǒng),在角色動(dòng)態(tài)定義和設(shè)置有很大的靈活性,滿足用戶定制的各種軟件組合服務(wù)的需求,并支持后期的模塊動(dòng)態(tài)擴(kuò)展。在權(quán)限細(xì)粒度中,可以根據(jù)訪問請求者獲得權(quán)限的條件,將訪問的范圍精確到模塊界面的操作級別。

本文提出的基于動(dòng)態(tài)角色服務(wù)權(quán)限控制的物聯(lián)網(wǎng)平臺,通過授予用戶動(dòng)態(tài)角色特權(quán)來管理系統(tǒng),由分析表明動(dòng)態(tài)權(quán)限控制模型有效地為平臺提供了細(xì)粒度、簡單實(shí)用的動(dòng)態(tài)訪問控制,在實(shí)際工程應(yīng)用中具有重要的指導(dǎo)意義。

猜你喜歡
細(xì)粒度聯(lián)網(wǎng)動(dòng)態(tài)
融合判別性與細(xì)粒度特征的抗遮擋紅外目標(biāo)跟蹤算法
國內(nèi)動(dòng)態(tài)
國內(nèi)動(dòng)態(tài)
“身聯(lián)網(wǎng)”等五則
國內(nèi)動(dòng)態(tài)
細(xì)粒度的流計(jì)算執(zhí)行效率優(yōu)化方法
動(dòng)態(tài)
搶占物聯(lián)網(wǎng)
通信世界(2018年27期)2018-10-16 09:02:56
基于雙線性卷積網(wǎng)絡(luò)的細(xì)粒度圖像定位
支持細(xì)粒度權(quán)限控制且可搜索的PHR云服務(wù)系統(tǒng)
鄂托克前旗| 江口县| 天全县| 石棉县| 乾安县| 巴青县| 韶关市| 迁安市| 射洪县| 潞西市| 视频| 巴林左旗| 万山特区| 易门县| 定西市| 育儿| 马公市| 舟曲县| 千阳县| 宁乡县| 鹤岗市| 印江| 织金县| 云阳县| 黄石市| 富锦市| 景泰县| 定结县| 晋江市| 贞丰县| 阿城市| 株洲市| 淳化县| 潞城市| 泰和县| 湘潭市| 平果县| 洱源县| 通渭县| 尼木县| 武宁县|