国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的能源數(shù)據(jù)共享訪(fǎng)問(wèn)控制方案

2023-03-07 12:09:42李俊妮劉文思宣東海
信息安全研究 2023年3期
關(guān)鍵詞:請(qǐng)求者訪(fǎng)問(wèn)控制合約

余 晗 李俊妮 劉文思 宣東海

(國(guó)家電網(wǎng)有限公司大數(shù)據(jù)中心 北京 100052)

隨著能源領(lǐng)域的快速發(fā)展,能源數(shù)據(jù)量日益增多,成為不可或缺的基礎(chǔ)性戰(zhàn)略資源.但是出于對(duì)數(shù)據(jù)本身安全的保障考慮,各企業(yè)部門(mén)單獨(dú)管理各自的能源數(shù)據(jù),難以實(shí)現(xiàn)對(duì)內(nèi)對(duì)外數(shù)據(jù)共享.2020年9月5日,習(xí)近平總書(shū)記首次提及“雙碳”目標(biāo)[1].2022年3月22日,國(guó)家發(fā)展改革委、國(guó)家能源局印發(fā)了《“十四五”現(xiàn)代能源體系規(guī)劃》[2].由此可見(jiàn),能源數(shù)據(jù)的存儲(chǔ)和共享關(guān)乎著規(guī)劃的進(jìn)行與目標(biāo)的實(shí)現(xiàn),是打破數(shù)據(jù)共享安全壁壘至關(guān)重要的一步.

訪(fǎng)問(wèn)控制技術(shù)是保護(hù)數(shù)據(jù)安全、可控共享的有效手段.通過(guò)對(duì)資源數(shù)據(jù)設(shè)定訪(fǎng)問(wèn)控制策略達(dá)到控制特定用戶(hù)訪(fǎng)問(wèn)資源數(shù)據(jù)的目的,有效地阻止非授權(quán)用戶(hù)對(duì)數(shù)據(jù)的訪(fǎng)問(wèn).傳統(tǒng)的訪(fǎng)問(wèn)控制技術(shù)有自主訪(fǎng)問(wèn)(discretionary access control, DAC)和強(qiáng)制訪(fǎng)問(wèn)(mandatory access control, MAC)2種:DAC[3]可以使資源擁有者靈活自主地選定訪(fǎng)問(wèn)資源的用戶(hù),對(duì)于不在指定資源列表中的用戶(hù)不允許訪(fǎng)問(wèn),但DAC授予資源擁有者權(quán)限過(guò)大,自主性強(qiáng),存在很大的安全隱患;MAC[4]是由授權(quán)機(jī)構(gòu)根據(jù)主體和客體的固定屬性決定一個(gè)主體是否可以訪(fǎng)問(wèn)某個(gè)客體,而且對(duì)應(yīng)權(quán)限不能被用戶(hù)修改,雖然MAC安全性較高,但是靈活性低.基于角色的訪(fǎng)問(wèn)控制(role-based access control, RBAC)[5]在安全性和靈活性上是上述兩者的折中.RBAC將角色和權(quán)限相對(duì)應(yīng),用戶(hù)被劃分到不同的角色中,從而實(shí)現(xiàn)對(duì)訪(fǎng)問(wèn)權(quán)限的控制,但是依然不能實(shí)現(xiàn)對(duì)單一用戶(hù)訪(fǎng)問(wèn)資源的靈活管理.

