梁曉艷,杜瑞忠
(1.河北大學網絡空間安全與計算機學院,河北 保定 071002;2.河北省高可信信息系統重點實驗室,河北 保定 071002)
物聯網(IoT,Internet of things)將包括傳感器、移動電話、交通工具、電視機、智能家電等的大量設備連接在一起相互通信、交換信息,已深入滲透到人們的日常工作和生活。預計到2022 年,將有297 億臺設備連入網絡,其中181 億臺將通過物聯網互聯[1]。IoT 在智慧城市、智慧運輸、智慧網格中獲得廣泛應用的同時,其隱私和安全性也變得非常重要[2],訪問控制是其中的重要機制[3]。IoT 訪問控制分為基于角色的訪問控制(RBAC,role-based access control)[4]、基于屬性的訪問控制(ABAC,attribute-based access control)[5]和基于權能的訪問控制(CapBAC,capability-based access control)[6-7]。其中,CapBAC 由于其輕量級、分布式、動態性和可擴展性、滿足最小權限原則的優點,在物聯網環境中獲得了廣泛應用[8-9]。
權能令牌和委托是CapBAC 的核心。令牌包括主體、客體、操作和時間間隔,其本質上是一種訪問控制規則,由訪問者自己存放。委托機制使主體可以簽發令牌將自己的權限委托給其他主體,這使CapBAC 機制具有分布式的優點[9],主體之間的委托圖關系中,一個主體的權限可能來自多個委托主體的授權[6],本文稱之為多委托機制。
訪問控制規則的準確性關系著IoT 的安全性和隱私。CapBAC 規則對于主體、客體、操作均采用最小權限原則聲明,但是時間間隔卻由于依賴委托者的主觀判斷而導致其相對于準確的時間間隔過大或過小,即具有一定的粗糙性。
時間間隔的粗糙性可能被惡意用戶利用。惡意用戶可利用多委托機制,向多個委托者提出授權請求,從而獲得多個授權者授予的對同一訪問授權的令牌,其中,每個授權者都根據自己的理解限制時間間隔,該用戶便可獲得粗糙性最大的時間間隔授權,從而對IoT 應用的安全性和隱私造成威脅。
時間間隔的粗糙性是由授權者對權限的時間限制認識不精準導致的,由于思維本身的粗糙性,授權者難以發現自身配置規則的粗糙性。
針對以上問題,本文在實際工作中發現,如果多委托者對同一訪問的時間間隔不一致,那么至少一個時間間隔是粗糙的,即規則語義中的時間間隔是粗糙近似表示。因此,本文從時間間隔一致性分析的角度,分析來自多委托的同一訪問的時間間隔的差異,進而分析時間間隔的粗糙性,并將分析結果通過高可讀性的方式顯示給管理員,從而使管理員可以發現規則中的粗糙性。
本文給出一種IoT 下CapBAC 規則語義表示模型IoTACS(IoT access control semantics)及其時間間隔粗糙性分析(IoTRA,IoT CapBAC interval roughness analysis)算法。首先,給出方法的應用場景和系統框架;然后,基于語義網理論建立IoT CapBAC 規則語義表示模型;最后,界定時間間隔粗糙性,并基于時間間隔一致性給出其形式化表示,基于Jena API(Jena application programming infterface)和JavaCC(Java complier compiler)API給出時間間隔粗糙性分析算法。本文的貢獻如下。
1) 本文提出了一種高可讀性的IoT CapBAC規則語義表示模型,給出IoT CapBAC 規則的領域概念結構(包括領域的概念和關系),可作為IoT CapBAC 規則領域的術語集;用概念類的具體實例來描述規則的指稱語義,因此與以屬性條件為語義組分的形式化方法[10]相比具有更高的可讀性。
2) 本文指出了IoT CapBAC規則時間間隔的粗糙性問題,并從多委托規則不一致對比角度給出該概念的形式界定。該概念用于刻畫規則語義的一種不確定性問題,為后續該問題的研究提供基礎。
3) 本文拓展了 OWL-Time(Web ontology language-time)[11]時間間隔關系及其形式表示,可為其他時間本體研究提供參考。
委托CapBAC 因為其輕量級、動態性和分布式的特點,被IoT@Work 廣泛應用于IoT 訪問控制場景中[12]。近年來,CapBAC 與區塊鏈結合成為研究熱點。CapBAC 方案具有最小權限原則的優點,即每個主機必須使用最小權限來完成訪問;此外,該方案允許主體將訪問權限委托給其他主體。在最新的研究中,為使委托具有靈活性,委托關系的結構由樹變為圖,即允許多個主體將自己的權限委托給一個主體,這種情況下,一個主體會擁有多個來自不同委托主體的令牌[6-7]。
由于最小權限原則使主體、操作和客體都是最小元素,不存在包含關系,因此該方案下的訪問不存在由于主體、操作和客體的包含關系而導致的不一致問題,但規則中的時間間隔可能存在不一致。例如,在智能家居這類需要人工分配訪問權限時間的場景中,由于不同的人對訪問控制權限應賦時間的認識不同,對同樣訪問的多委托授權者簽發的令牌中的訪問控制規則的時間可能不一致,而現有文獻尚未關注該問題。
已有文獻研究IoT CapBAC 方案中的安全問題。Nakamura 等[13-14]指出了CapBAC 方案中可以導致信息泄露的漏洞,即某用戶具有的權能限定在某個時間間隔內,這期間用戶將數據存放于另一個在其他時間可訪問的數據內,這樣就可以使用戶在非法時間訪問該數據。但文獻[13-14]關注的是CapBAC 系統流程上的漏洞,而本文關注的是訪問控制規則的漏洞。
當前IoT 的語義表示和分析研究主要關注IoT設備配置的表示和分析[10,15]。Farooq 等[10]提出了一種基于Prolog 的IoT 配置安全屬性聲明及配置與安全屬性沖突檢測的方法。Vannucchi 等[15]提出了一種基于SMT 的對“事件-條件-動作”IoT 配置規則形式化驗證的技術。上述文獻采用基于形式化的建模方式,無法表現訪問控制意圖的高層實體。
本體技術不但可以表現底層的謂詞邏輯,也能表現結構化、易理解的領域知識。CapBAC 訪問控制規則語義本質上是訪問事件,基于本體的CapBAC 語義表示本質上屬于事件本體表示研究范疇。現有事件本體模型主要有Event-Model-F[16]、LODSE(linking open descriptions of social event)[17]、TEO(time event ontology)[18]等。其中,Event-Model-F 描述時間、空間、物體和人有關的事件本體;LODSE 和TEO 描述社會事件。現有時間本體模型主要有OWL 描述的Time Ontology[11,19]、安全領域的時間本體[20]和GFO Time Ontology[21]。其中,Time Ontology 提供了時間屬性,并且描述了時間點和時間區間的順序。OWL-Time 時間本體描述了時間相關概念,它用OWL 的xsd:dataTime 數據類型定義了Intervals 和Time Point,這些類型支持數據的比較,因此也可以表示特定時間點之間順序關系,但OWL-Time 沒有聲明怎樣推理interval 和point 之間的量化關系。GFO-Time 用一階邏輯公理表示時間,是時間的代數。此外,TEO也對GFO 做了改進,加入了在醫學語義中經常出現的“Period Time”的語義表示。
當前時間本體沒有給出時間先后關系的形式化表示,本文研究擴展時間的關系并給出形式化表示。當前事件本體中,均認為事件是狀態的變化,并且定義的是針對具體領域的事件,本節不關注事件的狀態變化,而僅僅關注事件的動作,并且定義IoT CapBAC 特定領域的事件組分。另外,當前的IoT 設備配置表示和分析主要基于形式化表示和分析,但該方法一直存在分析效率瓶頸[22]。
綜上,事件本體和時間本體可讀性較好,為建立新的IoT CapBAC 語義模型和探索快速的語義分析算法提供了基礎,但針對IoT CapBAC 領域的事件語義及時間關系語義,以及時間間隔粗糙性分析算法尚需要進一步研究。
系統框架如圖1 所示。令牌簽發機制由物聯網實體、云服務和部署在區塊鏈上的智能合約構成。其中,物聯網實體指用戶、智能設備等,智能合約通過云服務接口彼此訪問,并通過云服務存放數據。
CapBAC 訪問控制令牌簽發機制如圖1 中的步驟1)~步驟6)、步驟10)~步驟12)所示。本文在上面的流程中加入粗糙性檢測方法,如圖1中的步驟7)~步驟9)所示,其中關鍵為步驟8)和步驟9)。具體步驟如下。

