• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于智能合約的物聯(lián)網(wǎng)訪問控制建模

    2022-02-11 08:49:10徐龍李楊
    山東科學(xué) 2022年1期
    關(guān)鍵詞:細(xì)粒度訪問控制合約

    徐龍,李楊

    (齊魯工業(yè)大學(xué)(山東省科學(xué)院) 山東省科學(xué)院自動化研究所, 山東 濟南 250014)

    物聯(lián)網(wǎng)(Internet of things,IoT)作為新一代信息技術(shù),為社會各個階層帶來了革命性的變化,已經(jīng)應(yīng)用到智能醫(yī)療、智能家居和智慧消防等眾多領(lǐng)域。據(jù)估計,到2025年全球物聯(lián)網(wǎng)系統(tǒng)中設(shè)備連接數(shù)將達(dá)到215億~416億臺[1],使人們進入萬物互聯(lián)時代。物聯(lián)網(wǎng)基本架構(gòu)是完成數(shù)據(jù)收集、融合、處理和共享的物與物互聯(lián)的網(wǎng)絡(luò)[2-3],物聯(lián)網(wǎng)中會產(chǎn)生海量的數(shù)據(jù),其中包含大量的隱私數(shù)據(jù),由于物聯(lián)網(wǎng)設(shè)備具有計算力資源有限、安全性差等特點,所以這種物與物互聯(lián)的機制存在著巨大的安全隱患。訪問控制作為保護數(shù)據(jù)安全的關(guān)鍵性技術(shù)之一,可以保障數(shù)據(jù)僅能被擁有相應(yīng)權(quán)限的用戶使用[4]。

    針對如何保障物聯(lián)網(wǎng)系統(tǒng)數(shù)據(jù)安全問題,研究人員從不同角度提出了多種訪問控制模型,主要有基于角色的訪問控制(role-based access control, RBAC)模型[5],基于屬性的訪問控制(attributed-based access control, ABAC)模型[6]和基于權(quán)能的訪問控制(capability-based access control, CapBAC)模型[7]。RBAC模型引入角色概念,將系統(tǒng)中的用戶映射到角色,不同的角色對應(yīng)不同的權(quán)限[8-9]。ABAC模型兼顧訪問控制細(xì)粒度問題,將主體與客體的屬性作為訪問政策制定的關(guān)鍵要素,利用權(quán)限請求者所具有的屬性來確定是否賦予權(quán)限。CapBAC模型是以權(quán)能為基礎(chǔ)提供訪問控制,可以讓用戶自定義訪問控制政策,被認(rèn)為是物聯(lián)網(wǎng)下訪問控制模型中最有潛力的模型。

    在上述模型中,模型的授權(quán)驗證操作需引入可信的第三方實體,所有的訪問控制操作由集中式服務(wù)器完成,故存在單點故障和隱私泄露問題。隨著區(qū)塊鏈、智能合約的出現(xiàn),為解決傳統(tǒng)的集中式物聯(lián)網(wǎng)訪問控制模型存在的問題,研究者們將區(qū)塊鏈技術(shù)與傳統(tǒng)的訪問控制模型有機地結(jié)合,實現(xiàn)分布式訪問控制。當(dāng)前物聯(lián)網(wǎng)系統(tǒng)具有異構(gòu)性和多樣性的特點,其訪問技術(shù)的要求開始向細(xì)粒度和分層次的方向發(fā)展。但目前提出的模型中仍然存在著以下問題:一是沒有充分估計物聯(lián)網(wǎng)系統(tǒng)設(shè)備存在資源有限的特點,導(dǎo)致提出的方案會導(dǎo)致物聯(lián)網(wǎng)系統(tǒng)的網(wǎng)絡(luò)運算負(fù)擔(dān)增大;二是物聯(lián)網(wǎng)系統(tǒng)中設(shè)備訪問控制的細(xì)粒度、靈活度不夠,不能滿足當(dāng)前物聯(lián)網(wǎng)系統(tǒng)的要求。

    針對上述問題,本文提出了新的基于權(quán)能的訪問控制模型(novel-capability-based access control,NCBAC)?;趨^(qū)塊鏈與智能合約技術(shù),充分利用其不可篡改性、可回溯性,構(gòu)建出可信任的分布式的新型物聯(lián)網(wǎng)訪問控制系統(tǒng);設(shè)計了面向物聯(lián)網(wǎng)系統(tǒng)的訪問控制管理的新型架構(gòu),為避免給物聯(lián)網(wǎng)系統(tǒng)帶來巨大的網(wǎng)絡(luò)開銷,提出了由管理節(jié)點來實現(xiàn)物聯(lián)網(wǎng)系統(tǒng)與區(qū)塊鏈系統(tǒng)的通信;提出了基于傳統(tǒng)的基于權(quán)能訪問控制模型的基礎(chǔ)上,引入角色集合和屬性集合,實現(xiàn)了高細(xì)粒度、靈活的、高效的訪問控制,能夠更好地滿足當(dāng)前物聯(lián)網(wǎng)系統(tǒng)對其訪問控制系統(tǒng)的要求。

    1 基于區(qū)塊鏈和智能合約的訪問控制系統(tǒng)

    1.1 系統(tǒng)架構(gòu)

    本文提出的系統(tǒng)架構(gòu)如圖1所示,主要包括區(qū)塊鏈、管理節(jié)點、特殊節(jié)點、管理者和智能合約部署者等5個主要組成部分。

    圖1 系統(tǒng)架構(gòu) Fig.1 System architecture

    (1) 區(qū)塊鏈:本系統(tǒng)用以太坊進行智能合約部署,由以太坊虛擬機(ethereum virtual machine,EVM)為智能合約提供運行環(huán)境。智能合約中定義的函數(shù)實現(xiàn)訪問控制模型各項功能,通過應(yīng)用程序接口ABI(application binary interface)為外部提供各項功能執(zhí)行接口。

    (2) 管理節(jié)點: 該節(jié)點是區(qū)塊鏈的特殊節(jié)點,可直接與區(qū)塊鏈進行通信,該節(jié)點擁有了兩個外部賬戶(externally owned accounts,EOA):Normal Account和Special Account。實現(xiàn)的功能包括將傳感器網(wǎng)絡(luò)傳輸?shù)亩喾N格式消息統(tǒng)一轉(zhuǎn)換為區(qū)塊鏈可識別的JSON-RPC(JavaScript object notation-remote procedure call)信息,以及調(diào)用區(qū)塊鏈中部署的智能合約完成對系統(tǒng)的初始化以及訪問控制功能。另外,物聯(lián)網(wǎng)系統(tǒng)中的所有傳感器均通過管理節(jié)點直接或間接方式與區(qū)塊鏈進行通信,因此管理節(jié)點通常是由計算資源豐富的設(shè)備承擔(dān),并且為了提高系統(tǒng)的響應(yīng)時間,所有的管理節(jié)點都需要進行并發(fā)處理,以滿足實際情況的需求,提高系統(tǒng)的響應(yīng)速度。管理節(jié)點是區(qū)塊鏈的組成部分,本文提出的模型中管理節(jié)點不是唯一的,其數(shù)量可根據(jù)實際情況增減。此外,其所實現(xiàn)的功能傳感器注冊、傳感器操作授權(quán)等都是由區(qū)塊鏈中智能合約提供的,因此,管理節(jié)點是一個去中心化、安全的模塊。

    (3) 特殊節(jié)點: 物聯(lián)網(wǎng)系統(tǒng)中各類傳感器等設(shè)備屬于輕量級設(shè)備,很多設(shè)備只能發(fā)送和接收特定的、簡單的通信信息,但也有不少的輕量級設(shè)備有一定的計算和存儲能力。因此,部分物聯(lián)網(wǎng)設(shè)備是可以在其上編寫特定算法,實現(xiàn)信息轉(zhuǎn)發(fā)并與管理節(jié)點通信的功能,為了保障整個系統(tǒng)的通信實時性和可靠性,該算法要根據(jù)當(dāng)時網(wǎng)絡(luò)情況進行最優(yōu)鏈路選擇。

    (4) 管理者:該模塊是擁有管理節(jié)點的Special Account賬戶的操作者,可以擁有設(shè)置系統(tǒng)的角色集合、屬性集合、訪問政策制定等一系列安全要求高的系統(tǒng)初始化操作權(quán)限。

    (5) 智能合約部署者:智能合約部署者是完成智能合約在區(qū)塊鏈部署的人,可以將系統(tǒng)中的管理節(jié)點信息記錄在區(qū)塊鏈中,完成系統(tǒng)的管理節(jié)點的指定。

    1.2 智能合約體系

    為解決傳統(tǒng)訪問控制方法安全性不高、細(xì)粒度不夠等瓶頸問題,本文基于傳統(tǒng)的基于權(quán)能訪問控制算法設(shè)計了新的智能合約體系,可實現(xiàn)分布式、安全、高細(xì)粒度的訪問控制。區(qū)塊鏈中維護多種信息列表詳見OSID,智能合約的功能應(yīng)用程序二進制接口(application binary interface,ABI)主要包括:

    · MangerRegister(): 此功能用來指定系統(tǒng)中管理節(jié)點,即用來注冊管理員;

    · MangerDelete(): 此功能用來刪除系統(tǒng)中管理節(jié)點,即用來刪除管理員;

    · RoleSetCreate(): 此功能用來創(chuàng)建NCBAC模型中的角色集合;

    · RoleSetDelete(): 此功能用來刪除NCBAC模型中的角色集合;

    · MemberDelete(): 此功能用來刪除已添加進角色集合中的物聯(lián)網(wǎng)設(shè)備;

    · UserRegister(): 此功能是被物聯(lián)網(wǎng)設(shè)備調(diào)用,以此完成設(shè)備連接到系統(tǒng)操作;

    · UserDelete(): 此功能是被物聯(lián)網(wǎng)設(shè)備調(diào)用,以此完成設(shè)備斷開與系統(tǒng)連接操作;

    · UserUpdate(): 此功能用來更新已連接系統(tǒng)設(shè)備的信息;

    · AttributeCreate(): 此功能是用來創(chuàng)建NCBAC模型中的屬性集合;

    · AttributeDelete(): 此功能是用來刪除NCBAC模型中的屬性集合;

    · AttributeUpdate(): 此功能是用來更新屬性集合中的元素;

    · PolicyMake(): 此功能用于添加新訪問控制政策,該函數(shù)是由本政策中主體與客體對中的客體調(diào)用;

    · PolicyDelete(): 此功能用來刪除已添加的訪問控制政策;

    · PolicyUpdate(): 此功能用來更新已添加的訪問控制政策;

    · AccessControl(): 此功能用來訪問決策,結(jié)合相關(guān)信息合法性檢測和預(yù)先定義好的訪問控制政策,進行權(quán)限決策。

    為保證系統(tǒng)的安全性,不同的ABI具有不同的調(diào)用權(quán)限,ABI調(diào)用權(quán)限配置表見OSID。

    1.3 系統(tǒng)工作流程

    圖2是系統(tǒng)各模塊間交互過程,主要分為兩大階段:系統(tǒng)初始化階段、訪問政策執(zhí)行階段。

    (1)系統(tǒng)初始化階段:該階段主要完成智能合約部署、角色集合創(chuàng)建、屬性集合創(chuàng)建和政策制定等一些保證系統(tǒng)能正常工作的系統(tǒng)初始化操作。具體步驟如下:

    步驟1:該步驟部署智能合約,當(dāng)智能合約在區(qū)塊鏈中部署成功后會得到智能合約地址,只有提前獲取該地址才能與合約交互;

    步驟2:管理者通過管理節(jié)點調(diào)用智能合約中RoleSetCreate()函數(shù),將角色集合信息保存到區(qū)塊鏈中;

    步驟3:設(shè)備1與設(shè)備2通過管理節(jié)點調(diào)用智能合約中UserRegister()函數(shù),完成將設(shè)備連接至系統(tǒng)操作;

    步驟4: 只有完成步驟3后設(shè)備2才可通過管理節(jié)點調(diào)用智能合約中的AttributeCreate()函數(shù)將自身資源池選擇性地在系統(tǒng)中共享;

    步驟5:管理者通過管理節(jié)點調(diào)用智能合約中的PolicyMake()函數(shù),根據(jù)在步驟4中設(shè)備2共享的資源池,來設(shè)定設(shè)備1對設(shè)備2的訪問控制政策。

    (2)政策執(zhí)行階段:如圖2所示,物聯(lián)網(wǎng)設(shè)備1訪問目標(biāo)物聯(lián)網(wǎng)設(shè)備2的資源。設(shè)備1經(jīng)由特殊節(jié)點或直接與管理節(jié)點通信發(fā)送資源請求信息,該信息包含的主要字段為發(fā)起設(shè)備:設(shè)備1;目標(biāo)設(shè)備:設(shè)備2;請求動作:read/write等;請求資源:resourse;令牌:Token。管理節(jié)點將信息編譯為可用信息后,調(diào)用智能合約中AccessControl()函數(shù)根據(jù)系統(tǒng)初始化時設(shè)定的政策對發(fā)起設(shè)備、目標(biāo)設(shè)備、請求動作、請求資源的合法性進行檢測,此次請求經(jīng)過智能合約的判定,判定結(jié)束時會觸發(fā)智能合約中ReturnResult()事件,將合約決策結(jié)果反饋給管理節(jié)點,系統(tǒng)依據(jù)判斷結(jié)果來決定設(shè)備1是否可以對設(shè)備2資源進行相應(yīng)的操作。為提高系統(tǒng)的決策速度,在本文提出的智能合約體系中采用令牌機制,成功獲取一次訪問權(quán)限后,在預(yù)設(shè)時間內(nèi)再發(fā)起相同的權(quán)限訪問請求,不再需要驗證多種信息,只需驗證Token的合法性,以此提高系統(tǒng)的決策速度。Token是一段保存在區(qū)塊鏈中的時間戳,包含了該請求所有身份識別信息,因此保證了該Token的安全性。具體的訪問控制算法偽代碼見OSID。

    圖2 系統(tǒng)工作流程Fig.2 System workflow

    2 實驗仿真與結(jié)果分析

    為了驗證本文提出的面向物聯(lián)網(wǎng)的基于區(qū)塊鏈的訪問控制模型建模方法,測試本文提出的系統(tǒng)架構(gòu)與模型的可行性和有效性,我們搭建了實驗環(huán)境并設(shè)計了實驗方案。

    2.1 硬件與軟件配置

    我們設(shè)計的實驗中包含兩臺臺式電腦(Inter?CoreTMi3-9100 CPU@3.60 Hz 3.60 GHz),一臺筆記本電腦(DELL Inspiron 3541)和一臺智能手機(One plus 6T)。臺式電腦安裝由Go語言編寫的geth客戶端,使其成為區(qū)塊鏈節(jié)點,二者之間構(gòu)建起以太坊私有鏈。本次實驗系統(tǒng)中所有設(shè)備運行在同一局域網(wǎng)環(huán)境下。

    2.2 實驗仿真與結(jié)果分析

    本次實驗的主體-客體對為筆記本電腦-智能手機,其中客體設(shè)定的政策為允許主體讀取Database1,為了得到更直觀的實驗結(jié)果,采用JavaScript腳本語言編寫了事件監(jiān)聽腳本,具體的監(jiān)聽程序算法偽代碼以及整個項目的關(guān)鍵代碼見OSID 。

    2.2.1 合法設(shè)備訪問結(jié)果與分析

    為驗證主體對客體訪問的可行性,實施主體對客體的Database1發(fā)起讀操作訪問過程,實驗結(jié)果如圖3所示。

    圖3 合法設(shè)備獲取訪問權(quán)限Fig.3 Legal devices gain access

    2.2.2 非法篡改令牌攻擊實驗

    在上一個實驗成功取得訪問權(quán)限允許結(jié)果條件下,人為地將系統(tǒng)發(fā)放的Token中Action字段由read篡改為write后,重新發(fā)起請求,實驗結(jié)果如圖4所示。

    圖4 篡改令牌非法攻擊實驗結(jié)果Fig.4 Experiment results of the illegal Token tampering attack

    2.2.3 驗證訪問控制的靈活性與細(xì)粒度

    在維持實驗環(huán)境不變的情況下,客體(筆記本電腦)發(fā)起刪除共享屬性Database1請求,成功完成請求后,重復(fù)2.2.1權(quán)限訪問請求操作。圖5所示是系統(tǒng)監(jiān)聽訪問請求事件結(jié)果。

    圖5 靈活性與細(xì)粒度驗證實驗結(jié)果Fig.5 Flexibility and fine-granularity verification experiment results

    3 系統(tǒng)性能測試與分析

    為了評估系統(tǒng)性能,在上述實驗條件基礎(chǔ)上,采用Apache Benchmark工具測試了每秒發(fā)送請求節(jié)點從0到10 000個的響應(yīng)時間情況,如圖6所示。

    圖6 兩類基本操作的性能測試結(jié)果圖Fig.6 Performance test results of the two types of basic operations

    本次實驗在有、無Token機制的情況下進行多次訪問請求,測量系統(tǒng)對全部請求做出回應(yīng)時的延遲時間。如圖7所示,隨著請求次數(shù)的增加,沒有采用Token機制模型與采用Token機制模型的延遲時間差值越來越大,采用Token機制的模型對系統(tǒng)訪問控制性能提升越明顯。

    圖7 有無Token機制的訪問控制請求實驗Fig.7 Access control request experiments with or without Token mechanism

    4 結(jié)語

    本文旨在解決物聯(lián)網(wǎng)系統(tǒng)中的訪問控制問題,提出了一種基于區(qū)塊鏈技術(shù)的分布式物聯(lián)網(wǎng)訪問控制模型NCBAC。該模型充分吸收現(xiàn)有訪問控制模型的優(yōu)點,實現(xiàn)靈活、可擴展、細(xì)粒度高的訪問控制。實驗仿真結(jié)果表明,本文提出的NCBAC模型可以為物聯(lián)網(wǎng)系統(tǒng)提供安全、可靠和高效的訪問控制。

    猜你喜歡
    細(xì)粒度訪問控制合約
    融合判別性與細(xì)粒度特征的抗遮擋紅外目標(biāo)跟蹤算法
    細(xì)粒度的流計算執(zhí)行效率優(yōu)化方法
    基于雙線性卷積網(wǎng)絡(luò)的細(xì)粒度圖像定位
    ONVIF的全新主張:一致性及最訪問控制的Profile A
    支持細(xì)粒度權(quán)限控制且可搜索的PHR云服務(wù)系統(tǒng)
    動態(tài)自適應(yīng)訪問控制模型
    淺析云計算環(huán)境下等級保護訪問控制測評技術(shù)
    大數(shù)據(jù)平臺訪問控制方法的設(shè)計與實現(xiàn)
    合約必守,誰能例外!——對“情勢變更”制度不可寄于過高期望
    呼图壁县| 张北县| 南川市| 民勤县| 浮山县| 佛学| 晋城| 庆云县| 仁布县| 凯里市| 石首市| 晋宁县| 渝北区| 吉林省| 安泽县| 吉木乃县| 清水河县| 磐石市| 温泉县| 吕梁市| 阳西县| 鹤壁市| 金湖县| 全州县| 大庆市| 容城县| 延津县| 兴宁市| 黄陵县| 丁青县| 塘沽区| 句容市| 广水市| 北碚区| 阿拉善左旗| 普宁市| 河东区| 岚皋县| 青铜峡市| 建水县| 南通市|