隨著多域網(wǎng)絡(luò)環(huán)境下的信息交流與共享逐漸增多,傳統(tǒng)訪(fǎng)問(wèn)控制中的身份、角色無(wú)法滿(mǎn)足訪(fǎng)問(wèn)控制細(xì)粒度的要求.基于屬性的訪(fǎng)問(wèn)控制(attribute-based access control, ABAC)[6]的提出有效地解決了上述問(wèn)題.ABAC以屬性信息為關(guān)鍵因素,貫穿于整個(gè)訪(fǎng)問(wèn)控制過(guò)程,增強(qiáng)了訪(fǎng)問(wèn)控制策略的表達(dá)能力.ABAC將策略管理和權(quán)限判決分離,依據(jù)屬性設(shè)計(jì)訪(fǎng)問(wèn)控制策略,根據(jù)主體和資源的權(quán)限控制系統(tǒng)內(nèi)的允許或禁止行為,可以實(shí)現(xiàn)多對(duì)多的細(xì)粒度訪(fǎng)問(wèn)控制.但基于訪(fǎng)問(wèn)控制技術(shù)的能源數(shù)據(jù)共享仍然面臨著數(shù)據(jù)不可信、隱私泄露和中心化等問(wèn)題.區(qū)塊鏈具有的高度可信、不可篡改、可追溯等特點(diǎn)為能源數(shù)據(jù)共享提供技術(shù)架構(gòu),解決了訪(fǎng)問(wèn)控制系統(tǒng)中用戶(hù)之間的信任問(wèn)題,為數(shù)據(jù)共享帶來(lái)了更高的安全級(jí)別.區(qū)塊鏈智能合約技術(shù)有助于數(shù)據(jù)訪(fǎng)問(wèn)控制可信、自動(dòng)地執(zhí)行,提高了流程的效率和可靠性.除此之外,區(qū)塊鏈的防篡改和可追溯功能有助于實(shí)現(xiàn)訪(fǎng)問(wèn)控制的可追溯性和數(shù)據(jù)審計(jì),從而實(shí)現(xiàn)更可靠和可控的數(shù)據(jù)共享.

目前,結(jié)合區(qū)塊鏈技術(shù)的訪(fǎng)問(wèn)控制系統(tǒng)研究集中呈現(xiàn)在特定的應(yīng)用背景下,例如醫(yī)療保健、物聯(lián)網(wǎng)和云聯(lián)合等.Wang等人[7]研究了去中心化存儲(chǔ)系統(tǒng)的數(shù)據(jù)存儲(chǔ)和共享方案,并提出了一個(gè)結(jié)合去中心存儲(chǔ)系統(tǒng)、以太坊區(qū)塊鏈和屬性基加密技術(shù)的框架,該方案在實(shí)現(xiàn)對(duì)數(shù)據(jù)細(xì)粒度訪(fǎng)問(wèn)控制的同時(shí),實(shí)現(xiàn)了去中心化存儲(chǔ)系統(tǒng)密文中的關(guān)鍵字搜索功能.Jemel等人[8]提出了一種新的適時(shí)訪(fǎng)問(wèn)控制模型,應(yīng)用的是去中心化的訪(fǎng)問(wèn)控制機(jī)制,并且基于密文策略屬性加密(ciphertext-policy attribute-based encryption, CP-ABE)為文件共享添加了時(shí)間維度約束.Guo等人[9]提出了一種采用區(qū)塊鏈和邊緣節(jié)點(diǎn)對(duì)電子健康記錄數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn)控制的混合架構(gòu),其中區(qū)塊鏈充當(dāng)防篡改驗(yàn)證組件,用于驗(yàn)證身份和訪(fǎng)問(wèn)控制策略.Zhang等人[10]提出了一種支持靈活查詢(xún)的細(xì)粒度訪(fǎng)問(wèn)授權(quán)體系結(jié)構(gòu),該體系結(jié)構(gòu)提供了不同粒度級(jí)別的安全授權(quán)及一個(gè)功能強(qiáng)大的基礎(chǔ)設(shè)施,減少了所需的計(jì)算時(shí)間.為了保護(hù)物聯(lián)網(wǎng)系統(tǒng)中用戶(hù)的隱私,Dukkipati等人[11]將系統(tǒng)策略存儲(chǔ)在鏈外,這樣成本更低.Ding等人[12]則專(zhuān)注于簡(jiǎn)化訪(fǎng)問(wèn)控制協(xié)議,并且其適用于計(jì)算能力和能源有限的物聯(lián)網(wǎng)設(shè)備.Alansari等人[13]提出了結(jié)合區(qū)塊鏈的基于屬性的訪(fǎng)問(wèn)控制系統(tǒng),該系統(tǒng)使用戶(hù)的屬性對(duì)聯(lián)邦組織完全保密,還采用了可信硬件技術(shù)來(lái)保證策略執(zhí)行過(guò)程的完整性.Maesa等人[14]在以太坊上建立訪(fǎng)問(wèn)控制系統(tǒng),以保證訪(fǎng)問(wèn)控制策略評(píng)估的可審計(jì)性,關(guān)鍵思想是將基于屬性的訪(fǎng)問(wèn)控制策略編碼為智能合約,并將其部署在區(qū)塊鏈上,從而將策略評(píng)估過(guò)程轉(zhuǎn)化為完全分布式的智能合約執(zhí)行.區(qū)塊鏈技術(shù)在訪(fǎng)問(wèn)控制的應(yīng)用概述如表1所示:

表1 區(qū)塊鏈技術(shù)在訪(fǎng)問(wèn)控制的應(yīng)用概述

針對(duì)現(xiàn)有的能源訪(fǎng)問(wèn)控制方案存在的中心化、訪(fǎng)問(wèn)透明度低等問(wèn)題,本文提出了一種基于區(qū)塊鏈和分級(jí)的能源數(shù)據(jù)訪(fǎng)問(wèn)控制方案.該方案的創(chuàng)新點(diǎn)主要包括3個(gè)方面:

1) 提出一種基于屬性的訪(fǎng)問(wèn)控制模型及與區(qū)塊鏈相結(jié)合的訪(fǎng)問(wèn)控制方法.采用ABAC授權(quán)模型實(shí)現(xiàn)零信任動(dòng)態(tài)訪(fǎng)問(wèn)控制的核心邏輯[15-16],利用智能合約使得訪(fǎng)問(wèn)控制自動(dòng)化、判決過(guò)程透明化,便于對(duì)全流程進(jìn)行監(jiān)督管控.

2) 對(duì)能源數(shù)據(jù)分級(jí).根據(jù)能源數(shù)據(jù)的重要性,對(duì)能源數(shù)據(jù)進(jìn)行等級(jí)劃分.等級(jí)越高數(shù)據(jù)的隱私程度越高,對(duì)共享的對(duì)象要求越高,所需要的策略屬性描述越多,針對(duì)此設(shè)計(jì)相應(yīng)的訪(fǎng)問(wèn)控制策略.

3) 利用Hyperledger Fabric2.4平臺(tái)實(shí)現(xiàn)基于區(qū)塊鏈的能源數(shù)據(jù)共享訪(fǎng)問(wèn)控制方案,利用Hyperledger caliper工具對(duì)其進(jìn)行性能測(cè)試,實(shí)驗(yàn)結(jié)果表明該方案具有較為穩(wěn)定的性能.

1 基于區(qū)塊鏈和能源分級(jí)的訪(fǎng)問(wèn)控制模型

本文在基于屬性的訪(fǎng)問(wèn)控制模型的基礎(chǔ)上,對(duì)能源數(shù)據(jù)根據(jù)其隱私重要程度進(jìn)行更細(xì)粒度的分級(jí),從而設(shè)計(jì)更加靈活的訪(fǎng)問(wèn)控制策略.利用區(qū)塊鏈智能合約技術(shù)保證訪(fǎng)問(wèn)控制過(guò)程的自動(dòng)化、去中心化等,從而實(shí)現(xiàn)能源數(shù)據(jù)的可控共享.

1.1 基于區(qū)塊鏈的能源數(shù)據(jù)共享模型

本節(jié)主要介紹基于區(qū)塊鏈的能源數(shù)據(jù)共享模型,實(shí)現(xiàn)不同能源企業(yè)公司的數(shù)據(jù)共享,如圖1所示,共享過(guò)程中主要的訪(fǎng)問(wèn)控制判決在區(qū)塊鏈上完成.基于區(qū)塊鏈的能源數(shù)據(jù)共享模型分為2個(gè)階段:能源數(shù)據(jù)存儲(chǔ)階段和能源數(shù)據(jù)共享階段.

圖1 能源數(shù)據(jù)共享模型

模型主要有5個(gè)主體:可信授權(quán)中心(trusted authorization center)、云存儲(chǔ)器(cloud storage)、區(qū)塊鏈(blockchain)、數(shù)據(jù)擁有者(data owner, DO)、數(shù)據(jù)請(qǐng)求者(data requester, DR).

1) 可信授權(quán)中心是一個(gè)完全受信任的中心,用于生成系統(tǒng)用戶(hù)的公鑰、私鑰,并頒發(fā)數(shù)字證書(shū).

2) 云存儲(chǔ)器用于存儲(chǔ)加密后的能源資源數(shù)據(jù),返回加密數(shù)據(jù)在云存儲(chǔ)器中的位置信息.