圖1 系統框架
1) 云服務部署區塊鏈和實現CapBAC 授權功能的智能合約。
2) 智能合約產生的令牌等數據存放于云服務上。
3) 物聯網的實體均向物聯網注冊,獲取VID和區塊鏈賬號。
4) 實體通過云服務向委托者申請授權。
5) 委托者給出授權的訪問控制規則,調用智能合約,提出令牌簽發請求。
6) 當前區塊鏈中的智能合約驗證請求的有效性。
7) 查詢實體的所有令牌。
8) 生成步驟7)中返回令牌的訪問控制規則的語義。
9) 分析語義中的時間間隔的粗糙性。
10) 智能合約根據請求是否有效,簽發令牌或拒絕。
11) 返回令牌簽發結果給云服務。
12) 返回令牌簽發結果給實體。
Nakamura 等[6-7]給出了步驟7)的實現,粗糙性檢測方法的關鍵在于步驟8)和步驟9),即本文所提的IoTRA 算法。該算法的理論基礎是CapBAC 規則的語義模型(記為IoTACS)和時間間隔粗糙性表示方法。其中,前者由IoT 訪問控制術語集(記為CBACT,描述領域術語集,包括高層意圖的概念結構和基本概念的數據屬性等)、規則句義(記為CBACA1,是用該術語集描述的規則的句義)、規則句義隱含的時間關系語義(記為CBACA2)三部分組成;后者由時間間隔粗糙性(記為CBACA3)組成。
本節用描述邏輯給出CapBAC的術語集的形式化表示。
IoT CapBAC 規則的句法為

