劉張榕, 余根堅(jiān)
(1.福建林業(yè)職業(yè)技術(shù)學(xué)院信息工程系,福建 南平 353000;2.閩江學(xué)院計(jì)算機(jī)與控制工程學(xué)院,福建 福州 350108)
信息化進(jìn)程逐漸加快的時(shí)代背景下,星際文件系統(tǒng)(Inter Planetary File System,IPFS),Ethereum,云計(jì)算等信息技術(shù)正在發(fā)展壯大。海量的數(shù)據(jù)呈現(xiàn)指數(shù)級(jí)增長(zhǎng),中心化系統(tǒng)通常會(huì)出現(xiàn)服務(wù)中斷的風(fēng)險(xiǎn)、被攻擊的威脅,以及數(shù)據(jù)被盜取的風(fēng)險(xiǎn)。因此,分布式網(wǎng)絡(luò)中傳輸通過(guò)加密技術(shù)進(jìn)行處理的數(shù)據(jù)具有舉足輕重的意義,具體表現(xiàn)為降低數(shù)據(jù)泄漏的風(fēng)險(xiǎn)性、提升分布式存儲(chǔ)系統(tǒng)架構(gòu)的安全性[1-3]。郎登何學(xué)者針對(duì)目前分布式數(shù)據(jù)存儲(chǔ)算法所需等待時(shí)間較長(zhǎng)的現(xiàn)象,提出了一種基于K-距離拓?fù)涞姆植际綌?shù)據(jù)存儲(chǔ)方法,Internet 2拓?fù)鋱D與隨機(jī)拓?fù)鋱D下的仿真測(cè)試結(jié)果表明,所提出的方法能在滿足安全距離約束的條件下能獲取最優(yōu)的數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),進(jìn)而能減小數(shù)據(jù)存取時(shí)間[4]。李寶樹(shù)等學(xué)者建立了面向電網(wǎng)的邊緣算力優(yōu)化與分布式數(shù)據(jù)存儲(chǔ)處理模型,仿真結(jié)果表明,所提出的方法能提高數(shù)據(jù)的計(jì)算效率和數(shù)據(jù)質(zhì)量,減少邊緣計(jì)算產(chǎn)生的系統(tǒng)能耗[5]?;谏鲜龇治觯芯刻岢鋈诤螮thereum和IPFS加密算法的分布式數(shù)據(jù)存儲(chǔ)傳輸方案,即基于密文策略的屬性加密(Ciphertext-Policy Attribute-Based Encryption ,CP-ABE)方案,旨在為后續(xù)數(shù)據(jù)的存儲(chǔ)傳輸提供安全保障。
研究通過(guò)設(shè)計(jì)理論模型和假設(shè)安全性兩個(gè)步驟實(shí)現(xiàn)CP-ABE,以降低系統(tǒng)的復(fù)雜度和防止合約內(nèi)容被修改。Ethereum網(wǎng)絡(luò)是一種分布式網(wǎng)絡(luò)系統(tǒng)架構(gòu),其將非對(duì)稱加密、區(qū)塊結(jié)構(gòu)、工作量證明、點(diǎn)對(duì)點(diǎn)交易網(wǎng)絡(luò)等概念有機(jī)組合起來(lái)[6-8]。Ethereum網(wǎng)絡(luò)的基本技術(shù)為借助比特幣網(wǎng)絡(luò)中的區(qū)塊鏈技術(shù),區(qū)塊鏈的理論分層結(jié)構(gòu)包括數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層、激勵(lì)層、合約層、應(yīng)用層。Ethereum網(wǎng)絡(luò)的新增功能為智能合約模式,創(chuàng)建新賬戶、創(chuàng)建交易、部署智能合約等每一筆交易均需消耗Gas,交易費(fèi)用Transaction的計(jì)算公式為式(1)。
Transaction=gasPrice+gasLimit
(1)
式(1)中,gasPrice和gasLimit分別表示gas價(jià)格和gas限制。
表1 五個(gè)基礎(chǔ)算法的輸入和輸出具體情況
主密鑰MK和公鑰PK的計(jì)算公式為式(2)。
(2)
(3)
式(3)中,隨機(jī)數(shù)為r和rj,它們均在數(shù)據(jù)集Zp內(nèi)。委托算法將會(huì)受到新的私密密鑰,計(jì)算公式為式(4)。
(4)
借鑒前人的研究經(jīng)驗(yàn),研究在合數(shù)階雙線性群的基礎(chǔ)上構(gòu)建數(shù)據(jù)傳輸方案,采用的階為四個(gè)不同素?cái)?shù)的乘積。設(shè)定算法用G指代,輸入和輸出可用1ε和(p1,p2,p3,p4,U,UT,e)表示,其中p1,p2,p3,p4均為不同的素?cái)?shù),將作為階的循環(huán)群可用U和UT指代。非退化線性映射可表示為e:U×U→UT。線性是指?u,h∈U,a,b∈ZN,e(ua,ub)=e(u,h)ab。非退化是指假如u∈U,則UT中N是e(u,u)的階。研究需通過(guò)ε的時(shí)間多項(xiàng)式對(duì)雙線性映射e,U,UT進(jìn)行計(jì)算,U的子組可用Up1,Up2,Up3,Up4指代,相應(yīng)的階可表示為p1,p2,p3,p4。其中,U=Up1×Up2×Up3×Up4,u1∈Up1,u2∈Up2,則e(u1,u2)=1,即e能被應(yīng)用于不同時(shí)間的子組元素。研究通過(guò)假設(shè)驗(yàn)證合數(shù)階雙線性群的安全性,假設(shè)需滿足以上條件。
參考結(jié)合屬性下的控制訪問(wèn)理論和CP-ABE的理論模型,研究設(shè)計(jì)了一個(gè)改進(jìn)的加密算法方案,所構(gòu)建的系統(tǒng)結(jié)構(gòu)包括IPFS數(shù)據(jù)存儲(chǔ)網(wǎng)絡(luò)、Ethereum私鏈網(wǎng)絡(luò)、數(shù)據(jù)提供者、密鑰管理中心。加密方案的安全性需滿足數(shù)據(jù)完整性、細(xì)膩度控制性、匿名性[12-13]。加密方案的安全模型包括訪問(wèn)策略匿名性模型和攻擊者不可區(qū)分安全模型,具體情況如圖2所示。
圖2 CP-ABE加密方案的安全模型
訪問(wèn)策略匿名性模型通過(guò)匿名性實(shí)驗(yàn)驗(yàn)證,流程如下所示。首先,數(shù)據(jù)持有方執(zhí)行系統(tǒng)生成算法獲得MK和PK,并將PK傳遞給A。然后,A向數(shù)據(jù)持有方發(fā)送請(qǐng)求信息和屬性組,A給密鑰生成器傳遞屬性組,并將得到的私鑰傳遞給A。其次,預(yù)先設(shè)置敵手的請(qǐng)求屬性組不符合訪問(wèn)結(jié)構(gòu)A1和A2,攻擊者將訪問(wèn)結(jié)構(gòu)A1,A2和數(shù)據(jù)M傳遞給數(shù)據(jù)持有方,數(shù)據(jù)持有方選擇比特b具有隨機(jī)性,生成的密文M'將會(huì)直接傳遞給攻擊者。假如b=0,則數(shù)據(jù)持有方在訪問(wèn)結(jié)構(gòu)A1中完對(duì)數(shù)據(jù)原文M的加密,假如b=1,則數(shù)據(jù)持有方在訪問(wèn)結(jié)構(gòu)A2中完對(duì)數(shù)據(jù)原文M的加密。隨后重復(fù)數(shù)據(jù)信息傳遞步驟,但需將攻擊者的請(qǐng)求屬性組設(shè)置為不符合訪問(wèn)結(jié)構(gòu)A1和A2。最后,攻擊者完全猜對(duì)密文b'與b一致時(shí),則能獲得數(shù)據(jù)原文。因此,模型很難實(shí)現(xiàn)匿名訪問(wèn),除非密文的訪問(wèn)結(jié)構(gòu)A1和A2能被區(qū)分。
研究在傳統(tǒng)CP-ABE算法的基礎(chǔ)上進(jìn)行了改進(jìn),具體表現(xiàn)在增加了密文半解密算法EncryptHalf(PK,CT,TK)和密鑰轉(zhuǎn)換算法GenTKout(PK,SK)。GenTKout(PK,SK)中,檢索密鑰RK和轉(zhuǎn)換密鑰TK的定義式為式(5)。
(5)
對(duì)于EncryptHalf(PK,CT,TK),IPFS網(wǎng)絡(luò)節(jié)點(diǎn)獲得轉(zhuǎn)換密鑰、密文、公鑰,需先測(cè)試訪問(wèn)結(jié)構(gòu)和數(shù)據(jù)請(qǐng)求者的屬性組中的元素是否具有一致性。最終通過(guò)轉(zhuǎn)換密鑰、密文、公鑰、訪問(wèn)結(jié)構(gòu)等參數(shù)得到CP-ABE加密方案的最終解密算法。安全證明包括匿名證明、正確性證明、數(shù)據(jù)完整證明、Ethereum私鏈網(wǎng)絡(luò)安全性證明、安全分析[14-15]。
實(shí)驗(yàn)環(huán)境設(shè)置如下,計(jì)算機(jī)為MacBook Pro。研究采用的對(duì)比方案為混合加密方案[13]、Fabric和IPFS[14]、聯(lián)盟區(qū)塊鏈和IPFS[15]。四種方案的性能對(duì)比如表2所示。Te是指群U上計(jì)算指數(shù)級(jí)數(shù)據(jù)的時(shí)間,|Upi|是指群元素的長(zhǎng)度,H是指用戶屬性。相較于其他三種方案,密文長(zhǎng)度較長(zhǎng),但具有以下優(yōu)點(diǎn),體現(xiàn)在解密計(jì)算外交付到第三方、訪問(wèn)結(jié)構(gòu)具有隱藏性、在安全性方面增強(qiáng)了保護(hù)、增加了功能驗(yàn)證工作。
(a)屬性組數(shù)/個(gè) (b)屬性組數(shù)/個(gè)
表2 四種方案的性能對(duì)比
圖3(a)是指不同數(shù)據(jù)加密方案在不同屬性組數(shù)下的加密時(shí)間。隨著屬性組數(shù)的增加,四種數(shù)據(jù)加密方案的加密時(shí)間和屬性組數(shù)呈現(xiàn)正比。CP-ABE數(shù)據(jù)加密方案在屬性組數(shù)為90時(shí),加密時(shí)間最短,數(shù)值為1.68s。圖3(b)是指不同數(shù)據(jù)加密方案在不同屬性組數(shù)下的解密時(shí)間。CP-ABE數(shù)據(jù)加密方案在屬性組數(shù)為90時(shí),解密時(shí)間最長(zhǎng),數(shù)值為2.62s。但鑒于屬性組數(shù)的個(gè)數(shù)正常情況下均在50以內(nèi),因此,數(shù)據(jù)加密方案的解密時(shí)間相差不大,且在安全性方面有較高的性能。
圖4是指不同請(qǐng)求個(gè)數(shù)下四種數(shù)據(jù)加密方案的解密時(shí)間。隨著請(qǐng)求者個(gè)數(shù)的增加,混合加密方案、Fabric和IPFS、聯(lián)盟區(qū)塊鏈和IPFS三種數(shù)據(jù)加密方案的解密時(shí)間會(huì)逐漸增加。但CP-ABE數(shù)據(jù)加密方案的解密時(shí)間無(wú)論在任何請(qǐng)求個(gè)數(shù)下的解密時(shí)間保持在1.5s左右。而其余方案由于采用集中處理的方式會(huì)導(dǎo)致在請(qǐng)求數(shù)量增多的情況下請(qǐng)求等待現(xiàn)象,進(jìn)而使得平均解密時(shí)間增加。
圖4 不同請(qǐng)求個(gè)數(shù)下四種數(shù)據(jù)加密方案的解密時(shí)間
針對(duì)數(shù)據(jù)存儲(chǔ)運(yùn)輸中的安全性、私密性、數(shù)據(jù)高度適配性、自我修復(fù)提升問(wèn)題,研究提出一種融合Ethereum和IPFS加密算法的分布式數(shù)據(jù)存儲(chǔ)傳輸加密方案。所提出的加密方案在訪問(wèn)結(jié)構(gòu)隱藏功能、匿名性、驗(yàn)證性、安全性方面具有較好的功能。CP-ABE數(shù)據(jù)加密方案在屬性組數(shù)為90時(shí),加密時(shí)間最短,數(shù)值為1.68s。CP-ABE數(shù)據(jù)加密方案在屬性組數(shù)為90時(shí),加密時(shí)間最長(zhǎng),數(shù)值為2.62s。隨著請(qǐng)求者個(gè)數(shù)的增加,混合加密方案、Fabric和IPFS、聯(lián)盟區(qū)塊鏈和IPFS三種數(shù)據(jù)加密方案的解密時(shí)間會(huì)逐漸增加,但CP-ABE數(shù)據(jù)加密方案的解密時(shí)間無(wú)論在任何請(qǐng)求個(gè)數(shù)下的解密時(shí)間保持在1.5s左右。所提出的CP-ABE數(shù)據(jù)加密方案具有一定的實(shí)用性和有效性。但研究所提出的數(shù)據(jù)加密方案在解決規(guī)模龐大的數(shù)據(jù)中存在一定局限性,后續(xù)需提出相應(yīng)的解決措施對(duì)方案進(jìn)行優(yōu)化。
佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年6期