3) 區(qū)塊鏈[17]中各節(jié)點(diǎn)由多家能源公司企業(yè)構(gòu)成.在區(qū)塊鏈中,能源資源數(shù)據(jù)與訪(fǎng)問(wèn)控制策略以事務(wù)的形式存儲(chǔ)在區(qū)塊鏈中.根據(jù)能源數(shù)據(jù)共享的應(yīng)用場(chǎng)景選取聯(lián)盟鏈,實(shí)現(xiàn)能源數(shù)據(jù)共享訪(fǎng)問(wèn)控制,與公有鏈不同,聯(lián)盟鏈只限在聯(lián)盟中的組織才有權(quán)限進(jìn)行訪(fǎng)問(wèn),用戶(hù)加入聯(lián)盟鏈前需要進(jìn)行注冊(cè),注冊(cè)成功后才能加入聯(lián)盟鏈中,有效地加強(qiáng)監(jiān)管能力.

4) 數(shù)據(jù)擁有者可以與其他用戶(hù)共享能源資源數(shù)據(jù),為其設(shè)計(jì)相應(yīng)的訪(fǎng)問(wèn)控制策略并上鏈.將能源資源數(shù)據(jù)密文存入到云存儲(chǔ)器,將云存儲(chǔ)器的存儲(chǔ)位置等信息存儲(chǔ)至區(qū)塊鏈.

5) 數(shù)據(jù)請(qǐng)求者請(qǐng)求能源資源數(shù)據(jù),獲得相應(yīng)授權(quán),根據(jù)響應(yīng)結(jié)果獲得元數(shù)據(jù),其中包括在云存儲(chǔ)器中能源資源數(shù)據(jù)的存儲(chǔ)位置、數(shù)據(jù)哈希等信息.

1.1.1 能源數(shù)據(jù)存儲(chǔ)

數(shù)據(jù)擁有者(DO)根據(jù)能源數(shù)據(jù)的重要程度設(shè)計(jì)相應(yīng)的訪(fǎng)問(wèn)控制策略,發(fā)起新增訪(fǎng)問(wèn)控制策略交易,將包含訪(fǎng)問(wèn)控制策略的區(qū)塊上鏈,利用策略管理PAP合約對(duì)其進(jìn)行管理,為數(shù)據(jù)共享訪(fǎng)問(wèn)控制提供策略依據(jù).使用DO公鑰PKDO加密能源資源數(shù)據(jù)得到密文CPKDO,將密文存入云存儲(chǔ)器,返回云存儲(chǔ)器的存儲(chǔ)位置等信息(元數(shù)據(jù)).

1.1.2 能源數(shù)據(jù)共享

如圖1所示,數(shù)據(jù)請(qǐng)求者(DR)向區(qū)塊鏈提交訪(fǎng)問(wèn)請(qǐng)求,訪(fǎng)問(wèn)控制判定合約接收訪(fǎng)問(wèn)請(qǐng)求NAR,向訪(fǎng)問(wèn)控制屬性管理合約請(qǐng)求主體屬性、客體屬性、環(huán)境屬性和操作屬性信息,對(duì)NAR進(jìn)行補(bǔ)全;屬性管理合約根據(jù)檢索到的屬性信息,構(gòu)建基于屬性的訪(fǎng)問(wèn)請(qǐng)求AAR;判定合約向訪(fǎng)問(wèn)控制策略管理合約發(fā)送策略查詢(xún)服務(wù),根據(jù) AAR 中的客體屬性,遍歷區(qū)塊鏈查找與客體屬性相關(guān)的策略,形成訪(fǎng)問(wèn)控制集合返回結(jié)果;判定合約根據(jù) AAR 中的屬性對(duì)返回的訪(fǎng)問(wèn)控制集合進(jìn)行比較評(píng)估,返回判決結(jié)果;最后數(shù)據(jù)請(qǐng)求者根據(jù)響應(yīng)結(jié)果獲得元數(shù)據(jù).

數(shù)據(jù)請(qǐng)求者DR獲得元數(shù)據(jù)后,可得到密文在云存儲(chǔ)器中的位置信息以及密文的哈希值,獲得密文以及哈希值后,對(duì)比可知數(shù)據(jù)是否被篡改.