其中,rule 為非終結符,其余詞法變量為終結符。
按照易于管理員理解的概念及結構,本文定義描述式(1)所示規則語義所需的術語及關系,如圖2所示。

圖2 CapBAC 規則的術語集——CBACT
為描述式(1)的前4 項語義,本文定義“實體”(Entity)、“操作”(Operate)2 個概念,以及“操作是”(oprIs)、“主體是”(subIs)、“客體是”(objIs)3 個對象關系來界定“訪問”概念;用前4 項的值作為數據屬性界定“實體”和“操作”概念。
OWL-Time 本體中的“ 時間間隔(time:Interval)”概念表示式(1)中后12 項的語義;該概念由該本體中的“日期時間”(time:DataTime)概念,以及“time:hasBeginning”和“time:hasEnd”這2 個對象關系來界定;“日期時間”概念由這些屬性值作為數據屬性的值來界定。
為表示粗糙性,本文定義“粗糙集”(isRoughSetOf)對象關系表示“時間間隔”之間的粗糙性關系;定義“后”(after)關系表示時間之間的順序關系,進而界定“包含”(include)、“交叉”(intersect)2 種不一致關系。
整個規則語義由上述概念界定的“訪問控制”(AccessControl)概念來描述。
綜上,術語集中共包含6 個概念、11 個對象關系以及8 個數據屬性關系。
1)“訪問”的概念結構
定義1操作。操作表示主體通過物聯網內的協議對客體完成的動作。在IoT 環境中,操作由IoT 中的協議類型和該協議中的標志位唯一標識。如IoT 中的MQTT 協議的PUBLISH、SUBSCRIBE 標志位分別表示寫和讀操作,或者HTTP 的PUT 或GET 標志位分別表示寫和讀操作。操作的形式化定義為

其中,xsd:String 是XSD(XML schema definition)中內置的數據類型。下文帶“xsd”命名空間的數據類型也是如此,不再贅述。
定義2實體。實體是發起操作的主體和執行操作的客體的集合。在IoT CapBAC 中,主體和客體都是最小粒度,因此不進一步用屬性來界定該概念。
定義3訪問。訪問是主體對客體執行的一次操作。該概念由主體、客體、操作唯一標識,因此在定義1、定義2 的基礎上,引入3 個對象關系即可形式化表示該概念。

2)“時間間隔”的概念結構
OWL-Time 本體通過首先定義“日期時間”,在此基礎上給出了“時間間隔”的定義,本文直接引入了這種概念結構,并進一步給出其形式化表示。
定義4日期時間。日期時間表示日歷時鐘系統中的一個時刻。對日歷時鐘系統的不同元素用單獨的值構成日期和時間的描述,引入OWL-Time 的數據屬性:年(year)、月(month)、日(day)、小時(hour)、分鐘(minute)、秒(second),由OWL的XSD 數據類型(如Decimal 和 Integer)表示。另外,為后續描述時間間隔之間的關系,還擴展定義了對象屬性 after,它表示日期時間之間的“在……后”順序關系。

