王苗苗
摘要:隨著云計算和大數(shù)據(jù)技術(shù)的不斷發(fā)展,數(shù)據(jù)已經(jīng)成為社會經(jīng)濟發(fā)展的關(guān)鍵要素,其安全問題也日益凸顯。為解決不同企業(yè)及其部門之間在數(shù)據(jù)快速共享過程中私有數(shù)據(jù)的有效保護問題,文章應(yīng)用區(qū)塊鏈技術(shù),借助智能合約機制,并利用改進的權(quán)重屬性加密機制,設(shè)計了一種私有數(shù)據(jù)訪問控制模型。該模型在提升數(shù)據(jù)可追溯性的同時,能夠降低惡意攻擊行為發(fā)生的概率以及數(shù)據(jù)加解密的時間成本。最后,通過仿真實驗驗證,該模型具有高可靠性,能夠有效解決私有數(shù)據(jù)共享問題,完全符合預(yù)期的設(shè)計標準和要求,為相關(guān)人員提供了有效的借鑒和參考。
關(guān)鍵詞:區(qū)塊鏈技術(shù);私有數(shù)據(jù);訪問控制模型;設(shè)計
中圖分類號:TP393 文獻標識碼:A
文章編號:1009-3044(2024)10-0088-03
0 引言
在云計算和大數(shù)據(jù)的時代背景下,數(shù)字經(jīng)濟正在快速發(fā)展,數(shù)據(jù)已成為推動經(jīng)濟發(fā)展的重要動力。如何確保私有數(shù)據(jù)的保密性和安全性,已成為不同企業(yè)及其部門間實現(xiàn)數(shù)據(jù)共享的主要挑戰(zhàn)[1]。因此,構(gòu)建適用于不同應(yīng)用場景的數(shù)據(jù)共享安全模型或解決方案已成為亟待解決的問題。針對傳統(tǒng)數(shù)據(jù)共享模型無法有效阻止軟件惡意查詢行為、數(shù)據(jù)預(yù)覽摘要實現(xiàn)難度高、開銷成本大以及數(shù)據(jù)訪問控制復(fù)雜等問題,私有數(shù)據(jù)訪問控制模型的設(shè)計和應(yīng)用成為一個有效的解決途徑。
本文主要基于區(qū)塊鏈技術(shù),采用聯(lián)盟鏈鏈下計算方式設(shè)計私有數(shù)據(jù)訪問控制模型。該設(shè)計的核心:一是利用區(qū)塊鏈中的聯(lián)盟鏈鏈下計算技術(shù),在多個成員通信過程中增加認證環(huán)節(jié),從而在確保私有數(shù)據(jù)安全共享的同時提高數(shù)據(jù)的可追溯性。二是借助智能合約機制設(shè)置訪問控制策略,降低惡意攻擊行為發(fā)生的概率。三是利用改進的權(quán)重屬性加密機制,在控制和保護數(shù)據(jù)機密性的基礎(chǔ)上,降低私有數(shù)據(jù)加解密的時間成本。
1 區(qū)塊鏈定義與特性
區(qū)塊鏈是通過哈希函數(shù)將多個區(qū)塊按照其生成時間的先后順序鏈接起來形成的一個鏈式結(jié)構(gòu)。區(qū)塊鏈主要融合了非對稱加密算法、哈希算法以及可編程的智能合約機制,形成了一個數(shù)據(jù)分布式存儲的對等網(wǎng)絡(luò)。其中,智能合約機制主要由合約值、合約狀態(tài)、代碼三大組成部分構(gòu)成,實現(xiàn)了計算機協(xié)議的傳播、驗證和執(zhí)行功能。
區(qū)塊鏈技術(shù)作為一種分布式數(shù)據(jù)庫技術(shù)方案,具備以下3個顯著特性:1) 去中心化。在區(qū)塊鏈中,每個節(jié)點的權(quán)利和義務(wù)都是相同的,它們都會存儲本區(qū)塊鏈的所有數(shù)據(jù)。這類似于對等網(wǎng)絡(luò),沒有中心節(jié)點的管轄與干預(yù),從而有效降低了服務(wù)成本,避免了單點故障的風險。2) 不可篡改性。區(qū)塊鏈使用的哈希算法的定長哈希值和雪崩效應(yīng),能夠識別任何細微的變化,從而有效地防止數(shù)據(jù)和事務(wù)被惡意篡改。3) 數(shù)據(jù)透明可追溯性。區(qū)塊鏈的數(shù)據(jù)對用戶是透明的,每個事務(wù)發(fā)生時都會形成時間戳。用戶可以根據(jù)這些時間戳來驗證和追蹤歷史數(shù)據(jù)來源,實現(xiàn)數(shù)據(jù)的追溯。
區(qū)塊鏈可以分為以下3類:1) 公有鏈。具有一定的開放性,允許所有人員參與其中,且不受任意節(jié)點的影響。2) 私有鏈。是指由個人、機構(gòu)或組織內(nèi)部私有的一種區(qū)塊鏈,內(nèi)含若干個節(jié)點。3) 聯(lián)盟鏈。其性質(zhì)介于公有鏈和私有鏈之間,由多個成員組合后形成。若想使用聯(lián)盟鏈,必須通過認證后方可使用,它具有靈活性高、通信便利、隱私保護性能好等優(yōu)勢。
2 基于區(qū)塊鏈技術(shù)的私有數(shù)據(jù)訪問控制模型構(gòu)建
2.1 同態(tài)加密
同態(tài)加密允許第三方(如云服務(wù)提供商)在不解密的情況下,直接對密文數(shù)據(jù)執(zhí)行某些可計算的功能,同時保留密文數(shù)據(jù)的功能和格式,這既減少了用戶數(shù)據(jù)泄露的風險,又實現(xiàn)了數(shù)據(jù)的“可算不可見”,在抵抗攻擊行為方面發(fā)揮了重要作用[2]。根據(jù)其滿足同態(tài)的具體算法情況,同態(tài)加密可以分為全同態(tài)算法和半同態(tài)算法。
2.2 模型構(gòu)建
2.2.1 構(gòu)建思路
基于區(qū)塊鏈技術(shù)的私有數(shù)據(jù)訪問控制模型圖如圖1所示,整個模型主要包含TC可信中心、數(shù)據(jù)擁有者、數(shù)據(jù)請求者、聯(lián)盟鏈、云存儲中心五大組成部分。該模型主要運用半中心化的聯(lián)盟鏈[3],結(jié)合全同態(tài)加密算法對數(shù)據(jù)摘要和數(shù)據(jù)關(guān)鍵字進行保護,應(yīng)用密文策略屬性基加密(CP-ABE) 方案來確保細粒度訪問控制的安全性和保密性,采用簽名值對比的方式來分析和判斷訪問控制的私有數(shù)據(jù)的一致性。此外,為實現(xiàn)私有數(shù)據(jù)的智能化監(jiān)控,保證私有數(shù)據(jù)的可追溯性,還須接入安全化節(jié)點。
在檢索數(shù)據(jù)期間,我們借助了智能合約機制對部分非法訪問操作行為進行了過濾。這不僅保障了本次訪問行為的安全控制,還通過“學習”模式,向聯(lián)盟鏈中存儲了非法訪問的關(guān)鍵字索引密文,從而確保了下次非法訪問的檢索與攔截。這一措施為后期精確化、高效化檢索所需數(shù)據(jù)提供了匹配樣本[4]。
2.2.2 構(gòu)建流程
私有數(shù)據(jù)訪問控制模型的構(gòu)建流程包括以下幾個步驟:1) TC可信中心向首次進入聯(lián)盟鏈的數(shù)據(jù)請求者頒發(fā)相應(yīng)的數(shù)字證書。數(shù)據(jù)請求者須向TC可信中心提交用戶身份信息、單位、密級等相關(guān)注冊信息。只有經(jīng)過TC可信中心對數(shù)據(jù)請求者的身份進行認證授權(quán)后,數(shù)據(jù)請求者才能獲得所需的公私鑰和數(shù)字證書等。2) 數(shù)據(jù)擁有者向數(shù)據(jù)請求者共享私有數(shù)據(jù)。在這一環(huán)節(jié)中,需要在制定和優(yōu)化智能合約規(guī)則的基礎(chǔ)上,構(gòu)建訪問控制策略結(jié)構(gòu),精細化訪問控制私有數(shù)據(jù)的粒度,以保證私有數(shù)據(jù)的完整性和機密性。隨后,在提取數(shù)據(jù)摘要信息的基礎(chǔ)上,運用加密模糊處理技術(shù),確保私有數(shù)據(jù)的可預(yù)覽性。3) 數(shù)據(jù)請求者如要獲取所需的私有數(shù)據(jù),必須在獲得相關(guān)權(quán)限后,方可對私有數(shù)據(jù)進行安全訪問控制。4) 聯(lián)盟鏈節(jié)點中通常涉及多個不同企業(yè)、同企業(yè)多個部門、同部門不同級別個體等。這些元素之間須建立良好的合作關(guān)系,共同維護區(qū)塊鏈。此外,將私有數(shù)據(jù)的摘要密文、元數(shù)據(jù)統(tǒng)一存儲到聯(lián)盟鏈中,有助于降低私有數(shù)據(jù)被惡意入侵和篡改的風險,從而確保私有數(shù)據(jù)的安全性、完整性和機密性。5) 云存儲中心為用戶提供強大的加密數(shù)據(jù)存儲功能,方便用戶存儲和管理私有數(shù)據(jù),這為實現(xiàn)私有數(shù)據(jù)的最大化利用以及保證私有數(shù)據(jù)訪問控制的安全性和可靠性提供了重要的依據(jù)和參考。
2.3 模型方案劃分
2.3.1 系統(tǒng)初始化階段
在系統(tǒng)初始化階段,我們借助密文策略屬性基加密方案形成密鑰。具體而言,利用公鑰密碼算法生成密鑰。密文策略屬性基加密方案所生成的密鑰主要包含密鑰設(shè)置和密鑰解密兩個環(huán)節(jié)。
2.3.2 數(shù)據(jù)存儲階段
聯(lián)盟鏈數(shù)據(jù)存儲的實現(xiàn)流程如下:數(shù)據(jù)擁有者須精確計算出元數(shù)據(jù)的存儲位置索引、數(shù)據(jù)關(guān)鍵字以及哈希值,隨后將這些信息存儲到聯(lián)盟鏈中,以確保鏈上數(shù)據(jù)的隱私性和機密性。具體步驟包括:1) 從TC 可信中心獲取密鑰后,采用對稱加密方式對明文數(shù)據(jù)進行加密運算,得到相應(yīng)的密文,然后將密文上傳至云存儲服務(wù)器,并計算出相應(yīng)的存儲位置索引。2) 采用預(yù)處理方式,將各個屬性的權(quán)重相加后,將得到的權(quán)重值設(shè)置為葉子節(jié)點,以降低計算開銷[5],并制定相應(yīng)的訪問策略。3) 運用密文策略屬性基加密方案,結(jié)合訪問策略和對稱密鑰,獲得相應(yīng)的密文。4) 結(jié)合隨機數(shù),對關(guān)鍵字和數(shù)據(jù)摘要所對應(yīng)的同態(tài)加密密文進行精確化計算。5) 計算出各個元數(shù)據(jù)所對應(yīng)的哈希值,并將元數(shù)據(jù)及相關(guān)信息存儲到聯(lián)盟鏈中。
2.3.3 數(shù)據(jù)搜索與共享訪問階段
數(shù)據(jù)請求者進行數(shù)據(jù)搜索與共享訪問的流程如圖2所示。為實現(xiàn)數(shù)據(jù)的高效搜索與安全共享,提高數(shù)據(jù)訪問效率,本文詳細介紹訪問數(shù)據(jù)的具體操作步驟:1) 設(shè)定智能合約規(guī)則,并據(jù)此科學劃分和確定數(shù)據(jù)密級和保密期限。數(shù)據(jù)請求者首先使用設(shè)置好的智能合約規(guī)則,檢驗自身密級是否匹配所設(shè)定的數(shù)據(jù)密級;其次,結(jié)合確定的數(shù)據(jù)保密期限,全面審查數(shù)據(jù)的密級和保密期限是否符合智能合約規(guī)則。若兩項檢驗結(jié)果均滿足條件,則執(zhí)行數(shù)據(jù)解密操作;若不滿足,則意味著數(shù)據(jù)訪問失敗,退出數(shù)據(jù)訪問流程。此外,還須啟動定時輪詢檢測功能,對文件期限進行檢測,當發(fā)現(xiàn)文件期限設(shè)置不符合智能合約規(guī)則時,及時提醒數(shù)據(jù)擁有者更改和發(fā)布元數(shù)據(jù)。2) 數(shù)據(jù)請求者采用關(guān)鍵詞查詢方式,對不同數(shù)據(jù)的關(guān)鍵字密文或摘要密文進行查詢,并計算出相應(yīng)數(shù)據(jù)文件的哈希值。同時,運用密文策略屬性基加密方案,驗證訪問策略結(jié)構(gòu)樹,若驗證數(shù)據(jù)請求行為符合訪問控制要求,則數(shù)據(jù)請求者使用解密技術(shù)獲取索引地址和對稱密鑰。3) 在云存儲服務(wù)器上查詢并下載所需數(shù)據(jù)密文,解密后獲取對應(yīng)的明文。4) 計算云存儲服務(wù)器上解密得到的明文哈希值,并與原數(shù)據(jù)文件計算得到的哈希值進行比較,以驗證數(shù)據(jù)在傳輸、搜索和共享獲取過程中是否發(fā)生篡改或差錯,確保私有數(shù)據(jù)的完整性和安全性。
3 基于區(qū)塊鏈技術(shù)的私有數(shù)據(jù)訪問控制模型仿真驗證
為有效驗證和評估本文所設(shè)計模型的相關(guān)性能,我們在VMware Workstation 12 上安裝了Ubuntu16.04.7 操作系統(tǒng),并采用了區(qū)塊鏈開源工具Hy?perledger Fabric v1.4。通過設(shè)置鏈碼,重構(gòu)并設(shè)計了智能合約。在確定了多種屬性策略后,以512字節(jié)的數(shù)據(jù)為樣本進行仿真實驗,發(fā)現(xiàn):一是隨著元數(shù)據(jù)數(shù)量的不斷增加,數(shù)據(jù)處理的時間開銷并未出現(xiàn)爆炸性增長,反而呈下降趨勢,如圖3所示,這符合實際應(yīng)用需求;二是在智能合約機制中,使用的私有數(shù)據(jù)必須通過訪問控制策略進行身份信息驗證,從而避免了私有數(shù)據(jù)被惡意入侵和篡改的風險;三是該模型在向區(qū)塊鏈網(wǎng)絡(luò)的數(shù)據(jù)塊中存儲私有數(shù)據(jù)時,區(qū)塊鏈網(wǎng)絡(luò)中透明度的高低并不會對私有數(shù)據(jù)的安全性構(gòu)成威脅。
4 結(jié)束語
本文所設(shè)計的基于聯(lián)盟鏈的私有數(shù)據(jù)訪問控制模型采用同態(tài)加密算法加密,確保了共享私有數(shù)據(jù)的安全性;通過添加屬性的權(quán)重,滿足了私有數(shù)據(jù)安全化訪問控制的需求;采用密文策略屬性基加密方案,降低了數(shù)據(jù)加解密的時間開銷;借助聯(lián)盟鏈智能合約機制,優(yōu)化了數(shù)據(jù)密級匹配流程,降低了聯(lián)盟鏈內(nèi)私有數(shù)據(jù)被惡意下載等風險。該模型實現(xiàn)了節(jié)點的安全化接入和私有數(shù)據(jù)的安全化共享,有效解決了私有數(shù)據(jù)訪問控制安全性差等問題。因此,本文模型具有較高的應(yīng)用價值和應(yīng)用前景,值得進一步推廣和應(yīng)用。
參考文獻:
[1] 童飛,邵冉冉.基于區(qū)塊鏈的云上數(shù)據(jù)訪問控制模型研究[J].計算機科學,2023,50(9):16-25.
[2] 張杰,許姍姍,袁凌云.基于區(qū)塊鏈與邊緣計算的物聯(lián)網(wǎng)訪問控制模型[J].計算機應(yīng)用,2022,42(7):2104-2111.
[3] 葉進,龐承杰,李曉歡,等.基于區(qū)塊鏈的供應(yīng)鏈數(shù)據(jù)分級訪問控制機制[J].電子科技大學學報,2022,51(3):408-415.
[4] 王永剛.基于區(qū)塊鏈的云存儲數(shù)據(jù)訪問安全控制算法[J].河北北方學院學報(自然科學版),2021,37(11):7-12.
[5] 杜瑞忠,張?zhí)砗?,石朋?基于區(qū)塊鏈且支持數(shù)據(jù)共享的密文策略隱藏訪問控制方案[J].通信學報,2022,43(6):168-178.
【通聯(lián)編輯:代影】