文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190112
中文引用格式: 張金龍,趙德政,韓慶敏. 一種基于區塊鏈技術的工業數據安全性保護方法[J].電子技術應用,2019,45(7):85-88.
英文引用格式: Zhang Jinlong,Zhao Dezheng,Han Qingmin. A method to protect industrial data based on blockchain technology[J]. Application of Electronic Technique,2019,45(7):85-88.
0 引言
工業作為國家經濟支柱,在互聯網的浪潮下不斷融合創新,隨著大數據、云計算等新興技術的興起,工業大數據及應用將不斷促進工業生產應用更加自動化、智能化。德國于2013年正式提出了工業4.0戰略,在全世界掀起了一股向智能制造轉型升級的浪潮;美國也提出先進制造業戰略及“大數據研發計劃”[1],欲占領工業制高點;中國在2015年先后提出《中國制造2025》規劃及《促進大數據發展行動綱要》,從頂端規劃安排大數據的發展。這些國家戰略的聚焦點就是把互聯網技術和制造技術能夠更緊密地結合起來,突出工業大數據的重要性。
然而目前我國工業大數據發展仍存在一些安全性的問題。由于工業大數據來源于各個工業現場,環境復雜規模龐大,在數據采集的過程中存在較大的困難,且難以保證數據安全,主要為工業現場設備種類多、數量大、接口復雜,各種協議不能互相兼容,國外設備不開放接口等原因造成不能利用一個統一的方式實現數據采集的目的,同時也加大了對數據安全性保護的難度,增大了安全性風險。其次在各個工廠采集的數據及針對同一設備在不同時間采集的數據較為孤立,難以相互關聯,導致在數據分析過程中不能形成針對該產品全生命周期的數據關聯,難以對產品后續研發提供支持。
更為嚴重的安全問題則是在數據存儲、傳輸以及使用過程中存在的數據泄露及被篡改的風險。傳統的數據主要存儲在中心化的服務器上,其中一些數據不免涉及相關核心技術,若發生數據泄露等事故,將對企業造成重大資產損失。
針對以上問題,本文提出了一種基于區塊鏈技術的去中心化工業大數據安全保護方法,該方案從數據采集源頭開始,利用密碼學、IPFS等技術將數據保護起來,保證數據來源真實可靠,避免因網絡攻擊導致數據泄露、因管理不周導致數據被篡改等風險,并將每一機器從上線到運轉、維修、報廢等過程數據關聯起來,存儲至區塊鏈中,具備極高的安全性。
1 系統總體架構
2015年,趙赫等基于其課題組采樣機器人提出一種傳感數據真實性保障方法[2],如圖1所示。
該方法利用區塊鏈技術的不可篡改性,保證了數據從采集源頭的真實性,安全性高,成本低廉,是利用區塊鏈技術保護數據真實性的一種有效方法。但該方法也有一定的局限性,如采樣機器人為其課題組特定機器人,相關接口唯一,不具備可推廣性;數據庫為傳統服務器架構,且存儲數據為明文存儲,仍然存在被攻擊及數據泄露風險;保障數據真實性的本質為將數據的哈希值與區塊鏈中存儲的哈希值進行比對,根據比對結果判斷數據是否為真實數據,但并不能防止存儲在數據庫中的數據被惡意篡改等。
本文基于以上問題,在其系統上改進了相關技術并提出了數據安全性更高、適用性更強的系統,如圖2所示。數據處理結構主要由傳感器、采集中間件、存儲中間件、處理中間件和安全管理中間件等構成[3],相應本系統總體架構主要由以下五部分構成,分別為工廠設備、數據處理模塊、IPFS、上層應用及區塊鏈。
(1)工廠設備。在本系統中,通過工廠中的設備進行數據采集工作,在采集到數據之后對數據進行封裝并發給數據處理模塊。本套系統支持大部分的設備接口,既能兼容新出廠的設備,也能對現有設備進行改造以適應該系統。
(2)數據采集模塊。首先接收設備采集的數據,將數據簽名后存儲至IPFS,IPFS會返回存儲的數據索引哈希,之后將該索引哈希用系統公鑰加密后存到區塊鏈上。
(3)存儲模塊IPFS。IPFS可對大量數據進行去中心化的分布式存儲,與區塊鏈具有非常高的契合性。在這個系統里接收來自數據處理模塊的數據,并存儲在IPFS的節點上。后續接受上層應用服務的數據調用。
(4)區塊鏈。主要功能為記錄儀器設備各個階段的數據索引哈希,并將其相互關聯,形成數據聯通。
(5)上層服務及應用。從IPFS調用需要的數據,進行處理及展示等功能,在調到數據之前,首先用本系統的私鑰對數據索引進行解密,解密后會得到數據索引哈希,根據數據索引哈希可在IPFS系統中得到數據明文及用設備私鑰進行的簽名,通過簽名可驗證數據來源及真偽性,并通過區塊鏈得到數據時間戳,確定數據采集時間。
2 技術原理分析
本節主要分析系統中各主要部分技術實現原理。
2.1 工廠設備采集數據模塊
對于工廠中的設備,為實現通過數據處理模塊對數據進行簽名等操作,為每臺設備分配一對公私鑰,其中私鑰由系統隨機產生,公鑰為私鑰通過橢圓曲線算法計算所得,之后經過Hash160及Base58編碼成為機器公鑰地址。由于數據處理模塊直接與各種機器設備相連,并具有安全保密設置,可保證在該過程中數據安全不被篡改。
2.2 數據處理模塊
數據處理模塊由OPC UA改造升級而來,通過升級增加處理數據的功能,改造后的功能為可對工廠中設備上傳的數據進行封裝并利用該設備私鑰對數據進行簽名,然后將數據明文和數據簽名一同存儲至IPFS,IPFS返回結果為該數據在IPFS系統中索引哈希,利用系統公鑰對將該索引哈希加密,之后,系統會發送一筆上鏈信息,包含該索引哈希,實現數據上鏈。
2.3 IPFS技術原理
IPFS(Interplanetary File System)是一個點對點的超媒體協議。
當文件被添加到IPFS節點后,節點會返回這個文件的索引哈希值,當下一步向IPFS網絡詢問哈希的時候,它通過一個分布式哈希表,可以快速地找到擁有數據的節點,從而檢索到該數據。
工業環境中對數據存儲的要求為:數據量大、來源廣、速度快、存儲完整、具備可擴展性[4]。IPFS的分布式存儲設計使得每一片數據都是一份數據的一部分,只有將所有分片組合到一起才是一份完整的數據,任何一個分片都不能得到數據的明文,即使其中一個節點的數據泄露,也不會對數據造成損失,且較中心化存儲下載速度更快。這些特性使得IPFS較為適合作為工業數據的存儲容器。
2.4 區塊鏈技術原理
區塊鏈技術是一種基于密碼學算法的去中心化的數據庫技術,這個概念最早出現在2008 年中本聰(NAKAMOTO S)的《Bitcoin:A Peer-to-Peer Electronic Cash System》論文中[5]。
區塊鏈技術不僅可以為金融交易建立信任,還可以用于記錄所有有價值的東西[6],如由于其不可篡改等特性就為數據安全提供一種新的思路[7]。
區塊鏈是一種鏈式結構,由各個區塊連接而成,如圖3所示,每個區塊包括區塊頭和區塊體,區塊頭中的Pre_hash參數為前一區塊哈希,該參數使得各個區塊首尾相連形成鏈狀結構。所有的鏈上信息都包含著區塊體中,其中每筆交易可附帶備注信息,本系統中將數據索引哈希存儲至區塊鏈即為通過將其放在備注信息中并發送一筆交易實現,如圖4所示。該筆交易被礦工打包放入區塊中即可實現數據上鏈,全網公開透明,不可篡改,可追溯查詢。
區塊鏈具備如下特性:
(1)去中心化。無需第三方進行維護管理,完全由網絡中節點基于激勵機制進行自治。
(2)公開透明。區塊鏈中數據面向所有人開放,任何人都可以進行查詢使用。
(3)不可篡改。由于每個節點都保存一分區塊鏈賬本,任何一個節點都不可以單方面修改其中數據,保證了其不可篡改性。
(4)安全可靠。任何寫入區塊鏈的請求都需進行一定運算并滿足一定要求,同時意味著,要想惡意篡改其中數據要掌握至少51%的算力,使其達到安全性保證。
基于以上特性,在數據安全保護領域,區塊鏈可解決很多數據安全及隱私保護的問題,為工業大數據發展中存在的安全問題提供了一種新的解決方案。
3 系統工作步驟
上一節主要介紹了每一部分的技術原理,本節主要介紹系統總體工作流程,圖5為工作流程示意圖。
3.1 部署上線環節
在系統及各個機器上前完成設備和系統的初始化,主要是為每一個機器及系統分配一對公私鑰地址,然后由系統地址向機器地址發送一筆微小交易,并備注該機器的設備信息,完成初始化過程。該筆交易將記錄設備的出廠時間、公鑰地址、系統地址、詳細參數等信息,并將其上鏈,形成全網唯一的索引標識符,為之后設備各個階段(如設備數據采集、設備維護、設備報廢等過程)提供前期準備,使得各個階段的數據上鏈并通過設備地址形成相互關聯,全網唯一、不可篡改,便于對歷史數據的查詢及驗偽。
3.2 數據采集存儲環節
(1)采集并存儲數據。工廠中的機器會實時采集運行中的數據,并上傳給數據處理模塊。數據處理模塊收到數據后會利用該機器的私鑰對數據進行簽名,之后將數據簽名和采集到的數據存儲至IPFS。IPFS作為分布式存儲天生具有抵抗DDOS攻擊的特性,通過采用碎片化冗余存儲的方式,避免數據泄露和丟失的風險。
存儲結果為IPFS系統中的數據索引哈希,通過該索引哈希可在IPFS系統中取得存儲數據,由于哈希具有唯一性及不可逆性,任何沒有索引哈希的情況下都不能獲取到數據明文,保證了數據安全性。
(2)將數據索引哈希存儲至區塊鏈。由于在IPFS系統中,只要擁有數據索引哈希就掌握了數據的控制權,且區塊鏈又是公開透明的,因此將數據索引哈希存至區塊鏈之前先用系統的公鑰對數據索引哈希進行加密,將數據控制權交給系統擁有者,將加密后的密文及數據摘要發送一筆交易對上鏈信息進行上鏈,交易的發送方為系統的公鑰地址,接收方為機器公鑰地址,這筆交易使得數據索引哈希即這筆數據記錄到區塊鏈上,不可篡改,可用于后續驗證數據真偽時使用。
3.3 上層應用調用數據環節
當調用數據時,首先從區塊鏈中獲取該數據的索引哈希及時間戳、機器設備資料等相關信息,由這些信息可確認該份數據的真實有效性。對該數據哈希索引密文解密后,利用解密得到的明文,在IPFS系統中檢索所需數據。IPFS會返回所對應的數據明文及數據簽名,根據簽名可驗證數據的真實性及數據的來源。
至此,該系統完成了從數據采集到數據存儲、調用的全流程實現,保證了在每個環節數據的安全性要求。
4 結論
本文提出了一種基于區塊鏈技術的針對工業大數據的安全保護解決方法,該方案實現了工業大數據從采集到傳輸、存儲、調用的全流程安全性保證。在采集源頭采用改造后的OPC UA實現了針對大部分工業設備的統一接口,可對大部分設備進行系統適配性改造,很大程度緩解了目前接口協議眾多難以實現設備統一采集的問題。
針對每個設備配備一對基于橢圓曲線算法的公私鑰地址,全網唯一,不可篡改,并在設備上線時利用區塊鏈發送一筆微小交易,使設備信息及設備地址記錄在區塊鏈上,形成全網數據索引,在后續設備數據采集、維護、故障、報廢等都可將其數據記錄到區塊鏈中,并可根據公鑰地址在區塊鏈中查詢所有的數據索引,針對該設備將其所有數據形成強關聯,有利于后期的數據分析及設備維護。
在數據采集后利用設備私鑰對數據進行簽名,確保數據來源的真實性。通過加密存儲,保證了數據的安全性,防止數據泄露造成企業資源損失。同時也可針對不同數據利用不同公鑰對數據索引進行加密,對不同私鑰設置權限,實現數據分級管理,實現用戶隱私等隱私數據私密性存儲。
本文利用區塊鏈、IPFS等技術及橢圓曲線、哈希算法等算法構建了一個工業大數據全流程的安全解決方案,實現了數據采集安全、存儲安全、傳輸安全、隱私保護及數據強關聯等眾多功能,具備非常強的安全性、實用性,且成本低廉,容易推廣,具備非常廣闊的研究價值和應用場景。
參考文獻
[1] 馬立川,裴慶祺,冷昊,等.大數據安全研究概述[J].無線電通信技術,2015,41(1):1-7.
[2] 趙赫,李曉風,占禮葵,等.基于區塊鏈技術的采樣機器人數據保護方法[J].華中科技大學學報(自然科學版),2015,43(s1):216-219.
[3] 姚雪梅,李少波,璩晶磊,等.制造大數據相關技術架構分析[J].電子技術應用,2016,42(11):10-13.
[4] 李少波,陳永前.大數據環境下制造業關鍵技術分析[J].電子技術應用,2017,43(2):18-21,25.
[5] NAKAMOTO S.Bitcoin:A peer-to-peer electronic cash system[EB/OL].[2019-02-22].https://bitcoin.org/bitcoin. pdf.
[6] 張昕偉,張華,郭肖旺,等.基于區塊鏈的電子投票選舉系統研究分析[J].電子技術應用,2017,43(11):132-135.
[7] 袁勇,王飛躍.區塊鏈技術發展現狀與展望[J].自動化學報,2016,42(4):481-494.
作者信息:
張金龍1,2,趙德政2,韓慶敏1
(1.華北計算機系統工程研究所,北京100083;2.中電智能科技有限公司,北京100083)