摘" 要: 針對(duì)共享雙創(chuàng)網(wǎng)絡(luò)平臺(tái)數(shù)據(jù)傳輸過程中普遍存在隱私性差且安全性較低的問題,文中基于區(qū)塊鏈和數(shù)據(jù)加密技術(shù)提出一種信息共享算法。該區(qū)塊鏈模型的網(wǎng)絡(luò)層使用了多臺(tái)局域網(wǎng)計(jì)算機(jī)節(jié)點(diǎn),并在數(shù)據(jù)傳輸時(shí)采用混合加密算法DES?ECC,從而使安全性與加解密效率相比單一加密算法均有所提升。共識(shí)機(jī)制還通過使用PBFT算法增強(qiáng)了模型的整體魯棒性。同時(shí),將算法部署在Hadoop分布式存儲(chǔ)架構(gòu)中,以提高數(shù)據(jù)傳輸?shù)乃俣燃巴掏铝?,且利用Namenode容災(zāi)機(jī)制進(jìn)一步保證了數(shù)據(jù)的安全性。實(shí)驗(yàn)測(cè)試結(jié)果表明,所提加密算法的破譯難度較高,而加解密時(shí)長僅需約1 260 ms,其共識(shí)機(jī)制吞吐量與時(shí)延性能也較為理想,可以實(shí)現(xiàn)對(duì)雙創(chuàng)平臺(tái)中的大數(shù)據(jù)進(jìn)行高效、安全、透明的共享與傳輸。
關(guān)鍵詞: 區(qū)塊鏈; DES加密; ECC加密; 拜占庭容錯(cuò)機(jī)制; Hadoop平臺(tái); 雙創(chuàng)數(shù)據(jù)共享
中圖分類號(hào): TN919?34; TP391" " " " " " " " " " " "文獻(xiàn)標(biāo)識(shí)碼: A" " " " " " " " " 文章編號(hào): 1004?373X(2025)03?0092?05
Research on mass entrepreneurship and innovation information interaction technology based on encrypted blockchain
CHENG Shunda1, 2, ZHU Jie2, GUAN Shengjiang2, CHENG Jie2, DOU Tong2
(1. School of Cyberspace Security and Computer Science, Hebei University, Baoding 071002, China;
2. Information Center, Hebei Provincial Hospital of Chinese Medicine, Shijiazhuang 050011, China)
Abstract: In view of the common problem of poor privacy and low security in the process of data transmission of shared entrepreneurship and innovation network platforms, this article proposes an information sharing algorithm based on blockchain and data encryption technology. In the network layer of the blockchain model, multiple local area network (LAN) computer nodes are used and a hybrid encryption algorithm DES?ECC is adopted during data transmission, so as to improve security and encryption and decryption efficiency to some extent in comparison with a single encryption algorithm. The consensus mechanism is also used to enhance the overall robustness of the model by using the PBFT algorithm. The algorithm is deployed in the Hadoop distributed storage architecture, so as to improve the speed and throughput of data transmission. The Namenode disaster recovery mechanism is utilized to further ensure the security of data. The results of experimental test show that the decryption difficulty of the proposed encryption algorithm is relatively high, and its encryption and decryption duration is only about 1 260 ms. Its consensus mechanism throughput and latency are also ideal, so it can achieve efficient, secure, and transparent sharing and transmission of big data in the entrepreneurship and innovation platform.
Keywords: blockchain; DES encryption; ECC encryption; Byzantine fault?tolerant mechanism; Hadoop platform; entrepreneurship and innovation data sharing
0" 引" 言
在雙創(chuàng)平臺(tái)的建設(shè)過程中,所生成的海量數(shù)據(jù)均會(huì)在數(shù)字化平臺(tái)中進(jìn)行存儲(chǔ)與展示,而其中大量信息都涉及到商業(yè)機(jī)密,需要對(duì)數(shù)據(jù)安全進(jìn)行有效保障[1]。傳統(tǒng)的數(shù)據(jù)傳輸與共享主要采用數(shù)據(jù)聚合與托管的模式,即委托第三方中心化機(jī)構(gòu)來實(shí)現(xiàn)。在用戶需要查找數(shù)據(jù)時(shí),第三方機(jī)構(gòu)會(huì)開發(fā)接口給用戶,并將數(shù)據(jù)轉(zhuǎn)發(fā)、傳送至用戶終端[2?4]。由于數(shù)據(jù)傳輸?shù)恼麄€(gè)過程均依賴于第三方,因此數(shù)據(jù)的安全性與隱私性難以得到保證。
隨著區(qū)塊鏈技術(shù)(Blockchain Technology, BT)的發(fā)展,數(shù)據(jù)通過分布式存儲(chǔ)具有可追溯、透明化及不可修改等特點(diǎn)。同時(shí),使用共識(shí)機(jī)制和智能合約確保了數(shù)據(jù)的唯一性以及流向可見性,且采用加密算法保障了數(shù)據(jù)的安全。本文基于區(qū)塊鏈技術(shù)提出了一種雙創(chuàng)數(shù)據(jù)安全傳輸算法,并將數(shù)據(jù)部署在局域網(wǎng)中,保證數(shù)據(jù)安全地實(shí)現(xiàn)共享與傳輸。
1" 區(qū)塊鏈數(shù)據(jù)加密系統(tǒng)設(shè)計(jì)
1.1" 基于區(qū)塊鏈的共享平臺(tái)結(jié)構(gòu)設(shè)計(jì)
本文設(shè)計(jì)的雙創(chuàng)數(shù)據(jù)共享平臺(tái)的結(jié)構(gòu)如圖1所示,該平臺(tái)由網(wǎng)絡(luò)層、數(shù)據(jù)共享層及應(yīng)用層組成。其中,網(wǎng)絡(luò)層以局域網(wǎng)節(jié)點(diǎn)作為主要架構(gòu),通常用作數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)加密的載體;數(shù)據(jù)共享層包括智能合約策略與共識(shí)機(jī)制,該層可以保證數(shù)據(jù)進(jìn)行透明、唯一且匿名的傳輸;應(yīng)用層則為數(shù)據(jù)上層顯示界面,用戶通過該層能夠進(jìn)行信息交互。
本文對(duì)信息共享過程中的關(guān)鍵技術(shù)進(jìn)行了研究,包括數(shù)據(jù)加密算法、共識(shí)機(jī)制以及分布式存儲(chǔ)。
1.2" 基于改進(jìn)橢圓曲線的數(shù)據(jù)加密算法
本文采用的橢圓曲線加密算法[5?8](Elliptic Curve Cryptography, ECC)是一種可用于區(qū)塊鏈底層的非對(duì)稱加密算法,該算法的基本思想是利用橢圓曲線來確定密鑰的安全性。
橢圓曲線的函數(shù)圖像如圖2所示。在定義域內(nèi),設(shè)橢圓曲線方程為:
[y2=x3+ax+b]" "(1)
由圖2可知,若[P(xp,yp)]、[Q(xq,yq)]兩個(gè)不同點(diǎn)均在橢圓曲線中,且[R(xr,yr)]點(diǎn)的坐標(biāo)為[P]、[Q]點(diǎn)坐標(biāo)之和,則根據(jù)橢圓曲線的數(shù)學(xué)關(guān)系,[P]、[Q]、[R]滿足以下關(guān)系:
[xr=λ2-xp-xq mod p]" "(2)
[yr=λxp-xr-yp mod p] (3)
[λ=3x2+a2yp mod p," " P=Qyq-ypxq-xp mod p," " P≠Q(mào)] (4)
設(shè)[k]為私鑰、[P]為基點(diǎn)、[Q]為公鑰,可有以下推論:
[kP=Q] (5)
橢圓曲線的加解密過程如下。
1) 加密過程,即使用公鑰[Q]將數(shù)據(jù)[D]加密成為密文CD:
[CD=rP,D+rQ] (6)
2) 解密過程,通過利用私鑰對(duì)密文進(jìn)行解密處理:
[D+r(kP)-k(rP)=M]" (7)
式中[M]為解密明文數(shù)據(jù)。
作為非對(duì)稱算法的一種,ECC算法的準(zhǔn)確度較高,但其加解密耗費(fèi)的時(shí)間過長。因此,本文將數(shù)據(jù)加密標(biāo)準(zhǔn)算法(Data Encryption Standard, DES)與ECC相結(jié)合,以減少算法的計(jì)算量。
DES[9?12]是一種明文分組加密機(jī)制,由于加密和解密的密鑰相同,因此其也是一種對(duì)稱算法,本文采用的DES算法的加解密過程如圖3所示。
本文設(shè)計(jì)的DES?ECC組合算法結(jié)構(gòu)如圖4所示。
DES?ECC組合算法的執(zhí)行步驟如下。
1) DES生成公共密鑰。隨機(jī)生成長度為[m]的字符,并通過Logic密鑰的生成方式對(duì)其進(jìn)行加密,以獲得密鑰,再將其轉(zhuǎn)化為十六進(jìn)制數(shù)。
2) ECC生成私鑰。根據(jù)ECC密鑰生成過程,按照式(6)、式(7)的計(jì)算規(guī)則對(duì)私有密鑰進(jìn)行加解密。
1.3" 基于拜占庭容錯(cuò)的共識(shí)機(jī)制
對(duì)于區(qū)塊鏈節(jié)點(diǎn)而言,分布式存儲(chǔ)不可避免地會(huì)遇到傳輸一致性問題。由于網(wǎng)絡(luò)延遲等原因,各個(gè)存儲(chǔ)節(jié)點(diǎn)對(duì)于事件發(fā)生的時(shí)間及具體內(nèi)容等無法實(shí)現(xiàn)對(duì)等通知。因此,需要設(shè)計(jì)共識(shí)機(jī)制使得各節(jié)點(diǎn)達(dá)成統(tǒng)一。
拜占庭容錯(cuò)機(jī)制[13?14](Practical Byzantine Fault Tolerance, PBFT)是為了解決節(jié)點(diǎn)失效問題而提出的算法。該算法可分為預(yù)準(zhǔn)備、準(zhǔn)備及共識(shí)共三個(gè)階段,具體如圖5所示。
首先由客戶端發(fā)出請(qǐng)求,并進(jìn)入預(yù)準(zhǔn)備階段進(jìn)行處理。當(dāng)請(qǐng)求超過一定的節(jié)點(diǎn)限制時(shí),會(huì)將其放入緩存空間;若沒有限制,則主服務(wù)節(jié)點(diǎn)會(huì)分配一個(gè)序列號(hào)[f],同時(shí)對(duì)所有服務(wù)器進(jìn)行編號(hào),并廣播給其他空間節(jié)點(diǎn)。在準(zhǔn)備階段,當(dāng)收到主客戶端的廣播后,其他節(jié)點(diǎn)會(huì)對(duì)該數(shù)據(jù)進(jìn)行檢查,主要檢查哈希碼是否與源數(shù)據(jù)相符。檢查無誤后,進(jìn)入共識(shí)階段,該階段會(huì)驗(yàn)證密鑰、簽名等是否正確,若正確,則給服務(wù)器節(jié)點(diǎn)返回許可證明,進(jìn)而得到最終結(jié)果。
從算法的流程可以看出,PBFT中的所有節(jié)點(diǎn)均會(huì)參與到共識(shí)中,由此會(huì)導(dǎo)致通信開銷過大,不利于系統(tǒng)的穩(wěn)定運(yùn)行。因此,本文通過對(duì)服務(wù)器節(jié)點(diǎn)進(jìn)行分類來解決這一問題,將其分為主要和次要節(jié)點(diǎn),且通常僅使用主要節(jié)點(diǎn)進(jìn)行共識(shí)。改進(jìn)后共識(shí)機(jī)制的執(zhí)行過程如下。
1) 通過檢查算法,判斷系統(tǒng)是否存在主要及次要節(jié)點(diǎn),若存在,則進(jìn)行后續(xù)操作;否則,系統(tǒng)將根據(jù)預(yù)先設(shè)定好的規(guī)則對(duì)節(jié)點(diǎn)進(jìn)行分類。
2) 客戶端轉(zhuǎn)發(fā)信息,主要節(jié)點(diǎn)參與共識(shí),而次要節(jié)點(diǎn)只負(fù)責(zé)記錄共識(shí)結(jié)果。
3) 主要節(jié)點(diǎn)將共識(shí)結(jié)果反饋給客戶端??蛻舳耸盏焦?jié)點(diǎn)信息,從而完成共識(shí)。
1.4" 基于Hadoop的并行加速算法
由于雙創(chuàng)數(shù)據(jù)集種類繁多,區(qū)塊鏈算法的執(zhí)行速度通常較慢,因此需要將其部署在并行服務(wù)器中,本文使用Hadoop技術(shù)對(duì)算法進(jìn)行并行處理。
Hadoop[15?16]是一種并行計(jì)算框架,主要由HDFS和MapReduce過程組成。其中:HDFS是分布式存儲(chǔ)系統(tǒng),數(shù)據(jù)將存放在該系統(tǒng)中;MapReduce是數(shù)據(jù)的處理過程,框架如圖6所示。
本文采用的Hadoop主要由數(shù)據(jù)切片算法、Map過程以及Reduce過程這三部分組成。其中,數(shù)據(jù)切片算法并非物理切分,而是在邏輯上對(duì)數(shù)據(jù)進(jìn)行切分,且每個(gè)數(shù)據(jù)切片均對(duì)應(yīng)一個(gè)Map任務(wù)。假設(shè)需處理的數(shù)據(jù)大小為[S],Posi為數(shù)據(jù)在整個(gè)文件包中的位置,則輸入分片的大小由目標(biāo)尺寸、最小尺寸以及HDFS文件塊尺寸共同決定。
[Goal=(S 210)n×210Posi] (8)
式中[n]為Map塊的個(gè)數(shù)。
此外,為了進(jìn)一步增強(qiáng)數(shù)據(jù)的安全性,本文使用HDFS的Name Node節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行硬件容災(zāi),并利用ZooKeeper分布式節(jié)點(diǎn)檢測(cè)算法對(duì)HDFS文件存儲(chǔ)進(jìn)行監(jiān)控,該算法流程圖如圖7所示。
2" 實(shí)驗(yàn)與分析
2.1" 軟硬件環(huán)境
本實(shí)驗(yàn)使用4臺(tái)服務(wù)器對(duì)局域網(wǎng)環(huán)境進(jìn)行模擬,同時(shí)也將這些服務(wù)器作為Hadoop的并行存儲(chǔ)節(jié)點(diǎn)。服務(wù)器的硬件參數(shù)如表1所示。
區(qū)塊鏈框架及相關(guān)算法則使用Java語言開發(fā),并利用SpringBoot框架完成程序塊搭建。
2.2" 算法測(cè)試
首先對(duì)加密算法的安全性與計(jì)算效率進(jìn)行驗(yàn)證。對(duì)比算法選擇了對(duì)稱加密算法DES、AES以及非對(duì)稱算法RSA和ECC,對(duì)比實(shí)驗(yàn)結(jié)果如表2和表3所示。
由表2可知,隨著破譯時(shí)間的增加,本文算法的密鑰尺寸基本不變,但AES、DES等算法的密鑰尺寸大幅提升,這說明本文算法加密的安全性較高。
從表3中可以看出,對(duì)稱算法AES、DES的加解密時(shí)間最短,這是由算法特性決定的。而本文算法將對(duì)稱加密算法和非對(duì)稱算法結(jié)合,進(jìn)而使得加解密時(shí)間介于對(duì)稱算法與非對(duì)稱算法之間。
共識(shí)機(jī)制的主要評(píng)估指標(biāo)為算法吞吐量以及算法傳輸?shù)臅r(shí)延。對(duì)比算法選擇DPoS、PoW、PoS。本文測(cè)試不同數(shù)據(jù)規(guī)模下的數(shù)據(jù)吞吐量和傳輸時(shí)延,每條數(shù)據(jù)的大小為50 B且數(shù)量不同。重復(fù)20次實(shí)驗(yàn)后取平均值,吞吐量與時(shí)延測(cè)試結(jié)果如表4所示。
由表4可以看出,在數(shù)據(jù)源保持不變的情況下,隨著數(shù)據(jù)條目數(shù)量的增加,本文設(shè)計(jì)的共識(shí)機(jī)制與分布式存儲(chǔ)方案可以提供更高的吞吐量。尤其是在數(shù)據(jù)條目增加至100 000條時(shí),Hadoop的并行存儲(chǔ)結(jié)構(gòu)可以提供更為迅速的文件存儲(chǔ)速度。在數(shù)據(jù)寫入延遲方面,可以看出4種算法的寫入延遲均在毫秒級(jí)別,當(dāng)數(shù)據(jù)量為50條時(shí),各算法的寫入平均時(shí)延均在10 ms之內(nèi);而當(dāng)數(shù)據(jù)量為100 000條時(shí),本文算法的時(shí)延最低。因此,對(duì)于大規(guī)模的數(shù)據(jù)集,本文共識(shí)機(jī)制和分布式存儲(chǔ)具有更高的數(shù)據(jù)吞吐量及更低的存儲(chǔ)延遲。
3" 結(jié)" 語
針對(duì)傳統(tǒng)數(shù)據(jù)共享方式容易泄露信息的問題,本文基于區(qū)塊鏈技術(shù)提出了一種雙創(chuàng)數(shù)據(jù)加密共享平臺(tái)。該平臺(tái)網(wǎng)絡(luò)層由多臺(tái)處于局域網(wǎng)的計(jì)算機(jī)組成,數(shù)據(jù)加密使用DES?ECC混合加密算法,而共識(shí)機(jī)制選擇了PBFT算法。本文算法還可以對(duì)失效節(jié)點(diǎn)進(jìn)行改進(jìn),從而使通信更加順暢。通過將算法部署在Hadoop服務(wù)器中,提高了算法的運(yùn)行效率,同時(shí)實(shí)現(xiàn)了服務(wù)器的容災(zāi)。實(shí)驗(yàn)結(jié)果表明,本文的加密及共識(shí)機(jī)制性能在所有對(duì)比算法中均為最佳,能夠較好地應(yīng)用于雙創(chuàng)數(shù)據(jù)共享平臺(tái)。
注:本文通訊作者為祝婕。
參考文獻(xiàn)
[1] 于文華.基于大數(shù)據(jù)的大學(xué)生就業(yè)創(chuàng)業(yè)指導(dǎo)系統(tǒng)[J].微型電腦應(yīng)用,2021,37(9):37?39.
[2] 黃瑞,肖宇,曾偉杰,等.Docker容器下高速總線通信數(shù)據(jù)實(shí)時(shí)交互方法[J].沈陽工業(yè)大學(xué)學(xué)報(bào),2022,44(6):667?671.
[3] 黨增江,宋永立,高玫,等.基于私有協(xié)議的單向數(shù)據(jù)傳輸設(shè)備[J].計(jì)算機(jī)工程與設(shè)計(jì),2021,42(10):2776?2783.
[4] 李金科,秦濤,吳愛平.基于ZYNQ的可配置高速數(shù)據(jù)傳輸系統(tǒng)設(shè)計(jì)[J].信息技術(shù),2023,47(1):1?8.
[5] 林潔和,張紹華,李超,等.基于ECC的區(qū)塊鏈數(shù)據(jù)共享系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)工程與科學(xué),2022,44(5):810?818.
[6] 劉建英,李洪濤,王波.云環(huán)境下基于橢圓曲線的數(shù)據(jù)加密機(jī)制研究[J].山西師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,35(2):6?12.
[7] 沈涵,付鵬.一種應(yīng)用于橢圓曲線密碼的雙域模加減運(yùn)算的優(yōu)化設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2024,37(2):94?95.
[8] 薛來軍.基于改進(jìn)的ECC的網(wǎng)絡(luò)信息安全加密方法[J].太原師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2022,21(2):48?50.
[9] 周煜軒,曾連蓀.動(dòng)態(tài)化DES算法變體研究[J].計(jì)算機(jī)應(yīng)用與軟件,2022,39(5):342?349.
[10] 李斌,周清雷,斯雪明,等.混合可重構(gòu)的DES算核高效能口令恢復(fù)方案[J].計(jì)算機(jī)工程與科學(xué),2020,42(10):1887?1896.
[11] 潘建生,孔蘇鵬,程實(shí).實(shí)現(xiàn)DES加密算法安全性的分析與研究[J].網(wǎng)絡(luò)空間安全,2020,11(4):104?107.
[12] 朱啟成.云計(jì)算環(huán)境下的DES對(duì)稱加密算法優(yōu)化研究[J].貴陽學(xué)院學(xué)報(bào)(自然科學(xué)版),2021,16(2):11?15.
[13] 江雨燕,邵金,呂魏.一種面向供應(yīng)鏈溯源應(yīng)用的改進(jìn)PBFT算法[J].安徽工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,38(1):111?117.
[14] 翟社平,廉佳穎,楊銳,等.基于Raft分組的實(shí)用拜占庭容錯(cuò)共識(shí)算法[J].計(jì)算機(jī)應(yīng)用研究,2023,40(11):3218?3224.
[15] 陳紅順,馬思琪.基于Hadoop的海量圖像檢索[J].信息技術(shù),2023,47(4):63?67.
[16] 潘偉博,汪海濤,姜瑛,等.Hadoop集群異常節(jié)點(diǎn)實(shí)時(shí)檢測(cè)與診斷算法[J].陜西理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,37(4):24?31.
[17] 蔡璽,張文軒.電網(wǎng)區(qū)塊鏈多層次日志數(shù)據(jù)分布式存儲(chǔ)方法[J].電子設(shè)計(jì)工程,2023,31(23):31?34.