汪雁
(甘肅林業職業技術學院,甘肅天水,741020)
物聯網是基于互聯網與通信網作為基礎,從而為物理設備提供信息交互、無縫連接的互聯網絡。在這一個網絡之中,物理設備可以滿足設備之間的精確協作,也可以滿足人機之間的實時聯動。伴隨著科技的進步與發展,物聯網已經發展為以人為本的面向機器的物聯網應用。因此,希望通過本文的研究,能夠對于今后的分析起到一定的借鑒意義。
基于技術層面來分析,區塊鏈本身具有去中心化、不可篡改、數據可追溯等基本特點,也可以利用智能合約從而滿足去中心化的邏輯計算。基于區塊鏈的訪問控制,區塊鏈本身能夠做一個存儲關鍵數據的分布式數據庫,同時也可以形成去中心化的計算平臺。在數據安全角度上加以分析,區塊鏈本身能夠降低訪問控制對于單一的可信實體的依賴度,提高數據的安全性與訪問控制的可靠性。基于設備安全角度出發,物聯網設備使用區塊鏈,就能夠作為底層的網絡架構從而逐漸物聯網,最終提升其外部網絡攻擊的抵御能力,從而保障設備的安全性[1]。
訪問控制技術作為物聯網隱私與安全保護的重要手段,基于區塊鏈的物聯網訪問控制,在兩者的相互結合下,其優點在于:第一,去中心化特點將傳統集中式訪問控制的單點故障問題解決,這樣有利于物聯網容錯性的提高。因為并沒有第三方實體的控制,所以還可以滿足數據安全性的提升。第二,智能合約能夠為物聯網設備提供相應的執行服務,這樣就可以滿足物聯網設備的自動化管理要求。第三,對于區塊鏈本身的不可篡改特點,就確保了上傳的數據也不會出現篡改的問題,并且因為可追溯性,所以,能夠進一步提高其可靠性[2]。
在本文的研究中,主要是就新的分布式影視保護訪問控制系統加以描述,針對本系統的架構,其具體見圖1所示。

圖1 訪問控制機制示意圖
對于資源所有者,在本地的客戶機上利用C/C++/Solidity等自然語言來進行智能合約的邏輯結構編寫,然后做好代碼的編譯,從而將其部署到區塊鏈上。對于整個智能合約的執行過程,都是基于可信執行環境內的。所有調用的參數都是通過為智能合約生成公鑰來進行加密處理。第一,對于資源的所有者,在本地的客戶機上通過C/C++/Solidity等自然語言來進行智能合約的邏輯結構編寫。第二,資源所有者直接將智能合約編譯成為二進制代碼,然后將其嵌入到交易之中,從而實現區塊鏈中的部署。第三,對于共識節點,在部署交易驗證之后,在TEE之中進行合約代碼的加載,這樣就會有一個對應的秘鑰對生成。第四,共識節點則是直接將合約的地址與公鑰廣告給全網的節點。
針對域內的訪問請求者,資源所有者直接發起授權合約公鑰加密的調用交易,其主要包含了訪問請求者的角色、地址、設備與權限,然后直接上傳到區塊鏈之中。在交易驗證通過之后,授權合約就會執行對應的Addrole操作,然后訪問請求者就會直接將信息添加到授權合約的訪問控制列表之中。之后,訪問請求者就可以向著認證合約發送訪問的請求。第一,訪問請求者直接發送角色請求給資源所有者。第二,資源所有者在接收到角色請求之后,就會進行對應的角色分配處理。第三,訪問請求這朝著認證合約發送加密的訪問請求。第四,認證合約直接返回加密的訪問結果。
針對跨域訪問請求者,資源所有者在接受到訪問請求對應的角色請求以及對應的私鑰簽名之后,就會直接在授權合約之中添加新定義的訪問控制策略。跨域訪問請求者朝著授權合約發送相關的簽名與地址的加密角色請求。授權合約按照定位的訪問控制,就可以為請求者分配對應的角色,然后選擇通過Grantrole操作,直接在訪問控制列表之中添加訪問請求者的信息。跨域訪問請求者朝著認證合約發送,從而實現角色信息加密訪問請求的認證。第一,訪問請求者直接發送公鑰地址與私鑰簽名給資源所有者。第二,資源所有者朝著授權合約實現新的訪問控制策略的添加。第三,訪問請求者將合約公鑰加密的角色請求發送給授權合約。第四,跨域訪問請求者直接將訪問請求發送給認證合約。第五,認證合約直接返回相對應的加密訪問結果。
基于智能合約的物聯網隱私保護訪問控制流程,其主要是需要介紹智能合約的部署,介紹域內訪問請求者和跨域訪問請求者相對應的訪問控制流程。然后,通過認證合約與授權合約的幫助,就可以滿足物聯網訪問控制系統的優化。對于其相應的實驗分析,具體如下:
基于Truffle框架來做好對應的部署,并且調用智能合約,通過Ganache開發與測試本地區的區塊鏈,Ganache能夠實現真實的以太坊網絡的模擬,其包含了多個賬戶的傳輸構建以及需要的以太幣。
針對上述的設備而言,資源所有者由服務器扮演,其臺式電腦屬于共識節點,筆記本電腦屬于訪問的請求者,網關為樹莓派。考慮到這一部分設備本身具有一定的存儲與計算能力。同時,在設備之中還有以太坊的客戶端安裝,所以,這些設備就可以直接轉化成為以太坊節點。在本文的研究分析之中,基于Remix集成開發環境來實現智能合約的編寫與編譯,通過HTTP協議,就可以滿足web3.js和以太坊客戶端向的連接需求,這樣就可以滿足已經編譯的智能合約部署。針對Web3.js,其可以直接通過以太坊客戶端,從而針對智能合約的執行狀態進行對應的監測處理,這也就是實現訪問結果的有效控制。作為訪問請求者,其通過以太坊客戶端,直接朝著認證合約發送訪問的請求交易,然后從認證合約接受到對應的返回訪問結果。
針對對應的訪問控制的實驗分析,本章節主要是針對其具體的訪問結果進行了解,然后做好對應的分析。
4.2.1 實驗結果
在實驗案例分析中,基于以太坊區塊鏈來實現授權合約與認證何悅的編譯與部署,這樣就可以滿足實體之間的細粒度訪問控制要求。針對其部署結果,具體見圖2所示。

