汪雁
(甘肅林業(yè)職業(yè)技術(shù)學(xué)院,甘肅天水,741020)
物聯(lián)網(wǎng)是基于互聯(lián)網(wǎng)與通信網(wǎng)作為基礎(chǔ),從而為物理設(shè)備提供信息交互、無(wú)縫連接的互聯(lián)網(wǎng)絡(luò)。在這一個(gè)網(wǎng)絡(luò)之中,物理設(shè)備可以滿足設(shè)備之間的精確協(xié)作,也可以滿足人機(jī)之間的實(shí)時(shí)聯(lián)動(dòng)。伴隨著科技的進(jìn)步與發(fā)展,物聯(lián)網(wǎng)已經(jīng)發(fā)展為以人為本的面向機(jī)器的物聯(lián)網(wǎng)應(yīng)用。因此,希望通過本文的研究,能夠?qū)τ诮窈蟮姆治銎鸬揭欢ǖ慕梃b意義。
基于技術(shù)層面來(lái)分析,區(qū)塊鏈本身具有去中心化、不可篡改、數(shù)據(jù)可追溯等基本特點(diǎn),也可以利用智能合約從而滿足去中心化的邏輯計(jì)算?;趨^(qū)塊鏈的訪問控制,區(qū)塊鏈本身能夠做一個(gè)存儲(chǔ)關(guān)鍵數(shù)據(jù)的分布式數(shù)據(jù)庫(kù),同時(shí)也可以形成去中心化的計(jì)算平臺(tái)。在數(shù)據(jù)安全角度上加以分析,區(qū)塊鏈本身能夠降低訪問控制對(duì)于單一的可信實(shí)體的依賴度,提高數(shù)據(jù)的安全性與訪問控制的可靠性?;谠O(shè)備安全角度出發(fā),物聯(lián)網(wǎng)設(shè)備使用區(qū)塊鏈,就能夠作為底層的網(wǎng)絡(luò)架構(gòu)從而逐漸物聯(lián)網(wǎng),最終提升其外部網(wǎng)絡(luò)攻擊的抵御能力,從而保障設(shè)備的安全性[1]。
訪問控制技術(shù)作為物聯(lián)網(wǎng)隱私與安全保護(hù)的重要手段,基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制,在兩者的相互結(jié)合下,其優(yōu)點(diǎn)在于:第一,去中心化特點(diǎn)將傳統(tǒng)集中式訪問控制的單點(diǎn)故障問題解決,這樣有利于物聯(lián)網(wǎng)容錯(cuò)性的提高。因?yàn)椴]有第三方實(shí)體的控制,所以還可以滿足數(shù)據(jù)安全性的提升。第二,智能合約能夠?yàn)槲锫?lián)網(wǎng)設(shè)備提供相應(yīng)的執(zhí)行服務(wù),這樣就可以滿足物聯(lián)網(wǎng)設(shè)備的自動(dòng)化管理要求。第三,對(duì)于區(qū)塊鏈本身的不可篡改特點(diǎn),就確保了上傳的數(shù)據(jù)也不會(huì)出現(xiàn)篡改的問題,并且因?yàn)榭勺匪菪?,所以,能夠進(jìn)一步提高其可靠性[2]。
在本文的研究中,主要是就新的分布式影視保護(hù)訪問控制系統(tǒng)加以描述,針對(duì)本系統(tǒng)的架構(gòu),其具體見圖1所示。
圖1 訪問控制機(jī)制示意圖
對(duì)于資源所有者,在本地的客戶機(jī)上利用C/C++/Solidity等自然語(yǔ)言來(lái)進(jìn)行智能合約的邏輯結(jié)構(gòu)編寫,然后做好代碼的編譯,從而將其部署到區(qū)塊鏈上。對(duì)于整個(gè)智能合約的執(zhí)行過程,都是基于可信執(zhí)行環(huán)境內(nèi)的。所有調(diào)用的參數(shù)都是通過為智能合約生成公鑰來(lái)進(jìn)行加密處理。第一,對(duì)于資源的所有者,在本地的客戶機(jī)上通過C/C++/Solidity等自然語(yǔ)言來(lái)進(jìn)行智能合約的邏輯結(jié)構(gòu)編寫。第二,資源所有者直接將智能合約編譯成為二進(jìn)制代碼,然后將其嵌入到交易之中,從而實(shí)現(xiàn)區(qū)塊鏈中的部署。第三,對(duì)于共識(shí)節(jié)點(diǎn),在部署交易驗(yàn)證之后,在TEE之中進(jìn)行合約代碼的加載,這樣就會(huì)有一個(gè)對(duì)應(yīng)的秘鑰對(duì)生成。第四,共識(shí)節(jié)點(diǎn)則是直接將合約的地址與公鑰廣告給全網(wǎng)的節(jié)點(diǎn)。
針對(duì)域內(nèi)的訪問請(qǐng)求者,資源所有者直接發(fā)起授權(quán)合約公鑰加密的調(diào)用交易,其主要包含了訪問請(qǐng)求者的角色、地址、設(shè)備與權(quán)限,然后直接上傳到區(qū)塊鏈之中。在交易驗(yàn)證通過之后,授權(quán)合約就會(huì)執(zhí)行對(duì)應(yīng)的Addrole操作,然后訪問請(qǐng)求者就會(huì)直接將信息添加到授權(quán)合約的訪問控制列表之中。之后,訪問請(qǐng)求者就可以向著認(rèn)證合約發(fā)送訪問的請(qǐng)求。第一,訪問請(qǐng)求者直接發(fā)送角色請(qǐng)求給資源所有者。第二,資源所有者在接收到角色請(qǐng)求之后,就會(huì)進(jìn)行對(duì)應(yīng)的角色分配處理。第三,訪問請(qǐng)求這朝著認(rèn)證合約發(fā)送加密的訪問請(qǐng)求。第四,認(rèn)證合約直接返回加密的訪問結(jié)果。
針對(duì)跨域訪問請(qǐng)求者,資源所有者在接受到訪問請(qǐng)求對(duì)應(yīng)的角色請(qǐng)求以及對(duì)應(yīng)的私鑰簽名之后,就會(huì)直接在授權(quán)合約之中添加新定義的訪問控制策略??缬蛟L問請(qǐng)求者朝著授權(quán)合約發(fā)送相關(guān)的簽名與地址的加密角色請(qǐng)求。授權(quán)合約按照定位的訪問控制,就可以為請(qǐng)求者分配對(duì)應(yīng)的角色,然后選擇通過Grantrole操作,直接在訪問控制列表之中添加訪問請(qǐng)求者的信息??缬蛟L問請(qǐng)求者朝著認(rèn)證合約發(fā)送,從而實(shí)現(xiàn)角色信息加密訪問請(qǐng)求的認(rèn)證。第一,訪問請(qǐng)求者直接發(fā)送公鑰地址與私鑰簽名給資源所有者。第二,資源所有者朝著授權(quán)合約實(shí)現(xiàn)新的訪問控制策略的添加。第三,訪問請(qǐng)求者將合約公鑰加密的角色請(qǐng)求發(fā)送給授權(quán)合約。第四,跨域訪問請(qǐng)求者直接將訪問請(qǐng)求發(fā)送給認(rèn)證合約。第五,認(rèn)證合約直接返回相對(duì)應(yīng)的加密訪問結(jié)果。
基于智能合約的物聯(lián)網(wǎng)隱私保護(hù)訪問控制流程,其主要是需要介紹智能合約的部署,介紹域內(nèi)訪問請(qǐng)求者和跨域訪問請(qǐng)求者相對(duì)應(yīng)的訪問控制流程。然后,通過認(rèn)證合約與授權(quán)合約的幫助,就可以滿足物聯(lián)網(wǎng)訪問控制系統(tǒng)的優(yōu)化。對(duì)于其相應(yīng)的實(shí)驗(yàn)分析,具體如下:
基于Truffle框架來(lái)做好對(duì)應(yīng)的部署,并且調(diào)用智能合約,通過Ganache開發(fā)與測(cè)試本地區(qū)的區(qū)塊鏈,Ganache能夠?qū)崿F(xiàn)真實(shí)的以太坊網(wǎng)絡(luò)的模擬,其包含了多個(gè)賬戶的傳輸構(gòu)建以及需要的以太幣。
針對(duì)上述的設(shè)備而言,資源所有者由服務(wù)器扮演,其臺(tái)式電腦屬于共識(shí)節(jié)點(diǎn),筆記本電腦屬于訪問的請(qǐng)求者,網(wǎng)關(guān)為樹莓派。考慮到這一部分設(shè)備本身具有一定的存儲(chǔ)與計(jì)算能力。同時(shí),在設(shè)備之中還有以太坊的客戶端安裝,所以,這些設(shè)備就可以直接轉(zhuǎn)化成為以太坊節(jié)點(diǎn)。在本文的研究分析之中,基于Remix集成開發(fā)環(huán)境來(lái)實(shí)現(xiàn)智能合約的編寫與編譯,通過HTTP協(xié)議,就可以滿足web3.js和以太坊客戶端向的連接需求,這樣就可以滿足已經(jīng)編譯的智能合約部署。針對(duì)Web3.js,其可以直接通過以太坊客戶端,從而針對(duì)智能合約的執(zhí)行狀態(tài)進(jìn)行對(duì)應(yīng)的監(jiān)測(cè)處理,這也就是實(shí)現(xiàn)訪問結(jié)果的有效控制。作為訪問請(qǐng)求者,其通過以太坊客戶端,直接朝著認(rèn)證合約發(fā)送訪問的請(qǐng)求交易,然后從認(rèn)證合約接受到對(duì)應(yīng)的返回訪問結(jié)果。
針對(duì)對(duì)應(yīng)的訪問控制的實(shí)驗(yàn)分析,本章節(jié)主要是針對(duì)其具體的訪問結(jié)果進(jìn)行了解,然后做好對(duì)應(yīng)的分析。
4.2.1 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)案例分析中,基于以太坊區(qū)塊鏈來(lái)實(shí)現(xiàn)授權(quán)合約與認(rèn)證何悅的編譯與部署,這樣就可以滿足實(shí)體之間的細(xì)粒度訪問控制要求。針對(duì)其部署結(jié)果,具體見圖2所示。
圖2 智能合約部署結(jié)果
為了滿足訪問請(qǐng)求者向著認(rèn)證合約發(fā)送物聯(lián)網(wǎng)設(shè)備訪問請(qǐng)求可行性的驗(yàn)證,訪問請(qǐng)求者就會(huì)通過本底的以太坊客戶端,從而朝著認(rèn)證合約發(fā)送對(duì)應(yīng)的訪問請(qǐng)求交易。
在訪問請(qǐng)求發(fā)送之前,還需要針對(duì)交易進(jìn)行加密處理,這樣可以滿足交易隱私性的保護(hù)。同時(shí),通過零知識(shí)證明生成證明π。為了明確交易的正確性,就要求通過共識(shí)節(jié)點(diǎn)來(lái)進(jìn)行驗(yàn)證處理。
4.2.2 性能分析
基于零知識(shí)證明效率、物聯(lián)網(wǎng)設(shè)備響應(yīng)時(shí)間和網(wǎng)管的吐吞量,從而與其余的方案進(jìn)行相互的對(duì)比。通過零知識(shí)證明算法DBS,其證明算法生成的證明大小為1019位,其初始化的時(shí)間為9秒。
通過零知識(shí)證明算法DBS,從而與zk-STARK、Bulletproof、Ligero進(jìn)行生成時(shí)間與驗(yàn)證時(shí)間的對(duì)比。通過結(jié)果表明,DBS算法的實(shí)用,在生成時(shí)間上要優(yōu)于其他算法。同時(shí),伴隨著Merkle樹葉子節(jié)點(diǎn)的不斷增加,也會(huì)對(duì)應(yīng)的增加證明時(shí)間。
基于驗(yàn)證時(shí)間分析,DBS驗(yàn)證時(shí)間優(yōu)于Bulletproof 、Ligero算法,雖然時(shí)間上要比zk-STARK算法驗(yàn)證時(shí)間長(zhǎng),但是也處于可接受的范圍內(nèi)。
考慮到物聯(lián)網(wǎng)設(shè)備數(shù)量龐大,為了滿足訪問請(qǐng)求,就要求網(wǎng)關(guān)能夠具有高性能的特征。所以,基于本地網(wǎng)關(guān)的吞吐量以及帶寬進(jìn)行測(cè)試,其結(jié)果能夠滿足高性能的要求。
基于不同訪問請(qǐng)求者,測(cè)試了域內(nèi)訪問請(qǐng)求者以及跨域訪問請(qǐng)求者從本地網(wǎng)關(guān)到物聯(lián)網(wǎng)設(shè)備的網(wǎng)絡(luò)延遲。為了針對(duì)本框架的訪問控制效率加以測(cè)試,在測(cè)試之中,其訪問次數(shù)分別為100次、200次、500次、1000次,然后做好訪問請(qǐng)求的平均延時(shí)記錄,并且對(duì)比基于區(qū)塊鏈的屬性訪問控制模型和角色訪問控制模型。
4.2.3 小結(jié)
通過基于區(qū)塊鏈的物聯(lián)網(wǎng)隱私保護(hù)訪問控制機(jī)制的實(shí)驗(yàn)結(jié)果分析,首先給出對(duì)應(yīng)的仿真實(shí)驗(yàn)設(shè)備與環(huán)境,介紹對(duì)應(yīng)的系統(tǒng)部署,然后通過智能合約在區(qū)塊鏈上相對(duì)應(yīng)的部署結(jié)果,這樣就直接給出了訪問控制結(jié)果和零知識(shí)證明結(jié)果。最后通過性能的分析比較之后表明機(jī)制本身的可行性與機(jī)密性,這樣就能夠滿足分布式可信的物聯(lián)網(wǎng)訪問控制要求。
基于區(qū)塊鏈物聯(lián)網(wǎng)訪問控制方案的隱私問題分析,從而對(duì)應(yīng)的設(shè)計(jì)了基于區(qū)塊鏈的物聯(lián)網(wǎng)隱私保護(hù)訪問控制機(jī)制,這樣就能夠滿足可信、安全、方便的訪問控制,最終促進(jìn)其可持續(xù)的應(yīng)用與發(fā)展。