CN114880697B 基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì)(中國工商銀行股份有限公司)_第1頁
CN114880697B 基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì)(中國工商銀行股份有限公司)_第2頁
CN114880697B 基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì)(中國工商銀行股份有限公司)_第3頁
CN114880697B 基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì)(中國工商銀行股份有限公司)_第4頁
CN114880697B 基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì)(中國工商銀行股份有限公司)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

(19)國家知識產(chǎn)權(quán)局(12)發(fā)明專利(56)對比文件審查員辛欣(73)專利權(quán)人中國工商銀行股份有限公司55號責(zé)任公司11240GO6F21/62(2013.01)GO6F21/60(2013.01)權(quán)利要求書2頁說明書12頁附圖5頁儲介質(zhì)(57)摘要本申請公開了一種基于區(qū)塊鏈的數(shù)據(jù)指紋數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋。通過本申請,解2通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,所述數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取所述數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定所述待編碼數(shù)據(jù)的安全等級,其中,所述安全等級用于表征所述待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法,并依據(jù)所述哈希算法對所述待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋;其中,確定所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法包括:從所述數(shù)據(jù)文件中獲取所述待編碼數(shù)據(jù)的歷史哈希算法,并檢測所述歷史哈希算法是否需要調(diào)整;在檢測到所述歷史哈希算法需要調(diào)整的情況下,對所述歷史哈希算法中的哈希值添加校驗位,并從多個等級的哈希算法中確定所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法,其中,所述校驗位用于表征所述歷史哈希算法對應(yīng)的哈希值失效;在未檢測到所述歷史哈希算法需要調(diào)整的情況下,將所述歷史哈希算法確定為所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法;依據(jù)所述哈希算法對所述待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋包括:按照預(yù)設(shè)規(guī)則對所述待編碼數(shù)據(jù)進行分塊,得到多個第一數(shù)據(jù)塊;將每個所述第一數(shù)據(jù)塊擴展為預(yù)設(shè)長度的數(shù)據(jù)塊,得到多個第二數(shù)據(jù)塊;將所述多個第二數(shù)據(jù)塊按照預(yù)設(shè)并行度進行多2.根據(jù)權(quán)利要求1所述的方法,其特征在于,通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件包括:校驗所述用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有數(shù)據(jù)存儲權(quán)限;在所述區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取所述用戶端的接入憑證,其中,所述接入憑證是所述用戶端接入所述區(qū)塊鏈網(wǎng)絡(luò)的憑證;通過所述接入憑證訪問所述區(qū)塊鏈網(wǎng)絡(luò)中的所述數(shù)據(jù)存儲系統(tǒng),并判斷所述數(shù)據(jù)存儲系統(tǒng)中是否存儲有所述數(shù)據(jù)文件;在所述數(shù)據(jù)存儲系統(tǒng)中存儲有所述數(shù)據(jù)文件的情況下,確定所述數(shù)據(jù)文件的存儲資源定位信息;通過所述存儲資源定位信息從所述數(shù)據(jù)存儲系統(tǒng)中調(diào)用所述數(shù)據(jù)文件。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,獲取所述數(shù)據(jù)文件中的待編碼數(shù)據(jù)包括:將所述數(shù)據(jù)文件中不同存儲協(xié)議下的數(shù)據(jù)轉(zhuǎn)換為預(yù)設(shè)存儲協(xié)議下的目標(biāo)數(shù)據(jù);確定所述目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型,并根據(jù)所述數(shù)據(jù)類型匹配所述數(shù)據(jù)對應(yīng)的數(shù)據(jù)模型,其中,所述數(shù)據(jù)模型用于表征所述目標(biāo)數(shù)據(jù)和所述待編碼數(shù)據(jù)之間的映射關(guān)系;依據(jù)所述數(shù)據(jù)模型確定所述目標(biāo)數(shù)據(jù)對應(yīng)的所述待編碼數(shù)據(jù)。4.根據(jù)權(quán)利要求2所述的方法,其特征在于,在校驗用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有在所述區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取所述用戶端的數(shù)字證書,并從所述數(shù)字證書中獲取私鑰和公鑰;在確定所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法,并依據(jù)所述哈希算法對所述待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋之后,所述方法還包括:3通過所述私鑰對所述數(shù)字指紋進行數(shù)據(jù)加密,得到加密后的數(shù)字指紋;將所述加密后的數(shù)字指紋、所述公鑰和所述待編碼數(shù)據(jù)上傳至所述數(shù)據(jù)存儲系統(tǒng)。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,多個所述數(shù)字指紋以預(yù)設(shè)樹形結(jié)構(gòu)存儲在所述數(shù)據(jù)存儲系統(tǒng)中,在將所述加密后的數(shù)字指紋、所述公鑰和所述待編碼數(shù)據(jù)上傳至所述數(shù)據(jù)存儲系統(tǒng)之后,所述方法還包括:確定所述數(shù)字指紋對應(yīng)的哈希安全錨定結(jié)果,并將所述哈希安全錨定結(jié)果返回至所述用戶端,其中,所述哈希安全錨定結(jié)果用于在所述預(yù)設(shè)樹形結(jié)構(gòu)中定位所述數(shù)字指紋。6.一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置,其特征在于,包括:調(diào)用單元,用于通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,所述數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取單元,用于獲取所述數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定所述待編碼數(shù)據(jù)的安全等級,其中,所述安全等級用于表征所述待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定單元,用于確定所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法,并依據(jù)所述哈希算法對所述待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋;其中,所述確定單元包括:第二獲取模塊,用于從所述數(shù)據(jù)文件中獲取所述待編碼數(shù)據(jù)的歷史哈希算法,并檢測所述歷史哈希算法是否需要調(diào)整;添加模塊,用于在檢測到所述歷史哈希算法需要調(diào)整的情況下,對所述歷史哈希算法中的哈希值添加校驗位,并從多個等級的哈希算法中確定所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法,其中,所述校驗位用于表征所述歷史哈希算法對應(yīng)的哈希值失效;第三確定模塊,用于在未檢測到所述歷史哈希算法需要調(diào)整的情況下,將所述歷史哈希算法確定為所述待編碼數(shù)據(jù)在所述安全等級下對應(yīng)的哈希算法;所述確定單元還包括:分塊模塊,用于按照預(yù)設(shè)規(guī)則對所述待編碼數(shù)據(jù)進行分塊,得到多個第一數(shù)據(jù)塊;擴展模塊,用于將每個所述第一數(shù)據(jù)塊擴展為預(yù)設(shè)長度的數(shù)據(jù)塊,得到多個第二數(shù)據(jù)塊;運算模塊,用于將所述多個第二數(shù)據(jù)塊按照預(yù)設(shè)并行度進行多重哈希運算,得到所述數(shù)字指紋。7.一種計算機存儲介質(zhì),其特征在于,所述計算機存儲介質(zhì)用于存儲程序,其中,所述程序運行時控制所述計算機存儲介質(zhì)所在的設(shè)備執(zhí)行權(quán)利要求1至5中任意一項所述的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。8.一種電子設(shè)備,其特征在于,包括一個或多個處理器和存儲器,所述存儲器用于存儲一個或多個程序,其中,當(dāng)所述一個或多個程序被所述一個或多個處理器執(zhí)行時,使得所述一個或多個處理器實現(xiàn)權(quán)利要求1至5中任意一項所述的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。4基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì)技術(shù)領(lǐng)域[0001]本申請涉及區(qū)塊鏈技術(shù)領(lǐng)域,具體而言,涉及一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成方背景技術(shù)[0002]哈希算法是區(qū)塊鏈領(lǐng)域中的一種算法,哈希算法被廣泛的使用在區(qū)塊鏈中構(gòu)建區(qū)塊和確認交易的完整性上。隨著時代發(fā)展,哈希算法也被發(fā)現(xiàn)存在沖突必然性的風(fēng)險漏洞,例如哈希算法中的MD5,SHA1算法在最近被證明不安全。[0003]由于哈希算法對應(yīng)的哈希函數(shù)輸出的字符串長度一定,不同的輸入存在會產(chǎn)生相同的哈希值的情況。如果一個攻擊者能夠使哈希函數(shù)故意產(chǎn)生沖突,他便能夠把惡意的文件或者數(shù)據(jù)偽裝成正確的哈希值存儲在區(qū)塊鏈上,并將惡意的文件或者數(shù)據(jù)傳遞給區(qū)塊鏈[0004]然而,目前大量的存量業(yè)務(wù)系統(tǒng)依舊在使用存在風(fēng)險漏洞的哈希算法,并且由于區(qū)塊鏈技術(shù)的特征,存量業(yè)務(wù)系統(tǒng)存儲的歷史記錄是不可篡改的,因此業(yè)務(wù)系統(tǒng)存在安全風(fēng)險。[0005]針對相關(guān)技術(shù)中哈希算法存在產(chǎn)生碰撞沖突的風(fēng)險漏洞的問題,目前尚未提出有效的解決方案。發(fā)明內(nèi)容[0006]本申請?zhí)峁┮环N基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法、裝置和存儲介質(zhì),以解決相關(guān)技術(shù)中哈希算法存在產(chǎn)生碰撞沖突的風(fēng)險漏洞的問題。[0007]根據(jù)本申請的一個方面,提供了一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。該方法包括:通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋。[0008]可選地,通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件包括:校驗用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有數(shù)據(jù)存儲權(quán)限;在區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取用戶端的接入憑證,其中,接入憑證是用戶端接入?yún)^(qū)塊鏈網(wǎng)絡(luò)的憑證;通過接入憑證訪問區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng),并判斷數(shù)據(jù)存儲系統(tǒng)中是否存儲有數(shù)據(jù)文件;在數(shù)據(jù)存儲系統(tǒng)中存儲有數(shù)據(jù)文件的情況下,確定數(shù)據(jù)文件的存儲資源定位信息;通過存儲資源定位信息從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件。通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件用于調(diào)取需要進行生成數(shù)字指紋的文件。[0009]可選地,獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù)包括:將數(shù)據(jù)文件中不同存儲協(xié)議下的數(shù)據(jù)轉(zhuǎn)換為預(yù)設(shè)存儲協(xié)議下的目標(biāo)數(shù)據(jù);確定目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型,并根據(jù)數(shù)據(jù)類型匹配數(shù)據(jù)對應(yīng)的數(shù)據(jù)模型,其中,數(shù)據(jù)模型用于表征目標(biāo)數(shù)據(jù)和待編碼數(shù)據(jù)之間的映射關(guān)系;依據(jù)5數(shù)據(jù)模型確定目標(biāo)數(shù)據(jù)對應(yīng)的待編碼數(shù)據(jù)。通過轉(zhuǎn)換存儲協(xié)議,匹配數(shù)據(jù)模型將不同協(xié)議,不同數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換為同一協(xié)議下的待編碼數(shù)據(jù)。[0010]可選地,確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法包括:從數(shù)據(jù)文件中獲取待編碼數(shù)據(jù)的歷史哈希算法,并檢測歷史哈希算法是否需要調(diào)整;在檢測到歷史哈希算法需要調(diào)整的情況下,對歷史哈希算法中的哈希值添加校驗位,并從多個等級的哈希算法中確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,其中,校驗位用于表征歷史哈希算法對應(yīng)的哈希值失效;在未檢測到歷史哈希算法需要調(diào)整的情況下,將歷史哈希算法確定為待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法。通過確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,能夠?qū)?shù)據(jù)的歷史哈希算法調(diào)整為數(shù)據(jù)在當(dāng)前應(yīng)用場景下的哈希算法。[0011]可選地,依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋包括:按照預(yù)設(shè)規(guī)則對待編碼數(shù)據(jù)進行分塊,得到多個第一數(shù)據(jù)塊;將每個第一數(shù)據(jù)塊擴展為預(yù)設(shè)長度的數(shù)據(jù)塊,得到多個第二數(shù)據(jù)塊;將多個第二數(shù)據(jù)塊按照預(yù)設(shè)并行度進行多重哈希運算,得到數(shù)字指紋。通過對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋,能夠有效防止哈希算法的碰撞沖突,使數(shù)據(jù)可以安全存儲。[0012]可選地,在校驗用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有數(shù)據(jù)存儲權(quán)限之后,方法還包括:在區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取用戶端的數(shù)字證書,并從數(shù)字證書中獲取私鑰和公鑰;在確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋之后,方法還包括:通過私鑰對數(shù)字指紋進行數(shù)據(jù)加密,得到加密后的數(shù)字指紋;將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng)。通過將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng)可以將數(shù)據(jù)存儲在區(qū)塊鏈的數(shù)據(jù)存儲系統(tǒng)中。[0013]可選地,多個數(shù)字指紋以預(yù)設(shè)樹形結(jié)構(gòu)存儲在數(shù)據(jù)存儲系統(tǒng)中,在將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng)之后,方法還包括:確定數(shù)字指紋對應(yīng)的哈希安全錨定結(jié)果,并將哈希安全錨定結(jié)果返回至用戶端,其中,哈希安全錨定結(jié)果用于在預(yù)設(shè)樹形結(jié)構(gòu)中定位數(shù)字指紋。通過確定哈希安全錨定結(jié)果可以使用戶端能夠在數(shù)據(jù)存儲系統(tǒng)中索引需要的數(shù)據(jù)。[0014]根據(jù)本申請的另一方面,提供了一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置。該裝置包括:調(diào)用單元,用于通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取單元,用于獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定單元,用于確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋。[0015]根據(jù)本發(fā)明實施例的另一方面,還提供了一種計算機存儲介質(zhì),計算機存儲介質(zhì)用于存儲程序,其中,程序運行時控制計算機存儲介質(zhì)所在的設(shè)備執(zhí)行一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。[0016]根據(jù)本發(fā)明實施例的另一方面,還提供了一種電子設(shè)備,包含一個或多個處理器和存儲器;存儲器中存儲有計算機可讀指令,處理器用于運行計算機可讀指令,其中,計算機可讀指令運行時執(zhí)行一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。[0017]通過本申請,采用以下步驟:通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,6數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋,解決了相關(guān)技術(shù)中哈希算法存在產(chǎn)生碰撞沖突的風(fēng)險漏洞的問題。通過對數(shù)據(jù)文件中的數(shù)據(jù)進行多重哈希運算獲得數(shù)字指紋,將多重哈希運算作為數(shù)據(jù)的哈希算法,進而達到了區(qū)塊鏈技術(shù)中的哈希算法具有強碰撞阻力的效果。附圖說明[0018]構(gòu)成本申請的一部分的附圖用來提供對本申請的進一步理解,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:[0019]圖1是根據(jù)本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法的流程圖;[0020]圖2是根據(jù)本申請實施例提供的獲取待編碼數(shù)據(jù)的結(jié)構(gòu)示意圖;[0021]圖3是根據(jù)本申請實施例提供的數(shù)字指紋的示意圖;[0022]圖4是根據(jù)本申請實施例提供的區(qū)塊鏈安全存儲系統(tǒng)的結(jié)構(gòu)示意圖;[0023]圖5是根據(jù)本申請實施例提供的可信存儲服務(wù)子系統(tǒng)的結(jié)構(gòu)示意圖;[0024]圖6是根據(jù)本申請實施例提供的區(qū)塊鏈安全存儲系統(tǒng)的節(jié)點信息交互圖;[0025]圖7是根據(jù)本申請實施例提供的區(qū)塊鏈安全共識記賬節(jié)點系統(tǒng)的結(jié)構(gòu)示意圖;[0026]圖8是根據(jù)本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置的示意圖;[0027]圖9是根據(jù)本申請實施例提供的一種電子設(shè)備的示意圖。具體實施方式[0028]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本申請。[0029]為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護的范[0030]需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。[0031]需要說明的是,本公開所涉及的用戶信息(包括但不限于用戶設(shè)備信息、用戶個人信息等)和數(shù)據(jù)(包括但不限于用于展示的數(shù)據(jù)、分析的數(shù)據(jù)等),均為經(jīng)用戶授權(quán)或者經(jīng)過各方充分授權(quán)的信息和數(shù)據(jù)。[0032]為了便于描述,以下對本申請實施例涉及的部分名詞或術(shù)語進行說明:[0033]碰撞阻力:是指對于兩個不同的輸入,必須產(chǎn)生兩個不同的輸出。如果對于兩個不7同的輸入產(chǎn)生了相同的輸出,那么就說明不具備碰撞阻力,或是弱碰撞阻力。[0034]Merkle葉節(jié)點組成,每個葉節(jié)點均以數(shù)據(jù)塊的哈希值作為標(biāo)簽,而除了葉節(jié)點以外其他節(jié)點則以其子節(jié)點標(biāo)簽的加密哈希值作為標(biāo)簽。[0035]根據(jù)本申請的實施例,提供了一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。[0036]圖1是根據(jù)本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法的流程圖。如圖1[0037]步驟S102,通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng)。[0038]具體地,用戶端是用戶在區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點對應(yīng)的端口,用于存儲數(shù)據(jù)到區(qū)塊鏈網(wǎng)絡(luò)中,數(shù)據(jù)文件是存儲在數(shù)據(jù)存儲系統(tǒng)中并且使用了存在碰撞沖突的哈希算法的文件。[0039]步驟S104,獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度。[0040]具體地,待編碼數(shù)據(jù)為用戶需要存儲在區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù),安全等級是人為劃定的對應(yīng)不同哈希算法的等級,例如MD5、SHA-1這兩種哈希算法為低安全等級的哈希算法,SHA-256這種哈希算法為高安全等級的哈希算法,哈希算法的等級劃分是根據(jù)哈希算法具[0041]步驟S106,確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋。[0042]具體地,確定待編碼數(shù)據(jù)在當(dāng)前應(yīng)用場景下的安全等級,更換對應(yīng)安全等級的哈希算法,例如X銀行的一種A數(shù)據(jù)非核心數(shù)據(jù),最初使用的哈希算法為MD5,而近期由于業(yè)務(wù)換成更高安全等級的SHA-256哈希算法。[0043]本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法,通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋,解決了相關(guān)技術(shù)中哈希算法存在產(chǎn)生碰撞沖突的風(fēng)險漏洞的問題。通過對數(shù)據(jù)文件中的數(shù)據(jù)進行多重哈希運算獲得數(shù)字指紋,將多重哈希運算作為數(shù)據(jù)的哈希算法,進而達到了區(qū)塊鏈技術(shù)中的哈希算法具有強碰撞阻力的效果。[0044]對需要得到數(shù)字指紋的數(shù)據(jù)進行多重哈希運算之前需要在數(shù)據(jù)存儲系統(tǒng)中調(diào)用對應(yīng)的數(shù)據(jù)文件,可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法中,通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件包括:校驗用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有數(shù)據(jù)存儲權(quán)限;在區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取用戶端的接入憑證,其中,接入憑證是用戶端接入?yún)^(qū)塊鏈網(wǎng)絡(luò)的憑證;通過接入憑證訪問區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng),并判斷數(shù)據(jù)存儲系統(tǒng)中是否存儲有數(shù)據(jù)文件;在數(shù)據(jù)存儲系統(tǒng)中存儲有數(shù)據(jù)文件的情況8下,確定數(shù)據(jù)文件的存儲資源定位信息;通過存儲資源定位信息從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件。[0045]具體地,從區(qū)塊鏈的數(shù)據(jù)存儲系統(tǒng)中獲取需要的數(shù)據(jù)前,對用戶的身份進行校驗,在用戶身份具有在區(qū)塊鏈網(wǎng)絡(luò)中存儲數(shù)據(jù)的權(quán)限的情況下,用戶端獲得接入憑證,接入憑證可以讓用戶訪問數(shù)據(jù)存儲系統(tǒng),用戶訪問數(shù)據(jù)存儲系統(tǒng)后能夠判斷需要的數(shù)據(jù)文件是否存在并且獲得數(shù)據(jù)文件在存儲系統(tǒng)中的定位信息,然后調(diào)用數(shù)據(jù)文件。通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件可以校驗用戶端的身份,保證數(shù)據(jù)的安全存儲和調(diào)用。[0046]數(shù)據(jù)文件中包含不同存儲協(xié)議下的不同數(shù)據(jù)類型的數(shù)據(jù),可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法中,獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù)包括:將數(shù)據(jù)文件中不同存儲協(xié)議下的數(shù)據(jù)轉(zhuǎn)換為預(yù)設(shè)存儲協(xié)議下的目標(biāo)數(shù)據(jù);確定目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型,并根據(jù)數(shù)據(jù)類型匹配數(shù)據(jù)對應(yīng)的數(shù)據(jù)模型,其中,數(shù)據(jù)模型用于表征目標(biāo)數(shù)據(jù)和待編碼數(shù)據(jù)之間的映射關(guān)系;依據(jù)數(shù)據(jù)模型確定目標(biāo)數(shù)據(jù)對應(yīng)的待編碼數(shù)據(jù)。[0047]具體地,圖2是根據(jù)本申請實施例提供的獲取待編碼數(shù)據(jù)的結(jié)構(gòu)示意圖。如圖2所示,獲取待編碼數(shù)據(jù)的結(jié)構(gòu)包括數(shù)據(jù)輸入模塊201和數(shù)據(jù)統(tǒng)一模型模塊202。數(shù)據(jù)輸入模塊201是一個支持S3協(xié)議的存儲網(wǎng)絡(luò),通過存儲協(xié)議轉(zhuǎn)換,將數(shù)據(jù)文件中不同存儲協(xié)議下的數(shù)據(jù)轉(zhuǎn)換為預(yù)設(shè)存儲協(xié)議下的目標(biāo)數(shù)據(jù)。數(shù)據(jù)統(tǒng)一模型模塊202對目標(biāo)數(shù)據(jù)根據(jù)數(shù)據(jù)類型匹Map、Link等,其中List、Map為遞歸類型。數(shù)據(jù)模型描述了數(shù)據(jù)類型和用于索引的字符串標(biāo)識符路徑,字符串標(biāo)識符路徑遵循與URI路徑相似的轉(zhuǎn)義和分段規(guī)則、約束構(gòu)造,字符串標(biāo)識符路徑定義了從數(shù)據(jù)模型層到包含復(fù)雜布局的實際數(shù)據(jù)文件中數(shù)據(jù)結(jié)構(gòu)的映射,實現(xiàn)數(shù)據(jù)文件的不同數(shù)據(jù)類型的數(shù)據(jù)的序列化和反序列化功能。通過轉(zhuǎn)換存儲協(xié)議,匹配數(shù)據(jù)模型將不同協(xié)議,實現(xiàn)了將不同數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換為同一協(xié)議下的待編碼數(shù)據(jù)的目的,從而為進一步的數(shù)據(jù)處理奠定了基礎(chǔ)。[0048]由于待編碼數(shù)據(jù)的歷史哈希算法可能需要調(diào)整,可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法中,確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法包括:從數(shù)據(jù)文件中獲取待編碼數(shù)據(jù)的歷史哈希算法,并檢測歷史哈希算法是否需要調(diào)整;在檢測到歷史哈希算法需要調(diào)整的情況下,對歷史哈希算法中的哈希值添加校驗位,并從多個等級的哈希算法中確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,其中,校驗位用于表征歷史哈希算法對應(yīng)的哈希值失效;在未檢測到歷史哈希算法需要調(diào)整的情況下,將歷史哈希算法確定為待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法。[0049]具體地,歷史哈希算法的安全等級在當(dāng)前應(yīng)用場景下存在需要調(diào)整哈希算法的情況,由于區(qū)塊鏈技術(shù)的不可篡改特性,無法直接在歷史哈希算法上調(diào)整,因此在歷史哈希算法需要調(diào)整的情況下,對歷史哈希算法對應(yīng)的哈希值添加校驗位來表征歷史哈希算法失效。通過確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,能夠?qū)?shù)據(jù)的歷史哈希算法調(diào)整為數(shù)據(jù)在當(dāng)前應(yīng)用場景下的哈希算法,從而得到與當(dāng)前應(yīng)用場景適配的哈希算法。[0050]確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法后,根據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算獲得數(shù)字指紋,可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法中,依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋包括:按照預(yù)設(shè)規(guī)則對待編碼數(shù)據(jù)進行分塊,得到多個第一數(shù)據(jù)塊;將每個第一數(shù)據(jù)塊擴展為預(yù)設(shè)長度的數(shù)9據(jù)塊,得到多個第二數(shù)據(jù)塊;將多個第二數(shù)據(jù)塊按照預(yù)設(shè)并行度進行多重哈希運算,得到數(shù)字指紋。[0051]具體地,結(jié)合數(shù)據(jù)分塊和數(shù)據(jù)文件中不同數(shù)據(jù)的安全等級,使用不同運算速度和安全等級的哈希算法進行分塊哈希,通過建立默克爾樹的樹形結(jié)構(gòu)進行數(shù)字指紋的存儲。通過對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋,能夠有效防止哈希算法的碰撞沖突,使數(shù)據(jù)可以安全存儲。[0052]例如,預(yù)設(shè)規(guī)則為多重哈希算法H,H被定義為處理整數(shù)個大小為B字節(jié)的第二數(shù)據(jù)塊。預(yù)設(shè)規(guī)則中填充函數(shù)表示為PadH(數(shù)據(jù),數(shù)據(jù)長度,塊大小B),PadH使用預(yù)先確定的模式和消息長度的串聯(lián)方式,將第一數(shù)據(jù)塊擴展到B的倍數(shù)的最小長度字節(jié),得到第二數(shù)據(jù)塊。對于長度為L的數(shù)據(jù)MO以給定的并行度S進行散列,多重哈希運算的過程如下(其中符號表示連接):將PadH(MO,L,B*S)應(yīng)用于數(shù)據(jù)MO,生成長度為L’的MO'。L’分,以便將MO’的每個字節(jié)大小為W位的字數(shù)組分配給不同的段。每個段都表示為一個W位字[0057]其中每個MO’[n]是每個段中填充數(shù)據(jù)的字節(jié)大小為W的索引;在段上生成S個葉級摘要,如Dk=H(Segk)用于k=0…(S-1);通過將每個葉級摘要的字節(jié)大小為W位的字數(shù)組交中每個Dk[n]是一個字節(jié)大小為W位的索引到一個段的摘要。將M1生成為PadH(M1,S*D,B);將實際的數(shù)據(jù)文件放到本地存儲,并將上述H(M1)上上傳到區(qū)塊鏈存儲;元數(shù)據(jù)和經(jīng)過多重哈希運算后的哈希值及子哈希值存儲到到區(qū)塊鏈的狀態(tài)數(shù)據(jù)中,根根據(jù)不同的業(yè)務(wù)應(yīng)用場景及用戶權(quán)限進行數(shù)據(jù)隔離存儲。[0058]需要說明的是,采用多重哈希算法和TLV編碼方式獲得數(shù)字指紋。不同于特定哈希算法的格式,數(shù)字指紋描述了哈希算法類型以及對應(yīng)的哈希值。通過TLV編碼方式確定數(shù)據(jù)的編碼,編碼后在區(qū)塊鏈存儲系統(tǒng)中能感知所有存儲的數(shù)據(jù)的數(shù)據(jù)類型以及元數(shù)據(jù)信息。參考業(yè)界通用的BER(BasicEncodingRule)編碼規(guī)格說明,描述如何將ASNI類型的值編碼成字符串(stringofoctets)的方法。BER的數(shù)據(jù)都是由三個域構(gòu)成:標(biāo)識域(Tag)+長度域Type,用于標(biāo)識標(biāo)簽或者編碼格式信息;L定義數(shù)值的長度;V表示實際的數(shù)值。T和L的長度固定,一般是2或4個字節(jié),V的長度由Length指定。圖3是根據(jù)本申請實值和哈希算法類型,例如哈希算法類型為sha2-256,數(shù)字指紋的Tag可以表示18-0x12,length是哈希的實際長度(使用sha2-256它將是256位,等于32個字節(jié)),value是實際的哈希算法生成的哈希值。數(shù)字指紋保證了數(shù)據(jù)標(biāo)識的靈活性和可擴展性,由全網(wǎng)共同約定和遵守,該約定以區(qū)塊鏈智能合約的方式進行約定,并在區(qū)塊鏈進行管理。[0059]數(shù)字指紋需要上傳到區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng)中,可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法中,在校驗用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有數(shù)據(jù)存儲權(quán)限之后,方法還包括:在區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取用戶端的數(shù)字證書,并從數(shù)字證書中獲取私鑰和公鑰;在確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋之后,方法還包括:通過私鑰對數(shù)字指紋進行數(shù)據(jù)加密,得到加密后的數(shù)字指紋;將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng)。[0060]具體地,數(shù)據(jù)文件中的數(shù)據(jù)經(jīng)過多重哈希運算得到數(shù)字指紋,數(shù)字指紋需要經(jīng)過用戶端加密后上傳到區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng)中。通過將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng),通過區(qū)塊鏈的不可篡改性保證數(shù)據(jù)的安全性,通過區(qū)塊鏈的數(shù)據(jù)共享機制方便數(shù)據(jù)的流轉(zhuǎn)。[0061]用戶將數(shù)字指紋存儲到數(shù)據(jù)存儲系統(tǒng)后,還需要獲得哈希安全錨定結(jié)果用于索引需要的數(shù)據(jù),可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法中,多個數(shù)字指紋以預(yù)設(shè)樹形結(jié)構(gòu)存儲在數(shù)據(jù)存儲系統(tǒng)中,在將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng)之后,方法還包括:確定數(shù)字指紋對應(yīng)的哈希安全錨定結(jié)果,并將哈希安全錨定結(jié)果返回至用戶端,其中,哈希安全錨定結(jié)果用于在預(yù)設(shè)樹形結(jié)構(gòu)中定位數(shù)字指紋。[0062]具體地,哈希安全錨定是對存儲在默克爾樹中的數(shù)字指紋進行索引的一種方法。在對數(shù)據(jù)進行索引時,需要讀取安全錨定結(jié)果,獲得數(shù)據(jù)對應(yīng)的數(shù)字指紋在默克爾樹形結(jié)構(gòu)中的定位,通過定位獲得索引的數(shù)字指紋,接下來對數(shù)字指紋進行校驗,在校驗數(shù)字指紋為索引的數(shù)據(jù)對應(yīng)數(shù)字指紋時,獲得數(shù)字指紋對應(yīng)的數(shù)據(jù)。通過確定哈希安全錨定結(jié)果,可以使用戶端能夠在數(shù)據(jù)存儲系統(tǒng)中快速索引到需要的數(shù)據(jù)。[0063]需要說明的是,對數(shù)字指紋進行校驗時,校驗設(shè)備必須替換當(dāng)前加密散列算法(例如SHA-256),使用最有效的計算驗證的兼容擴展哈希算法之一。例如,如果校驗設(shè)備在其處理器內(nèi)核中具有128位SIMD數(shù)據(jù)路徑執(zhí)行單元,需要校驗的是SHA-256的摘要,則理想情況下檢驗設(shè)備會更喜歡SHA256x4(因為SHA-256算法是基于32位的,基于128位SIMD執(zhí)行單元我們可以并行處理128/32=4個段)。因此,檢驗設(shè)備不會使用當(dāng)前使用的32位算法之一128位SIMD的角度來看我們只需要4個段,但該算法具有非常受限的數(shù)據(jù)依賴性,這使得在沒有額外并行性的情況下很難獲得執(zhí)行單元的最佳吞吐量。[0064]由于有許多不同計算強度的校驗設(shè)備,并且數(shù)字指紋必須找到適用于其大多數(shù)驗證設(shè)備的并行級別。我們的方案不需要服務(wù)器非常準(zhǔn)確地估計這一點,因為我們總是可以在校驗時創(chuàng)建更高級別的并行性,并且如果校驗設(shè)備的SIMD或硬件能力無法處理盡可能多的段,則讓校驗設(shè)備在校驗時執(zhí)行多遍操作。例如,校驗設(shè)備可注意,數(shù)據(jù)仍然可以以流式方式有效地導(dǎo)入一次,但是,應(yīng)用程序?qū)⑿枰跔顟B(tài)變量集之間循環(huán)。例如,假設(shè)客戶端設(shè)備根本沒有SIMD單元,并且需要執(zhí)行簡單的標(biāo)量運算來處理SHA256x4哈希值。它不是處理1組SHA-256狀態(tài)變量(32字節(jié)),而是同時處理4個這樣的狀態(tài)變量副本(128字節(jié)),在處理來自數(shù)據(jù)緩沖區(qū)的字段時循環(huán)遍歷它們。這種任務(wù)集大小的增加非常小。一個可能的問題是與數(shù)據(jù)塊的消息調(diào)度相關(guān)的任務(wù)集大小增加(對于SHA)。如果11這種工作集大小的增加有問題,可以選擇存儲4個數(shù)據(jù)塊并一次嚴(yán)格處理一個交錯塊。[0066]根據(jù)本申請的另一實施例,提供了一種區(qū)塊鏈安全存儲系統(tǒng)。圖4是根據(jù)本申請實施例提供的區(qū)塊鏈安全存儲系統(tǒng)的結(jié)構(gòu)示意圖,如圖4所示,該系統(tǒng)包括用戶端401,可信存儲服務(wù)子系統(tǒng)402,區(qū)塊鏈網(wǎng)絡(luò)403,存儲智能合約404,以及進行多重哈希編碼的數(shù)字資產(chǎn)內(nèi)容標(biāo)識405。[0067]本實施例的區(qū)塊鏈安全存儲系統(tǒng)通過多重哈希算法的設(shè)計實現(xiàn)數(shù)據(jù)文件的安全存儲。務(wù)器等,用戶可以具有完全的權(quán)限,并對其他用戶控制訪問權(quán)限,用戶基于此進行數(shù)字資產(chǎn)的管理,制作數(shù)據(jù)資產(chǎn)文件,同時根據(jù)安全場景進行密鑰的管理或者存儲。[0069]可信存儲服務(wù)子系統(tǒng)402,是一種基于區(qū)塊鏈的去中心化的可信數(shù)據(jù)存儲系統(tǒng)。該系統(tǒng)是一種去中心化,點對點的對等分布式區(qū)塊鏈存儲系統(tǒng),提供了一個高吞吐量,按內(nèi)容尋址的塊存儲模型,支持存儲的靈活擴容,多存儲協(xié)議適配支持,點對點分塊安全加密,去方共享存儲網(wǎng)絡(luò)。[0070]具體地,圖5是根據(jù)本申請實施例提供的可信存儲服務(wù)子系統(tǒng)的結(jié)構(gòu)示意圖。如圖5所示,可信存儲服務(wù)子系統(tǒng)402包括服務(wù)接口模塊501,核心API模塊502,交互操作模塊503,數(shù)據(jù)服務(wù)模塊504,多重哈希模塊505,數(shù)據(jù)路由模塊506。可信存儲服務(wù)子系統(tǒng)402通過核心API模塊502對外提供交互接口和服務(wù)接口進行數(shù)據(jù)文件和區(qū)塊鏈節(jié)點的管理;數(shù)據(jù)服務(wù)模塊504,包括存儲接入網(wǎng)關(guān)子模塊,數(shù)據(jù)操作子模塊,數(shù)據(jù)監(jiān)控子模塊,數(shù)據(jù)存儲子模塊。主要實現(xiàn)存儲協(xié)議轉(zhuǎn)換,數(shù)據(jù)的同步,數(shù)據(jù)性能容量監(jiān)控以及數(shù)據(jù)的持久化存儲等功能;多重哈希模塊505,包括數(shù)據(jù)分級子模塊,多重哈希子模塊,上鏈錨定子模塊,證書管理子模塊。主要實現(xiàn)數(shù)據(jù)安全等級分級,多重哈希算法實現(xiàn),多區(qū)塊鏈底層產(chǎn)品和智能合約接口適配,證書的生成和管理等功能;數(shù)據(jù)路由模塊506,包括安全校驗子模塊,哈希路由子模[0072]FindPeer(nodeNodeId)//獲取節(jié)點地址[0074]GetValue(key[]bytes,[0075]ProvideValue(k[0078]區(qū)塊鏈網(wǎng)絡(luò)403,是一種具有多方高效共識,強安全合約引擎,可靠隱私保護,跨鏈互聯(lián)互通等特性的區(qū)塊鏈聯(lián)盟鏈網(wǎng)絡(luò),同時可以支持其他開源主流并提供可編程智能合約等聯(lián)盟鏈和公鏈,用于提供數(shù)據(jù)資產(chǎn)標(biāo)識的多方數(shù)據(jù)流通和治理,同時提供基本的接入授權(quán)和認證,并支持不同機構(gòu)不同的業(yè)務(wù)場景進行數(shù)據(jù)資產(chǎn)的物理和邏輯上的隔離,保障數(shù)據(jù)的安全可信,數(shù)字資產(chǎn)訪問和操作留痕。[0079]智能合約404,區(qū)塊鏈網(wǎng)絡(luò)的核心實現(xiàn),使去中心化(分布式)區(qū)塊鏈系統(tǒng)具有可編程性,智能合約在可執(zhí)行代碼中定義不同組織之間的規(guī)則,也是一種旨在信息化方式傳播驗證或者執(zhí)行合同的計算機協(xié)議,通過智能合約生成交易記錄到區(qū)塊鏈賬本,可以在沒有[0080]數(shù)字資產(chǎn)內(nèi)容標(biāo)識405,一個自描述的基于內(nèi)容尋址的標(biāo)識符,基于哈希算法將任意長度的消息壓縮到某一個固定長度的消息摘要。通常用于區(qū)塊鏈領(lǐng)域的數(shù)據(jù)資產(chǎn)的鏈上鏈下協(xié)同存儲,采用TLV編碼方案對區(qū)塊鏈存儲的數(shù)字資產(chǎn)進行唯一的標(biāo)識,該標(biāo)識能自描述哈希類型,保證數(shù)字資產(chǎn)標(biāo)識的數(shù)字指紋的唯一性。[0081]圖6是根據(jù)本申請實施例提供的區(qū)塊鏈安全存儲系統(tǒng)的節(jié)點信息交互圖。[0082]如圖6所示,用戶設(shè)備登陸區(qū)塊鏈管理平臺獲取區(qū)塊鏈節(jié)點和證書配置文件,持有區(qū)塊鏈接入和發(fā)起交易的用戶證書和密鑰;通過調(diào)用區(qū)塊鏈節(jié)點進行區(qū)塊鏈權(quán)限認證,返回接入憑證,用于存儲資源的訪問和數(shù)據(jù)資產(chǎn)的存儲;調(diào)用區(qū)塊鏈智能合約中的存儲資源接口,確認在區(qū)塊鏈網(wǎng)絡(luò)中是否有存儲資源,如果有則返回存儲URL和存儲憑證用于數(shù)據(jù)資產(chǎn)存儲;用戶或者應(yīng)用系統(tǒng)發(fā)起數(shù)據(jù)資產(chǎn)存儲請求到可信存儲服務(wù),可信存儲服務(wù)調(diào)用多重哈希運算,根據(jù)數(shù)據(jù)大小和數(shù)據(jù)安全等級,進行分塊哈希安全運算。并返回數(shù)據(jù)指紋給用戶;用戶使用本地的私鑰進行數(shù)據(jù)加密,并調(diào)用智能合約將元數(shù)據(jù)信息和加密的數(shù)據(jù)指紋以及公鑰證書上鏈存儲,并進行哈希安全錨定,區(qū)塊鏈對存儲的操作留痕成功后,最終返回存儲成功結(jié)果給用戶;其他用戶基于自己在區(qū)塊鏈中獲取的權(quán)限和憑證,同樣請求區(qū)塊鏈進行數(shù)據(jù)資產(chǎn)的轉(zhuǎn)移申請或者使用。至此完成基于多重哈希的區(qū)塊鏈安全存儲的節(jié)點間交互全流程。[0083]根據(jù)本申請的另一實施例,提供了一種區(qū)塊鏈安全共識記賬節(jié)點系統(tǒng),圖7是根據(jù)本申請實施例提供的區(qū)塊鏈安全共識記賬節(jié)點系統(tǒng)的結(jié)構(gòu)示意圖。[0084]如圖7所示,該系統(tǒng)包括區(qū)塊鏈共識記賬節(jié)點701和存儲合約702,共識記賬節(jié)點701包括狀態(tài)數(shù)據(jù)和區(qū)塊數(shù)據(jù),狀態(tài)數(shù)據(jù)包括通過多重哈希生成的數(shù)據(jù)資產(chǎn)的根哈希A,數(shù)據(jù)資產(chǎn)內(nèi)容哈希A索引A1,A2等分塊的哈希。區(qū)塊數(shù)據(jù)在原有交易區(qū)塊梅克數(shù)據(jù)的基礎(chǔ)上增加數(shù)據(jù)哈希校驗位,用于哈希算法校驗。存儲合約702,主要實現(xiàn)服務(wù)接入認證,存儲資源管[0085]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。[0086]本申請實施例還提供了一種基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置,需要說明的是,本申請實施例的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置可以用于執(zhí)行本申請實施例所提供的用于基于區(qū)塊鏈的數(shù)據(jù)指紋生成方法。以下對本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置進行介紹。[0087]圖8是根據(jù)本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置的示意圖。如圖8所示,該裝置包括:調(diào)用單元10,用于通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取單元20,用于獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定單元30,用于確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋。[0088]可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置中,調(diào)用單元10包括:檢驗?zāi)K,用于校驗用戶端對應(yīng)的區(qū)塊鏈節(jié)點是否具有數(shù)據(jù)存儲權(quán)限;第一獲取模塊,用于在區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取用戶端的接入憑證,其中,接入憑證是用戶端接入?yún)^(qū)塊鏈網(wǎng)絡(luò)的憑證;訪問模塊,用于通過接入憑證訪問區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng),并判斷數(shù)據(jù)存儲系統(tǒng)中是否存儲有數(shù)據(jù)文件;第一確定模塊,用于在數(shù)據(jù)存儲系統(tǒng)中存儲有數(shù)據(jù)文件的情況下,確定數(shù)據(jù)文件的存儲資源定位信息;調(diào)用模塊,用于通過存儲資源定位信息從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件。[0089]可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置中,獲取單元20包括:轉(zhuǎn)換模塊,用于將數(shù)據(jù)文件中不同存儲協(xié)議下的數(shù)據(jù)轉(zhuǎn)換為預(yù)設(shè)存儲協(xié)議下的目標(biāo)數(shù)據(jù);匹配模塊,用于確定目標(biāo)數(shù)據(jù)的數(shù)據(jù)類型,并根據(jù)數(shù)據(jù)類型匹配數(shù)據(jù)對應(yīng)的數(shù)據(jù)模型,其中,數(shù)據(jù)模型用于表征目標(biāo)數(shù)據(jù)和待編碼數(shù)據(jù)之間的映射關(guān)系;第二確定模塊,用于依據(jù)數(shù)據(jù)模型確定目標(biāo)數(shù)據(jù)對應(yīng)的待編碼數(shù)據(jù)。[0090]可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置中,確定單元30包括:第二獲取模塊,用于從數(shù)據(jù)文件中獲取待編碼數(shù)據(jù)的歷史哈希算法,并檢測歷史哈希算法是否需要調(diào)整;添加模塊,用于在檢測到歷史哈希算法需要調(diào)整的情況下,對歷史哈希算法中的哈希值添加校驗位,并從多個等級的哈希算法中確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,其中,校驗位用于表征歷史哈希算法對應(yīng)的哈希值失效;第三確定模塊,用于在未檢測到歷史哈希算法需要調(diào)整的情況下,將歷史哈希算法確定為待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法。[0091]可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置中,確定單元30還包括:分塊模塊,用于按照預(yù)設(shè)規(guī)則對待編碼數(shù)據(jù)進行分塊,得到多個第一數(shù)據(jù)塊;擴展模塊,用于將每個第一數(shù)據(jù)塊擴展為預(yù)設(shè)長度的數(shù)據(jù)塊,得到多個第二數(shù)據(jù)塊;運算模塊,用于將多個第二數(shù)據(jù)塊按照預(yù)設(shè)并行度進行多重哈希運算,得到數(shù)字指紋。[0092]可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置中,調(diào)用單元10還包括:第三獲取模塊,用于在區(qū)塊鏈節(jié)點具有數(shù)據(jù)存儲權(quán)限的情況下,獲取用戶端的數(shù)字證書,并從數(shù)字證書中獲取私鑰和公鑰;確定單元30還包括:加密模塊,用于通過私鑰對數(shù)字指紋進行數(shù)據(jù)加密,得到加密后的數(shù)字指紋;上傳模塊,用于將加密后的數(shù)字指紋、公鑰和待編碼數(shù)據(jù)上傳至數(shù)據(jù)存儲系統(tǒng)。[0093]可選地,在本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置中,確定單元30還包括:第四確定模塊,用于確定數(shù)字指紋對應(yīng)的哈希安全錨定結(jié)果,并將哈希安全錨定結(jié)果返回至用戶端,其中,哈希安全錨定結(jié)果用于在預(yù)設(shè)樹形結(jié)構(gòu)中定位數(shù)字指紋。[0094]本申請實施例提供的基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置,通過調(diào)用單元10,用于通過用戶端從數(shù)據(jù)存儲系統(tǒng)中調(diào)用數(shù)據(jù)文件,其中,數(shù)據(jù)存儲系統(tǒng)為區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)存儲系統(tǒng);獲取單元20,用于獲取數(shù)據(jù)文件中的待編碼數(shù)據(jù),并確定待編碼數(shù)據(jù)的安全等級,其中,安全等級用于表征待編碼數(shù)據(jù)在當(dāng)前安全場景中需要保密的程度;確定單元30,用于確定待編碼數(shù)據(jù)在安全等級下對應(yīng)的哈希算法,并依據(jù)哈希算法對待編碼數(shù)據(jù)進行多重哈希運算,得到數(shù)字指紋,解決了相關(guān)技術(shù)中哈希算法存在產(chǎn)生碰撞沖突的風(fēng)險漏洞的問題。通過對數(shù)據(jù)文件中的數(shù)據(jù)進行多重哈希運算獲得數(shù)字指紋,將多重哈希運算作為數(shù)據(jù)的哈希算法,進而達到了區(qū)塊鏈技術(shù)中的哈希算法具有強碰撞阻力的效果。[0095]上述基于區(qū)塊鏈的數(shù)據(jù)指紋生成裝置包括處理器和存儲器,上述調(diào)用單元10、獲取單元20和確定單元30等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元來實現(xiàn)相應(yīng)的功能。[0096]處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來達到區(qū)塊鏈技術(shù)中的哈希算法具有強碰撞阻力的效果。[0097]存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論