本發(fā)明涉及數(shù)據(jù)共享,具體地說,涉及一種基于屬性加密的電力數(shù)據(jù)共享方法、系統(tǒng)、設(shè)備及介質(zhì)。
背景技術(shù):
1、屬性加密技術(shù)具有靈活的訪問控制策略,由于其能夠很好地解決了多對(duì)多通信的訪問控制問題,已廣泛地應(yīng)用在區(qū)塊鏈的訪問控制。目前電力數(shù)據(jù)共享方案主要采用屬性基加密技術(shù)實(shí)現(xiàn)一對(duì)多的電力數(shù)據(jù)訪問控制,但存在加密效率低和用戶屬性易被篡改等問題。
2、基于密文策略的屬性基加密(ciphertext-policy?attribute-basedencryption,cp-abe)是一種適用于電力數(shù)據(jù)共享的公鑰加密技術(shù),只有訪問用戶的屬性集滿足電力數(shù)據(jù)加密采用的訪問控制策略時(shí)才能解密數(shù)據(jù)密文。隨著區(qū)塊鏈技術(shù)日趨成熟,其應(yīng)用的場景也更加廣泛,適用于電力系統(tǒng)的數(shù)據(jù)共享,但是現(xiàn)有的基于區(qū)塊鏈的共享方案只考慮了訪問用戶的計(jì)算性能,未考慮數(shù)據(jù)擁有者的計(jì)算負(fù)擔(dān),在資源受限的數(shù)據(jù)采集設(shè)備中應(yīng)用時(shí)存在一定的局限性。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明針對(duì)現(xiàn)有的基于區(qū)塊鏈的共享方法只考慮了訪問用戶的計(jì)算性能,未考慮數(shù)據(jù)擁有者的計(jì)算負(fù)擔(dān),在資源受限的數(shù)據(jù)采集設(shè)備中應(yīng)用時(shí)存在一定的局限的問題,提出一種基于屬性加密的電力數(shù)據(jù)共享方法、系統(tǒng)、設(shè)備及介質(zhì);通過將用戶屬性存儲(chǔ)至區(qū)塊鏈,加強(qiáng)了屬性的安全性,并利用哈希函數(shù)驗(yàn)證解密數(shù)據(jù)的正確性,保障了電力數(shù)據(jù)共享的正確性;并通過在邊緣節(jié)點(diǎn)計(jì)算半解密密文,降低了數(shù)據(jù)共享的計(jì)算負(fù)擔(dān),提高了加解密效率并保證了數(shù)據(jù)的完整性。
2、本發(fā)明具體實(shí)現(xiàn)內(nèi)容如下:
3、一種基于屬性加密的電力數(shù)據(jù)共享方法,具體包括以下步驟:
4、步驟s1:根據(jù)設(shè)定的初始化參數(shù)進(jìn)行初始化操作,得到公共參數(shù)、主密鑰,并上傳至區(qū)塊鏈;
5、步驟s2:從屬性權(quán)威機(jī)構(gòu)獲取全局身份id,并根據(jù)從用戶獲取的屬性集合,生成用戶密鑰、轉(zhuǎn)換密鑰;
6、步驟s3:根據(jù)設(shè)定的訪問策略,將上傳的電力數(shù)據(jù)轉(zhuǎn)換為密文數(shù)據(jù),并發(fā)送至邊緣節(jié)點(diǎn);
7、步驟s4:根據(jù)密文數(shù)據(jù)的訪問請(qǐng)求,生成半解密密文;
8、步驟s5:根據(jù)半解密密文,恢復(fù)密文數(shù)據(jù),并調(diào)用哈希函數(shù)h驗(yàn)證恢復(fù)后的密文數(shù)據(jù)是否解密正確,若解密正確,完成電力數(shù)據(jù)共享。
9、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s1具體包括以下步驟:
10、步驟s11:根據(jù)設(shè)定的初始化參數(shù)α,生成雙線性群;
11、步驟s12:根據(jù)從用戶獲取的屬性集合s,從整數(shù)循環(huán)群zp中選擇隨機(jī)數(shù)as;
12、步驟s13:從整數(shù)循環(huán)群zp中隨機(jī)選擇z作為主密鑰msk,并隨機(jī)選擇一個(gè)元素y和哈希函數(shù)h;
13、步驟s14:根據(jù)雙線性群、隨機(jī)數(shù)as、元素y、哈希函數(shù)h和設(shè)定的對(duì)稱加密機(jī)制,生成公共參數(shù)pp,并上傳至區(qū)塊鏈。
14、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s2具體包括以下步驟:
15、步驟s21:根據(jù)從整數(shù)循環(huán)群zp選擇的隨機(jī)數(shù)z,生成秘密轉(zhuǎn)換密鑰uk;
16、步驟s22:根據(jù)哈希函數(shù)h、從屬性權(quán)威機(jī)構(gòu)獲取全局身份id,生成身份密文β;
17、步驟s23:根據(jù)從屬性集合s獲取的屬性s、身份密文β,生成用戶密文;
18、步驟s24:根據(jù)用戶密文,生成用戶密鑰sk;
19、步驟s25:根據(jù)隨機(jī)數(shù)z、用戶密鑰sk,計(jì)算轉(zhuǎn)換密文,并根據(jù)轉(zhuǎn)換密文生成轉(zhuǎn)換密鑰tk;
20、步驟s26:將身份密文β、轉(zhuǎn)換密鑰tk上傳至區(qū)塊鏈。
21、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s3具體包括以下步驟:
22、步驟s31:調(diào)用aes的對(duì)稱密鑰,計(jì)算電力數(shù)據(jù)的數(shù)據(jù)密文;
23、步驟s32:從整數(shù)循環(huán)群zp選擇隨機(jī)數(shù)z1作為共享秘密值;
24、步驟s33:根據(jù)屬性s和設(shè)定的行、列,構(gòu)建訪問矩陣,并根據(jù)訪問矩陣構(gòu)建訪問策略;
25、步驟s34:根據(jù)訪問策略計(jì)算共享秘密值的秘密共享份額;
26、步驟s35:根據(jù)秘密共享份額、數(shù)據(jù)密文,將電力數(shù)據(jù)轉(zhuǎn)換為密文數(shù)據(jù),并發(fā)送至邊緣節(jié)點(diǎn)。
27、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s4具體包括以下步驟:
28、步驟s41:根據(jù)從區(qū)塊鏈獲取的公共參數(shù)pp、全局身份id,獲取對(duì)應(yīng)的轉(zhuǎn)換密鑰tk;
29、步驟s42:根據(jù)轉(zhuǎn)換密鑰tk生成對(duì)稱密鑰密文dk,并判斷屬性集合s是否滿足訪問策略,若不滿足則終止流程,若滿足則計(jì)算對(duì)稱密鑰密文的半解密密文。
30、為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,所述步驟s5具體包括以下步驟:
31、步驟s51:根據(jù)半解密密文,計(jì)算aes的對(duì)稱密鑰;
32、步驟s52:根據(jù)對(duì)稱密鑰,調(diào)用dec()函數(shù),得到恢復(fù)后的電力數(shù)據(jù);
33、步驟s53:調(diào)用哈希函數(shù)h驗(yàn)證恢復(fù)后的電力數(shù)據(jù)與區(qū)塊鏈中的電力數(shù)據(jù)是否一致,若一致則解密正確,完成電力數(shù)據(jù)共享。
34、基于上述提出的基于屬性加密的電力數(shù)據(jù)共享方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種基于屬性加密的電力數(shù)據(jù)共享系統(tǒng),用于執(zhí)行上述的基于屬性加密的電力數(shù)據(jù)共享方法;包括初始化單元、身份認(rèn)證單元、數(shù)據(jù)上傳單元、解密驗(yàn)證單元;
35、所述初始化單元,用于根據(jù)設(shè)定的初始化參數(shù)進(jìn)行初始化操作,得到公共參數(shù)、主密鑰,并上傳至區(qū)塊鏈;
36、所述身份認(rèn)證單元,用于從屬性權(quán)威機(jī)構(gòu)獲取全局身份id,并根據(jù)從用戶獲取的屬性集合,生成用戶密鑰、轉(zhuǎn)換密鑰;
37、所述數(shù)據(jù)上傳單元,用于根據(jù)設(shè)定的訪問策略,將上傳的電力數(shù)據(jù)轉(zhuǎn)換為密文數(shù)據(jù),并發(fā)送至邊緣節(jié)點(diǎn);
38、所述解密驗(yàn)證單元,用于根據(jù)密文數(shù)據(jù)的訪問請(qǐng)求,生成半解密密文;根據(jù)半解密密文,恢復(fù)密文數(shù)據(jù),并調(diào)用哈希函數(shù)h驗(yàn)證恢復(fù)后的密文數(shù)據(jù)是否解密正確,若解密正確,完成電力數(shù)據(jù)共享。
39、基于上述提出的基于屬性加密的電力數(shù)據(jù)共享方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種電子設(shè)備,包括存儲(chǔ)器和處理器;所述存儲(chǔ)器上存儲(chǔ)有計(jì)算機(jī)程序;當(dāng)所述計(jì)算機(jī)程序在所述處理器上執(zhí)行時(shí),實(shí)現(xiàn)上述的基于屬性加密的電力數(shù)據(jù)共享方法。
40、基于上述提出的基于屬性加密的電力數(shù)據(jù)共享方法,為了更好地實(shí)現(xiàn)本發(fā)明,進(jìn)一步地,提出一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令;當(dāng)所述計(jì)算機(jī)指令在上述的電子設(shè)備上執(zhí)行時(shí),實(shí)現(xiàn)上述的基于屬性加密的電力數(shù)據(jù)共享方法。
41、本發(fā)明具有以下有益效果:
42、本發(fā)明通過將用戶屬性存儲(chǔ)至區(qū)塊鏈,加強(qiáng)了屬性的安全性,并利用哈希函數(shù)驗(yàn)證解密數(shù)據(jù)的正確性,保障了電力數(shù)據(jù)共享的正確性;并通過在邊緣節(jié)點(diǎn)計(jì)算半解密密文,降低了數(shù)據(jù)共享的計(jì)算負(fù)擔(dān),提高了加解密效率并保證了數(shù)據(jù)的完整性。
1.一種基于屬性加密的電力數(shù)據(jù)共享方法,其特征在于,具體包括以下步驟:
2.根據(jù)權(quán)利要求1所述的一種基于屬性加密的電力數(shù)據(jù)共享方法,其特征在于,所述步驟s1具體包括以下步驟:
3.根據(jù)權(quán)利要求2所述的一種基于屬性加密的電力數(shù)據(jù)共享方法,其特征在于,所述步驟s2具體包括以下步驟:
4.根據(jù)權(quán)利要求3所述的一種基于屬性加密的電力數(shù)據(jù)共享方法,其特征在于,所述步驟s3具體包括以下步驟:
5.根據(jù)權(quán)利要求4所述的一種基于屬性加密的電力數(shù)據(jù)共享方法,其特征在于,所述步驟s4具體包括以下步驟:
6.根據(jù)權(quán)利要求5所述的一種基于屬性加密的電力數(shù)據(jù)共享方法,其特征在于,所述步驟s5具體包括以下步驟:
7.一種基于屬性加密的電力數(shù)據(jù)共享系統(tǒng),用于執(zhí)行如權(quán)利要求1所述的基于屬性加密的電力數(shù)據(jù)共享方法;其特征在于,包括初始化單元、身份認(rèn)證單元、數(shù)據(jù)上傳單元、解密驗(yàn)證單元;
8.一種電子設(shè)備,其特征在于,包括存儲(chǔ)器和處理器;所述存儲(chǔ)器上存儲(chǔ)有計(jì)算機(jī)程序;當(dāng)所述計(jì)算機(jī)程序在所述處理器上執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的基于屬性加密的電力數(shù)據(jù)共享方法。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)指令;當(dāng)所述計(jì)算機(jī)指令在如權(quán)利要求8所述的電子設(shè)備上執(zhí)行時(shí),實(shí)現(xiàn)如權(quán)利要求1-6任一項(xiàng)所述的基于屬性加密的電力數(shù)據(jù)共享方法。