龍巧玲 何擁軍 孫細斌
摘要:本文探討了區(qū)塊鏈技術在云存儲系統(tǒng)中的安全共識算法研究;介紹了區(qū)塊鏈技術的定義、基本原理和安全特性;從系統(tǒng)需求分析、總體架構設計、功能模塊設計以及數(shù)據(jù)庫設計等方面,提出了基于區(qū)塊鏈的云存儲系統(tǒng)的安全架構設計。著重討論了基于區(qū)塊鏈的云存儲系統(tǒng)中的安全共識算法,概述了安全共識算法的概念,介紹了區(qū)塊鏈中常用的共識算法,并闡述了區(qū)塊鏈技術在云存儲系統(tǒng)中的應用和設計。
關鍵詞:區(qū)塊鏈技術;云存儲系統(tǒng);安全共識算法;系統(tǒng)架構;數(shù)據(jù)庫設計
引言
區(qū)塊鏈技術和云存儲系統(tǒng)在當今信息社會中具有重要作用。區(qū)塊鏈技術能夠提供去中心化、不可篡改和高度安全的數(shù)據(jù)存儲,而云存儲系統(tǒng)則為人們提供了便捷的數(shù)據(jù)存儲和訪問方式。然而,在當前云存儲系統(tǒng)中存在安全共識算法方面的挑戰(zhàn),如數(shù)據(jù)隱私保護、數(shù)據(jù)完整性驗證、共享數(shù)據(jù)的一致性等問題。因此,本文旨在研究區(qū)塊鏈技術在云存儲系統(tǒng)中的安全共識算法,以提高云存儲系統(tǒng)的安全性和可信度。
1. 區(qū)塊鏈技術概述
1.1 什么是區(qū)塊鏈技術
區(qū)塊鏈技術是一種分布式的、可追溯的、安全的數(shù)據(jù)庫技術。簡單來說,它是由一個個區(qū)塊組成的鏈式結構,每個區(qū)塊包含一部分數(shù)據(jù),如交易記錄等。這些區(qū)塊通過密碼學算法和共識機制進行連接,形成一個不可篡改的賬本[1]。區(qū)塊鏈技術的核心概念是去中心化和可信任。通過去中心化,沒有任何一方能夠單獨控制整個網(wǎng)絡,而可信任性則是通過共識機制和密碼學實現(xiàn)的,使得數(shù)據(jù)在網(wǎng)絡中具有高度的安全性和可靠性。
1.2 區(qū)塊鏈技術的基本原理
區(qū)塊鏈技術的基本原理是將數(shù)據(jù)按照時間順序串聯(lián)起來形成一個由區(qū)塊構成的鏈。每個區(qū)塊包含一定數(shù)量的交易記錄和一個與前一個區(qū)塊相關的數(shù)字簽名,這個數(shù)字簽名確保了區(qū)塊之間的聯(lián)系和數(shù)據(jù)的完整性。每個區(qū)塊通過密碼學哈希函數(shù)與前一個區(qū)塊的哈希值相連,形成鏈式結構。這種設計保證了區(qū)塊鏈的不可篡改性和安全性[2]。
2. 基于區(qū)塊鏈的云存儲系統(tǒng)安全架構設計
2.1 系統(tǒng)需求分析
基于區(qū)塊鏈的云存儲系統(tǒng)是為了解決傳統(tǒng)云存儲系統(tǒng)中的安全和數(shù)據(jù)完整性問題而設計的。在進行系統(tǒng)需求分析時,需要考慮以下幾個關鍵方面。
2.2 系統(tǒng)總體架構設計
區(qū)塊鏈技術在云存儲系統(tǒng)中的安全共識算法研究是為了解決傳統(tǒng)云存儲系統(tǒng)中存在的數(shù)據(jù)安全性和可信性問題。在設計系統(tǒng)總體架構時,需要綜合考慮區(qū)塊鏈技術和云存儲的特點,以確保系統(tǒng)具備高度的安全性和可靠性。系統(tǒng)總體架構設計關鍵組件及內(nèi)容如下:
(1)用戶界面:提供用戶注冊、登錄、上傳和下載數(shù)據(jù)等操作功能,實現(xiàn)用戶與系統(tǒng)的交互界面,并支持跨平臺和跨設備訪問。
(2)身份認證和權限管理:采用去中心化身份認證機制,確保用戶身份安全,并實施細粒度的權限管理,確保用戶只能訪問其具有權限的數(shù)據(jù)。
(3)分布式存儲網(wǎng)絡:采用去中心化的分布式存儲方式,將用戶數(shù)據(jù)分散存儲在多個節(jié)點上,以提高系統(tǒng)的抗攻擊能力和可靠性。
(4)區(qū)塊鏈網(wǎng)絡:用于記錄和驗證數(shù)據(jù)交易和操作,實現(xiàn)數(shù)據(jù)的透明性和可追溯性。通過共識算法保證數(shù)據(jù)一致性和安全性。
(5)安全共識算法:采用工作量證明、權益證明、委員會證明等共識算法,解決分布式系統(tǒng)中節(jié)點通信和數(shù)據(jù)交互問題,確保系統(tǒng)的安全性。
(6)數(shù)據(jù)加密和簽名:采用對稱加密和非對稱加密算法,保護用戶上傳數(shù)據(jù)的機密性和完整性,同時驗證數(shù)據(jù)的來源和完整性。
2.3 系統(tǒng)功能模塊設計
在區(qū)塊鏈技術在云存儲系統(tǒng)中的安全共識算法研究中,系統(tǒng)功能模塊如下:
(1)用戶管理模塊:負責用戶注冊、登錄和身份驗證等功能,管理用戶賬戶,確保用戶信息的安全和隱私。
(2)數(shù)據(jù)上傳與下載模塊:提供文件上傳和下載功能,允許用戶將文件上傳到云存儲系統(tǒng)并從中下載文件。
(3)安全共識模塊:實現(xiàn)區(qū)塊鏈交易驗證和共識過程,確保數(shù)據(jù)的一致性和安全性。
(4)權限管理模塊:控制用戶對存儲數(shù)據(jù)的訪問權限,確保只有具有相應權限的用戶能夠?qū)?shù)據(jù)進行讀取和修改。
(5)安全存儲模塊:負責文件加密、數(shù)據(jù)備份和容災機制,保證數(shù)據(jù)的機密性和持久性,以及系統(tǒng)的容災能力。
(6)數(shù)據(jù)完整性驗證模塊:驗證用戶上傳數(shù)據(jù)的完整性,確保上傳的數(shù)據(jù)沒有被篡改或損壞。
2.4 系統(tǒng)數(shù)據(jù)庫設計
在區(qū)塊鏈技術在云存儲系統(tǒng)中的安全共識算法研究中,系統(tǒng)數(shù)據(jù)庫設計至關重要,它負責存儲系統(tǒng)中的各種數(shù)據(jù)和元數(shù)據(jù),并為其他功能模塊提供數(shù)據(jù)支持。系統(tǒng)數(shù)據(jù)庫關鍵因素設計如下:
(1)區(qū)塊鏈數(shù)據(jù)存儲:設計合適的數(shù)據(jù)庫結構和數(shù)據(jù)模型,用于存儲區(qū)塊鏈網(wǎng)絡中的區(qū)塊和交易數(shù)據(jù),保證數(shù)據(jù)的完整性和可靠性。
(2)用戶數(shù)據(jù)存儲:設計數(shù)據(jù)庫結構和相關表,用于存儲用戶身份信息、賬戶信息和訪問權限,實現(xiàn)用戶身份驗證和權限管理。
(3)文件元數(shù)據(jù)存儲:設計數(shù)據(jù)庫結構和表,用于存儲文件的元數(shù)據(jù)信息,包括文件名稱、大小、上傳時間、所有者等信息,方便管理和檢索文件。
數(shù)據(jù)完整性驗證存儲:設計數(shù)據(jù)庫結構和表,用于存儲數(shù)據(jù)完整性驗證相關的信息,例如數(shù)據(jù)的哈希值、驗證結果等,用于驗證數(shù)據(jù)的完整性[3]。
(4)審計日志存儲:設計數(shù)據(jù)庫結構和表,用于存儲系統(tǒng)操作日志和審計信息,記錄用戶操作行為、系統(tǒng)事件、異常行為等,用于進行安全審計和監(jiān)控。
(5)安全密鑰存儲:設計數(shù)據(jù)庫結構和表,用于存儲系統(tǒng)中使用的安全密鑰和加密算法相關的信息,確保安全密鑰的安全管理和數(shù)據(jù)加密解密過程的安全性。
3. 基于區(qū)塊鏈的云存儲系統(tǒng)中的安全共識算法
3.1 安全共識算法概述
安全共識算法是基于區(qū)塊鏈的云存儲系統(tǒng)的核心組成部分,用于確保系統(tǒng)中的數(shù)據(jù)一致性和安全性。安全共識算法通過協(xié)調(diào)分布式系統(tǒng)中的節(jié)點,使得節(jié)點在達成共識的過程中能夠驗證和確認交易的有效性[4]。
3.2 區(qū)塊鏈中常用的共識算法
在基于區(qū)塊鏈的云存儲系統(tǒng)中,有多種常用的共識算法,每種算法都有自己的特點和適用場景。以下是幾種常見的共識算法:
(1)工作量證明:PoW是最早應用于比特幣的共識算法。在PoW中,節(jié)點需要通過完成一定的計算任務(挖礦)來爭奪出塊的權益。該算法要求大量的計算資源和能源消耗,因此安全性較高。然而,PoW算法的能源消耗較高且效率低下。
(2)權益證明:PoS算法根據(jù)節(jié)點持有的代幣數(shù)量來確定出塊的權益,而非通過計算任務。節(jié)點需要將自己的代幣抵押起來,來競爭生成新區(qū)塊的權益。PoS算法相對節(jié)能高效,但可能會出現(xiàn)富者愈富的情況。
(3)委托權益證明:DPoS是在PoS算法的基礎上發(fā)展而來的一種共識算法。在DPoS中,代幣持有者可以委托給特定的節(jié)點進行權益競選和出塊。委托節(jié)點之間進行輪流出塊,有效提高系統(tǒng)的處理速度。
3.3 安全共識算法在云存儲系統(tǒng)中的應用
安全共識算法在云存儲系統(tǒng)中起著至關重要的作用,能夠確保數(shù)據(jù)的一致性、可靠性和安全性。以下是安全共識算法在云存儲系統(tǒng)中的應用:
(1)數(shù)據(jù)完整性驗證:安全共識算法可以用于驗證存儲在云存儲系統(tǒng)中的數(shù)據(jù)的完整性。通過在區(qū)塊鏈中記錄數(shù)據(jù)的哈希值,節(jié)點可以定期驗證數(shù)據(jù)的一致性,確保數(shù)據(jù)沒有被篡改或損壞。
(2)數(shù)據(jù)備份和容災:共識算法可以實現(xiàn)分布式的數(shù)據(jù)備份和容災機制。將數(shù)據(jù)分布在不同的節(jié)點中,并通過共識算法來確保數(shù)據(jù)的一致性和可靠性,即使部分節(jié)點發(fā)生故障或數(shù)據(jù)丟失,依然能夠從其他節(jié)點中恢復數(shù)據(jù)。
(3)安全審計和追溯:共識算法記錄了區(qū)塊鏈上的每一筆交易和操作,這為系統(tǒng)的安全審計和追溯提供了依據(jù)。通過分析區(qū)塊鏈上的交易記錄和事件,可以追蹤和審計用戶對數(shù)據(jù)的訪問和操作,及時發(fā)現(xiàn)和應對安全問題。
3.4 區(qū)塊鏈云存儲系統(tǒng)中的安全共識算法設計
在設計區(qū)塊鏈云存儲系統(tǒng)中的安全共識算法時,需要綜合考慮系統(tǒng)的可擴展性、性能、安全性和去中心化程度。以下是一個簡要的區(qū)塊鏈云存儲系統(tǒng)中安全共識算法的設計思路:
(1)選取適合的共識算法:根據(jù)系統(tǒng)的特點和需求,選擇適合的共識算法??紤]到云存儲系統(tǒng)的規(guī)模和性能要求,可以選擇以權益證明(PoS)或委托權益證明(DPoS)為基礎的共識算法。這些算法能夠提供較高的交易處理速度和能源效率,同時確保安全性和去中心化。
(2)設計節(jié)點選擇機制:根據(jù)選定的共識算法,設計節(jié)點選擇機制。對于權益證明算法,節(jié)點的選擇應基于代幣持有量,節(jié)點擁有更多代幣的用戶將有更大的機會成為驗證節(jié)點。對于委托權益證明算法,節(jié)點的選擇應基于委托者的投票和權益。通過設計公正的節(jié)點選擇機制,可以增強系統(tǒng)的安全性和可信度[5]。
(3)數(shù)據(jù)存儲和驗證:設計數(shù)據(jù)的存儲和驗證機制。將存儲在云存儲系統(tǒng)中的數(shù)據(jù)劃分為不可變的數(shù)據(jù)塊,并通過哈希值將其鏈接在一起形成區(qū)塊鏈。每個區(qū)塊中存儲數(shù)據(jù)和相關的元數(shù)據(jù)。節(jié)點在生成新區(qū)塊時,需要對存儲的數(shù)據(jù)進行驗證,以確保數(shù)據(jù)的完整性和安全性。
(4)安全審計和追溯:設計安全審計和追溯機制。通過在區(qū)塊鏈中記錄所有的交易和操作,可以實現(xiàn)對用戶行為的追溯和數(shù)據(jù)的安全審計。每個交易都應該包含足夠的信息,以便進行有效的審計和追溯,以防止惡意行為和異常操作[6]。
(5)引入智能合約:利用智能合約技術,增加對用戶數(shù)據(jù)訪問權限的自動化控制。通過編寫智能合約,可以實現(xiàn)對用戶數(shù)據(jù)的加密、解密和訪問權限控制,確保數(shù)據(jù)只能被授權的用戶訪問和操作。
(6)引入去中心化存儲:考慮引入去中心化存儲技術,將數(shù)據(jù)存儲在分布式的節(jié)點上,而非集中式的云存儲服務器。去中心化存儲可以增加系統(tǒng)的安全性和抗攻擊能力,同時減少數(shù)據(jù)丟失的風險。
結語
通過對區(qū)塊鏈技術進行概述,介紹了其基本原理和安全特性。在此基礎上,設計了基于區(qū)塊鏈的云存儲系統(tǒng)的安全架構,包括系統(tǒng)需求分析、總體架構設計、功能模塊設計和數(shù)據(jù)庫設計。本研究將區(qū)塊鏈技術與云存儲系統(tǒng)相結合,解決了云存儲系統(tǒng)中的安全共識問題,保護了用戶數(shù)據(jù)的隱私和完整性,對于促進云存儲系統(tǒng)的安全發(fā)展具有重要意義。未來的研究方向應進一步提升區(qū)塊鏈云存儲系統(tǒng)的性能和擴展性,優(yōu)化安全共識算法的效率和實現(xiàn)方式,深入研究數(shù)據(jù)共享和訪問控制機制等,進一步推動區(qū)塊鏈技術在云存儲系統(tǒng)中的應用,并為數(shù)據(jù)安全領域帶來更多創(chuàng)新與進步。
參考文獻:
[1]王群,李馥娟,倪雪莉,等.區(qū)塊鏈共識算法及應用研究[J].計算機科學與探索,2022,16(6):1214-1242.
[2]朱小強,鄭明輝,喬譯萱,等.一種基于可驗證秘密共享的區(qū)塊鏈共識算法[J].中南民族大學學報(自然科學版),2022,41(2):215-221.
[3]劉峰,趙俊峰.基于區(qū)塊鏈的云存儲數(shù)據(jù)完整性驗證方案[J].應用科學學報,2021,39(1):164-173.
[4]劉昌平,劉海.一種區(qū)塊鏈數(shù)據(jù)的云存儲與共享方法[J].計算機應用研究,2021,38(9):2600-2603.
[5]王永剛.基于區(qū)塊鏈的云存儲數(shù)據(jù)訪問安全控制算法[J].河北北方學院學報(自然科學版),2021,37(11):7-12.
[6]譚靚潔,李永飛.區(qū)塊鏈在云數(shù)據(jù)安全領域的研究進展[J].華北科技學院學報,2021,18(3):95-103.
作者簡介:龍巧玲,碩士研究生,研究方向:區(qū)塊鏈、云計算。
基金項目:廣東省普通高校重點領域?qū)m楉椖俊谶z傳預測動態(tài)文件的區(qū)塊鏈云存儲模型與算法研究(編號:2020ZDZX3118);廣東省普通高校重點領域?qū)m楉椖俊趨^(qū)塊鏈和移動代理的大數(shù)據(jù)環(huán)境中安全數(shù)據(jù)存儲框架研究與實現(xiàn)(編號:2022ZDZX1056);廣州市基礎研究計劃基礎與應用基礎研究項目——特征工程技術與機器學習算法在入侵檢測系統(tǒng)的應用研究(編號:202102080586)。