• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制方案

      2023-12-30 05:26:20楊久華沈蘇彬
      關(guān)鍵詞:訪問者訪問控制靜態(tài)

      楊久華,沈蘇彬

      (1.南京郵電大學(xué) 計算機(jī)學(xué)院,江蘇 南京 210046;2.南京郵電大學(xué) 通信與網(wǎng)絡(luò)技術(shù)國家工程研究中心,江蘇 南京 210046)

      0 引 言

      隨著互聯(lián)網(wǎng)和傳感技術(shù)的快速發(fā)展,物聯(lián)網(wǎng)在實(shí)現(xiàn)物與物相連、人與物相連的基礎(chǔ)上被廣泛應(yīng)用于智能家居[1]、醫(yī)療健康監(jiān)測[2]等領(lǐng)域。據(jù)預(yù)測2025年物聯(lián)網(wǎng)將連接300億臺設(shè)備,而物聯(lián)網(wǎng)數(shù)據(jù)將呈現(xiàn)指數(shù)級增長[3]。這些隱私數(shù)據(jù)一旦泄漏,會給用戶帶來不必要的騷擾,或造成巨大經(jīng)濟(jì)損失。訪問控制是保障數(shù)據(jù)安全的關(guān)鍵性技術(shù)之一,其主要作用是阻止未授權(quán)的用戶操作以及限制授權(quán)用戶在非授權(quán)范圍內(nèi)的操作,只有具備操作權(quán)限的用戶才能訪問控制機(jī)制并訪問數(shù)據(jù),以保障數(shù)據(jù)安全[4]。因此,訪問控制成為物聯(lián)網(wǎng)環(huán)境保護(hù)數(shù)據(jù)安全的研究熱點(diǎn)之一。

      物聯(lián)網(wǎng)環(huán)境下的訪問控制需要考慮三個問題[5]:

      (1)輕量級的終端設(shè)備;

      (2)設(shè)備異構(gòu)且數(shù)量逐漸增多;

      (3)動態(tài)性,如設(shè)備的移動性。

      訪問控制模型是由主體、客體、操作和策略之間進(jìn)行交互,從而制定和實(shí)施訪問控制決策[6]。物聯(lián)網(wǎng)主流的訪問控制模型主要包括基于角色的訪問控制(Role-Based Access Control,RBAC)模型和基于屬性的訪問控制(Attribute-Based Access Control,ABAC)模型。ABAC作為RBAC的補(bǔ)充和擴(kuò)展,無需提前設(shè)置角色權(quán)限表,將角色或身份抽象成一組屬性,用戶通過屬性與權(quán)限對接。定義相對少的中間變量和權(quán)限賦予就能達(dá)到控制大量節(jié)點(diǎn)的目的,即n個屬性能擁有2n個中間變量[7]。因此,ABAC提供了細(xì)粒度和靈活的訪問控制能力,能滿足物聯(lián)網(wǎng)訪問控制的需求。

      但是,物聯(lián)網(wǎng)設(shè)備通常將收集和產(chǎn)生的數(shù)據(jù)上傳至第三方可信機(jī)構(gòu),進(jìn)行集中式存儲和管理,容易帶來單點(diǎn)故障和內(nèi)部操作不透明等問題。應(yīng)運(yùn)而生的是基于權(quán)能的分布式訪問控制(Capability-Based Access Control,CapBAC)模型[8],由物聯(lián)網(wǎng)設(shè)備自身執(zhí)行權(quán)限的決策和驗(yàn)證,但是大部分輕量級的物聯(lián)網(wǎng)設(shè)備不具備決策的能力。由此可見,物聯(lián)網(wǎng)環(huán)境下資源的訪問控制面臨的問題是為了適應(yīng)物聯(lián)網(wǎng)的三大特性而依賴于中心化存儲和控制模式導(dǎo)致的信任問題。

      區(qū)塊鏈?zhǔn)且环N去中心化的信任管理機(jī)制,由“中本聰”在構(gòu)建全球去中心化數(shù)字貨幣比特幣的過程中設(shè)計和實(shí)現(xiàn)[9]。在區(qū)塊鏈中,利用交易實(shí)現(xiàn)價值的轉(zhuǎn)移或消息的傳遞,區(qū)塊記錄交易信息,區(qū)塊之間通過密碼學(xué)哈希以引用的方式鏈接。利用密碼學(xué)技術(shù)實(shí)現(xiàn)身份的驗(yàn)證,通過時間戳和哈希函數(shù)保證數(shù)據(jù)的可追溯和不可篡改特性,依據(jù)共識算法實(shí)現(xiàn)節(jié)點(diǎn)間賬本一致性[10]。Vitalik Buterin提出了以太坊區(qū)塊鏈平臺,其中,智能合約是通過事件驅(qū)動的計算機(jī)程序,具有數(shù)據(jù)透明和不可篡改的特性,確保智能合約的可信性[11]。

      為了解決上述提到的信任問題,區(qū)塊鏈技術(shù)的去中心化、不可篡改、可審計性和可編程的優(yōu)勢開始顯現(xiàn)。將區(qū)塊鏈技術(shù)應(yīng)用于物聯(lián)網(wǎng)資源的安全保護(hù),設(shè)計了一種去中心化模式下的訪問控制方案。將資源管理界定為資源存儲、訪問控制這兩個方面,將其涉及到信任管理的關(guān)鍵信息存儲到區(qū)塊鏈,以實(shí)現(xiàn)資源的可信管理。

      首先,為了減緩區(qū)塊鏈存儲壓力和保護(hù)數(shù)據(jù)的隱私,提出使用區(qū)塊鏈結(jié)合星際文件系統(tǒng)實(shí)現(xiàn)資源存儲。其次,以數(shù)據(jù)所有者為中心,為了使訪問控制過程正確且可信,提出區(qū)塊鏈結(jié)合ABAC實(shí)現(xiàn)資源的訪問控制,以保證資源的安全性、保密性和可用性。最后,基于以太坊區(qū)塊鏈平臺的仿真實(shí)驗(yàn),驗(yàn)證了方案的正確性和可行性。

      1 相關(guān)工作和問題分析

      目前,引入?yún)^(qū)塊鏈技術(shù)的訪問控制研究工作分為兩類,第一類是區(qū)塊鏈作為傳統(tǒng)訪問控制模型的可信實(shí)體,如圖1(a)。第二類是一種完全基于區(qū)塊鏈的物聯(lián)網(wǎng)訪問控制模型。區(qū)塊鏈記錄訪問控制信息和資源信息,還作為訪問決策點(diǎn),如圖1(b)。

      (a)存在第三方可信機(jī)構(gòu) (b)去中心化

      Kshetri[12]全面地分析了利用區(qū)塊鏈技術(shù)使物聯(lián)網(wǎng)具備設(shè)備接入可縮放能力、防范設(shè)備被惡意攻擊及數(shù)據(jù)篡改的能力,同時提供可信本地數(shù)據(jù)存儲和管理能力。Hu[13]結(jié)合自主訪問控制模型將數(shù)據(jù)存儲在第三方可信機(jī)構(gòu),利用區(qū)塊鏈的難篡改和透明化的特性來記錄訪問決策的過程,提高了決策過程的可信度。Ding[14]利用ABAC與區(qū)塊鏈相結(jié)合,提出新的訪問控制模型,使用區(qū)塊鏈作為存儲平臺,存儲設(shè)備的屬性和訪問信息,由第三方可信機(jī)構(gòu)決策訪問請求,將決策結(jié)果記錄在區(qū)塊鏈。Maesa[15]擴(kuò)展了ABAC的標(biāo)準(zhǔn)工作流,由區(qū)塊鏈代替?zhèn)鹘y(tǒng)的數(shù)據(jù)庫來存儲屬性及策略并以交易的形式管理。

      對于第二類研究工作,Ouaddah[16]提出令牌優(yōu)化訪問流程,節(jié)省了再次訪問花費(fèi)的時間和計算開銷。將訪問權(quán)限以腳本的形式保存在區(qū)塊鏈,訪問者通過解鎖腳本來獲得訪問權(quán)限,但是腳本的計算能力有限,無法處理復(fù)雜的訪問控制邏輯。而且,令牌是對特定資源的訪問權(quán)限憑證,意味著權(quán)限的修改涉及到令牌的更換,復(fù)雜性高。Xu[17]提出BlendCAC方案,將CapBAC模型與區(qū)塊鏈技術(shù)結(jié)合,由數(shù)據(jù)所有者在智能合約中定義訪問控制矩陣,訪問者通過提供的合約地址和遠(yuǎn)程調(diào)用接口與智能合約交互,使物聯(lián)網(wǎng)設(shè)備利用智能合約實(shí)現(xiàn)自動化的決策和結(jié)果響應(yīng)。Liu[18]提出了Fabric-IoT,使用三種智能合約來實(shí)現(xiàn)物聯(lián)網(wǎng)環(huán)境下自動化的ABAC和數(shù)據(jù)管理:(1)存儲設(shè)備產(chǎn)生的數(shù)據(jù)的URL;(2)存儲訪問控制策略;(3)實(shí)施訪問控制。Xu[19]提出一種基于以太坊和IPFS的去中心化社交網(wǎng)絡(luò)系統(tǒng),使用IPFS來保存大量的文件數(shù)據(jù),區(qū)塊鏈中存儲文件數(shù)據(jù)的鏈接地址,大大減輕區(qū)塊鏈的存儲壓力。

      由上述分析可知,保留第三方可信機(jī)構(gòu)的數(shù)據(jù)存儲和訪問控制決策功能,降低訪問決策的復(fù)雜性。由區(qū)塊鏈記錄訪問控制過程,保證過程的透明可見性和可審計性。但是存在單點(diǎn)故障、低可擴(kuò)展性和可否認(rèn)性的問題。將訪問控制策略以智能合約編碼的形式存儲在區(qū)塊鏈,交易觸發(fā)智能合約執(zhí)行得到權(quán)限,并由各節(jié)點(diǎn)驗(yàn)證訪問權(quán)限,達(dá)成共識后將其記錄在區(qū)塊鏈。訪問決策效率偏低,但是能夠保障訪問控制的安全性和可靠性。

      總結(jié)現(xiàn)有研究工作存在的問題:(1)維護(hù)區(qū)塊鏈需要高存儲能力和計算能力,難以適應(yīng)輕量級的設(shè)備;(2)所有參與者共同維護(hù)單一區(qū)塊鏈,交易信息冗雜導(dǎo)致信息檢索困難。并且,將資源直接存儲在區(qū)塊鏈不利于資源的保密性,也會增加區(qū)塊鏈的存儲負(fù)擔(dān);(3)過于依賴基于交易的權(quán)限驗(yàn)證和更改方式,效率低且細(xì)粒度不夠。因此,權(quán)衡訪問控制的安全性和效率,提出一種基于區(qū)塊鏈的物聯(lián)網(wǎng)去中心化的訪問控制方案并梳理出需要解決的技術(shù)問題。

      第一,資源的存儲的安全標(biāo)識。去中心化模式下,節(jié)點(diǎn)之間的信任難以保證。為保證資源的安全存儲,首先確保參與方身份的真實(shí)性。假設(shè)所有參與方都需要通過物聯(lián)網(wǎng)設(shè)備作為物理媒介參與到資源的存儲和訪問控制過程,因此對參與方的身份標(biāo)識及驗(yàn)證,本質(zhì)上都是對設(shè)備進(jìn)行身份標(biāo)識及驗(yàn)證。因此,根據(jù)能力對物聯(lián)網(wǎng)設(shè)備進(jìn)行分層管理,由網(wǎng)關(guān)管理與其連接的輕量級物聯(lián)網(wǎng)設(shè)備;其次,采用區(qū)塊鏈中的非對稱加密體系,為參與方分配公、私鑰對,以驗(yàn)證身份真實(shí)性。并將資源信息與參與方身份進(jìn)行綁定,以實(shí)現(xiàn)對資源存儲的安全標(biāo)識。

      第二,資源存儲和訪問控制相關(guān)信任操作的定義。區(qū)塊鏈作為公共賬本技術(shù)及信任管理機(jī)制,將方案中涉及的設(shè)備注冊、資源存儲和資源訪問控制作為信任操作。首先,定義信任操作的交易數(shù)據(jù)結(jié)構(gòu),構(gòu)建區(qū)塊和區(qū)塊鏈;其次,根據(jù)功能存儲到不同的區(qū)塊鏈以提高方案的效率。

      第三,訪問請求的評估和訪問權(quán)限的獲取的流程及可靠性驗(yàn)證。首先,根據(jù)區(qū)塊鏈的技術(shù)特征的優(yōu)勢,設(shè)計相關(guān)操作的流程及驗(yàn)證過程,例如,策略評估的流程和正確性驗(yàn)證。其次,為了進(jìn)一步提高訪問控制效率,考慮物聯(lián)網(wǎng)設(shè)備的動態(tài)性,根據(jù)靜態(tài)和動態(tài)劃分屬性,將靜態(tài)屬性整合為靜態(tài)屬性令牌的數(shù)據(jù)結(jié)構(gòu),提高策略的驗(yàn)證速度。

      2 方案設(shè)計

      本節(jié)主要工作在于描述方案的模型,參與實(shí)體,資源存儲和訪問控制中的信任操作、區(qū)塊和區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)設(shè)計,訪問控制流程及驗(yàn)證。

      2.1 訪問控制模型

      基于上述研究,提出基于區(qū)塊鏈結(jié)合ABAC的去中心化訪問控制實(shí)現(xiàn)層面的模型,如圖2所示。

      圖2 基于區(qū)塊鏈的物聯(lián)網(wǎng)去中心化訪問控制模型

      該模型由四類主要實(shí)體和兩條區(qū)塊鏈組成:

      (1)資源所有者:也稱設(shè)備所有者,通常是網(wǎng)關(guān)設(shè)備,負(fù)責(zé)管理設(shè)備及其數(shù)據(jù)、處理設(shè)備的訪問請求、向網(wǎng)絡(luò)中廣播資源消息或訪問控制消息。

      (2)訪問者:發(fā)起資源訪問請求,在網(wǎng)絡(luò)中廣播訪問請求信息,通常也是網(wǎng)關(guān)設(shè)備。

      (3)物聯(lián)網(wǎng)設(shè)備:如智能手環(huán)、網(wǎng)關(guān)等,負(fù)責(zé)數(shù)據(jù)收集、初步處理和傳輸、請求訪問其他設(shè)備資源和處理請求操作。該文將設(shè)備的屬性列舉為設(shè)備標(biāo)識、設(shè)備類型(讀、寫)、設(shè)備角色(設(shè)備管理者、輕量級設(shè)備)、時間、地理位置、操作類型。將前三種作為靜態(tài)屬性,后三種作為動態(tài)屬性。動態(tài)屬性用來描述主體因環(huán)境或操作而改變的屬性,例如,訪問者地理位置改變且不再符合訪問控制策略規(guī)則時,無法獲得原有的權(quán)限。假設(shè)靜態(tài)屬性具備穩(wěn)定性,動態(tài)屬性由物聯(lián)網(wǎng)終端設(shè)備自動且實(shí)時獲取。

      (4)IPFS存儲模塊,這類分布式存儲系統(tǒng)通過基于內(nèi)容的尋址方式來存儲和定位資源,返回一個獨(dú)特的加密哈希字符串IPFS hash[20]。

      (5)資源信息鏈,記錄資源所有者發(fā)布的資源消息,任何訪問者、資源所有者都可以作為該鏈的參與方并查找所需資源的信息。訪問控制鏈,由資源所有者作為該鏈的參與方,參與方之間通過對等網(wǎng)絡(luò)相互連接,避免中心化訪問控制,將訪問控制的評估和驗(yàn)證能力下放,擺脫傳統(tǒng)信任模式和單點(diǎn)故障帶來的影響。利用區(qū)塊鏈記錄設(shè)備的屬性信息、訪問請求和結(jié)果信息,保證訪問控制可信及可審計。

      雙鏈的設(shè)計,將資源存儲信息和控制信息分開,有利于資源的查找、策略的查找和訪問控制過程的審計。訪問控制鏈的優(yōu)勢有:(1)資源所有者暫時離開區(qū)塊鏈,其他參與方根據(jù)已有的策略評估訪問請求,并將決策結(jié)果記錄在區(qū)塊鏈,便于資源所有者后期的審查工作,增強(qiáng)模型的可用性;(2)資源所有者作為參與節(jié)點(diǎn)共同維護(hù)訪問控制鏈,相互監(jiān)督,提高訪問控制的可信和可驗(yàn)證。

      將資源信息(公開信息和策略信息)與資源所有者的身份進(jìn)行綁定,可以實(shí)現(xiàn)資源存儲的安全標(biāo)識。首先,與以往研究工作將設(shè)備資源加密后直接存儲在區(qū)塊鏈不同的是,該文將資源加密后的密文存儲在IPFS,僅在資源信息鏈上記錄資源的發(fā)布消息,有效地減緩了區(qū)塊鏈存儲壓力。資源所有者使用哈希函數(shù)對IPFS hash和資源對應(yīng)的訪問控制策略policy得到數(shù)字摘要Dres。隨后,使用私鑰SKown對Dres數(shù)字簽名,生成資源存儲的安全標(biāo)識signres,如式1。其他參與方使用資源所有者的公鑰PKown驗(yàn)證其身份。

      signres= Sign(Hash(IPFShash,policy),SKown)

      (1)

      同理,將屬性信息和訪問者的身份進(jìn)行綁定,對訪問者屬性進(jìn)行可信標(biāo)識,同時保證屬性的不可篡改性和真實(shí)性。

      2.2 訪問控制的數(shù)據(jù)結(jié)構(gòu)

      2.2.1 交易的定義及驗(yàn)證

      該文將網(wǎng)絡(luò)中傳播的設(shè)備注冊信息、資源存儲信息和資源訪問控制信息分別定義為三種交易。

      設(shè)備注冊交易由設(shè)備所有者對管理域內(nèi)設(shè)備的屬性信息簽名完成。包含設(shè)備所有者身份標(biāo)識devOwner,設(shè)備標(biāo)識devId,設(shè)備類型type,設(shè)備角色role,物理位置loc,設(shè)備執(zhí)行的操作oper,當(dāng)前時間戳timestamp,設(shè)備所有者數(shù)字簽名sign。

      資源策略發(fā)布交易由資源所有者對設(shè)備產(chǎn)生的資源、資源的訪問控制策略簽名完成。包含資源鏈接IPFShash,資源所有者身份標(biāo)識devOwner,是否要求訪問者注冊shouldReg,時間的要求time,地理位置的要求loc,操作要求oper,時間戳timestamp,資源策略發(fā)布者數(shù)字簽名sign。

      訪問請求交易由訪問者對所請求資源的標(biāo)識、自身屬性集合簽名完成。包含資源鏈接IPFShash,訪問者的身份標(biāo)識devId,訪問者的設(shè)備類型type,訪問者的設(shè)備角色role,訪問者的靜態(tài)屬性令牌staticToken,訪問者的地理位置loc,訪問者請求的操作oper,時間戳timestamp,訪問者數(shù)字簽名sign。

      前兩種交易重點(diǎn)在于驗(yàn)證交易中的數(shù)字簽名信息,判斷策略發(fā)布者和設(shè)備的身份真實(shí)性。在第2.3節(jié)中重點(diǎn)關(guān)注訪問請求交易及其驗(yàn)證。

      2.2.2 區(qū)塊和區(qū)塊鏈結(jié)構(gòu)

      參考比特幣系統(tǒng),區(qū)塊包含兩個部分,區(qū)塊頭中有前一區(qū)塊的哈希值、Merkle樹根哈希值、時間戳。Merkle樹根哈希值是當(dāng)前區(qū)塊體中所有交易進(jìn)行分組哈希最終得到的根哈希值。對交易的任意更改,都會導(dǎo)致Merkle樹根哈希值變化,保證數(shù)據(jù)的不可篡改。時間戳記錄區(qū)塊生成的時間。根據(jù)交易數(shù)據(jù)的不同,交易的類型不同,參與節(jié)點(diǎn)將驗(yàn)證通過的交易放到本地交易池中,當(dāng)交易池中的交易達(dá)到一定數(shù)量時,選擇多筆交易組裝成區(qū)塊,如圖3所示。

      圖3 區(qū)塊及區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)

      由共識機(jī)制保證各參與節(jié)點(diǎn)的區(qū)塊鏈公共賬本上的數(shù)據(jù)一致性。常見的是工作量證明、權(quán)益證明以及實(shí)用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)等共識機(jī)制[21],該文不展開關(guān)于共識機(jī)制的具體研究。根據(jù)物聯(lián)網(wǎng)環(huán)境的特性及訪問控制所需的一定實(shí)時性,選定具有高性能且耗能低的PBFT共識機(jī)制。假設(shè)區(qū)塊鏈參與節(jié)點(diǎn)總數(shù)是3f+1,那么網(wǎng)絡(luò)中容忍最多f個節(jié)點(diǎn)出現(xiàn)錯誤而不影響正確的共識。區(qū)塊鏈中的所有交易都被認(rèn)為是可信的、不可篡改的。

      圖4表示參與方與區(qū)塊鏈交互的過程,資源所有者將網(wǎng)絡(luò)中的設(shè)備注冊交易和訪問請求交易進(jìn)行驗(yàn)證和打包記錄到訪問控制鏈。資源所有者和訪問用戶維護(hù)資源信息鏈,訪問用戶可以查詢所需資源信息,并發(fā)布訪問請求交易。

      圖4 參與方與區(qū)塊鏈交互的過程

      2.3 訪問控制流程及驗(yàn)證

      訪問控制的功能是正確處理訪問請求并得到對應(yīng)的訪問權(quán)限。為了保證訪問控制的可信和正確性,需要驗(yàn)證訪問者身份真實(shí)性、訪問請求中參數(shù)真實(shí)性、訪問請求評估正確性。驗(yàn)證過程中的交易字段參考2.2.1中的數(shù)據(jù)結(jié)構(gòu),訪問者公私鑰對(PKacc,SKacc),資源所有者公私鑰對(PKown,SKown)。步驟如下:

      步驟1:訪問者提交與設(shè)備注冊交易相關(guān)的字段,對設(shè)備進(jìn)行注冊。訪問者使用哈希算法對設(shè)備注冊相關(guān)字段進(jìn)行計算并進(jìn)行數(shù)字簽名,如式2。對設(shè)備的靜態(tài)屬性信息進(jìn)行哈希計算得到靜態(tài)屬性令牌staticToken,如式3。

      signacc_reg=Sign(Hash(devId,type,role,loc,oper),SKacc)

      (2)

      staticToken=Hash(devId,type,role)

      (3)

      步驟2:資源所有者根據(jù)訪問者的注冊消息,驗(yàn)證訪問者的身份。訪問者的PKacc驗(yàn)證signacc_reg,Verify()返回true則表明注冊信息是真實(shí)可信的,如式4。資源所有者構(gòu)建設(shè)備注冊交易,并記錄到訪問控制鏈。

      {true,false}=Verify(Hash(devId,type,role,loc,oper),signacc_reg,PKacc)

      (4)

      步驟3:訪問者提出訪問請求,使用哈希函數(shù)計算訪問請求字段的數(shù)字摘要并數(shù)字簽名,如式5。

      signacc_req=Sign(Hash(IPFShash,devId,type,role,loc,oper),SKacc)

      (5)

      步驟4:資源所有者收到訪問請求消息,根據(jù)訪問者的身份標(biāo)識(區(qū)塊鏈賬戶地址)在訪問控制鏈中找到對應(yīng)的設(shè)備注冊交易,使用式3對訪問請求中的靜態(tài)屬性進(jìn)行哈希計算得到Dstatic,若Dstatic和staicToken相同則表明訪問請求中靜態(tài)屬性的真實(shí)性,如式6,避免逐一驗(yàn)證頻繁的訪問請求。

      {true,false} = Equal(Dstatic,staticToken)

      (6)

      步驟5:資源所有者根據(jù)訪問請求中資源鏈接找到訪問控制策略,以算法1提出的訪問控制策略為例對訪問請求的評估過程進(jìn)行說明。

      首先說明算法中策略的數(shù)據(jù)結(jié)構(gòu),比較了訪問控制表、邏輯表達(dá)式和訪問樹的表達(dá)方式后,選擇在訪問樹中引入多項式函數(shù)的策略表達(dá)方法。多項式函數(shù)最高指數(shù)為非葉子節(jié)點(diǎn)閾值減1,其他自變量前的系數(shù)為隨機(jī)數(shù),常數(shù)項為節(jié)點(diǎn)值。根據(jù)父節(jié)點(diǎn)的多項式,得到孩子節(jié)點(diǎn)的值。將策略中的靜態(tài)屬性要求構(gòu)建為左子樹,動態(tài)屬性要求構(gòu)建成右子樹。接下來,將以圖5中的訪問樹為例進(jìn)行說明。

      圖5 訪問樹示例

      如果訪問請求中的靜態(tài)屬性滿足策略中靜態(tài)屬性需求,則返回左子樹閾值個數(shù)的節(jié)點(diǎn)鍵值對(葉子節(jié)點(diǎn)索引,葉子節(jié)點(diǎn)值),隨后通過式7計算,得到左子樹根節(jié)點(diǎn)值。同理,獲得右子樹根節(jié)點(diǎn)值,最終得到根節(jié)點(diǎn)值,則表明訪問請求中的操作被授權(quán)。資源所有者將資源的解密密鑰和對應(yīng)操作權(quán)限打開,并發(fā)送給訪問者。

      (7)

      算法1:訪問請求評估算法

      輸入:IPFShash,devId,type,role,loc,oper,devOwner,staticToken

      輸出:訪問權(quán)限allowed/deney/errorMsg

      1:for(i=0;i

      2: if(devOwner.devices[i].devId === devId)

      3: devInfo = devOwner.devices[i] //找到設(shè)備注冊信息

      4:for(i=0;i

      5: if(resources[i].IPFShash === IPFShash)

      6: py = resources[i].policy //資源策略信息

      7:if(py.shouldReg)//策略要求設(shè)備需注冊

      8: if(staticToken) //靜態(tài)令牌存在

      9: flag=Equal(staticToken,Hash(devId,type,role))

      10: if(flag)

      11: Get(staticRootIndex,staticRootSecret)

      12: else

      13: return erroMsg //靜態(tài)屬性令牌不正確

      14: else //靜態(tài)令牌不存在,逐一比較

      15:staticNum=getTrueNumber(devInfo.devId===devId,devInfo.type===type,devInfo.role === role)

      16: if(staticNum >= staticThreshold) //檢查靜態(tài)屬性

      17: Get(staticRootIndex,staticRootSecret)

      18: else

      19: return errorMsg

      20:dynamicNum=getTrueNumber(py.loc===loc,py.oper===oper, py.time

      21: if(dynamicNum >= dynamicThreshold)//檢查動態(tài)屬性

      22: Get(dynamicIndex, dynamicRootSecret)

      23: else

      24: return errorMsg

      25:if(staticRootSecret &&dynamicRootSecret)

      26: Get(rootSecret)

      27: return allowed

      28: else

      29: return deny

      訪問控制鏈的其他參與節(jié)點(diǎn)可以以同樣的方式對訪問請求中的屬性進(jìn)行驗(yàn)證。也可以信任其他節(jié)點(diǎn)驗(yàn)證得到的(葉子節(jié)點(diǎn)索引,葉子節(jié)點(diǎn)值)利用式7計算根節(jié)點(diǎn)的值,從而與其他節(jié)點(diǎn)達(dá)成一致。

      3 安全性分析和仿真實(shí)驗(yàn)

      分析方案抵抗密文和共謀攻擊的能力,基于以太坊平臺進(jìn)行了相應(yīng)的實(shí)驗(yàn)來證明方案的可行性,并對屬性劃分提高訪問控制效率進(jìn)行性能分析。

      3.1 安全攻擊

      密文攻擊,是未授權(quán)用戶獲得了密文之后,在區(qū)塊鏈中查找不到其對資源的訪問請求交易,無法獲得相應(yīng)的訪問權(quán)限,便無法得到所需的解密密鑰。

      共謀攻擊,指不同用戶之間試圖通過屬性組合實(shí)現(xiàn)最終授權(quán)。首先,設(shè)備的靜態(tài)屬性都是默認(rèn)在很長一段時間內(nèi)不會改變,一般不會有設(shè)備為了滿足某一個訪問控制策略而捏造其靜態(tài)屬性,且區(qū)塊鏈中的設(shè)備注冊信息難以篡改。其次,動態(tài)屬性的獲取是通過設(shè)備傳感器實(shí)時上傳的,上傳過程不會被更改。因此設(shè)備的屬性一定是真實(shí)的,且同屬于一個設(shè)備。設(shè)備注冊交易中的簽名若無法使用設(shè)備所有者的公鑰驗(yàn)證,則表明注冊信息是虛假的、無法驗(yàn)證的。

      3.2 仿真實(shí)驗(yàn)和模擬

      建立以太坊私有鏈網(wǎng)絡(luò),模擬真實(shí)應(yīng)用環(huán)境。實(shí)驗(yàn)?zāi)康氖窃O(shè)計資源訪問控制智能合約實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備的注冊、資源訪問控制策略的發(fā)布、資源的訪問請求。其中,react技術(shù)開發(fā)用戶前端界面,truffle框架部署和測試智能合約。合約部署成功如圖6。

      圖6 訪問控制智能合約部署情況

      設(shè)備注冊的目的是保證物聯(lián)網(wǎng)設(shè)備屬性信息的真實(shí)性,如圖7。設(shè)備注冊消息的簽名和時間戳由系統(tǒng)自動生成。訪問控制策略發(fā)布,目的是為資源制定訪問控制策略,前端界面與圖7類似。

      圖7 注冊物聯(lián)網(wǎng)設(shè)備

      訪問請求,目的是對物聯(lián)網(wǎng)設(shè)備的屬性真實(shí)性進(jìn)行驗(yàn)證,評估屬性與策略的匹配程度,并得到權(quán)限。以請求成功為例,如圖8。

      圖8 訪問請求成功的情況

      3.3 性能分析

      策略中屬性的個數(shù)會影響訪問控制的效率,根據(jù)屬性的劃分帶來的靜態(tài)屬性令牌和訪問樹的方法。從兩個角度切入進(jìn)行了性能分析:第一,固定動態(tài)屬性的個數(shù)和訪問數(shù)的驗(yàn)證方法,探討隨靜態(tài)屬性個數(shù)的增長,靜態(tài)屬性令牌對效率的影響。從圖9(a)可以發(fā)現(xiàn)靜態(tài)屬性令牌減少逐一驗(yàn)證,減少策略評估和權(quán)限驗(yàn)證的時間開銷。第二,固定靜態(tài)屬性令牌驗(yàn)證方法,探討隨動態(tài)屬性個數(shù)的增長,訪問樹的驗(yàn)證方法和拉格朗日函數(shù)直接驗(yàn)證方法對效率的影響。從圖9(b)可以發(fā)現(xiàn)其他節(jié)點(diǎn)使用第二種驗(yàn)證方法的時間開銷較少。

      圖9 影響訪問請求驗(yàn)證時間開銷的因素

      實(shí)驗(yàn)中所有的數(shù)值都是程序的執(zhí)行時長,該時長通常與執(zhí)行環(huán)境有關(guān),同樣的程序在不同時間段執(zhí)行會存在10 ms左右的誤差,進(jìn)行了近20次的實(shí)驗(yàn),最終采用20次實(shí)驗(yàn)執(zhí)行時長的平均值。

      上述實(shí)驗(yàn)驗(yàn)證了方案的可行性和正確性,確保了訪問控制過程的透明可信,有效地防止資源的未授權(quán)訪問和濫用,提高了訪問請求評估速度和權(quán)限驗(yàn)證速度。實(shí)驗(yàn)是在本地測試網(wǎng)絡(luò)中進(jìn)行,正式應(yīng)用需要根據(jù)真實(shí)網(wǎng)絡(luò)環(huán)境做相應(yīng)的調(diào)整。

      4 結(jié)束語

      該文提出一種基于區(qū)塊鏈的物聯(lián)網(wǎng)資源訪問控制方案,充分利用區(qū)塊鏈技術(shù)、IPFS和ABAC的技術(shù)特征以保證資源的安全存儲和可信管理。通過交易管理用戶、屬性、策略和訪問行為,管理和追蹤策略的發(fā)布、評估和權(quán)限驗(yàn)證,有利于以資源所有者為中心管理資源的存儲和使用。通過屬性劃分的方法,研究訪問請求全過程的評估和驗(yàn)證方法,以提高訪問控制評估和權(quán)限驗(yàn)證的速度。仿真實(shí)驗(yàn)證明了方案的可信性和正確性,今后會從共識機(jī)制的角度,研究訪問控制效率提升的方法。

      猜你喜歡
      訪問者訪問控制靜態(tài)
      靜態(tài)隨機(jī)存儲器在軌自檢算法
      ONVIF的全新主張:一致性及最訪問控制的Profile A
      動態(tài)自適應(yīng)訪問控制模型
      人物專訪的技巧性分析
      采寫編(2016年1期)2016-06-03 07:57:40
      淺析云計算環(huán)境下等級保護(hù)訪問控制測評技術(shù)
      大數(shù)據(jù)平臺訪問控制方法的設(shè)計與實(shí)現(xiàn)
      “造訪”與“到訪”
      機(jī)床靜態(tài)及動態(tài)分析
      具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
      50t轉(zhuǎn)爐靜態(tài)控制模型開發(fā)及生產(chǎn)實(shí)踐
      上海金屬(2013年6期)2013-12-20 07:57:59
      滨州市| 澎湖县| 宣城市| 宁明县| 达拉特旗| 连州市| 化州市| 华宁县| 出国| 湘潭市| 翁牛特旗| 花垣县| 巴林右旗| 北辰区| 和龙市| 安化县| 石楼县| 和龙市| 城市| 垦利县| 沁阳市| 阿克陶县| 新邵县| 大洼县| 黔江区| 岳西县| 娄烦县| 宜宾县| 遵化市| 洞头县| 连平县| 威宁| 昌吉市| 澳门| 金寨县| 清水县| 河源市| 三亚市| 泰州市| 泰安市| 彰化市|