1.2 能源數(shù)據(jù)分級(jí)方案

由于能源大數(shù)據(jù)存在數(shù)據(jù)量大、多源等特點(diǎn),需要對(duì)能源數(shù)據(jù)本身劃分更細(xì)粒度的等級(jí).根據(jù)數(shù)據(jù)的重要程度,為能源數(shù)據(jù)劃分相應(yīng)的安全等級(jí).

定義1.能源數(shù)據(jù)安全等級(jí)表示為

數(shù)據(jù)擁有者定義能源數(shù)據(jù)的安全等級(jí).

定義2.信任等級(jí)表示為

數(shù)據(jù)請(qǐng)求者擁有信任等級(jí),本節(jié)定義信任等級(jí)總共有3個(gè)等級(jí),即n=3.

表2 數(shù)據(jù)安全等級(jí)與隱私程度的關(guān)系

如表3所示,數(shù)據(jù)請(qǐng)求者擁有信任等級(jí),只有當(dāng)信任等級(jí)高于安全等級(jí)的前提下才可以進(jìn)行完全訪(fǎng)問(wèn)[19].如果等級(jí)相同,根據(jù)主體屬性的不同,授予不同的訪(fǎng)問(wèn)權(quán)限,若信任等級(jí)低于安全等級(jí),則拒絕授權(quán).在匹配訪(fǎng)問(wèn)策略時(shí),首先比較信任等級(jí)與安全等級(jí),可以降低訪(fǎng)問(wèn)策略的匹配時(shí)間.

表3 信任等級(jí)與數(shù)據(jù)安全等級(jí)的關(guān)系[19]

2 訪(fǎng)問(wèn)控制智能合約設(shè)計(jì)

本節(jié)主要介紹在訪(fǎng)問(wèn)控制過(guò)程中3個(gè)重要的合約,分別為訪(fǎng)問(wèn)控制策略管理合約、訪(fǎng)問(wèn)控制屬性管理合約以及訪(fǎng)問(wèn)控制判定合約.

2.1 訪(fǎng)問(wèn)控制策略管理合約

訪(fǎng)問(wèn)控制策略管理合約主要管理區(qū)塊鏈上的訪(fǎng)問(wèn)策略集合.通過(guò)該合約,將數(shù)據(jù)請(qǐng)求者DR訪(fǎng)問(wèn)請(qǐng)求相關(guān)的策略發(fā)送給訪(fǎng)問(wèn)控制策略決策點(diǎn)PDP,為訪(fǎng)問(wèn)控制策略判決提供策略依據(jù).合約中的功能主要包括:添加策略功能AddPolicy()、查詢(xún)策略功能QueryPolicy()、刪除策略功能DeletePolicy()、更新策略功能UpdatePolicy().這些功能可以有效地幫助數(shù)據(jù)擁有者DO管理區(qū)塊鏈上的訪(fǎng)問(wèn)控制策略.訪(fǎng)問(wèn)控制策略管理合約中屬性請(qǐng)求查詢(xún)功能,詳見(jiàn)算法1所示:

算法1.訪(fǎng)問(wèn)控制策略管理合約.

輸入:屬性訪(fǎng)問(wèn)請(qǐng)求AAR、區(qū)塊鏈Blocks;

輸出:能源資源數(shù)據(jù)訪(fǎng)問(wèn)控制集合SET.

①Attributetuple←Readparse(AAR);

② forblock=1 toBlocks.lengthdo

③ forj=1 topolicyblock.lengthdo

④ ifAttributetuple.OA==OAttribute

then

⑤SET.add(policyblock.transaction.

policy);

⑥ end if

⑦ end for

⑧ end for

⑨ returnSET.

算法流程描述:

1) 輸入為基于屬性的訪(fǎng)問(wèn)控制AAR.

2) 通過(guò)函數(shù)Readparse解析AAR中的屬性元組Attributetuple.

3) 遍歷區(qū)塊鏈中的策略事務(wù),查找與請(qǐng)求資源Attributetuple.OA相關(guān)的訪(fǎng)問(wèn)控制策略,存入到能源資源數(shù)據(jù)訪(fǎng)問(wèn)控制集合SET中.

2.2 訪(fǎng)問(wèn)控制屬性管理合約