定義5時間間隔。時間間隔是表示時間日期范圍的時間。它由開始的日期時間和結束的日期時間唯一指定;此外,為表示粗糙性,本文引入了時間間隔之間的包含(include)、交叉(intersect)和粗糙集(isRoughSetOf)關系。形式化表示如下
1.4 觀察指標 觀察兩種術式治療患者的術中出血量、淋巴結清掃數目、手術時間、術后肛門排氣時間、術后住院時間、術后并發癥發生率及術后生活質量,術后生活質量包括排便頻率、排便緊迫感、排便困難及肛門功能滿意度。

3)“訪問控制”的概念結構
“訪問控制”是允許的訪問的聲明。它由訪問和日期時間間隔唯一確定。形式化表示如下

本節首先基于CapBAC 規則的句法結構給出其句義(CBACA1)表示方法,然后給出句義中隱含的時間關系語義(CBACA2)。
對于滿足式(1)句法的CapBAC 規則,其句義可看作CBACT 中概念的實例以及實例間關系的集合。其形式化描述如下

其中,x和y為實例,C為x所屬的概念,z為實例或者值,r為對象關系或者數據屬性關系。
圖3 表示語義樹中的16 個葉子節點中的帶“_V”后綴的變量為式(1)中的16 個終結符詞法變量的取值。帶“_S”后綴的變量是由帶“_V”后綴的變量所生成的新變量,它們用來表示新生成的高層意圖對象。

圖3 CapBAC 規則句義的語義樹表示
這種句義表示方法與形式化的語義表示方法相比,不但能夠表示語義屬性的真值表達式,而且能夠表示其背后體現的高層訪問控制意圖的實體組分和實體之間的關系。因而,該句義表示方法可用于表示時間間隔的粗糙性。
5.1 節給出了句義表示方法。這些語義生成了各個基本概念的實例和依據概念界定關系生成的非基本概念的實例。但這些實例之間隱含的時間關系尚未表示。本節給出生成這些關系的定理。
設2 個DateTime 類型的實例d1 和d2 的year、month、day、hour、minute、second 的屬性值分別為y1、y2、m1、m2、d1、d2,h1、h2、、s1、s2。
定理1日期時間的“后”關系的邏輯表示為
式(8)中的橫線上面是邏輯條件,下面是邏輯結論。條件中以“swrl”為命名空間的謂詞為SWRL(semantic Web rule language)謂詞,其中,swrl:lessThan、swrl:equal 分別表示小于、等于數值關系謂詞。
通過上述邏輯表達式,可以通過推理日期之間的after 關系,進而推理出時間間隔之間的包含(include)和交叉(intersect)2 種不一致關系。
設x1、x2為時間間隔的實例,y1、y2、y3和y4為日期時間的實例,則有定理2 和定理3。
定理2Interval 的邏輯表示滿足以下條件。

定理3Interval 的交叉關系的邏輯表示為

由于定理1、定理2 和定理3 較易理解,因而其證明過程不再贅述。
CBACA2中的元素為式(8)~式(10)所示推理規則的后件部分。
通過對時間間隔不一致現象的分析,本文發現以下規律。
定理4如果2 個規則對同樣訪問授權的時間間隔不一致,則其意圖至少是其中一個時間間隔的粗糙集。

證明1) 若2 個規則的訪問相同,則該訪問的時間間隔意圖(即應允許的最準確的時間間隔)應是唯一的。
2) 若2 個時間間隔不一致,則2 個時間間隔不等價。
3) 若2 個時間間隔都是對同一個訪問的時間間隔意圖的精準表示,則由1)可推知,2 個時間間隔均與意圖等價,即2 個時間間隔等價。
3)的結論與2)矛盾,因此3)的假設不成立。
證畢。
依據定理4,可以將意圖定義為2 個時間間隔的粗糙集。當其中一個時間間隔為意圖的精確表示時,可以看作粗糙集中粗糙度為0 的極限情況。
當有2 個訪問A和A′,對同樣的訪問a,有包含或者交叉的2 個時間間隔x和y時,則存在時間間隔意圖z是x的粗糙集,也是y的粗糙集。形式化表示為式(11)和式(12)。

