目前基于区块链的档案防篡改系统的设计如何实现防篡改
生活随笔
收集整理的這篇文章主要介紹了
目前基于区块链的档案防篡改系统的设计如何实现防篡改
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
架構(gòu)設(shè)計(jì)圖
分析
- 為了保障檔案數(shù)據(jù)的安全性和隱私性,存儲(chǔ)檔案附件和檔案屬性存儲(chǔ)加密存儲(chǔ)在私有IPFS集群,檔案的IPFS地址和數(shù)字指紋存儲(chǔ)在私有區(qū)塊鏈上。公有區(qū)塊鏈定期存儲(chǔ)和檢查私有區(qū)塊鏈最新不可逆區(qū)塊的高度和哈希值,以保障私有區(qū)塊鏈上數(shù)據(jù)的真實(shí)性。(私有鏈上的數(shù)據(jù)準(zhǔn)確無誤之后,才會(huì)將區(qū)塊的哈希信息定期存儲(chǔ)到公有鏈上,雖然引入了公有鏈保障了數(shù)據(jù)的安全性和可靠性,但是往公有鏈上記錄數(shù)據(jù)需要花費(fèi)手續(xù)費(fèi),因此可改用聯(lián)盟鏈,但是聯(lián)盟鏈的安全性相對(duì)于公有鏈很差,是一個(gè)半中心化的平臺(tái),需要進(jìn)一步優(yōu)化)
- MongoDB則用于存儲(chǔ)區(qū)塊鏈數(shù)據(jù)管理平臺(tái)中的用戶信息、檔案統(tǒng)計(jì)信息和檔案屬性的最新信息,用于檔案的模糊查詢。
智能合約架構(gòu)設(shè)計(jì)
分析
- 區(qū)塊鏈保護(hù)子系統(tǒng)中的智能合約架構(gòu)如上圖所示,私有鏈保護(hù)合約(PfivNeChain Protection Contract,PCPC)是運(yùn)行在公有鏈上的智能合約,用于存儲(chǔ)私有鏈區(qū)塊的高度和哈希值等信息,實(shí)現(xiàn)私有區(qū)塊鏈的保護(hù)。
- 檔案保護(hù)控制合約(Archive Protection Controller Contract,APCC)、自我保護(hù)合約(Self ProtectionContract,SPC)、工廠類合約(Factory ClassContract,FCC)是運(yùn)行在私有鏈上的全局合約,其中SPC合約用于記錄智能合約寫入數(shù)據(jù)的次數(shù),并定期與公有區(qū)塊鏈進(jìn)行錨定;FCC合約會(huì)在新增檔案時(shí),為每個(gè)檔案創(chuàng)建對(duì)應(yīng)的檔案信息存儲(chǔ)合約(AISC),AISC合約存儲(chǔ)了檔案的所有歷史版本的摘要信息,包括檔案對(duì)象哈希值和IPFS地址等;APCC合約存儲(chǔ)了檔案編號(hào)和AISC合約的對(duì)應(yīng)關(guān)系。
區(qū)塊鏈結(jié)構(gòu)圖
具體的流程圖(區(qū)塊鏈+IPFS)
如何防篡改
- 該系統(tǒng)是信任數(shù)字檔案管理子系統(tǒng)的權(quán)限控制和發(fā)出的RESTful調(diào)用請(qǐng)求操作的,并且通過存儲(chǔ)檔案多個(gè)歷史版本的方式,實(shí)現(xiàn)了檔案修改歷史的追溯和檔案信息的恢復(fù)。
- 數(shù)字據(jù)檔案管理系統(tǒng)具有自己的權(quán)限管理機(jī)制,只有具備相應(yīng)權(quán)限的管理員才能執(zhí)行新增或修改電子檔案的操作,并通過RESTful接口調(diào)用的方式更新區(qū)塊鏈和智能合約中的內(nèi)容。
- 即使檔案管理系統(tǒng)的管理員賬戶和密碼被黑客獲取,以該管理員的身份更新本地?cái)?shù)據(jù)庫和區(qū)塊鏈中檔案信息。IPFS中存儲(chǔ)了數(shù)字檔案每個(gè)更新后的版本的完整信息,區(qū)塊鏈中存儲(chǔ)了每個(gè)版本檔案的IPFS地址,通過RESTful接口依然可以查詢到該檔案的修改歷史,并且恢復(fù)到某個(gè)歷史狀態(tài)。RESTful接口的設(shè)計(jì)非常關(guān)注數(shù)據(jù)傳輸?shù)陌踩院涂煽啃?#xff0c;在使用https協(xié)議的基礎(chǔ)上,還對(duì)檔案信息進(jìn)行了AES加密傳輸,并通過時(shí)間戳、隨機(jī)數(shù)、數(shù)字簽名參數(shù)解決了重放攻擊和數(shù)據(jù)篡改的問題。
- 即使https被黑客攻擊,只要沒有獲得區(qū)塊鏈數(shù)據(jù)保護(hù)子系統(tǒng)的私有密鑰就不能解密得到檔案的原始信息,并且只要沒有獲得檔案館的私有密鑰就不能重新計(jì)算數(shù)字簽名,也就不能篡改加密后的檔案數(shù)據(jù)、時(shí)間戳和隨機(jī)數(shù)參數(shù),不能對(duì)RESTful接口發(fā)起重放攻擊。
- IPFS是基于內(nèi)容存儲(chǔ)的文件系統(tǒng),它以內(nèi)容的哈希值作為地址,取出內(nèi)容時(shí)還會(huì)驗(yàn)證哈希值是否與地址一致,因此使用IPFS存儲(chǔ)檔案數(shù)據(jù)具有很強(qiáng)的防篡改性。此外,智能合約在存儲(chǔ)了檔案IPFS地址的同時(shí),也存儲(chǔ)了檔案的哈希值,在從IPFS取出數(shù)據(jù)之后,還能夠再次驗(yàn)證檔案數(shù)據(jù)的真實(shí)性。智能合約的數(shù)據(jù)存儲(chǔ)在區(qū)塊上,而區(qū)塊一旦生成內(nèi)容就不能夠被篡改,只能通過“分叉”的方式來替換已有區(qū)塊的內(nèi)容,并且生成越早的區(qū)塊,被替換的難度就越大。以太坊公有鏈主要使用PoW共識(shí)機(jī)制,因此存在51%攻擊的可能性,它是指如果某個(gè)節(jié)點(diǎn)擁有了全網(wǎng)51%的計(jì)算能力之后,就能夠比其他節(jié)點(diǎn)更快的生成區(qū)塊,使現(xiàn)有區(qū)塊鏈的主鏈分叉,形成更長(zhǎng)的一條區(qū)塊鏈并最終被其他所有節(jié)點(diǎn)接受,成為新的主鏈。但由于整個(gè)以太坊區(qū)塊鏈的計(jì)算能力是非常巨大的,某個(gè)個(gè)體或組織很難擁有全網(wǎng)51%的計(jì)算能力,因此可以被認(rèn)為是安全的。本地的私有鏈環(huán)境則使用了PoA共識(shí)機(jī)制,它兼具了區(qū)塊鏈的不可篡改性和本地環(huán)境的可管理性,即區(qū)塊只能由授權(quán)節(jié)點(diǎn)產(chǎn)生而與節(jié)點(diǎn)的計(jì)算能力無關(guān),因此能夠免51%攻擊的問題。并且私有鏈區(qū)塊的高度和哈希值也會(huì)一定頻率存儲(chǔ)到公有鏈上進(jìn)行保護(hù),如果私有鏈出現(xiàn)了分叉的情況,必然會(huì)導(dǎo)致已生成區(qū)塊哈希值的變化,通過與公有鏈存儲(chǔ)的區(qū)塊高度和哈希值的對(duì)比也能夠及時(shí)發(fā)現(xiàn)。該方案基于區(qū)塊鏈和IPFS技術(shù)實(shí)現(xiàn)了一種鏈?zhǔn)奖Wo(hù)機(jī)制,即通過公有鏈智能合約存儲(chǔ)私有鏈區(qū)塊摘要信息的方式實(shí)現(xiàn)對(duì)私有鏈上數(shù)據(jù)的保護(hù)與驗(yàn)證,通過私有鏈智能合約存儲(chǔ)檔案對(duì)象IPFS地址和哈希值的方式實(shí)現(xiàn)對(duì)IPFS中檔案對(duì)象的保護(hù)與驗(yàn)證,通過IPFS中的檔案對(duì)象實(shí)現(xiàn)了對(duì)本地?cái)?shù)據(jù)庫中的檔案信息的保護(hù)與驗(yàn)證。每次檔案館通過RESTful接口獲取檔案時(shí),RESTful服務(wù)器都會(huì)在后臺(tái)對(duì)數(shù)據(jù)的真實(shí)性進(jìn)行驗(yàn)證,能夠及時(shí)地發(fā)現(xiàn)并定位私有區(qū)塊鏈、IPFS的數(shù)據(jù)篡改行為,檔案館自身也可以通過本地?cái)?shù)據(jù)庫與檔案對(duì)象的比對(duì),發(fā)現(xiàn)本地的數(shù)據(jù)篡改行為并進(jìn)行處理。
總結(jié)
以上是生活随笔為你收集整理的目前基于区块链的档案防篡改系统的设计如何实现防篡改的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王道考研 计算机网络5 分层结构 协议
- 下一篇: 又双????念什么啥意思(四个双一个口念