屬性管理合約主要提供屬性信息的查詢(xún)服務(wù),接收屬性請(qǐng)求,遍歷區(qū)塊鏈上的屬性事務(wù),獲取相關(guān)的主體、客體、環(huán)境的屬性信息,返回屬性集合給判決點(diǎn),為決策提供屬性依據(jù).

屬性與屬性關(guān)系如表4所示,主體屬性如屬性ID、姓名、角色,客體屬性如屬性ID、文件名稱(chēng)等信息.屬性關(guān)系如主體ID與姓名的關(guān)系等.

表4 屬性與屬性關(guān)系

2.3 訪(fǎng)問(wèn)控制判定合約

訪(fǎng)問(wèn)控制判定合約主要對(duì)所請(qǐng)求資源的相關(guān)策略進(jìn)行屬性匹配,判定屬性是否滿(mǎn)足策略要求,最后為其進(jìn)行授權(quán).在對(duì)能源數(shù)據(jù)分級(jí)的基礎(chǔ)上,比較數(shù)據(jù)請(qǐng)求者的信任值與所請(qǐng)求的能源數(shù)據(jù)的等級(jí),如果大于等于則繼續(xù)進(jìn)行其余主體屬性、環(huán)境屬性以及操作屬性的比較,否則直接終止判定.

如果AAR中所有屬性都滿(mǎn)足策略中的屬性,則判定結(jié)果一般有2種:一種為permit允許訪(fǎng)問(wèn),另一種為deny禁止訪(fǎng)問(wèn).如果不滿(mǎn)足則會(huì)出現(xiàn)2種情況:第1種是AAR中的屬性缺少,導(dǎo)致無(wú)法判決,返回unknown;第2種是遍歷結(jié)束之后,未有1條策略滿(mǎn)足,則返回unsuccessful.

判定函數(shù)具體如算法2所示,主要功能為:策略集合SET中的每條策略Policy與AAR中各屬性進(jìn)行匹配,返回判定結(jié)果.其中,Policy與AAR中的{SA,OA,EA,PA}代表策略中的4類(lèi)屬性,分別為主體屬性、客體屬性、環(huán)境屬性以及操作屬性.

具體的判定過(guò)程為:

1) 若Policy中的屬性{SA,OA,EA,PA}不完全包含在AAR的屬性{SA,OA,EA,PA}中,則判定結(jié)果為unknown.

2) 若Policy中的屬性{SA,OA,EA,PA}包含在AAR的屬性{SA,OA,EA,PA}中,但AAR中存在1個(gè)屬性的范圍不滿(mǎn)足Policy中的屬性范圍,則判定結(jié)果為unsuccessful.

3) 若Policy中的屬性{SA,OA,EA,PA}包含在AAR的屬性{SA,OA,EA,PA}中,并且AAR中所有屬性的屬性值都滿(mǎn)足Policy中的屬性值,則返回結(jié)果為permit或者deny.

算法2.訪(fǎng)問(wèn)控制判定合約.

輸入:屬性訪(fǎng)問(wèn)請(qǐng)求AAR、區(qū)塊鏈Blocks、能源資源數(shù)據(jù)策略Policy;

輸出:訪(fǎng)問(wèn)控制判定結(jié)果permit,deny,unknown.

①SET←QueryPolicy(AAR,Blocks);

②Attributetuple←Readparse(AAR);

③ functionCOMPAREATTR(Policy)

④ ifAttributetuple.levelSA≥

Policy.levelOAthen

⑤ ifPolicy.SA?Attributetuple.SA

andPolicy.OA?Attributetuple.OAandPolicy.EA?Attributetuple.EA

andPolicy.PA?Attributetuple.PA

andScopeofconformancethen

⑥ returnPolicy.result;

⑦ else

⑧ ifPolicy.SA?Attributetuple.SA

andPolicy.OA?Attributetuple.OA

andPolicy.EA?Attributetuple.EA

andPolicy.PA?Attributetuple.PA

andRangeofnonconformitythen

⑨ return unsuccessful;

⑩ else

算法流程為:

1) 通過(guò)函數(shù)Readparse解析AAR,得到屬性集合Attributetuple;

