賈 睿
(遼寧省交通高等專(zhuān)科學(xué)校,遼寧 沈陽(yáng) 110122)
物聯(lián)網(wǎng)是從互聯(lián)網(wǎng)的發(fā)展而逐漸演變出的一種形態(tài),被廣泛應(yīng)用于醫(yī)療保健、交通運(yùn)輸、智能家居和監(jiān)控系統(tǒng)等眾多日常應(yīng)用中,為更多的用戶(hù)提供更加全面的信息式的服務(wù)。物聯(lián)網(wǎng)的信息服務(wù)發(fā)展離不開(kāi)海量異構(gòu)數(shù)據(jù),需要對(duì)海量異構(gòu)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行存儲(chǔ)和訪(fǎng)問(wèn)控制,為數(shù)據(jù)使用提供安全與質(zhì)量保障,這樣才能更好地體現(xiàn)物聯(lián)網(wǎng)的應(yīng)用價(jià)值[1]。同時(shí)對(duì)于各數(shù)據(jù)存儲(chǔ)之間應(yīng)提供數(shù)據(jù)互通機(jī)制,最大化地保證資源有效共享。存儲(chǔ)和管理海量異構(gòu)物聯(lián)網(wǎng)數(shù)據(jù)具有挑戰(zhàn)性,主要體現(xiàn)在數(shù)據(jù)存儲(chǔ)模式應(yīng)滿(mǎn)足多源、異構(gòu)、海量的物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)需求,分析物聯(lián)網(wǎng)設(shè)備產(chǎn)生的事件數(shù)據(jù)和狀態(tài)數(shù)據(jù)間復(fù)雜關(guān)聯(lián)關(guān)系,發(fā)現(xiàn)海量數(shù)據(jù)間蘊(yùn)含的共性和模式,挖掘深層次業(yè)務(wù)價(jià)值。綜上所述,海量異構(gòu)物聯(lián)網(wǎng)數(shù)據(jù)的統(tǒng)一存儲(chǔ)、高效訪(fǎng)問(wèn)、業(yè)務(wù)導(dǎo)向、數(shù)據(jù)分析成為物聯(lián)網(wǎng)數(shù)據(jù)管理領(lǐng)域的核心研究?jī)?nèi)容。
為了滿(mǎn)足不同用戶(hù)的數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求,靈活應(yīng)對(duì)多種業(yè)務(wù)視角,物聯(lián)網(wǎng)數(shù)據(jù)管理系統(tǒng)需提供動(dòng)態(tài)配置和細(xì)粒度的訪(fǎng)問(wèn)控制機(jī)制,實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)的高效查詢(xún)和展示,保證物聯(lián)網(wǎng)數(shù)據(jù)安全和隱私[2]?;趯傩缘脑L(fǎng)問(wèn)控制(ABAC)使用主客體屬性作為訪(fǎng)問(wèn)控制的決策要素,靈活利用請(qǐng)求者所具有的屬性集合決定是否賦予其訪(fǎng)問(wèn)權(quán)限,能夠很好地將策略管理和權(quán)限判定相分離。有效解決了具有大規(guī)模、強(qiáng)動(dòng)態(tài)性及強(qiáng)隱私性特點(diǎn)的新型計(jì)算環(huán)境下的細(xì)粒度訪(fǎng)問(wèn)控制問(wèn)題。
文獻(xiàn)[3]闡述了基于屬性的訪(fǎng)問(wèn)控制模型的整體流程、關(guān)鍵問(wèn)題、研究現(xiàn)狀和發(fā)展趨勢(shì)進(jìn)行分析,指出其技術(shù)優(yōu)點(diǎn)能夠有效地解決動(dòng)態(tài)大規(guī)模環(huán)境下的細(xì)粒度訪(fǎng)問(wèn)控制問(wèn)題,是新型計(jì)算環(huán)境中的理想訪(fǎng)問(wèn)控制模型。文獻(xiàn)[4]提出混合擴(kuò)展訪(fǎng)問(wèn)控制模型HARBAC,支持基于屬性的用戶(hù)角色分配、角色權(quán)限分配、角色激活、會(huì)話(huà)角色權(quán)限縮減和權(quán)限繼承等動(dòng)態(tài)訪(fǎng)問(wèn)控制功能,支持用戶(hù)匿名訪(fǎng)問(wèn)和細(xì)粒度、動(dòng)態(tài)的權(quán)限控制。
總體而言,當(dāng)前的物聯(lián)網(wǎng)數(shù)據(jù)管理系統(tǒng)存在兩個(gè)典型問(wèn)題:面向物聯(lián)網(wǎng)海量異構(gòu)數(shù)據(jù),存儲(chǔ)性能較低,缺乏存儲(chǔ)模型擴(kuò)展機(jī)制;僅能從簡(jiǎn)單維度進(jìn)行數(shù)據(jù)查詢(xún)和挖掘,數(shù)據(jù)訪(fǎng)問(wèn)控制粒度較粗,無(wú)法滿(mǎn)足多維度的復(fù)雜業(yè)務(wù)訴求,未能挖掘物聯(lián)網(wǎng)數(shù)據(jù)間隱含的關(guān)聯(lián)價(jià)值。
基于角色的訪(fǎng)問(wèn)控制(RBAC)是目前應(yīng)用最為普遍的訪(fǎng)問(wèn)控制模型,通過(guò)引入角色實(shí)現(xiàn)了用戶(hù)與權(quán)限的邏輯分離,用戶(hù)不直接與權(quán)限相關(guān)聯(lián),而是通過(guò)角色獲得所需權(quán)限,降低了授權(quán)管理復(fù)雜度。RBAC中的角色可以根據(jù)系統(tǒng)需求隨時(shí)進(jìn)行創(chuàng)建、刪除、激活或去活,以滿(mǎn)足不同系統(tǒng)的應(yīng)用需求。RBAC模型主要問(wèn)題是不能很好地支持動(dòng)態(tài)授權(quán)和細(xì)粒度授權(quán),構(gòu)建角色層次結(jié)構(gòu)和策略復(fù)雜,成本高[5][6]。
基于屬性的訪(fǎng)問(wèn)控制(ABAC)將用戶(hù)、資源和環(huán)境等參與者的屬性作為授權(quán)與訪(fǎng)問(wèn)判定的依據(jù),能有效解決RBAC不支持細(xì)粒度授權(quán)和動(dòng)態(tài)授權(quán)問(wèn)題,具有較強(qiáng)的靈活性和擴(kuò)展性,且不需要構(gòu)建角色層次,比較容易建立授權(quán)管理所需的策略。但在ABAC模型中,直接通過(guò)屬性在用戶(hù)和資源之間建立權(quán)限關(guān)系,沒(méi)有考慮業(yè)務(wù)發(fā)展變化對(duì)權(quán)限帶來(lái)的影響,權(quán)限規(guī)則數(shù)量隨業(yè)務(wù)變化呈指數(shù)級(jí)增長(zhǎng),導(dǎo)致規(guī)則爆炸,影響查詢(xún)效率。
針對(duì)以上問(wèn)題,本文提出基于設(shè)備和業(yè)務(wù)屬性的訪(fǎng)問(wèn)控制模 式(Device And Business Attribute Based Access Control, DBABAC),在ABAC基礎(chǔ)上引入設(shè)備、業(yè)務(wù)、傳感器等物聯(lián)網(wǎng)實(shí)體抽象。DB-ABAC將業(yè)務(wù)規(guī)則引入,從用戶(hù)、業(yè)務(wù)、傳感器、數(shù)據(jù)、時(shí)間等多個(gè)維度構(gòu)建訪(fǎng)問(wèn)控制和授權(quán)決策的策略,利用圖形結(jié)構(gòu)中邊來(lái)管理設(shè)備、業(yè)務(wù)和傳感器數(shù)據(jù)間復(fù)雜多變的關(guān)系。此模型具備靈活適配和動(dòng)態(tài)調(diào)整的特點(diǎn),支持多維度、跨領(lǐng)域、動(dòng)態(tài)配置的數(shù)據(jù)訪(fǎng)問(wèn)和挖掘,支持根據(jù)業(yè)務(wù)規(guī)則動(dòng)態(tài)調(diào)整各維度間關(guān)聯(lián)關(guān)系,利用數(shù)據(jù)立方理念實(shí)現(xiàn)多領(lǐng)域、細(xì)粒度的數(shù)據(jù)訪(fǎng)問(wèn)授權(quán)。
數(shù)據(jù)訪(fǎng)問(wèn)控制與管理服務(wù)主要包括身份鑒權(quán)和訪(fǎng)問(wèn)控制。身份鑒權(quán)認(rèn)證數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求方的身份信息,判斷其是否為真實(shí)且有效的用戶(hù)。訪(fǎng)問(wèn)控制遵循最小權(quán)限和職責(zé)分離等安全原則,從用戶(hù)身份、設(shè)備、業(yè)務(wù)、傳感器、時(shí)間等多維度進(jìn)行權(quán)限控制,返回用戶(hù)能夠訪(fǎng)問(wèn)的傳感器數(shù)據(jù)集,保證數(shù)據(jù)安全性。同時(shí),根據(jù)業(yè)務(wù)需要對(duì)用戶(hù)、設(shè)備、業(yè)務(wù)及傳感器間關(guān)聯(lián)進(jìn)行動(dòng)態(tài)調(diào)整,滿(mǎn)足多維度、橫跨領(lǐng)域、動(dòng)態(tài)配置的數(shù)據(jù)查詢(xún)和挖掘需求。
處理各種業(yè)務(wù)請(qǐng)求,比如設(shè)備型號(hào)設(shè)置、業(yè)務(wù)規(guī)則變更、為用戶(hù)分配可訪(fǎng)問(wèn)設(shè)備、為用戶(hù)分配業(yè)務(wù)規(guī)則。解析請(qǐng)求參數(shù),驗(yàn)證參數(shù)有效性,訪(fǎng)問(wèn)底層圖數(shù)據(jù)庫(kù)服務(wù)進(jìn)行數(shù)據(jù)管理操作,將操作結(jié)果封裝返回給請(qǐng)求方。其核心技術(shù)如下:
屬性表達(dá)式(Attribute Expression,AE):是對(duì)屬性的具體描述或限制,為三元組(Att, Op, Value)[7],其中Att為屬性名稱(chēng);Op為屬性比較操作符,Op∈{<,≤,>,≥,=,≠}或{in,out,up,down};Value為屬性值。
關(guān)聯(lián)管理(Relation Administration,RA):利用訪(fǎng)問(wèn)者信息、設(shè)備信息、業(yè)務(wù)信息、傳感器信息等對(duì)各個(gè)信息維度間關(guān)聯(lián)關(guān)系進(jìn)行形式化描述,表現(xiàn)形式為(AE1,AE2, ROp),其中AE表示信息體的屬性表達(dá)式,ROp表示信息體間關(guān)聯(lián)的管理操作,ROp∈{add,update,delete,query}。根據(jù)物聯(lián)網(wǎng)應(yīng)用實(shí)踐情況,具體定義了用戶(hù)設(shè)備關(guān)聯(lián)(User-Device)、用戶(hù)業(yè)務(wù)關(guān)聯(lián)(User-Business)、設(shè)備傳感器關(guān)聯(lián)(Device-Sensor)、業(yè)務(wù)傳感器關(guān)聯(lián)(Business-Sensor)、傳感器數(shù)據(jù)關(guān)聯(lián)(Sensor-Data)。
通過(guò)上述5種關(guān)聯(lián),物聯(lián)網(wǎng)應(yīng)用能夠依據(jù)用戶(hù)身份信息和業(yè)務(wù)規(guī)則來(lái)獲取所需數(shù)據(jù),即從縱向的設(shè)備維度進(jìn)行權(quán)限分配,也從橫向的業(yè)務(wù)維度進(jìn)行權(quán)限分配,兩者結(jié)合實(shí)現(xiàn)細(xì)粒度的授權(quán)管理。同時(shí),根據(jù)屬性表達(dá)式可以很方便地進(jìn)行關(guān)聯(lián)調(diào)整,兼?zhèn)潇`活性和動(dòng)態(tài)性。
數(shù)據(jù)立方(Data Cube, DC):數(shù)據(jù)立方是一種重要的數(shù)據(jù)查詢(xún)和分析方式,它通過(guò)多維度和度量值來(lái)構(gòu)建數(shù)據(jù)單元,高層級(jí)的數(shù)據(jù)立方可以通過(guò)聚合一定數(shù)量的低層級(jí)數(shù)據(jù)單元而構(gòu)造出來(lái)[8]。其具備很好的靈活性和擴(kuò)展性,適合于物聯(lián)網(wǎng)數(shù)據(jù)的查詢(xún)和挖掘。
Device Cube Query從設(shè)備維度找出待查詢(xún)的傳感器,其表現(xiàn)形式為DCQ=(U,D,S),U,D,S分別代表用戶(hù)、設(shè)備、傳感器的屬性表達(dá)式。Business Cube Query從業(yè)務(wù)維度找出待查詢(xún)的傳感器,其表現(xiàn)形式為BCQ=(U,B,S), U,B,S分別代表用戶(hù)、業(yè)務(wù)、傳感器的屬性表達(dá)式。數(shù)據(jù)查詢(xún)結(jié)合DCQ和BCQ的傳感器結(jié)果,并加入時(shí)間維度(TAE)來(lái)進(jìn)一步限制訪(fǎng)問(wèn)范圍,獲取結(jié)果數(shù)據(jù),表達(dá)式如下:
數(shù)據(jù)立方查詢(xún)由若干子查詢(xún)構(gòu)成,每個(gè)子查詢(xún)獲得特定規(guī)則的數(shù)據(jù)單元,并根據(jù)聚合策略生成最終查詢(xún)結(jié)果,表達(dá)式為Qset={Q1, Q2, ..., Qn}。
評(píng)測(cè)兩種不同的數(shù)據(jù)立方查詢(xún)方式,從用戶(hù)相關(guān)聯(lián)的設(shè)備和業(yè)務(wù)出發(fā),根據(jù)用戶(hù)屬性、設(shè)備類(lèi)型、業(yè)務(wù)名稱(chēng)等屬性進(jìn)行過(guò)濾,找出和其有連接的傳感器交集或并集,并結(jié)合起始時(shí)間范圍等數(shù)據(jù)屬性,最終定位待訪(fǎng)問(wèn)的數(shù)據(jù)節(jié)點(diǎn)。查詢(xún)性能評(píng)測(cè)設(shè)置了不同數(shù)量的用戶(hù)、設(shè)備、業(yè)務(wù)和傳感器的組合環(huán)境,模擬驗(yàn)證各種復(fù)雜的物聯(lián)網(wǎng)業(yè)務(wù)場(chǎng)景,并對(duì)比測(cè)試是否包含屬性查詢(xún)條件時(shí)的平均響應(yīng)時(shí)間。
查詢(xún)結(jié)果展示了查詢(xún)1000條傳感器集合所需平均時(shí)間,說(shuō)明了在各種復(fù)雜的物聯(lián)網(wǎng)管理場(chǎng)景下,即使設(shè)備、傳感器數(shù)量變化增長(zhǎng)時(shí),本系統(tǒng)能夠在有效時(shí)間響應(yīng)數(shù)據(jù)訪(fǎng)問(wèn)請(qǐng)求。同時(shí),隨著業(yè)務(wù)變化,數(shù)據(jù)查詢(xún)條件也隨之動(dòng)態(tài)調(diào)整,基于屬性的過(guò)濾條件未對(duì)系統(tǒng)查詢(xún)響應(yīng)時(shí)間造成顯著影響。
交集查詢(xún)測(cè)試結(jié)果
并集查詢(xún)測(cè)試結(jié)果
本文主要設(shè)計(jì)DB-ABAC訪(fǎng)問(wèn)控制模型,引入業(yè)務(wù)視角,構(gòu)建“用戶(hù)+設(shè)備+業(yè)務(wù)+傳感器”的多維度訪(fǎng)問(wèn)策略,采用屬性條件過(guò)濾、業(yè)務(wù)關(guān)聯(lián)動(dòng)態(tài)調(diào)配、數(shù)據(jù)立方技術(shù),支持細(xì)粒度h跨業(yè)務(wù)的數(shù)據(jù)訪(fǎng)問(wèn)需求。后續(xù)工作中,我們會(huì)進(jìn)一步研究提升物聯(lián)網(wǎng)多維度數(shù)據(jù)并行查詢(xún)與處理性能,在數(shù)據(jù)安全和性能兩方面做出平衡,使本方案提出的訪(fǎng)問(wèn)控制策略模型適應(yīng)物聯(lián)網(wǎng)業(yè)務(wù)發(fā)展和數(shù)據(jù)安全需求。