式(11)和式(12)所示推理規則的后件部分為新產生的語義,記為CBACA3,即時間間隔的粗糙性。該語義的含義為創建新的時間間隔實例z,它是x和y的粗糙集。
時間間隔粗糙性分析算法偽代碼如算法1 所示。
算法1IoTRA 算法
輸入Rules={rulei|0≤i≤t},IoTACS.//Rules是待分析的規則集合;IoTACS 是TDB 形式存儲的OWL 語義,//其內容僅包含CBACT(如第4 節所示,由人工創建完成),其他組分由算法依次生成
輸出CBACA3// CBACA3是規則語義中的時間間隔粗糙性(如第6 節所示)

首先借助Protégé 工具由人工建立術語體系(即第4 節所示的CBACT),然后在此基礎上,對規則進行語法分析,依照圖3 所示的語義樹生成句義(即第5.1 節所示的CBACA1),接著根據式(8)~式(10)推理出時間關系(即第5.2 節所示的CBACA2),根據式(11)~式(12)推理出粗糙關系(即第6 節所示的CBACA3),最后得到語義 IoTACS=CBACT ∪CBACA1∪CBACA2∪CBACA3。
算法1 中,生成語義部分的時間復雜度與規則的條數m相關,IOTACS 中的CBACA 的語義規模(即斷言的數目)與m成正比,因而CBACA1語義生成的復雜度為O(n)。語義推理部分,CBACA2和CBACA3均使用SPARQL 語言在Jena TDB 數據庫上完成推理,由于該數據庫按照主體、客體、屬性三元組分別建立索引,因而,設語義節點個數為n,推理的復雜度即為查詢的復雜度,每一個查詢項的復雜度為O(lgn),查詢的項數為式(8)~式(12)的前件所示,最大為6 項,因而推理的復雜度為O((lgn)6)。
本文給出的IoT CapBAC 規則語義表示模型,及其基礎上的時間間隔一致性分析算法,通過分析來自多委托的同一訪問的時間間隔的差異,進而分析出時間間隔的粗糙性,并將分析結果通過高可讀性的方式顯示給管理員,從而使管理員可以發現規則中的粗糙性。該方法的特點如下。
1) IoTRA 算法的有效性:可以通過一致性對比分析出時間間隔的粗糙性。
2) IoTACS 模型的高可讀性:與形式化方法相比,該方法的語義具有更高的可讀性,便于管理員理解;可讀性采用由于易用而應用最廣泛的文本可讀性[23]來度量,計算式為

其中,Average Sentence Length 表示句子包含的語詞數;Number of hard words 表示難理解的詞,在英語語言中指超過2 個音節的詞,本文將該參數定義為不指代高層對象或關系的詞。
3) IoTRA 算法的高效性:與形式化方法相比,該方法的分析速度更快。本節通過仿真較大規模數據,對比該方法和形式化方法的分析時間,說明該方法的高效性。
本節采用智能家居場景中的案例進行研究,但在其他采用CapBAC多委托機制的場景中,如家居、數字醫療、車聯網、智能電網、工業與公共基礎設施等采用CapBAC 機制實現訪問控制的場景中,也同樣適用。
本節案例場景內有3 個用戶:Alice、Bob 和Eve。Alice 與Bob 是家人,因此Alice 將智能家居訪問全部委托給Bob。2020 年11 月15 日Alice出差一天,她將智能家居中的灌溉服務的訪問權在10:00—12:00 這個時段賦予鄰居Eve。如果Eve想多獲得灌溉系統的訪問權,他可以再向Bob 申請權限;Bob 平時不灌溉,因此依據Alice 的出差時間,將灌溉系統的訪問時間設置為8:00—22:00。
首先,用Protégé 工具建立術語集,如圖4 所示。圖4(a)~圖4(c)分別為用Protégé 創建的概念集、對象屬性關系集和數據屬性關系集。這些術語集存儲為OWL 文件。

圖4 用Protégé 人工構建的術語
然后,在上述場景中,每次簽發Token 前運行IoTRA 算法,該算法將本次授權的Token 與之前的Token 對比,生成規則的語義、推理隱含的時間關系,并進一步推理出時間間隔粗糙性。運行IoTRA算法,IoTACS 的全部語義用Protégé 顯示,如圖5所示。