2) 比較Attributetuple中的主體屬性等級(jí)levelSA與能源資源數(shù)據(jù)策略Policy中的客體屬性等級(jí)levelOA,若主體屬性等級(jí)小于客體屬性等級(jí),則直接判定為deny,結(jié)束判定;

3) 若主體屬性等級(jí)大于等于客體屬性等級(jí),繼續(xù)判定Attributetuple4類(lèi)屬性與策略Policy中的4類(lèi)屬性是否匹配,并且比較Attributetuple每個(gè)屬性的范圍是否滿(mǎn)足Policy中各個(gè)屬性的范圍,若滿(mǎn)足則返回策略結(jié)果,結(jié)果內(nèi)容為Policy.result={permit,deny};

4) 在第3)步滿(mǎn)足等級(jí)以及屬性匹配的前提下,若屬性范圍不滿(mǎn)足,則返回unsuccessful結(jié)果;

5) 在第3)步滿(mǎn)足等級(jí)的前提下,若屬性沒(méi)有匹配成功,則返回unknown結(jié)果.

3 實(shí)驗(yàn)結(jié)果及分析

本文實(shí)驗(yàn)設(shè)計(jì)采用Hyperledger Fabric2.4構(gòu)建區(qū)塊鏈平臺(tái),利用Ubuntu 22.04構(gòu)建Linux實(shí)驗(yàn)環(huán)境,編程語(yǔ)言環(huán)境包括Golang 1.18.1版本以及Node.js 12.22.9版本,前期工作安裝有npm 8.5.1版本和Docker 20.10.20以及Docker compose.利用Fabric caliper工具進(jìn)行性能測(cè)試,生成相關(guān)結(jié)果,其中包括交易成功率、每秒交易次數(shù)、交易結(jié)算耗時(shí)以及所有操作的資源消耗(如CPU和內(nèi)存)等.

Hyperledger Fabric區(qū)塊鏈在1臺(tái)主機(jī)上運(yùn)行,模擬多機(jī)環(huán)境,建立了有5個(gè)orderer排序節(jié)點(diǎn),2個(gè)組織org1和org2,每個(gè)組織各有2個(gè)節(jié)點(diǎn)peer1和peer2,位于同一個(gè)通道m(xù)ychannel內(nèi),建立4個(gè)couchdb數(shù)據(jù)庫(kù)節(jié)點(diǎn).leveldb是默認(rèn)的鍵值對(duì)狀態(tài)數(shù)據(jù)庫(kù),couchdb可以替代leveldb數(shù)據(jù)庫(kù),不僅可以實(shí)現(xiàn)鍵值查詢(xún),還支持復(fù)雜查詢(xún).

能源數(shù)據(jù)擁有者為其數(shù)據(jù)設(shè)計(jì)訪(fǎng)問(wèn)控制策略時(shí),在環(huán)境屬性中可以設(shè)置此策略的起始時(shí)間(start time)及結(jié)束時(shí)間(end time),利用訪(fǎng)問(wèn)控制策略管理合約中函數(shù)AddPolicy()增加訪(fǎng)問(wèn)控制策略.訪(fǎng)問(wèn)策略以JSON形式描述如下:

{″AS″:{″userId″:″s001″,″role″:″e(cuò)mployee″,″company″:″A″},

″AO″:{″data″:″1234″,″level″:″1_1″},″AP″:{″action″:″R″},

″AE″:{″starttime″:1671261974,″e(cuò)ndTime″:2671261974}}.

在智能合約中通過(guò)time.Now().Unix()設(shè)置時(shí)間戳timestamp記錄總秒數(shù),在數(shù)據(jù)請(qǐng)求者發(fā)起請(qǐng)求時(shí)會(huì)有此刻的時(shí)間戳,在訪(fǎng)問(wèn)控制合約中進(jìn)行策略判定,比較當(dāng)前時(shí)間戳與訪(fǎng)問(wèn)策略中的結(jié)束時(shí)間,若大于結(jié)束時(shí)間則顯示endorsement failed,由此實(shí)現(xiàn)具有時(shí)間約束的訪(fǎng)問(wèn)控制.

