本發(fā)明涉及數(shù)據(jù)訪問(wèn)控制,具體涉及一種基于聯(lián)盟鏈的電力數(shù)據(jù)訪問(wèn)控制方法、系統(tǒng)及設(shè)備。
背景技術(shù):
1、隨著全球電力行業(yè)的數(shù)字化轉(zhuǎn)型和智能電網(wǎng)技術(shù)的廣泛應(yīng)用,電力系統(tǒng)中產(chǎn)生和傳輸?shù)臄?shù)據(jù)量呈爆炸式增長(zhǎng)。電力數(shù)據(jù)涵蓋了從發(fā)電、輸電、配電到用戶終端的全生命周期,內(nèi)容包括電力設(shè)備的運(yùn)行狀態(tài)、能耗數(shù)據(jù)、故障信息、實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)等。這些數(shù)據(jù)不僅是電力系統(tǒng)優(yōu)化運(yùn)行和管理決策的重要依據(jù),同時(shí)也是用戶隱私和商業(yè)秘密的重要組成部分。因此,如何安全地存儲(chǔ)和訪問(wèn)電力數(shù)據(jù),成為當(dāng)前電網(wǎng)建設(shè)中的關(guān)鍵問(wèn)題。
2、傳統(tǒng)的電力數(shù)據(jù)存儲(chǔ)通常依賴于一個(gè)可信的中心節(jié)點(diǎn)。雖然這種中心化的數(shù)據(jù)存儲(chǔ)方式便于統(tǒng)一管理和維護(hù),但也帶來(lái)了諸多挑戰(zhàn)和安全問(wèn)題。例如,即使存儲(chǔ)的數(shù)據(jù)被攻擊者惡意篡改,該惡意行為也難以被檢測(cè)出來(lái)。為了應(yīng)對(duì)這些問(wèn)題,區(qū)塊鏈因其去中心化、不可篡改和透明性的特點(diǎn),逐漸成為電力數(shù)據(jù)管理的潛在解決方案。區(qū)塊鏈?zhǔn)怯煞植际降木W(wǎng)絡(luò)節(jié)點(diǎn)共同維護(hù)的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),節(jié)點(diǎn)按照時(shí)間順序?qū)?shù)據(jù)生成區(qū)塊,并將區(qū)塊以順序相連的方式進(jìn)行組合。區(qū)塊鏈利用密碼學(xué)算法(如哈希算法和數(shù)字簽名)有效保證了數(shù)據(jù)不可篡改、不可偽造和可追溯。
3、現(xiàn)有基于區(qū)塊鏈的電力數(shù)據(jù)加密存儲(chǔ)方案利用區(qū)塊鏈來(lái)分布式存儲(chǔ)數(shù)據(jù),使用分布式節(jié)點(diǎn)共識(shí)算法來(lái)更新數(shù)據(jù),實(shí)現(xiàn)了一種去中心化的數(shù)據(jù)存儲(chǔ)。然而,現(xiàn)有方案仍存在不足。具體而言,為了保障數(shù)據(jù)安全,數(shù)據(jù)在存儲(chǔ)前通常需要進(jìn)行加密,但傳統(tǒng)的加密算法會(huì)阻礙密文數(shù)據(jù)的搜索。更糟糕的是,對(duì)區(qū)塊鏈上的數(shù)據(jù)進(jìn)行關(guān)鍵字檢索效率低下,這將嚴(yán)重阻礙方案的實(shí)際部署與應(yīng)用。此外,現(xiàn)有方案缺乏細(xì)粒度的訪問(wèn)控制。電力數(shù)據(jù)在實(shí)際存儲(chǔ)時(shí)通常需要分級(jí)分類,等級(jí)越高的數(shù)據(jù)隱私程度越高,對(duì)數(shù)據(jù)訪問(wèn)的用戶要求便越高。如何在電力數(shù)據(jù)訪問(wèn)過(guò)程中設(shè)計(jì)細(xì)粒度的訪問(wèn)控制是一個(gè)亟待解決的問(wèn)題。
4、因此,本發(fā)明旨在提供一種基于聯(lián)盟鏈的電力數(shù)據(jù)訪問(wèn)控制方法、系統(tǒng)及設(shè)備,以解決上述提到的相關(guān)問(wèn)題。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問(wèn)題是如何在保證密文電力數(shù)據(jù)高效檢索的同時(shí)實(shí)現(xiàn)細(xì)粒度的訪問(wèn)控制,目的在于提供一種基于聯(lián)盟鏈的電力數(shù)據(jù)訪問(wèn)控制方法、系統(tǒng)及設(shè)備,通過(guò)構(gòu)建一種基于聯(lián)盟鏈的鏈上鏈下相結(jié)合的電力數(shù)據(jù)加密存儲(chǔ)模式,將電力數(shù)據(jù)加密后存儲(chǔ)在存儲(chǔ)服務(wù)器中以確保電力數(shù)據(jù)的安全性,將數(shù)據(jù)存儲(chǔ)記錄存儲(chǔ)于聯(lián)盟鏈上以確保了數(shù)據(jù)的不可篡改性和可追溯性;同時(shí)本發(fā)明還提供了基于布隆過(guò)濾器和對(duì)稱加密技術(shù)的支持關(guān)鍵字檢索的加密存儲(chǔ)方法,在保證數(shù)據(jù)安全存儲(chǔ)的同時(shí),實(shí)現(xiàn)了高效的數(shù)據(jù)檢索,提升了系統(tǒng)的實(shí)用性;同時(shí)基于智能合約實(shí)現(xiàn)了基于用戶屬性的細(xì)粒度訪問(wèn)控制,滿足數(shù)據(jù)分級(jí)分類場(chǎng)景下的訪問(wèn)需求。
2、本發(fā)明通過(guò)下述技術(shù)方案實(shí)現(xiàn):
3、一種基于聯(lián)盟鏈的電力數(shù)據(jù)訪問(wèn)控制方法,方法包括:
4、認(rèn)證服務(wù)器基于安全參數(shù)生成系統(tǒng)公共參數(shù),并生成簽名密鑰和驗(yàn)證密鑰;
5、代理服務(wù)器將電力數(shù)據(jù)集加密得到第一加密密文,并將第一加密密文發(fā)送至存儲(chǔ)服務(wù)器進(jìn)行存儲(chǔ),將存儲(chǔ)記錄發(fā)送至聯(lián)盟鏈進(jìn)行存儲(chǔ);
6、用戶向認(rèn)證服務(wù)器發(fā)送認(rèn)證注冊(cè)請(qǐng)求,認(rèn)證服務(wù)器存儲(chǔ)用戶攜帶的用戶注冊(cè)信息,并響應(yīng)認(rèn)證注冊(cè)請(qǐng)求向用戶發(fā)送包含認(rèn)證有效日期的認(rèn)證令牌;
7、用戶向代理服務(wù)器發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求,代理服務(wù)器響應(yīng)數(shù)據(jù)訪問(wèn)請(qǐng)求將驗(yàn)證用戶的認(rèn)證令牌的認(rèn)證有效日期,并基于用戶屬性信息觸發(fā)匹配智能合約訪問(wèn)策略驗(yàn)證,驗(yàn)證通過(guò)后代理服務(wù)器對(duì)第一加密密文進(jìn)行解密并將解密后的電力數(shù)據(jù)集發(fā)送至用戶進(jìn)行數(shù)據(jù)訪問(wèn)。
8、進(jìn)一步地,認(rèn)證服務(wù)器基于安全參數(shù)生成系統(tǒng)公共參數(shù),并生成簽名密鑰和驗(yàn)證密鑰,具體為:
9、認(rèn)證服務(wù)器基于安全系數(shù)l生成系統(tǒng)公共參數(shù),其中,系統(tǒng)公共參數(shù)具體為{p,p,g,gt,e,enc,dec,f,h,h,insert,lookup},其中,g表示階為素?cái)?shù)p、生成元為p的加法循環(huán)群,gt表示階為p的乘法循環(huán)群,e:g×g→gt表示為一個(gè)雙線性映射,enc表示對(duì)稱加密算法,dec表示對(duì)稱加密算法相應(yīng)的解密算法,f:{0,1}l×{0,1}*→{0,1}l表示偽隨機(jī)函數(shù),h:{0,1}*→g、h:{0,1}*→{0,1}l均表示哈希函數(shù),insert表示將一個(gè)數(shù)據(jù)項(xiàng)x插入布隆過(guò)濾器bf中,lookup表示查詢數(shù)據(jù)項(xiàng)x是否包含在bf里面;
10、認(rèn)證服務(wù)器生成簽名密鑰和驗(yàn)證密鑰
11、進(jìn)一步地,代理服務(wù)器將電力數(shù)據(jù)集加密得到第一加密密文,并將第一加密密文發(fā)送至存儲(chǔ)服務(wù)器進(jìn)行存儲(chǔ),將存儲(chǔ)記錄發(fā)送至聯(lián)盟鏈進(jìn)行存儲(chǔ),其中,電力數(shù)據(jù)集包括至少一條待加密的電力數(shù)據(jù),電力數(shù)據(jù)由標(biāo)識(shí)符集和關(guān)鍵字集構(gòu)成,具體為:
12、代理服務(wù)器隨機(jī)生成第一密鑰,利用第一密鑰加密電力數(shù)據(jù)集得到第一加密密文,并初始化第一列表和第一布隆過(guò)濾器;
13、代理服務(wù)器基于關(guān)鍵字集中的每個(gè)關(guān)鍵字,結(jié)合第一密鑰生成第一子密鑰和第二子密鑰,并初始化第一計(jì)數(shù)器;
14、代理服務(wù)器利用第一子密鑰和第一計(jì)數(shù)器生成第一偽隨機(jī)標(biāo)簽,利用第二子密鑰加密標(biāo)識(shí)符集中的每個(gè)標(biāo)識(shí)符生成標(biāo)識(shí)符密文,并對(duì)第一計(jì)數(shù)器進(jìn)行更新生成第二計(jì)數(shù)器;
15、代理服務(wù)器將第一偽隨機(jī)標(biāo)簽和標(biāo)識(shí)符密文加入到第一列表中,并將第一偽隨機(jī)標(biāo)簽插入到第一布隆過(guò)濾器中,以對(duì)第一列表和第一布隆過(guò)濾器更新,得到第二列表和第二布隆過(guò)濾器;
16、代理服務(wù)器利用第二列表生成用于查詢標(biāo)識(shí)符密文的密鑰字典,并將密鑰字典和第一加密密文發(fā)送至存儲(chǔ)服務(wù)器存儲(chǔ);
17、存儲(chǔ)服務(wù)器接收到密鑰字典和第一加密密文進(jìn)行存儲(chǔ),并將存儲(chǔ)記錄通過(guò)智能合約訪問(wèn)策略發(fā)送至聯(lián)盟鏈進(jìn)行存儲(chǔ)。
18、進(jìn)一步地,用戶向認(rèn)證服務(wù)器發(fā)送認(rèn)證注冊(cè)請(qǐng)求,認(rèn)證服務(wù)器存儲(chǔ)用戶攜帶的用戶注冊(cè)信息,具體為:
19、用戶隨機(jī)選擇用戶身份標(biāo)識(shí)和用戶口令,并基于用戶身份標(biāo)識(shí)和用戶口令分別生成用戶密鑰和用戶憑證;
20、用戶將包含用戶身份標(biāo)識(shí)、用戶密鑰、用戶憑證以及用戶屬性信息的用戶注冊(cè)信息,發(fā)送至認(rèn)證服務(wù)器進(jìn)行存儲(chǔ)。
21、進(jìn)一步地,響應(yīng)認(rèn)證注冊(cè)請(qǐng)求向用戶發(fā)送包含認(rèn)證有效日期的認(rèn)證令牌,具體為:
22、用戶利用第一隨機(jī)數(shù)生成第一盲化口令,并向認(rèn)證服務(wù)器發(fā)送包含用戶身份標(biāo)識(shí)和第一盲化口令的認(rèn)證注冊(cè)請(qǐng)求;
23、認(rèn)證服務(wù)器接收到認(rèn)證注冊(cè)請(qǐng)求后,利用用戶身份標(biāo)識(shí)對(duì)應(yīng)的用戶密鑰對(duì)第一盲化口令進(jìn)行處理得到簽名,并利用簽名密鑰結(jié)合用戶身份標(biāo)識(shí)、用戶屬性信息和預(yù)設(shè)的認(rèn)證有效日期生成認(rèn)證令牌;
24、認(rèn)證服務(wù)器利用對(duì)稱加密算法對(duì)用戶憑證和認(rèn)證令牌進(jìn)行加密得到第二加密密文,并將包含有簽名和第二加密密文的認(rèn)證響應(yīng)信息發(fā)送至用戶;
25、用戶接收到認(rèn)證響應(yīng)信息后利用用戶憑證對(duì)第二加密密文進(jìn)行解密,以得到包含認(rèn)證有效日期的認(rèn)證令牌。
26、進(jìn)一步地,用戶向代理服務(wù)器發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求,代理服務(wù)器響應(yīng)數(shù)據(jù)訪問(wèn)請(qǐng)求將驗(yàn)證用戶的認(rèn)證令牌的認(rèn)證有效日期,并基于用戶屬性信息觸發(fā)匹配智能合約訪問(wèn)策略驗(yàn)證,驗(yàn)證通過(guò)后代理服務(wù)器對(duì)第一加密密文進(jìn)行解密并將解密后的電力數(shù)據(jù)集發(fā)送至用戶進(jìn)行數(shù)據(jù)訪問(wèn),具體為:
27、用戶向代理服務(wù)器發(fā)送包含用戶身份標(biāo)識(shí)、認(rèn)證令牌和用戶屬性信息的數(shù)據(jù)訪問(wèn)請(qǐng)求;
28、代理服務(wù)器接收到數(shù)據(jù)訪問(wèn)請(qǐng)求后將對(duì)用戶的認(rèn)證令牌的認(rèn)證有效日期進(jìn)行驗(yàn)證,以及基于用戶屬性信息觸發(fā)匹配智能合約訪問(wèn)策略驗(yàn)證,在兩次驗(yàn)證均通過(guò)后將第一子密鑰和第二子密鑰發(fā)送至存儲(chǔ)服務(wù)器;
29、存儲(chǔ)服務(wù)器將第二計(jì)數(shù)器初始化為第一計(jì)數(shù)器,并基于第一子密鑰和第一計(jì)數(shù)器計(jì)算第一偽隨機(jī)標(biāo)簽,在密鑰字典中獲取第一偽隨機(jī)標(biāo)簽對(duì)應(yīng)的標(biāo)識(shí)符密文,并使用第二子密鑰解密標(biāo)識(shí)符密文得到標(biāo)識(shí)符集,再將第一加密密文發(fā)送至代理服務(wù)器;
30、代理服務(wù)器將第一加密密文進(jìn)行解密,將解密得到的電力數(shù)據(jù)集發(fā)送至用戶進(jìn)行數(shù)據(jù)訪問(wèn)。
31、本發(fā)明還提供一種基于聯(lián)盟鏈的電力數(shù)據(jù)訪問(wèn)控制系統(tǒng),其特征在于,該系統(tǒng)用于上述任意一項(xiàng)所述的一種基于聯(lián)盟鏈的電力數(shù)據(jù)訪問(wèn)控制方法中,所述系統(tǒng)包括:
32、第一模塊,用于認(rèn)證服務(wù)器基于安全參數(shù)生成系統(tǒng)公共參數(shù),并生成簽名密鑰和驗(yàn)證密鑰;
33、第二模塊,用于代理服務(wù)器將電力數(shù)據(jù)集加密得到第一加密密文,并將第一加密密文發(fā)送至存儲(chǔ)服務(wù)器進(jìn)行存儲(chǔ),將存儲(chǔ)記錄發(fā)送至聯(lián)盟鏈進(jìn)行存儲(chǔ);
34、第三模塊,用于用戶向認(rèn)證服務(wù)器發(fā)送認(rèn)證注冊(cè)請(qǐng)求,認(rèn)證服務(wù)器存儲(chǔ)用戶攜帶的用戶注冊(cè)信息,并響應(yīng)認(rèn)證注冊(cè)請(qǐng)求向用戶發(fā)送包含認(rèn)證有效日期的認(rèn)證令牌;
35、第四模塊,用于用戶向代理服務(wù)器發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求,代理服務(wù)器響應(yīng)數(shù)據(jù)訪問(wèn)請(qǐng)求將驗(yàn)證用戶的認(rèn)證令牌的認(rèn)證有效日期,并基于用戶屬性信息觸發(fā)匹配智能合約訪問(wèn)策略驗(yàn)證,驗(yàn)證通過(guò)后代理服務(wù)器對(duì)第一加密密文進(jìn)行解密并將解密后的電力數(shù)據(jù)集發(fā)送至用戶進(jìn)行數(shù)據(jù)訪問(wèn)。
36、本發(fā)明還提供一種計(jì)算機(jī)設(shè)備,包括存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)程序,所述處理器執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述中任意一項(xiàng)所述的方法的步驟。
37、本發(fā)明還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述中任意一項(xiàng)所述的方法的步驟。
38、本發(fā)明還提供一種包含指令的計(jì)算機(jī)程序產(chǎn)品,當(dāng)所述指令被計(jì)算機(jī)設(shè)備集群運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè)備集群執(zhí)行如上述任一項(xiàng)所述的方法。
39、本發(fā)明與現(xiàn)有技術(shù)相比,具有如下的優(yōu)點(diǎn)和有益效果:
40、在本發(fā)明中,通過(guò)構(gòu)建一種基于聯(lián)盟鏈的鏈上鏈下相結(jié)合的電力數(shù)據(jù)加密存儲(chǔ)模式,將電力數(shù)據(jù)加密后存儲(chǔ)在存儲(chǔ)服務(wù)器中以確保電力數(shù)據(jù)的安全性,將數(shù)據(jù)存儲(chǔ)記錄存儲(chǔ)于聯(lián)盟鏈上以確保了數(shù)據(jù)的不可篡改性和可追溯性;同時(shí)本發(fā)明還提供了基于布隆過(guò)濾器和對(duì)稱加密技術(shù)的支持關(guān)鍵字檢索的加密存儲(chǔ)方法,在保證數(shù)據(jù)安全存儲(chǔ)的同時(shí),實(shí)現(xiàn)了高效的數(shù)據(jù)檢索,提升了系統(tǒng)的實(shí)用性;同時(shí)基于智能合約實(shí)現(xiàn)了基于用戶屬性的細(xì)粒度訪問(wèn)控制,滿足數(shù)據(jù)分級(jí)分類場(chǎng)景下的訪問(wèn)需求。