吳振銓,梁宇輝,康嘉文,余 榮,何昭水
(1.廣東工業(yè)大學 自動化學院, 廣州 510006; 2.廣東電網(wǎng)有限責任公司 珠海供電局,廣東 珠海 519000) (*通信作者電子郵箱kangjw@mail2.gdut.edu.cn)
基于聯(lián)盟區(qū)塊鏈的智能電網(wǎng)數(shù)據(jù)安全存儲與共享系統(tǒng)
吳振銓1,梁宇輝2,康嘉文1*,余 榮1,何昭水1
(1.廣東工業(yè)大學 自動化學院, 廣州 510006; 2.廣東電網(wǎng)有限責任公司 珠海供電局,廣東 珠海 519000) (*通信作者電子郵箱kangjw@mail2.gdut.edu.cn)
智能電網(wǎng)為了實現(xiàn)電網(wǎng)可靠、安全、高效地運行,需要廣泛部署無線傳感網(wǎng)絡(luò)(WSN)監(jiān)控電網(wǎng)狀態(tài),并及時對電網(wǎng)異常情況進行處理。在現(xiàn)有的智能電網(wǎng)中,WSN的感知數(shù)據(jù)需要上傳到可信的中心節(jié)點進行存儲與共享,但是這種中心化的存儲方式容易引起中心節(jié)點遭受惡意攻擊而發(fā)生單點失效、數(shù)據(jù)被故意篡改等信息安全問題。針對這些信息安全問題,利用新興的聯(lián)盟區(qū)塊鏈技術(shù)在智能電網(wǎng)中選定若干數(shù)據(jù)采集基站,組成智能電網(wǎng)數(shù)據(jù)存儲聯(lián)盟鏈(DSCB)系統(tǒng)。DSCB中節(jié)點間數(shù)據(jù)共享通過智能合約的方式來完成,數(shù)據(jù)擁有者設(shè)定數(shù)據(jù)共享的約束條件,使用計算機語言代替法律條款來規(guī)范數(shù)據(jù)訪問者行為,從而實現(xiàn)以去中心化的方式集體維護一個安全可靠的數(shù)據(jù)存儲數(shù)據(jù)庫。安全分析表明所提數(shù)據(jù)存儲聯(lián)盟鏈系統(tǒng)能實現(xiàn)安全、有效的數(shù)據(jù)存儲與共享。
智能電網(wǎng);聯(lián)盟區(qū)塊鏈;數(shù)據(jù)存儲;安全與隱私保護
智能電網(wǎng)整合了信息與通信網(wǎng)絡(luò)技術(shù),利用先進的傳感網(wǎng)絡(luò)實時采集、監(jiān)控電網(wǎng)運行,并根據(jù)電網(wǎng)工作數(shù)據(jù)動態(tài)調(diào)整電網(wǎng)的運行狀態(tài)。智能電網(wǎng)需要實時、可靠地監(jiān)控電網(wǎng)數(shù)據(jù),及時發(fā)現(xiàn)和排除電網(wǎng)故障,從而避免大規(guī)模事故發(fā)生。為此,用于監(jiān)控的無線傳感網(wǎng)絡(luò)(Wireless Sensor Network, WSN)由于其具有開銷低、部署快、內(nèi)嵌智能處理等優(yōu)點被廣泛部署于電網(wǎng)中,從而保證電網(wǎng)安全可靠地運行[1-3],最終實現(xiàn)一個完全自動化的電力傳輸網(wǎng)絡(luò),能夠監(jiān)視和控制每個用戶和電網(wǎng)節(jié)點,保證從電廠到終端用戶整個輸配電過程中所有節(jié)點之間的信息雙向流動和電能的按需配送。
在傳統(tǒng)的智能電網(wǎng)中,無線傳感節(jié)點實時監(jiān)控電網(wǎng)設(shè)備運行,并通過鄰近數(shù)據(jù)采集基站將采集的電網(wǎng)數(shù)據(jù)定期上傳到一個可信中心節(jié)點進行存儲與共享[4]。這種中心化的數(shù)據(jù)存儲方式面臨集中式惡意攻擊、中心節(jié)點單點失效、數(shù)據(jù)中心的存儲數(shù)據(jù)被惡意篡改等信息安全問題。針對這些安全挑戰(zhàn),迫切需要設(shè)計安全可靠的去中心化的數(shù)據(jù)存儲系統(tǒng)來保證智能電網(wǎng)的正常運行。
最近,備受關(guān)注的區(qū)塊鏈技術(shù)被引入到分布式的數(shù)據(jù)安全存儲的研究中[4-6]。區(qū)塊鏈是按照時間順序?qū)?shù)據(jù)生成區(qū)塊,并以順序相連的方式組合成的一種鏈式數(shù)據(jù)結(jié)構(gòu),是利用密碼學方式保證數(shù)據(jù)不可篡改和不可偽造的分布式賬本。區(qū)塊鏈技術(shù)利用加密鏈式區(qū)塊結(jié)構(gòu)來驗證與存儲數(shù)據(jù),利用分布式節(jié)點共識算法來生成和更新數(shù)據(jù)。所謂共識算法是區(qū)塊鏈系統(tǒng)中實現(xiàn)不同節(jié)點之間建立信任、獲取權(quán)益的數(shù)學算法?,F(xiàn)有智能電網(wǎng)系統(tǒng)的感知數(shù)據(jù)存儲方式大多是中心式存儲。文獻[5]構(gòu)建了一個基于區(qū)塊鏈技術(shù)的醫(yī)療數(shù)據(jù)安全存儲模型,通過分布式存儲及傳播機制,創(chuàng)建了一種大規(guī)模、安全的端對端信息交互方式;文獻[6]結(jié)合傳統(tǒng)的區(qū)塊鏈技術(shù)和數(shù)字簽名保證電能安全交易與數(shù)據(jù)安全驗證、存儲。由于傳統(tǒng)區(qū)塊鏈技術(shù)的共識過程需要全網(wǎng)節(jié)點配合開展,導致網(wǎng)絡(luò)耗能巨大,所以上述方案并不適用于智能電網(wǎng)傳感數(shù)據(jù)的存儲。
在智能電網(wǎng)中無線傳感節(jié)點的能量有限,傳統(tǒng)的區(qū)塊鏈無法直接部署于無線傳感網(wǎng)絡(luò),否則其帶來的能耗開銷將使無線傳感網(wǎng)絡(luò)無法正常工作。為此,本文利用聯(lián)盟區(qū)塊鏈技術(shù)來設(shè)計針對智能電網(wǎng)的安全數(shù)據(jù)存儲系統(tǒng),命名為智能電網(wǎng)數(shù)據(jù)存儲聯(lián)盟鏈(Data Storage Consortium Blockchain, DSCB)。聯(lián)盟區(qū)塊鏈是特殊的區(qū)塊鏈,它建立在一定數(shù)目的預選認證節(jié)點上。區(qū)塊鏈的共識算法由這些預選節(jié)點執(zhí)行,而非全網(wǎng)所有節(jié)點,從而能大大減少網(wǎng)絡(luò)開銷。本文的預選節(jié)點可由無線傳感網(wǎng)絡(luò)中的數(shù)據(jù)采集基站充當[7]。本文的DSCB建立在部分數(shù)據(jù)采集基站,并由這些基站公開審計、安全存儲數(shù)據(jù),DSCB系統(tǒng)不依賴于全網(wǎng)唯一可信的節(jié)點來執(zhí)行數(shù)據(jù)存儲。傳感節(jié)點采集的數(shù)據(jù)經(jīng)過加密后,發(fā)送到附近的數(shù)據(jù)采集基站,然后由這些基站運行共識算法,把通過審計檢驗的數(shù)據(jù)記錄到一個公共的“賬本”(數(shù)據(jù)庫),從而實現(xiàn)智能電網(wǎng)去中心化的安全可靠的數(shù)據(jù)存儲[8]。
這個公共的賬本可通過智能合約的方式設(shè)置共享條件、時長和次數(shù)等參數(shù),自動執(zhí)行數(shù)據(jù)在感知節(jié)點間共享、授權(quán)DSCB系統(tǒng)的節(jié)點(傳感節(jié)點和數(shù)據(jù)采集基站)進行安全訪問。
在智能電網(wǎng)中,無線傳感網(wǎng)絡(luò)利用傳感節(jié)點對電網(wǎng)里的配電、輸電、發(fā)電等設(shè)備進行實時監(jiān)測,采集監(jiān)控數(shù)據(jù),了解其運行狀態(tài),進而及時發(fā)現(xiàn)故障現(xiàn)象,對故障區(qū)做好迅速定位,提升電網(wǎng)質(zhì)量。無線傳感網(wǎng)的傳感節(jié)點采集網(wǎng)絡(luò)數(shù)據(jù),并把數(shù)據(jù)整合發(fā)送到鄰近的數(shù)據(jù)采集基站,本文定義這些數(shù)據(jù)采集基站為數(shù)據(jù)聚合器(data aggregator)。數(shù)據(jù)聚合器實時分析感知數(shù)據(jù),響應電網(wǎng)運行。本文的數(shù)據(jù)聚合器通過有線網(wǎng)絡(luò)連接通信[9],從而保證數(shù)據(jù)聚合器可協(xié)同合作分析數(shù)據(jù)。具體而言,本地數(shù)據(jù)聚合器分析本地采集的數(shù)據(jù),通過有線網(wǎng)絡(luò)按需獲取其他數(shù)據(jù)采集基站的數(shù)據(jù),綜合分析電網(wǎng)運行情況,從而保證數(shù)據(jù)分析的實時性和正確性。
經(jīng)過初步數(shù)據(jù)分析后,電網(wǎng)對全網(wǎng)的感知的歷史數(shù)據(jù)通過數(shù)據(jù)存儲聯(lián)盟鏈進行安全存儲,便于后續(xù)進一步深入分析統(tǒng)計。數(shù)據(jù)存儲聯(lián)盟鏈是建立在部分數(shù)據(jù)聚合器上的聯(lián)盟區(qū)塊鏈。在數(shù)據(jù)存儲聯(lián)盟鏈中,有一個重要的數(shù)據(jù)審計階段——共識過程。傳統(tǒng)區(qū)塊鏈的共識過程在所有網(wǎng)絡(luò)節(jié)點中執(zhí)行,但是這樣的方式給傳感節(jié)點帶來很大的能量開銷。在本文的DSCB中,使用聯(lián)盟鏈技術(shù)在預選的數(shù)據(jù)聚合器(數(shù)據(jù)采集基站)上執(zhí)行共識過程。這些數(shù)據(jù)聚合器有權(quán)控制共識過程并爭取獲得數(shù)據(jù)寫入資格,從而獲得獎勵。本文根據(jù)經(jīng)驗設(shè)定,當全網(wǎng)節(jié)點數(shù)目lt;500時,預選的數(shù)據(jù)聚合器數(shù)目為全網(wǎng)節(jié)點數(shù)的20%;當全網(wǎng)節(jié)點數(shù)目≥500時,預選節(jié)點數(shù)目為101[10]。
如圖1所示,數(shù)據(jù)存儲聯(lián)盟鏈主要包括以下實體[11]:
1)感知數(shù)據(jù)。智能電網(wǎng)的感知數(shù)據(jù)最終將存儲在DSCB中,這些感知數(shù)據(jù)包含傳感節(jié)點的假名、數(shù)據(jù)類型、元數(shù)據(jù)標簽、元數(shù)據(jù)索引庫、上傳感知數(shù)據(jù)事件的時間戳等。這些信息通過數(shù)據(jù)加密和數(shù)字簽名技術(shù)保證可驗證和準確性。
2)數(shù)據(jù)區(qū)塊。在DSCB中,所有的感知數(shù)據(jù)都將被數(shù)據(jù)聚合器審計,并再存儲在數(shù)據(jù)聚合器中,進而在網(wǎng)絡(luò)節(jié)點中進行共享。由于傳感節(jié)點的計算能力和存儲空間有限,本文的傳感節(jié)點無需直接存儲感知數(shù)據(jù),而是存儲感知數(shù)據(jù)的索引列表,這個索引列表表明元數(shù)據(jù)的具體存儲位置。數(shù)據(jù)聚合器收集并管理本地的感知數(shù)據(jù)。這些感知數(shù)據(jù)被所有的預選數(shù)據(jù)聚合器審計通過(即完成共識過程)后,就會被壓縮整理成數(shù)據(jù)區(qū)塊。每個新產(chǎn)生的區(qū)塊含有鏈接到上一個數(shù)據(jù)區(qū)塊的加密哈希值,這個哈希值能用于追蹤和查驗數(shù)據(jù)區(qū)塊。
3)工作量證明(Proof-of-Work, PoW)。工作量證明簡單理解就是一份證明,用來確認你做過一定量的工作。類似于比特幣,新的數(shù)據(jù)塊在加入?yún)^(qū)塊鏈前,DSCB 某個時間段內(nèi)數(shù)據(jù)的“記賬權(quán)”需要在預選的數(shù)據(jù)聚合器之間進行競爭獲取。數(shù)據(jù)聚合器的工作量證明與比特幣的工作量證明類似。數(shù)據(jù)聚合器通過Merkle哈希過程計算數(shù)據(jù)區(qū)塊的Merkle Root,然后將求解的隨機數(shù)Nonce代入,計算Merkle Root的SHA256雙哈希值,若該值小于目標哈希值Bits,則審計通過。每個數(shù)據(jù)聚合器競爭尋找有效的工作量證明(即,隨機數(shù)Nonce),最快找到有效工作量證明的數(shù)據(jù)聚合器將獲得一定量的獎勵,負責審計交易記錄并把它們組建成數(shù)據(jù)存儲聯(lián)盟鏈上新的數(shù)據(jù)區(qū)塊。
圖1 數(shù)據(jù)存儲聯(lián)盟鏈系統(tǒng)框架
如圖2所示,數(shù)據(jù)存儲聯(lián)盟鏈中的數(shù)據(jù)聚合器包含區(qū)塊數(shù)據(jù)記錄池和本地控制器。區(qū)塊數(shù)據(jù)記錄池存儲聯(lián)盟鏈數(shù)據(jù)。本地控制器整合傳感節(jié)點上傳的感知數(shù)據(jù),并負責執(zhí)行智能合約控制數(shù)據(jù)的共享訪問。這里的智能合約是一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議。從本質(zhì)上講,合約協(xié)議的工作原理類似于其他計算機程序的if-then語句。智能合約只是以這種方式與真實世界的資產(chǎn)進行交互。當一個預先編好的條件被觸發(fā)時,智能合約執(zhí)行相應的合同條款[12]。在本文中,智能合約是一個運行在安全環(huán)境下(去中心化的計算機網(wǎng)絡(luò))的計算機程序,與共識機制、點對點網(wǎng)絡(luò)、Merkle樹以及數(shù)據(jù)庫技術(shù)構(gòu)成了區(qū)塊鏈這樣一種成本低、高度可靠的基礎(chǔ)設(shè)施。在滿足合約執(zhí)行的促發(fā)條件下,智能合約智能化自動執(zhí)行數(shù)據(jù)訪問和共享請求,依據(jù)定義好的約束條件執(zhí)行數(shù)據(jù)輸出、數(shù)據(jù)共享等操作。本文所使用符號見表1。
圖2 數(shù)據(jù)存儲聯(lián)盟鏈系統(tǒng)運行
表1 主要符號及其含義
數(shù)據(jù)存儲聯(lián)盟鏈的運行主要包括感知數(shù)據(jù)存儲和節(jié)點間數(shù)據(jù)共享兩方面。
timestamp)
其中:
3)本地數(shù)據(jù)聚合器收集上傳數(shù)據(jù):本地數(shù)據(jù)聚合器BSj對上傳Record進行驗證,如果數(shù)據(jù)安全有效,即可存儲到本地記錄池;如果不是安全有效的數(shù)據(jù),則直接忽略。
4)本地數(shù)據(jù)聚合器工作量證明:經(jīng)過一段時間(例如10 min)后,本地數(shù)據(jù)聚合器BSj把這段時間內(nèi)所有收集的有效數(shù)據(jù)整合成數(shù)據(jù)集合(表示為Data_set={Records‖timestamp}),并對數(shù)據(jù)進行數(shù)據(jù)簽名,保證數(shù)據(jù)集合的來源合法性和可驗證性。數(shù)據(jù)聚合器競相尋找有效的工作量證明以爭取記錄本次數(shù)據(jù)區(qū)塊、獲得獎勵的計劃。這里的工作量證明是指數(shù)據(jù)聚合器依據(jù)隨機數(shù)x和上一個區(qū)塊的哈希值、時間戳、merkel根值等數(shù)值(表示為P_data)來計算當前區(qū)塊的哈希值,也即是計算滿足Hash(x+P_data)lt;Difficulty的隨機數(shù)x。這里Difficulty是系統(tǒng)用于調(diào)整數(shù)據(jù)集合器計算正確x值的速度的值。最先計算出特定隨機數(shù)x的數(shù)據(jù)聚合器(假設(shè)是BSj)將廣播當前數(shù)據(jù)集合和計算出來的x值(即PoW) 給其他數(shù)據(jù)聚合器,以便審計和校驗。如果其他數(shù)據(jù)聚合器也認可這個最快計算出x值的工作量證明,該數(shù)據(jù)聚合器獲得將數(shù)據(jù)集合整合成新的數(shù)據(jù)區(qū)塊,并存儲在數(shù)據(jù)存儲聯(lián)盟鏈的權(quán)利,同時獲得相應的系統(tǒng)獎勵。后續(xù)的工作量證明將在這個新的區(qū)塊數(shù)據(jù)上進行后續(xù)的計算。此步驟通過PoW的方式確定某個時間段內(nèi)的數(shù)據(jù)記賬管理權(quán)限。
5)數(shù)據(jù)聚合器間的區(qū)塊共識過程:最快計算出有效工作量證明的數(shù)據(jù)聚合器將成為當前共識過程的主節(jié)點(不妨設(shè)為BSj,標記為Leader),其余數(shù)據(jù)聚合器將成為從節(jié)點,本文采用拜占庭容錯(Practical Byzantine Fault Tolerance, PBFT)共識機制進行區(qū)塊共識[16]。具體共識過程如下:
步驟1 如圖3所示,主節(jié)點收集各從節(jié)點的數(shù)據(jù)集合整合成一個新的數(shù)據(jù)區(qū)塊,附上主節(jié)點的數(shù)字簽名和新數(shù)據(jù)區(qū)塊的哈希值以備審查驗證。主節(jié)點向各個從節(jié)點廣播新生成的數(shù)據(jù)區(qū)塊以待查驗。上述過程具體表述如下:
BSj→All:Record=(Data_sets‖Data_hash‖CertBSj‖
SigBSj‖timestamp)
其中:
Data_hash=Hash(Data_sets‖timestamp)
SigBSj=SignSKBSj(Data_sets‖Data_hash)
步驟2 從節(jié)點接收到數(shù)據(jù)區(qū)塊后,通過主節(jié)點發(fā)送過來的區(qū)塊哈希值和數(shù)字簽名等信息驗證數(shù)據(jù)區(qū)塊的合法性和正確性,并把它們的審計結(jié)果(Result)附上各自的數(shù)字簽名廣播給其他從節(jié)點,以實現(xiàn)從節(jié)點間的相互監(jiān)督和共同查驗。
步驟3 從節(jié)點(例如BSl)接收并匯總其他從節(jié)點的審計結(jié)果后,與自身的審計結(jié)果進行對比,并向主節(jié)點發(fā)送一個回復(Reply),這個回復包含從節(jié)點自身的審計結(jié)果(my_result)、收到的所有審計結(jié)果(Rece_results)、審計對比的結(jié)論(Comparison),以及對應的數(shù)字簽名。上述過程具體表述如下:
BSl→BSj:Reply=EPKBSj(Data_3‖CertBSl‖SigBSl‖
timestamp)
其中:
Data_3=(my_result‖Rece_results‖Comparison)
SigBSl=SignSKBSl(Data_3)
步驟4 主節(jié)點匯總所有來源于從節(jié)點的審計回復。如果全部數(shù)據(jù)集合器都贊同當前數(shù)據(jù)區(qū)塊的合法性和正確性,主節(jié)點將把該數(shù)據(jù)區(qū)塊連同參與審計的從節(jié)點的證書集合({CertBS}),以及對應的數(shù)字簽名整合后發(fā)送給所有從節(jié)點。此后,該數(shù)據(jù)區(qū)塊將以時間先后的順序存儲在數(shù)據(jù)存儲聯(lián)盟鏈中,主節(jié)點也從中獲得系統(tǒng)的獎勵。上述過程具體表述如下:
BSj→All:Data_block=(Data_4‖SigBSj‖timestamp)
其中:
Data_4=(Data_sets‖Data_hash‖{CertBS}‖
timestamp)
SigBSj=SignSKBSj(Data_4)
圖3 數(shù)據(jù)存儲聯(lián)盟鏈的共識過程
步驟5 假若有部分數(shù)據(jù)聚合器不贊同當前的審計結(jié)果,主節(jié)點將分析和查驗這些數(shù)據(jù)聚合器的審計結(jié)果。必要時,主節(jié)點重新發(fā)送該數(shù)據(jù)區(qū)塊給這部分數(shù)據(jù)聚合器進行第二次審計,如果仍有數(shù)據(jù)集合器不贊同,將采取少數(shù)服從多數(shù)的原則,超過一定比例的數(shù)據(jù)集合器贊同該數(shù)據(jù)區(qū)塊,則將該數(shù)據(jù)區(qū)塊按步驟4所提方式加載到數(shù)據(jù)存儲聯(lián)盟鏈中。同時,主節(jié)點將進一步分析個別不贊同的數(shù)據(jù)聚合器的審計結(jié)果,判斷這些數(shù)據(jù)聚合器是否有惡意行為,及時對惡意數(shù)據(jù)聚合器進行處理。此步驟有利于及時發(fā)現(xiàn)并剔除非法惡意數(shù)據(jù)聚合器,從而保證系統(tǒng)的安全穩(wěn)定運行。
感知節(jié)點存儲在數(shù)據(jù)存儲聯(lián)盟鏈上的數(shù)據(jù)已被數(shù)據(jù)真正持有者——感知節(jié)點使用不同的假名私鑰進行加密,感知節(jié)點有權(quán)控制并有選擇性地公開部分數(shù)據(jù),促進智能電網(wǎng)的正常運行。本文的節(jié)點間數(shù)據(jù)共享通過執(zhí)行智能合約的腳本文件來完成[14]。數(shù)據(jù)擁有者設(shè)定數(shù)據(jù)共享的范圍、時限等約束條件,使用計算機語言代替法律條款來規(guī)范數(shù)據(jù)訪問者行為。這些約束條件通過計算機腳本語言在加入聯(lián)盟鏈的節(jié)點上自動執(zhí)行,保證數(shù)據(jù)共享的合法性和公平性。
智能合約的腳本主要包括鎖定腳本和解鎖腳本[7,14-15]。鎖定腳本規(guī)定共享數(shù)據(jù)輸出的阻礙條件,解鎖腳本定義了數(shù)據(jù)輸出的執(zhí)行條件。如圖2所示,一個使用智能合約實施數(shù)據(jù)共享的場景主要包括以下流程:當節(jié)點Nm向節(jié)點Ni請求共享感知數(shù)據(jù)時,節(jié)點Ni首先查驗節(jié)點Nm身份,與Nm達成共識后,節(jié)點Ni制定訪問約束條件(例如數(shù)據(jù)共享范圍、時效、次數(shù)等),然后智能合約根據(jù)節(jié)點Ni提供的私鑰將數(shù)據(jù)解密,并依據(jù)約束條件輸出對應結(jié)果,在輸出數(shù)據(jù)給節(jié)點Nm之前,使用Nm提供的公鑰對數(shù)據(jù)進行加密,Nm再通過自身私鑰進行解密。具體如下:
Ni→Nm:Req=EPKNk(Request‖CertNm‖timestamp)
PKNm‖timestamp‖CertNi)
2)智能合約執(zhí)行。數(shù)據(jù)集合器BSj驗證信息后,開始執(zhí)行智能合約,根據(jù)節(jié)點設(shè)定的訪問約束條件,鎖定腳本,并根據(jù)提供的對稱密鑰,解密所共享的數(shù)據(jù),使用訪問節(jié)點的公鑰PKNm對共享數(shù)據(jù)進行非對稱加密,輸出結(jié)果。
3)共享數(shù)據(jù)發(fā)送。假若數(shù)據(jù)訪問節(jié)點Nm和被訪問節(jié)點Ni在同一個數(shù)據(jù)聚合器的覆蓋范圍內(nèi),則數(shù)據(jù)聚合器直接把數(shù)據(jù)發(fā)送給數(shù)據(jù)訪問節(jié)點Nm;否則,由當前執(zhí)行智能合約的節(jié)點把加密結(jié)果發(fā)送到訪問節(jié)點Nm的鄰近數(shù)據(jù)聚合器。上述過程具體表述如下:
BSj→BSj+1:Shared_data=EPKBSj+1(Data_2‖
timestamp‖CertBSj)
其中:
Data_2=EPKNm(Data‖CertNi‖CertBSj‖timestamp)
4)訪問指定數(shù)據(jù)。數(shù)據(jù)訪問節(jié)點Nm收到數(shù)據(jù)后,通過自身私鑰解密數(shù)據(jù),并進行數(shù)據(jù)讀取訪問。
本文所提數(shù)據(jù)存儲聯(lián)盟鏈利用標準的對稱加密和非對稱加密技術(shù),對傳統(tǒng)的安全攻擊具有良好的抵御能力。例如,通過加密和驗證機制,攻擊者無法通過短時間的暴力破解打開加密信息;通過在信息中加入時間戳,攻擊者發(fā)動的重放攻擊也被較好地抵御了;在通信的過程中,通信節(jié)點使用數(shù)字簽名技術(shù)抵御攻擊者偽裝成合法實體或者偽造虛假信息的攻擊;任何實體在沒有簽名者的私鑰的情況下,無法偽造其他實體的數(shù)字簽名;合法實體能通過數(shù)字簽名技術(shù)驗證接收信息的發(fā)送者以及查驗信息是否被更改過。
與一般的信息安全保護不同,本文所提的數(shù)據(jù)存儲聯(lián)盟鏈具有以下特點:
1)無需全局可信的第三方實體。與傳統(tǒng)的數(shù)據(jù)中心化存儲不同,本文所提數(shù)據(jù)存儲聯(lián)盟鏈采用分布式數(shù)據(jù)存儲方法來保證數(shù)據(jù)的安全存儲,不依賴于全局可信的第三方實體,節(jié)點間采用端到端的通信方式,分布式存儲數(shù)據(jù),從而避免了傳統(tǒng)中心化數(shù)據(jù)存儲方法的中心節(jié)點容易遭受集中式惡意攻擊的風險。這種非中心化的存儲系統(tǒng)具有良好的可擴展性和可靠性。
2)節(jié)點身份隱私保護。本文所提數(shù)據(jù)存儲聯(lián)盟鏈系統(tǒng)中的節(jié)點采用假名保護的方式來進行通信,通信雙方無法獲知通信節(jié)點的真實身份;同時,數(shù)據(jù)存儲過程使用不同的非對稱密鑰對不同時間采集的數(shù)據(jù)進行加密,最大可能保證數(shù)據(jù)安全存儲;此外,本文數(shù)據(jù)存儲聯(lián)盟鏈采用智能合約的方式執(zhí)行數(shù)據(jù)共享,限制預選的數(shù)據(jù)聚合器隨意訪問數(shù)據(jù)的權(quán)限,并約束了數(shù)據(jù)聚合器的訪問條件,使得數(shù)據(jù)的真正擁有者——感知節(jié)點能掌握并控制數(shù)據(jù)的訪問權(quán)限和開發(fā)程度。
3)數(shù)據(jù)存儲安全驗證。利用工作量證明機制,所有的加密感知數(shù)據(jù)由預選的數(shù)據(jù)聚合器執(zhí)行公開審計和驗證工作,從而保證數(shù)據(jù)的合法性和真實有效性。
4)存儲數(shù)據(jù)防故意篡改。對于普通感知節(jié)點而言,即使某一個感知節(jié)點串通攻擊者來偽造數(shù)據(jù)存儲聯(lián)盟鏈部分數(shù)據(jù),通過工作量證明和共識機制,這些被攻擊的數(shù)據(jù)也會被其他數(shù)據(jù)聚合器在審計和查驗數(shù)據(jù)時發(fā)現(xiàn)問題。只有攻擊者控制超過全網(wǎng)節(jié)點50%以上的計算能力才能篡改數(shù)據(jù)。對于預選的數(shù)據(jù)聚合器節(jié)點而言,預選的數(shù)據(jù)聚合器節(jié)點間采用PBFT共識機制,不妨設(shè)全網(wǎng)存在f個惡意預選數(shù)據(jù)聚合器節(jié)點,只需預選數(shù)據(jù)聚合器數(shù)目n滿足ngt;3f+1,便可抵御f個預選的數(shù)據(jù)聚合器節(jié)點發(fā)起的惡意篡改數(shù)據(jù)攻擊,保證數(shù)據(jù)的合法性與真實性[16-17]。
對于預選數(shù)據(jù)聚合器發(fā)起的惡意篡改數(shù)據(jù)攻擊,舉例分析如下:設(shè)全網(wǎng)存在100個預選數(shù)據(jù)聚合器,且預選數(shù)據(jù)聚合器成為惡意數(shù)據(jù)聚合器的概率為1/2。根據(jù)上述分析內(nèi)容可知,需要同時存在33個惡意數(shù)據(jù)聚合器才能成功發(fā)起數(shù)據(jù)篡改攻擊。因此在此條件下,惡意數(shù)據(jù)聚合器篡改數(shù)據(jù)的成功率僅為1/233。
5)數(shù)據(jù)不可偽造。聯(lián)盟區(qū)塊鏈分布式的本質(zhì)特性聯(lián)合數(shù)字簽名技術(shù)保證攻擊者無法假扮成某個合法實體來干擾無線網(wǎng)絡(luò)數(shù)據(jù)存儲。存儲在聯(lián)盟鏈上的元數(shù)據(jù)是通過節(jié)點的密鑰加密后才上傳到數(shù)據(jù)聚合器,除非攻擊者竊取到感知節(jié)點全部的非對稱加密密鑰,否則無法獲取完整的感知數(shù)據(jù),進而去偽造這些數(shù)據(jù)。
在PBFT共識算法中(如圖3所示),系統(tǒng)主要的能耗是包括主從節(jié)點間的廣播數(shù)據(jù)區(qū)塊操作與節(jié)點收到數(shù)據(jù)后的校驗操作。不妨設(shè)聯(lián)盟鏈每10 min執(zhí)行一次共識算法,n個預選節(jié)點間需要進行n2+n-2次廣播操作以及n2+2n-2次驗證操作。其中每個數(shù)據(jù)區(qū)塊大小為1 MB,每個節(jié)點執(zhí)行廣播操作需要0.9 J能量,驗證操作需要0.03 J[17]。100個預選節(jié)點每小時執(zhí)行PBFT共識機制能耗是54 kJ。與電網(wǎng)能量相比,PBFT共識機制能耗數(shù)量級不大。即使全網(wǎng)節(jié)點數(shù)目增加,本系統(tǒng)預選數(shù)據(jù)聚合器節(jié)點數(shù)目取值不變,PBFT共識機制的能耗相對固定[18]。
隨著智能電網(wǎng)無線傳感網(wǎng)絡(luò)的快速發(fā)展,中心化的數(shù)據(jù)存儲方式難以應對日益增多的感知數(shù)據(jù),數(shù)據(jù)存放方式開始由集中式轉(zhuǎn)向分布式。區(qū)塊鏈技術(shù)響應了去中心化的分布式存儲,聯(lián)盟區(qū)塊鏈以較小的成本開銷實現(xiàn)了數(shù)據(jù)的分布式安全存儲,對智能電網(wǎng)的發(fā)展產(chǎn)生深遠影響。本文提出的基于聯(lián)盟區(qū)塊鏈的智能電網(wǎng)數(shù)據(jù)安全存儲系統(tǒng),使得感知數(shù)據(jù)以非中心化的方式安全存儲,解決數(shù)據(jù)集中式存儲的潛在安全風險,在數(shù)據(jù)存儲聯(lián)盟鏈中,感知節(jié)點通過智能合約設(shè)置共享條件、時長和次數(shù)等參數(shù),自動執(zhí)行數(shù)據(jù)在感知節(jié)點間共享,實現(xiàn)數(shù)據(jù)安全有效的共享訪問。安全性能分析表明本文方案安全有效。在未來工作中,為了進一步增強安全性能分析方面的科學性,將考慮采用形式化的方法對所提方案進行更為詳細的量化說明與邏輯驗證。
References)
[1] JARADAT M, JARRAH M, BOUSSELHAM A, et al. The Internet of energy: smart sensor networks and big data management for smart grid [J]. Procedia Computer Science, 2015, 56: 592-597.
[2] FADEL E, GUNGOR V C, NASSEF L, et al. A survey on wireless sensor networks for smart grid [J]. Computer Communications, 2015, 71 (C): 22-33.
[3] 張強, 孫雨耕, 楊挺, 等. 無線傳感器網(wǎng)絡(luò)在智能電網(wǎng)中的應用[J]. 中國電力, 2010, 43(6): 31-36. (ZHANG Q, SUN Y G, YANG T, et al. Applications of wireless sensor networks in smart grid [J]. Electric Power, 2010, 43(6): 31-36.)
[4] 袁勇, 王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望 [J]. 自動化學報, 2016, 42(4): 481-494. (YUAN Y, WANG F Y, Blockchain: the state of the art and future trends [J]. Acta Automatica Sinica, 2016, 42(4): 481-494.)
[5] 張亞嬌, 王樅. 區(qū)塊鏈技術(shù)在醫(yī)療數(shù)據(jù)安全存儲中的應用[EB/OL]. 北京: 中國科技論文在線[2016- 12- 27]. http://www.paper.edu.cn/releasepaper/content/201612-553. (ZHANG Y J, WANG C. Application of blockchain in medical data secure storage [EB/OL]. Chinese Science Paper Online [2016- 12- 27]. http://www.paper.edu.cn/releasepaper/content/201612-553.)
[6] AITZHAN N Z, SVETINOVIC D. Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams [J]. IEEE Transactions on Dependable and Secure Computing, 2016, PP (99).
[7] 沈鑫, 裴慶祺, 劉雪峰.區(qū)塊鏈技術(shù)綜述 [J]. 網(wǎng)絡(luò)與信息安全學報, 2016, 2(11): 11-20. (SHEN X, FEI Q Q, LIU X F. Survey of block chain [J]. Chinese Journal of Network and Information Security, 2016, 2(11): 11-20.)
[8] 張寧, 王毅, 康重慶,等.能源互聯(lián)網(wǎng)中的區(qū)塊鏈技術(shù): 研究框架與典型應用初探[J]. 中國電機工程學報, 2016, 36(15): 4011-4022. (ZHANG N, WANG Y, KANG C Q, et al. Blockchain technique in the energy Internet: preliminary research framework and typical applications[J]. Proceedings of the CSEE, 2016, 36(15): 4011-4022.)
[9] 董慧, 張成巖, 嚴斌峰. 區(qū)塊鏈技術(shù)應用研究與展望 [J]. 互聯(lián)網(wǎng)天地, 2016, 13(11): 14-19. (DONG H, ZHANG C Y, YAN B F. Research and prospect of block chain technology [J]. China Internet, 2016, 13(11): 14-19.)
[10] 董俐君, 張芊, 劉宣. 基于SGWM的230 MHz無線寬帶通信技術(shù)的用電信息采集系統(tǒng)的通信系統(tǒng)研究[C]// 2014電力行業(yè)信息化年會論文集. 北京: 中國電機工程學會電力信息化專業(yè)委員會, 2014. (DONG L J, ZHANG Q, LIU X. Energy information collection system research on SGWM-based 230 MHz wireless bandwidth communication technology[C]// Proceedings of the 2014 Annual Conference Proceedings on Power Industry Information Society. Beijing: China Electrical Engineering Society of Electric Power Information Committee, 2014.)
[11] Lekko樂扣老師.區(qū)塊鏈共識算法 (POW、POS、DPOS、PBFT) 介紹和心得[EB/OL]. [2017- 01- 10]. http://blog.csdn.net/lsttoy/article/details/61624287. (Lekko. Introduction on blockchain consensus algorithm (POW, POS, DPOS, PBFT) [EB/OL]. [2017- 01- 10]. http://blog.csdn.net/lsttoy/article/details/61624287.)
[12] 黃潔華. 眾籌區(qū)塊鏈上的智能合約設(shè)計 [J]. 信息安全研究, 2017, 3(3): 211-219. (HUANG J H. The design of smart contracts on crowd funding private blockchain [J]. Journal of Information Security Research, 2017, 3(3): 211-219.)
[13] BONEH D, BOYEN X. Efficient selective identity-based encryption without random oracles [J]. Journal of Cryptology, 2011, 24(4): 659-693.
[14] 胡凱, 白曉敏, 高靈超, 等. 智能合約的形式化驗證方法 [J]. 信息安全研究, 2016, 2(12): 1080-1089. (HU K, BAI X M, GAO L C, et al. Formal verification method of smart contract [J]. Journal of Information Security Research, 2016, 2(12): 1080-1089.)
[15] ZYSKIND G, NATHAN O, PENTLAND A. Decentralizing privacy: using blockchain to protect personal data[C]// SPW 2015: Proceedings of the 2015 IEEE Security and Privacy Workshops. Washington, DC: IEEE Computer Society, 2015: 180-184.
[16] CRAIN T, GRAMOLI V, LARREA M, et al. (Leader/randomization/signature) — free byzantine consensus for consortium blockchains[EB/OL]. [2017- 01- 10]. https://arxiv.org/pdf/1702.03068.pdf.
[17] KANG J, YU R, MAHARJAN S, et al. Toward secure energy harvesting cooperative networks[J]. IEEE Communications Magazine, 2015, 53(8): 114-121.
[18] LUU L, NARAYANAN V, ZHENG C, et al. A secure sharding protocol for open blockchains[C]// Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2016: 17-30.
Securedatastorageandsharingsystembasedonconsortiumblockchaininsmartgrid
WU Zhenquan1, LIANG Yuhui2, KANG Jiawen1*, YU Rong1, HE Zhaoshui1
(1.FacultyofAutomation,GuangdongUniversityofTechnology,GuangzhouGuangdong510006,China;2.ZhuhaiPowerSupplyBureau,GuangdongPowerGridCompanyLimited,ZhuhaiGuangdong519000,China)
In order to realize the reliable, safe and efficient power grids, Wireless Sensor Networks (WSNs) are widely deployed in smart grids to monitor power grids and deal with emergencies of power grids in time. In the existing smart grids, sensing data of the WSNs are needed to be uploaded to a trusted central node for storage and sharing. However, this central way suffers from many security problems including single point failure and data tampering. To address these security problems, an emerging technology named consortium blockchain was exploited to form a Data Storage Consortium Blockchain (DSCB), which consists of pre-selected data collection base stations in the smart grid. In DSCB, data sharing was accomplished by smart contracts. The constraints about data sharing were set by data owners, and computer language was used to replace the legal terms to regulate data visitors, thus achieving a decentralized, safe and reliable data storage database. Security analysis shows that DSCB can achieve safe and effective data storage and sharing.
smart grid; consortium blockchain; data storage; security and privacy protection
2017- 04- 17;
2017- 06- 28。
國家自然科學基金資助項目(61422201,61370159);廣東省中國科學院全面戰(zhàn)略合作專項(2013B091100014);廣州市科技計劃項目(201508010007)。
吳振銓(1985—),男,廣東饒平人,助理研究員,博士研究生,主要研究方向:車聯(lián)網(wǎng); 梁宇輝(1989—),男,廣東珠海人,助理工程師,主要研究方向:電力系統(tǒng); 康嘉文(1989—),男,廣東茂名人,博士研究生,主要研究方向:物聯(lián)網(wǎng)、信息安全; 余榮(1979—),男,廣東饒平人,教授,博士,主要研究方向:物聯(lián)網(wǎng)、移動云計算; 何昭水(1978—),男,湖南郴州人,教授,博士,主要研究方向:智能信息處理、機器學習。
1001- 9081(2017)10- 2742- 06
10.11772/j.issn.1001- 9081.2017.10.2742
TP309.2
A
This work is partially supported by the National Natural Science Foundation of China (61422202, 61370159), the Comprehensive Strategic Cooperation Project of Chinese Academy of Sciences and Guangdong Province (2013B091100014), the Guangzhou Technology Program (201508010007).
WUZhenquan, born in 1985, Ph. D. candidate, research assistant. His research interests include Internet of vehicles.
LIANGYuhui, born in 1989, junior engineer. His research interests include power system.
KANGJiawen, born in 1989, Ph. D. candidate. His research interests include Internet of things, information security.
YURong, born in 1979, Ph. D., professor. His research interests include Internet of things, mobile cloud computing.
HEZhaoshui, born in 1978, Ph. D., professor. His research interests include intelligent information processing, machine learning.