燕 凱,杜 躍,郭 磊,王 杰,吳長寶
(1.國網(wǎng)冀北電力有限公司,北京 100044;2.國網(wǎng)唐山供電公司開平供電中心,河北唐山 063000;3.國網(wǎng)冀北電力有限公司計(jì)量中心,北京 100045)
隨著社會經(jīng)濟(jì)的不斷發(fā)展,人們的金融資產(chǎn)數(shù)據(jù)不斷發(fā)生變化。與此同時(shí),互聯(lián)網(wǎng)可將生活中各類資產(chǎn)進(jìn)行計(jì)量、評估、交易以及驗(yàn)證,借助電子設(shè)備和計(jì)算機(jī)軟件實(shí)現(xiàn)各類資產(chǎn)的計(jì)量,形成相關(guān)可信數(shù)據(jù)后進(jìn)行統(tǒng)一的存儲與數(shù)據(jù)加密,可信數(shù)據(jù)存儲加密的過程依賴互聯(lián)網(wǎng)技術(shù)[1-2]。
傳統(tǒng)計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法只通過互聯(lián)網(wǎng)中心數(shù)據(jù)庫集中存儲可信數(shù)據(jù),在加密時(shí)主要由互聯(lián)網(wǎng)中央數(shù)據(jù)控制中心實(shí)現(xiàn),導(dǎo)致資產(chǎn)計(jì)量數(shù)量不準(zhǔn)確、速度緩慢、可信數(shù)據(jù)存儲效率低下、存儲容量小于標(biāo)準(zhǔn)存儲容量、可信數(shù)據(jù)加密過程不安全且效果不明顯等問題。
為此,該文提出了一種新的資產(chǎn)可信數(shù)據(jù)存儲加密方法。該方法充分利用區(qū)塊鏈的優(yōu)勢,解決傳統(tǒng)計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密過程中出現(xiàn)的問題,效率較高。
文中研究需要經(jīng)由區(qū)塊鏈數(shù)據(jù)庫存儲數(shù)據(jù),在存儲過程中需要資產(chǎn)的擁有者證明計(jì)量資產(chǎn)的數(shù)據(jù)完整性,其資產(chǎn)數(shù)據(jù)完整性和有效性是可信數(shù)據(jù)存儲與加密的根據(jù),在計(jì)量資產(chǎn)可信數(shù)據(jù)存儲之前,計(jì)量資產(chǎn)信息會以特征信息的方式由計(jì)算機(jī)軟件程序編輯到區(qū)塊鏈的節(jié)點(diǎn)區(qū)間里[3-4]。
在區(qū)塊鏈節(jié)點(diǎn)區(qū)間計(jì)量資產(chǎn)可信數(shù)據(jù)存儲中,計(jì)量資產(chǎn)可信數(shù)據(jù)量將顯著增加,此時(shí)區(qū)塊鏈不會出現(xiàn)傳統(tǒng)可信數(shù)據(jù)存儲與加密存儲的膨脹現(xiàn)象,相對于傳統(tǒng)計(jì)量資產(chǎn)可信數(shù)據(jù)存儲過程,引入?yún)^(qū)塊鏈將大大降低管理難度,不會出現(xiàn)區(qū)塊鏈可信數(shù)據(jù)無法集中管理的情況[5]。
共識算法技術(shù)在區(qū)塊鏈可信數(shù)據(jù)存儲過程中,以樣本元的方式存儲可信數(shù)據(jù)信息,通過這種存儲方式,可以將被測量的每一類資產(chǎn)都存儲到區(qū)塊鏈中,極大地節(jié)省了存儲數(shù)據(jù)信息的空間[6-8]。
該文提出的基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法,區(qū)塊鏈中塊頭和塊體在可信數(shù)據(jù)存儲過程中扮演重要角色,區(qū)塊鏈中塊頭需要記錄可信數(shù)據(jù)存儲過程中產(chǎn)生的哈希值和時(shí)間戳,并將其保存在區(qū)塊內(nèi),塊體則需要負(fù)責(zé)計(jì)量資產(chǎn)可信數(shù)據(jù)存儲過程中所組成的默克爾樹,塊頭和塊體通過計(jì)算得到默克爾樹和哈希值,建立的默克爾樹如圖1所示。
圖1 默克爾樹
根據(jù)圖1 默克爾樹修改用戶可信數(shù)據(jù)文件,提高可信數(shù)據(jù)的可信度,默克爾樹計(jì)算得到默克爾根與原來數(shù)字不一樣,區(qū)塊鏈中子技術(shù)共識算法決定了計(jì)量資產(chǎn)可信數(shù)據(jù)的可信度,區(qū)塊鏈技術(shù)的去中心化可以將可信數(shù)據(jù)文件傳送到計(jì)算機(jī)的客戶端,對客戶的隱私可信數(shù)據(jù)進(jìn)行實(shí)時(shí)存儲,通過區(qū)塊鏈中的塊頭實(shí)現(xiàn)計(jì)量資產(chǎn)可信數(shù)據(jù)的存儲和傳輸[9-11]。
區(qū)塊鏈數(shù)據(jù)庫具有安全可靠、去中心化、存儲數(shù)據(jù)量大、加密效果顯著等優(yōu)點(diǎn),應(yīng)用前景較好。該文提出基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法,計(jì)量資產(chǎn)可信數(shù)據(jù)的驗(yàn)證能夠提高可信數(shù)據(jù)本身的完整性,在對可信數(shù)據(jù)進(jìn)行驗(yàn)證時(shí),區(qū)塊鏈上智能數(shù)據(jù)主要以代碼信息的方式存儲在區(qū)塊鏈塊中,如果客戶端觸發(fā)條件滿足客戶的驗(yàn)證要求,則可根據(jù)觸發(fā)條件自動執(zhí)行可信數(shù)據(jù)的驗(yàn)證過程,計(jì)量資產(chǎn)可信數(shù)據(jù)存儲后,再根據(jù)可信數(shù)據(jù)的驗(yàn)證步驟,部署區(qū)塊鏈中的智能合約,對計(jì)量資產(chǎn)的可信數(shù)據(jù)進(jìn)行驗(yàn)證,從而實(shí)現(xiàn)區(qū)塊鏈計(jì)量資產(chǎn)可信數(shù)據(jù)的云存儲和驗(yàn)證[12-14]。區(qū)塊鏈數(shù)據(jù)庫如圖2 所示。
圖2 區(qū)塊鏈數(shù)據(jù)庫
在對計(jì)量資產(chǎn)進(jìn)行可信數(shù)據(jù)驗(yàn)證時(shí),首先將用戶個(gè)人資產(chǎn)信息輸入預(yù)編的以太坊虛擬合約中,根據(jù)以太坊虛擬合約中的驗(yàn)證標(biāo)準(zhǔn)獲取用戶資產(chǎn)的本地信息,消息獲取后,根據(jù)資產(chǎn)信息類型執(zhí)行可信數(shù)據(jù)獲取結(jié)果,區(qū)塊鏈結(jié)點(diǎn)區(qū)內(nèi)各節(jié)點(diǎn)對以太坊虛擬合約中的資產(chǎn)計(jì)量結(jié)果進(jìn)行對比驗(yàn)證,對比傳統(tǒng)可信數(shù)據(jù)存儲方式與該文提出的可信數(shù)據(jù)存儲方式之間的差異,驗(yàn)證計(jì)量資產(chǎn)本地信息是否具有數(shù)據(jù)完整性。
對比驗(yàn)證結(jié)束后,利用區(qū)塊鏈技術(shù)的共識算法技術(shù),將計(jì)量資產(chǎn)的可信數(shù)據(jù)存儲到區(qū)塊鏈中,完成對計(jì)量資產(chǎn)可信數(shù)據(jù)的驗(yàn)證,驗(yàn)證得到散列值可以作為計(jì)量資產(chǎn)可信數(shù)據(jù)文件唯一標(biāo)識符,用戶可信數(shù)據(jù)文件解密密鑰由用戶本人和因特網(wǎng)管理終端擁有。因此,非用戶本人無法通過因特網(wǎng)地址查看可信數(shù)據(jù)的文件內(nèi)容,具有更高的安全性[15]。數(shù)據(jù)匹配過程如圖3 所示。
圖3 數(shù)據(jù)匹配過程
在驗(yàn)證可信數(shù)據(jù)后,加密存儲數(shù)據(jù)。在加密過程中,需要對可信數(shù)據(jù)的原始數(shù)據(jù)進(jìn)行加密,對計(jì)量資產(chǎn)可信數(shù)據(jù)的驗(yàn)證結(jié)果進(jìn)行加密。
在加密過程中,需要互聯(lián)網(wǎng)數(shù)據(jù)的用戶和管理者共同參與,用戶需要提供計(jì)量資產(chǎn)可信數(shù)據(jù)的存儲容量,并對可信數(shù)據(jù)的傳輸能力進(jìn)行詳細(xì)說明,說明內(nèi)容主要包括計(jì)量資產(chǎn)的種類、數(shù)量、可信數(shù)據(jù)文件的存儲空間、加密方式,用戶將經(jīng)過驗(yàn)證的可信數(shù)據(jù)結(jié)果整理成數(shù)據(jù)文件,整理完成后上傳到互聯(lián)網(wǎng)客戶端,對計(jì)量資產(chǎn)的類型、數(shù)量、文件存儲時(shí)間、加密標(biāo)準(zhǔn)、加密范圍等進(jìn)行詳細(xì)標(biāo)注,然后對計(jì)量資產(chǎn)可信數(shù)據(jù)的本地?cái)?shù)據(jù)進(jìn)行解密,解密完成后,由互聯(lián)網(wǎng)管理客戶端對解密結(jié)果進(jìn)行評估,再由互聯(lián)網(wǎng)平臺對上傳后的可信數(shù)據(jù)進(jìn)行加密,并在指定范圍內(nèi)進(jìn)行存儲[16]。
基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)加密過程如圖4 所示。
圖4 基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)加密過程
根據(jù)圖4 可知,對可信數(shù)據(jù)的疊加加密,可以采用屬性加密或者代理加密的方式,屬性加密是對網(wǎng)絡(luò)整理的資產(chǎn)進(jìn)行種類屬性定義,給資產(chǎn)持有者設(shè)定一定的解鎖局限,只有加密屬性滿足區(qū)塊鏈定義的標(biāo)準(zhǔn),資產(chǎn)的擁有者才有權(quán)對可信數(shù)據(jù)進(jìn)行實(shí)時(shí)訪問,而代理加密是借助互聯(lián)網(wǎng)管理終端對計(jì)量資產(chǎn)可信數(shù)據(jù)進(jìn)行二次加密,也就是讓互聯(lián)網(wǎng)管理終端成為代理,代替進(jìn)行可信數(shù)據(jù)加密過程,由于計(jì)量資產(chǎn)可信數(shù)據(jù)文件在數(shù)據(jù)傳輸之前進(jìn)行了驗(yàn)證、存儲處理。所以在數(shù)據(jù)文件加密過程中,以及可信數(shù)據(jù)文件在存儲時(shí),能有效防御攻擊,在對可信數(shù)據(jù)文件完成加密儲存后,區(qū)塊鏈上會通過共識算法技術(shù)將加密過程與存儲結(jié)果寫入?yún)^(qū)塊鏈,區(qū)塊節(jié)點(diǎn)將永久保存可信數(shù)據(jù)的加密記錄和存儲記錄,通過保存的記錄,可以利用區(qū)塊鏈的去中心化形式建立可信數(shù)據(jù)平臺,可信數(shù)據(jù)平臺上設(shè)置了節(jié)點(diǎn)智能區(qū),節(jié)點(diǎn)智能區(qū)可保障計(jì)量資產(chǎn)可信數(shù)據(jù)的安全、公正加密,最后根據(jù)可信數(shù)據(jù)的文件信息執(zhí)行加密結(jié)果。
為驗(yàn)證所提方法的性能,與傳統(tǒng)方法進(jìn)行了對比實(shí)驗(yàn)分析。加密延時(shí)實(shí)驗(yàn)結(jié)果如表1 所示。
表1 加密延時(shí)實(shí)驗(yàn)結(jié)果
對計(jì)量資產(chǎn)可信數(shù)據(jù)加密,傳統(tǒng)加密方法通常是對稱加密方式,這種加密方法要求可信數(shù)據(jù)的加密和解密密鑰必須相同,基于安全考慮,互聯(lián)網(wǎng)管理終端和用戶都要保證密鑰的安全性,造成計(jì)量資產(chǎn)可信數(shù)據(jù)加密效果不明顯,加密過程較為漫長且加密速度緩慢,使可信數(shù)據(jù)的加密效率較低,時(shí)效性較差。而該文提出的加密方法為非對稱加密,這種加密方式使計(jì)量資產(chǎn)可信數(shù)據(jù)的加密和解密過程不需要使用相同的密鑰,在對計(jì)量資產(chǎn)可信數(shù)據(jù)加密存儲過程中,密鑰在互聯(lián)網(wǎng)和用戶方都處于安全狀態(tài),即使一方加密的密鑰出現(xiàn)了安全問題,由于哈希值和默克爾樹的相互結(jié)合使用,保障了計(jì)量資產(chǎn)可信數(shù)據(jù)加密的正常進(jìn)行,并可在較短時(shí)間內(nèi)完成對可信數(shù)據(jù)的加密操作,這樣大大提高了計(jì)量資產(chǎn)可信數(shù)據(jù)加密的效果,也顯著提高了可信數(shù)據(jù)加密的時(shí)效性。得到的存儲數(shù)據(jù)量實(shí)驗(yàn)結(jié)果如圖5 所示。
圖5 存儲數(shù)據(jù)量實(shí)驗(yàn)結(jié)果
根據(jù)圖5 可知,傳統(tǒng)的計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法中,可信數(shù)據(jù)的存儲方式是將計(jì)量資產(chǎn)可信數(shù)據(jù)的節(jié)點(diǎn)信息直接寫入?yún)^(qū)塊鏈,節(jié)點(diǎn)的數(shù)量不斷增加,可信數(shù)據(jù)存儲所需要的空間逐漸增大,導(dǎo)致區(qū)塊鏈存儲計(jì)量資產(chǎn)可信數(shù)據(jù)的壓力也越來越大,在傳統(tǒng)的可信數(shù)據(jù)存儲方法中,區(qū)塊鏈只有一種特征鏈?zhǔn)浇Y(jié)構(gòu),存儲計(jì)量資產(chǎn)可信數(shù)據(jù)的空間較小,同一區(qū)塊鏈上的區(qū)塊節(jié)點(diǎn)均可以存儲訪問記錄中的所有可信數(shù)據(jù),對于網(wǎng)絡(luò)用戶來說,存在資產(chǎn)數(shù)據(jù)信息安全問題。而在該文提出的基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法中,采用了區(qū)塊鏈與數(shù)據(jù)庫相互結(jié)合的模式,將計(jì)量資產(chǎn)可信數(shù)據(jù)信息存儲在本地?cái)?shù)據(jù)庫中,并且本地可信數(shù)據(jù)信息存儲的字符節(jié)點(diǎn)相互連接,驗(yàn)證后的哈希值寫入了區(qū)塊鏈,存儲的空間容量大大提升。
綜上所述,該文提出的基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法,利用區(qū)塊鏈技術(shù)的去中心化特點(diǎn),使計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密具有較強(qiáng)的網(wǎng)絡(luò)數(shù)據(jù)支撐,使資產(chǎn)計(jì)量數(shù)量更加準(zhǔn)確、提高了計(jì)量的速度,與此同時(shí)提高了計(jì)量資產(chǎn)可信數(shù)據(jù)存儲的效率、增大了可信數(shù)據(jù)存儲的空間容量,使可信數(shù)據(jù)加密過程更加安全、加密效果更好。
該文設(shè)計(jì)了一種基于區(qū)塊鏈的計(jì)量資產(chǎn)可信數(shù)據(jù)存儲加密方法,該方法的優(yōu)勢主要是:對計(jì)量資產(chǎn)可信數(shù)據(jù)的存儲,主要采用了分布式數(shù)據(jù)存儲方式,通過區(qū)塊鏈上的區(qū)塊節(jié)點(diǎn)完成數(shù)據(jù)的存儲,并且采用了區(qū)塊鏈的共識算法技術(shù),使哈希值與默克爾根相互結(jié)合,大大增大了可信數(shù)據(jù)存儲的空間;除此之外,對計(jì)量資產(chǎn)可信數(shù)據(jù)的加密,采用了非對稱加密的方式,這種方式提高了傳統(tǒng)數(shù)據(jù)加密的效果,提高了可信數(shù)據(jù)加密的時(shí)效性。