為了探究訪(fǎng)問(wèn)控制策略數(shù)量與時(shí)延的關(guān)系,首先選取訪(fǎng)問(wèn)控制策略管理合約中的函數(shù)AddPolicy()為測(cè)試內(nèi)容,在訪(fǎng)問(wèn)控制策略分別取50,100,200,400,600,800,1 000條構(gòu)成7組測(cè)試集樣本,在節(jié)點(diǎn)客戶(hù)端的連接數(shù)設(shè)置為10的前提下,記錄整體交易時(shí)延.由圖2所示,隨著訪(fǎng)問(wèn)控制策略數(shù)量的增加,交易時(shí)延隨之增加.

圖2 策略數(shù)量與時(shí)延的關(guān)系

圖3 訪(fǎng)問(wèn)請(qǐng)求數(shù)量與時(shí)延關(guān)系

為了探究數(shù)據(jù)請(qǐng)求者的訪(fǎng)問(wèn)請(qǐng)求數(shù)量與交易時(shí)延的關(guān)系,實(shí)驗(yàn)設(shè)計(jì)了在不同的訪(fǎng)問(wèn)請(qǐng)求規(guī)模下的訪(fǎng)問(wèn)時(shí)延.首先從訪(fǎng)問(wèn)請(qǐng)求中分別取50,100,200,400,600,800,1 000條訪(fǎng)問(wèn)控制請(qǐng)求構(gòu)成7組測(cè)試集樣本,保證在相同的屬性數(shù)量以及訪(fǎng)問(wèn)控制策略的基礎(chǔ)上記錄交易時(shí)延.如圖3所示,隨著訪(fǎng)問(wèn)控制請(qǐng)求數(shù)量的增加,交易時(shí)延隨之增加.

圖4 安全級(jí)別與時(shí)延關(guān)系

4 結(jié)束語(yǔ)

針對(duì)能源數(shù)據(jù)共享過(guò)程中存在的中心化、訪(fǎng)問(wèn)透明度等問(wèn)題,本文提出了一種基于屬性的訪(fǎng)問(wèn)控制和區(qū)塊鏈的能源數(shù)據(jù)共享模型,利用區(qū)塊鏈智能合約保證能源數(shù)據(jù)共享訪(fǎng)問(wèn)控制的自動(dòng)化判決,提高了能源共享訪(fǎng)問(wèn)控制的隱私安全和可靠性.在采用基于屬性的訪(fǎng)問(wèn)控制的基礎(chǔ)上,將能源數(shù)據(jù)按照其重要性進(jìn)行分級(jí),設(shè)計(jì)訪(fǎng)問(wèn)策略中包含能源數(shù)據(jù)的安全等級(jí),實(shí)現(xiàn)更細(xì)粒度的訪(fǎng)問(wèn)控制.

猜你喜歡
請(qǐng)求者訪(fǎng)問(wèn)控制合約
基于D2D 多播通信的合作內(nèi)容下載機(jī)制
群智感知中基于云輔助的隱私信息保護(hù)機(jī)制
漢語(yǔ)自然會(huì)話(huà)中請(qǐng)求行為的序列結(jié)構(gòu)
ONVIF的全新主張:一致性及最訪(fǎng)問(wèn)控制的Profile A
基于差值誘導(dǎo)的Web服務(wù)評(píng)價(jià)可信度的評(píng)估
動(dòng)態(tài)自適應(yīng)訪(fǎng)問(wèn)控制模型
淺析云計(jì)算環(huán)境下等級(jí)保護(hù)訪(fǎng)問(wèn)控制測(cè)評(píng)技術(shù)
大數(shù)據(jù)平臺(tái)訪(fǎng)問(wèn)控制方法的設(shè)計(jì)與實(shí)現(xiàn)
合約必守,誰(shuí)能例外!——對(duì)“情勢(shì)變更”制度不可寄于過(guò)高期望
和政县| 荥阳市| 甘南县| 温泉县| 延寿县| 油尖旺区| 石棉县| 万宁市| 嵊州市| 杂多县| 惠东县| 岚皋县| 抚宁县| 永福县| 竹北市| 凌海市| 乌拉特中旗| 平顶山市| 湘阴县| 瑞安市| 莱阳市| 盘山县| 玛多县| 栾川县| 石景山区| 斗六市| 九江市| 兰州市| 绥滨县| 桐柏县| 丰宁| 安平县| 汤原县| 友谊县| 保靖县| 仁怀市| 丰原市| 福海县| 台中市| 乐山市| 宝清县|