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

數據立方查詢由若干子查詢構成,每個子查詢獲得特定規則的數據單元,并根據聚合策略生成最終查詢結果,表達式為Qset={Q1, Q2, ..., Qn}。
評測兩種不同的數據立方查詢方式,從用戶相關聯的設備和業務出發,根據用戶屬性、設備類型、業務名稱等屬性進行過濾,找出和其有連接的傳感器交集或并集,并結合起始時間范圍等數據屬性,最終定位待訪問的數據節點。查詢性能評測設置了不同數量的用戶、設備、業務和傳感器的組合環境,模擬驗證各種復雜的物聯網業務場景,并對比測試是否包含屬性查詢條件時的平均響應時間。
查詢結果展示了查詢1000條傳感器集合所需平均時間,說明了在各種復雜的物聯網管理場景下,即使設備、傳感器數量變化增長時,本系統能夠在有效時間響應數據訪問請求。同時,隨著業務變化,數據查詢條件也隨之動態調整,基于屬性的過濾條件未對系統查詢響應時間造成顯著影響。

交集查詢測試結果

并集查詢測試結果
本文主要設計DB-ABAC訪問控制模型,引入業務視角,構建“用戶+設備+業務+傳感器”的多維度訪問策略,采用屬性條件過濾、業務關聯動態調配、數據立方技術,支持細粒度h跨業務的數據訪問需求。后續工作中,我們會進一步研究提升物聯網多維度數據并行查詢與處理性能,在數據安全和性能兩方面做出平衡,使本方案提出的訪問控制策略模型適應物聯網業務發展和數據安全需求。