圖2 智能合約部署結果
為了滿足訪問請求者向著認證合約發送物聯網設備訪問請求可行性的驗證,訪問請求者就會通過本底的以太坊客戶端,從而朝著認證合約發送對應的訪問請求交易。
在訪問請求發送之前,還需要針對交易進行加密處理,這樣可以滿足交易隱私性的保護。同時,通過零知識證明生成證明π。為了明確交易的正確性,就要求通過共識節點來進行驗證處理。
4.2.2 性能分析
基于零知識證明效率、物聯網設備響應時間和網管的吐吞量,從而與其余的方案進行相互的對比。通過零知識證明算法DBS,其證明算法生成的證明大小為1019位,其初始化的時間為9秒。
通過零知識證明算法DBS,從而與zk-STARK、Bulletproof、Ligero進行生成時間與驗證時間的對比。通過結果表明,DBS算法的實用,在生成時間上要優于其他算法。同時,伴隨著Merkle樹葉子節點的不斷增加,也會對應的增加證明時間。
基于驗證時間分析,DBS驗證時間優于Bulletproof 、Ligero算法,雖然時間上要比zk-STARK算法驗證時間長,但是也處于可接受的范圍內。
考慮到物聯網設備數量龐大,為了滿足訪問請求,就要求網關能夠具有高性能的特征。所以,基于本地網關的吞吐量以及帶寬進行測試,其結果能夠滿足高性能的要求。
基于不同訪問請求者,測試了域內訪問請求者以及跨域訪問請求者從本地網關到物聯網設備的網絡延遲。為了針對本框架的訪問控制效率加以測試,在測試之中,其訪問次數分別為100次、200次、500次、1000次,然后做好訪問請求的平均延時記錄,并且對比基于區塊鏈的屬性訪問控制模型和角色訪問控制模型。
4.2.3 小結
通過基于區塊鏈的物聯網隱私保護訪問控制機制的實驗結果分析,首先給出對應的仿真實驗設備與環境,介紹對應的系統部署,然后通過智能合約在區塊鏈上相對應的部署結果,這樣就直接給出了訪問控制結果和零知識證明結果。最后通過性能的分析比較之后表明機制本身的可行性與機密性,這樣就能夠滿足分布式可信的物聯網訪問控制要求。
基于區塊鏈物聯網訪問控制方案的隱私問題分析,從而對應的設計了基于區塊鏈的物聯網隱私保護訪問控制機制,這樣就能夠滿足可信、安全、方便的訪問控制,最終促進其可持續的應用與發展。