圖5 用Protégé 顯示IoTACS 的全部語義
1) IoTRA 算法的有效性討論
圖5 中,“TimeIntention1”為新生成的Interval類型的實例,“IoTACT#2020.1.15_8:00_22:00”和“IoTACT#2020.1.15_10:00_12:00”為其粗糙集。
這樣,授權者Bob 收到該報告后可知授權的時間間隔的粗糙度為0.86,由于粗糙度太高,因此依據interval1 調整授權時間為10:00—12:00,從而有助于提升授權時間的準確性。
該案例研究說明,在家居、數字醫療、車聯網、智能電網、工業與公共基礎設施等采用CapBAC 多委托機制實現訪問控制的場景中,使用本文算法可以通過不同委托者在授權的時間間隔上的對比發現其中至少一個時間間隔的粗糙性,從而有助于委托者準確調整時間間隔而降低風險。
2) IoTACS 與形式化模型相比較的高可讀性
本節對比IoTACS 與Farooq 等[10]提出的形式化模型來表示本節案例語義的可讀性。
首先,IoTACS 表示的一條語義如圖5 中的Token1所示,其中8 個實體詞、7 個關系詞,共計15 個詞,這些語詞都是高層對象或關系,均不是難懂詞,用式(13)計算IoTACS 表示的句義的可讀性為0.4×(15+0)=6。
采用文獻[10]模型,用Prolog 表示同樣的語義則為

根據文獻[10]表示的語義用到30 個語詞,包括15 個對象和15 個謂詞。其中,前3 個對象和前3 個謂詞是易懂詞,其余均為難懂詞,可讀性為0.4×(30+24)=21.6。
由此可見,IoTAC 模型的可讀性更好。語義的可讀性在規則分析中對于輔助管理員理解、診斷問題有重要影響[24]。因此,本文提出的模型更能輔助管理員理解當前的訪問控制規則語義及其中的粗糙性。
選擇與本文最相近的IoTC2算法[10],來對比在不一致分析上的性能。
本文人工構造了6 組不同規模的訪問控制規則,分別包含500 條、1 000 條、1 500 條、2 000 條、2 500 條和3 000 條訪問控制規則,并生成了對應的Prolog 語義和本文的語義。為考慮存在不一致時的分析效率,構造了3%不一致規則的數據。
本節實驗用IoTRA 算法和IoTC2算法分別析其中的不一致,記錄各算法的響應時間。由于IoTC2算法只能分析不一致,不能分析粗糙性,因此本節實驗僅對比2 種算法的不一致分析性能,沒有對比粗糙性分析性能。
實驗環境如下:操作系統為Win7,內存為16 GB,CPU 為Intel(R) Core(TM)i5-320M 2.50 GHz。響應時間對比如表1 所示。

表1 分析不一致性的響應時間對比
從表1 可以看出,IoTRA 算法的響應時間在不同的不一致規則比例中都顯著優于IoTC2算法。這是因為,IoTRA 算法分析不一致的復雜度為O((lgn)k),其中n為節點個數,k為推理規則(如式(8)~式(10)所示)前件條件的最大項數。IoTC2算法基于Prolog API,是一種采用深度有限遍歷的方法,依據深度遍歷的復雜度,其推理語義的復雜度為O其中m為節點個數,l為推理規則項數。語義節點數n和m為同量級變量,k和l為同量級變量,因此IoTRA 算法的時間復雜度小于IoTC2算法。
實驗結果表明,本文所提IoTRA 算法對規則分析的響應性能顯著優于IoTC2算法,更適用于大規模的IoT 訪問控制規則分析。
本文為突破IoT CapBAC 規則委托中的多授權規則時間粗糙性分析的瓶頸,提出規則語義中的時間間隔語義是時間間隔意圖的粗糙集近似是導致該問題的根本原因,進而提出時間間隔粗糙性分析方法;給出了IoT 下CapBAC 規則的語義模型IoTAC,形式化界定時間間隔的不一致及粗糙性,并基于語義網開源Java 架構——Apache Jena API,給出時間間隔粗糙性分析算法IoTRA。案例研究表明,本文所提算法可在簽發訪問控制規則前分析出時間間隔粗糙集,有助于管理員及時調整準確的授權時間,并且與形式化模型相比,IoTAC 具有更好的可讀性。與IoTC2算法的對比實驗說明,IoTRA算法的響應時間顯著減少。本文所提算法為分析IoT 訪問控制規則語義的粗糙性提供了一種思路。將來的研究工作是分析IoT 訪問控制規則語義中的其他不確定性。