999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

智慧水務數據的私有鏈監管方法

2022-03-02 08:32:26卿曉霞
計算機工程與應用 2022年4期

簡 春,卿曉霞,王 波

1.重慶大學 計算機學院,重慶400044

2.重慶大學 土木工程學院,重慶400045

智慧水務是智慧城市的重要組成部分,也是城市水務事業發展、行業管理與服務提升的重要支撐和保障[1]。智慧水務系統是基于物聯網、移動互聯網、大數據、云計算和人工智能等新一代信息技術構建的綜合監管平臺,能實時感知、模擬計算、分析評估城市供排水系統以及水環境狀況,全面支持水務系統生產、管理和服務,達到智慧決策的目的。在智慧水務系統中,無論是系統內部業務運行還是對外服務,都需要對各類數據進行統計分析,甚至實施特征提取、關聯挖掘、深度學習等智能計算,以實現對系統狀態的認知、智能診斷及預測,實現水務系統的功能。可以說,真實的數據是支撐智慧水務系統正確決策的重要基礎保障。然而,由于各種原因,在實際系統運行中數據被篡改的情況時有發生。如何保證在系統運行過程中各環節數據不被或難以篡改,以及被篡改后能及時發現,是保障智慧水務系統數據安全必須研究解決的問題。本文引入區塊鏈技術,被監管方實時地將智慧水務數據采集并生成哈希樹,將哈希樹存儲至私有鏈中并由監管方實時簽名。以此私有鏈作為智慧水務數據的證明文件,則可校驗數據是否被篡改,進而達到數據監管的目的。

區塊鏈(Blockchain)是集共識機制、P2P網絡、加密算法等技術的分布式數據庫,具有去中心化、防篡改、隱私性與匿名性等特點[2-3]。目前,區塊鏈作為我國核心技術自主創新的重要突破口,已上升為國家戰略,可在建設網絡強國、發展數字經濟、助力社會經濟發展等方面發揮重要的支撐作用[4]。

2008 年,區塊鏈1.0 最先應用于比特幣(Bitcoin)。比特幣采用非圖靈完備語言,且可擴展性有限[5-6],無法應用于除虛擬貨幣之外的領域。區塊鏈2.0由數字貨幣領域拓展至更廣泛的金融領域,2013年,推出了以太坊(Ethereum)——用于開發和部署分布式應用的統一平臺[7],支持智能合約與圖靈完備語言。區塊鏈3.0不僅可用于數字貨幣及金融領域,而且能夠結合其他實體行業,實現不依賴第三方建立信任,從而減少信任成本,提高行業效率[8-9]。目前,區塊鏈3.0 已在醫療、教育、車聯網等領域開展了一些研究及應用[10-13],主要是應用區塊鏈防篡改的特點來解決行業中的數據不可信問題。如焦通等[14]提出了一種基于區塊鏈的數據庫,該數據庫分布地存儲數據,有可查詢、防篡改的特性,可以解決傳統數據庫易被篡改的問題,但由于所有數據均存儲在鏈上,效率過低且不易落地實現;Bui等[15]提出了一種視頻存檔防篡改賬本系統,該系統運用SHA256算法生成視頻片段的摘要,并將摘要存儲在以權威證明(proof of authority)作為共識算法的授權區塊鏈分布式系統中,可檢測出被篡改的視頻片段;文獻[16-18]分別從學分管理系統、數據可信存儲、可信車聯網等方面用區塊鏈技術實現了數據的防篡改。然而,上述研究均采用公有鏈或聯盟鏈(都需要維護一個多方參與的區塊鏈網絡),由于受制于共識算法性能的限制,公有鏈與聯盟鏈多節點共同維護一個賬本往往達不到實時性要求,且計算成本較高。

某城市依托國家首批16 個海綿城市試點項目,在智慧水務框架下,構建了一個海綿城市運行監管平臺,從水生態、水環境、水資源和水安全等各方面對近20 km2示范區的海綿城市運行狀況實施綜合監測及預測、預警,并為城市智慧水務系統建設提供數據支撐。示范區內共安裝了水文、水質、水位、土壤、熱島效應等各類傳感器共300 余個。該系統中的傳感器監測數據由被監管方(平臺運維方或平臺使用方)采集、存儲,并對系統進行維護及應用,同時上報監管方(政府相關部門等)監督審查。在其他領域中,應用聯盟鏈與公有鏈設計智能合約的方式,由于區塊鏈網絡有大量的通信成本和存儲成本,往往性能不能滿足大量時間序列數據的防篡改需求。針對該海綿城市運行監管平臺的時間序列數據采樣周期較短(現為5 min,周期可能會更短)、數據量較大(現為10萬/天,數據量由傳感器增加而增加)的特點,本文設計并實現一種基于內存難度的Cuckoo Cycle算法[19]的私有鏈監管方法。基于內存難度的Cuckoo Cycle 算法相較于基于計算難度的算法,篡改所需要的硬件成本更高。私有鏈較聯盟鏈和公有鏈雖然安全性較低,但性能更高,計算成本更低[20-22]。在滿足數據安全需求、篡改可驗證的情況下,采用私有鏈作為時間序列數據證明文件的方式計算成本更低,也更便于部署應用。

1 相關算法概要

1.1 Cuckoo Cycle共識算法

Cuckoo Cycle 是一種基于圖論的工作量證明(proof of work)算法。該算法能解決基于計算難度的工作量證明算法導致的大型礦場集中算力使區塊鏈網絡中心化的問題。Cuckoo Cycle 算法根據一個哈希值生成偶圖G(N,M),N為圖頂點數,M為圖邊數。算法要求在該圖G中找到一個長為L的環[23]。如圖1中,共有12 個節點、13 條邊,其中(V1V4V5V8V9V6V1)為長度為6的環。

圖1 偶圖問題示意圖Fig.1 Schematic diagram of bipartite graph problem

圖1中,圖頂點的數量小于2edgebits,圖邊的數量小于2nodebits。edgebits與nodebits決定了圖的規模,其值越大,占用更大的內存,反之則占用更少的內存。生成的圖邊數與頂點數之比必須小于M/N。M/N決定了問題的難度,其值越大,越容易找到環。在CPU 算力足夠大時,Cuckoo Cycle算法的計算性能受內存帶寬約束。

1.2 橢圓曲線算法

橢圓曲線(elliptic curve)是式(1)的解集。

橢圓曲線是連續的,無法應用于加密。橢圓曲線算法(elliptic curve cryptography)實際上是有限域內的離散對數(discrete logarithm)問題[24]。橢圓曲線數字簽名算法(elliptic curve digital signature algorithm)是基于橢圓曲線算法的數字簽名算法[25]。設有公鑰K、私鑰k,而K=kG′(x,y),G′(x,y)為曲線上一點。通過k、G′(x,y)求得K是有限域的模乘,可以直接求得。已知K、G′(x,y)求k是離散對數問題,當點G′(x,y)數值很大時,難以在有效的時間破解[25]。基于橢圓曲線的離散對數問題較其他經典離散對數問題更難求解[26]。在數字簽名應用的工業領域中,橢圓曲線仍是目前主要算法之一。

橢圓曲線在數字簽名中的私鑰加密算法由算法1描述。

算法1橢圓曲線私鑰簽名算法

橢圓曲線在數字簽名中的公鑰驗證算法由算法2描述。

算法2橢圓曲線公鑰驗證算法

2 智慧水務系統數據監管方法研究

監管方法基本思路:監管方提供時間簽名服務,被監管方對采集的每一段數據都需要向時間簽名服務器請求簽名,并實時生成數據對應的區塊,然后存儲至私有鏈中。監管方則通過區塊的合法性和區塊與數據的對應關系來高效檢測數據是否被篡改。

2.1 區塊結構設計

前述海綿城市運行監管平臺運行時間序列監測數據如表1 所示,監測數據不僅類別多樣,而且除了都具有時間點、傳感器編號特征外,數據特征的數量與格式也不統一。因此將各采集點數據內容序列化為二進制流,故一個設備在一個時間點采集的數據為設備編號、時間戳、二進制流組合的三維數據。

表1 時間序列數據類別Table1 Kinds of time series data

根據上述數據特征,本文設計一種適宜的區塊結構,如圖2 所示。區塊頭包括上一區塊頭Hash 值、時間戳簽名、時間戳、Nonce 值、時間序列數據起始時間戳、時間序列數據結束時間戳、哈希樹根。區塊體中存儲每個傳感器在該時間段內數據的索引值Key 和Hash 值。Key值對應一個傳感器,Hash值對應該傳感器在該時間段內采集的數據。兩個子節點Key與Hash值的字節數據再哈希得到其父結點的Hash 值,不斷迭代得到最終的哈希樹根[25]。

圖2 區塊結構Fig.2 Block structure

定義共有n個傳感器,則一個區塊的大小bs由式(2)描述為:

其中,257 是區塊頭固定大小,36n為區塊體大小,單位字節。私有鏈證明文件區塊長度為l,則該私有鏈證明文件大小為ls字節,由式(3)描述為:

定義證明文件采樣時間間隔為t,總共記錄的時間為T,單位均為分。則私有鏈證明區塊長度l為:

區塊頭中每一個字段的意義如表2所示。

表2 區塊頭字段意義表Table 2 Meaning of block head field

2.2 監管方法研究

監管方法分為時間簽名服務、生成私有鏈證明文件、數據驗證三部分。

2.2.1 時間簽名服務

時間簽名服務由監管方提供。如流程1、圖3所示。

圖3 時間簽名流程圖Fig.3 Process of time signatures

流程1時間簽名服務流程

監管方提供時間簽名服務以對時間序列數據實時性進行監管。時間戳簽名保證了監管方提供的時間戳與哈希樹根對應,不能被偽造。一個具有實時性的區塊,其時間戳與時間序列結束時間戳的間隔必須在一定的時間內。若間隔超過該設定值,可認為數據沒有被及時打包,存在被篡改的可能性。這使得被監管方實時篡改數據的時間非常有限。

2.2.2 私有鏈證明文件

被監管方負責實時對數據生成區塊并存儲到私有鏈中,如流程2、圖4所示。

圖4 私有鏈證明文件生成流程圖Fig.4 Generation process of supporting document based on private blockchain

流程2生成私有鏈證明文件流程

被監管方需要實時對數據請求簽名以保證數據的實時性,并執行Cuckoo Cycle算法保證一定的計算量。Cuckoo Cycle算法性能瓶頸取決于內存帶寬,相對于工作量證明算法既保證了生成證明文件的計算難度,也更加節約計算成本。

2.2.3 數據驗證

被監管方提供私有鏈證明文件與數據,監管方校驗文件與數據是否對應,如流程3、圖5所示。

圖5 數據驗證流程圖Fig.5 Process of data validation

流程3數據驗證流程

比對私有鏈證明文件,可檢查數據被篡改的時間段、設備編號、數據的時間有效性、數據工作量證明以及區塊是否成鏈。

2.3 智慧水務數據篡改可能性研究

研究篡改數據所需的時間成本、硬件成本以及能否被篡改,可分為監管方私鑰未泄露與私鑰泄露兩種情況。

2.3.1 監管方私鑰未泄露

(1)被監管方篡改實時數據

若被監管方篡改時間t1至時間t2之間的數據,數據打包最大時間限制為Δt,平均一個區塊打包時間為tˉ,則要成功篡改數據,其數據被篡改的時間點td需滿足式(5):

令Δt為一個滿足網絡延遲、數據處理有效延遲且人為難以篡改的時間量,既保證系統可正常運行,又可以防止人為難以在Δt時間內實時篡改數據。

(2)被監管方篡改歷史數據

監管方保密私鑰k,其簽名s不可偽造,故區塊的時間戳t不可偽造。篡改歷史數據時,無法向時間戳服務器申請到小于t2+Δt的合法時間戳t,那么篡改數據后,無法保證區塊的時間有效性。

2.3.2 監管方私鑰泄露

監管方私鑰泄露,被監管方可獲取到監管方生成的合法簽名,故區塊能保證時間有效性,但可從篡改開始起在式(6)的時間tp內保證數據篡改可被驗證。

要保證私有鏈證明文件與數據可被監管方審查,被監管方不僅要用算力v維護原有鏈,且需要大于v的算力生成偽造鏈,直至偽造鏈長度大于等于原有鏈。采用基于內存難度的Cuckoo Cycle 工作量證明算法,在增加vt-v算力的同時,也要增加倍內存帶寬以保證計算速度提升倍,相較于僅需增加算力的工作量證明篡改時需要更大的硬件成本。

3 實驗及結果分析

3.1 實驗目的與環境

為驗證本文提出的智慧水務數據監管方法的有效性、篡改時的硬件成本,通過網絡從實際運行的某試點城市的海綿城市運行監管平臺中實時地獲取智慧水務數據并設定實驗環境,如表3所示(Excel數據接口的實驗源代碼可以在https://github.com/a1094174619/Sponge_City_tamper_proof獲取)。

表3 測試環境Table 3 Test environment

時間序列數據格式如表4 所示,包括傳感器編號、時間戳以及各類數據字段。數據字段根據傳感器不同其字段數量與類型均不同。

表4 數據格式Table 4 Data formats

3.2 私有鏈證明文件生成實驗

私有鏈證明文件生成相關參數設定與意義如表5所示,easiness決定了一個區塊的計算時間,在easiness、edgebits、nodebits、L取表5值時可使區塊平均計算時間tˉ接近1 800 s。傳感器采樣間隔為300 s,tl取1 800 s,讓一個哈希值對應6 次采樣數據保證驗證精度。該海綿城市運行監管平臺共有357 個傳感器,由式(2)計算一個區塊大小為12.8 KB。

表5 實驗相關參數意義及值Table 5 Related parameters

每個區塊進行工作量證明后打包的時間如圖6 所示,平均時間為1 796.38 s。對兩天數據生成證明文件,96 個區塊的私有鏈大小1.20 MB。若easiness過小,被監管方打包一個區塊的平均時間tˉ遠小于tl,被監管方篡改數據時所需要的計算成本過小。若easiness過大,tˉ大于tl,則隨著時間累積,被監管方無法按時生成證明文件。調整easiness使得tˉ略小于tl,那么在區塊鏈可以及時生成的前提下,盡可能使得被監管方篡改數據的難度最大。

圖6 證明文件的各區塊打包時間Fig.6 Packing time of generating block

被監管方數據實時采集,若對一段數據進行實時篡改,其平均篡改時間為tl-Δt,篡改歷史數據的時間如式(6)。保證tl-0 的條件下,其余變量不變,tˉ越大,實時篡改的平均篡改時間tl-Δt越小,平均每個區塊計算量cb越大,則篡改歷史數據的時間tp越大。故盡可能使值越大,被監管方實時篡改數據的難度和篡改歷史數據的難度都會增加。

3.3 智慧水務數據監管方法驗證實驗

3.3.1 監管方法有效性實驗

監管方私鑰未泄露時,被監管方只能申請偽造時的簽名。即使被監管方完成了篡改的工作量證明,也能檢測出區塊被后期篡改。如圖7 所示,后期篡改的第0、1個區塊,簽名時間較數據生成的時間晚了約3 天,驗證程序可以檢測出數據的實時性無效。

圖7 檢測出簽名過期區塊時的日志Fig.7 Log of detecting expired signature

若直接篡改數據,數據所對應的區塊體中哈希值會改變,那么對應區塊頭中的哈希樹根會改變。驗證程序可檢測出具體被篡改數據的傳感器編號與時間段。如圖8,第48 個區塊時間段在2019-11-21 00:00:00—00:30:00,編號為1060747080、1060747200的數據被篡改。

圖8 檢查出數據被篡改的設備編號與時間段的日志Fig.8 Log of device number and its period of tampered data

綜上所述,在監管方私鑰未泄露時,被監管方申請篡改數據時的簽名,方法能夠檢測出區塊的實時性無效。若被監管方直接對數據進行篡改,方法能夠檢測出被篡改數據的傳感器編號與時間段。

3.3.2 證明文件偽造成本實驗

監管方私鑰泄露的情況下,被監管方可以偽造簽名,通過增加算力,從原有區塊鏈的某個節點開始計算篡改區塊,當篡改區塊鏈長度等于原有區塊鏈時,證明文件篡改成功。為對比方法采用Cuckoo Cycle 算法或POW 算法作為工作量證明算法時的證明文件偽造成本,進行以下實驗。

為模擬篡改時的情況,以CPU的1個核心為原有區塊鏈的算力,2、4、8個核心為篡改時算力,區塊生成難度調整為0.43,共計算96 個區塊,內存及其他硬件保持不變。如表6 所示,2 倍算力比基礎算力的計算時間縮減47.6%。由于采用基于內存難度的Cuckoo Cycle算法,4倍算力比2倍計算時間縮減23.8%,而在4倍達到內存頻率瓶頸,8 倍算力較4 倍算力計算速度沒有提升。基于內存難度Cuckoo Cycle 算法較基于計算難度的算法需要更多的硬件成本,才能提升篡改時的區塊計算速度。

表6 Cuckoo Cycle不同算力下的區塊生成時間Table 6 Execution time of generating block with different computing power and Cuckoo Cycle

如圖9所示為不同算力下的區塊生成累計耗時,在CPU算力增加未達到內存頻率限制時,區塊生成時間減少明顯。計算速度達到內存頻率限制時則區塊時間不減少。

圖9 Cuckoo Cycle不同算力下生成區塊累計時間圖Fig.9 Cumulative execution time of generating block with different computing power and Cuckoo Cycle

在上述同等的硬件條件下,僅替換Cuckoo Cycle算法為經典工作量證明算法。如表7、圖10,在基礎算力到2、4、8 倍算力,區塊的生成時間近似逐漸減半,故若采用基于計算難度的POW 算法,則僅需要增加CPU算力就能提升篡改速度。

表7 POW不同算力下的區塊生成時間Table 7 Execution time of generating block with different computing power and POW

圖10 POW不同算力下生成區塊累計時間圖Fig.10 Cumulative execution time of generating block with different computing power and POW

綜上所述,采用Cuckoo Cycle 算法為工作量證明算法比POW 算法用以生成證明文件,偽造證明文件時需要同比例提升CPU 算力和內存頻率,所需的硬件成本更高。

以下實驗模擬監管方篡改數據時的實際情況,量化在以Cuckoo Cycle 為工作量證明算法情況下的時間成本以及計算成本。

實驗如圖11 所示,原有區塊鏈以基礎算力進行計算,以原有區塊鏈開始計算為0秒計時,共計25 686 s生成96 個區塊。在10 000 s 原有區塊鏈已經生成37 個區塊時,被監管方若要篡改第0 塊所對應的數據,則需要從第0塊開始生成偽造區塊鏈。被監管方在A點以2倍基礎算力(包含CPU 算力與內存頻率)生成偽造區塊鏈,約9 400 s 后,偽造區塊鏈與原有區塊鏈達到同等區塊長度(B 點),此時偽造區塊鏈可替換原有區塊鏈,篡改數據成功。

圖11 證明文件偽造實驗圖Fig.11 Experiment of forging document

被監管方在圖11中的情況篡改成本需要滿足擁有監管方的私鑰、3倍的基礎計算力(包含原有區塊鏈的算力以及偽造區塊鏈的2倍算力)、9 400 s的時間成本,其中偽造成本滿足式(6)。

3.4 實驗結果分析

私有鏈作為時間序列數據的證明文件,在監管方私鑰未泄露的情況下,時間戳簽名無法偽造,因而保證私有鏈無法偽造進而保證數據真實;在監管方私鑰泄露的情況下,生成偽造區塊鏈需要原有區塊鏈2倍以上的計算量、內存帶寬和式(6)的計算時間才能完成篡改,可保證式(6)中tp內私有鏈的可靠性。該方法不僅占用存儲空間小,且采用基于內存難度的Cuckoo Cycle算法,在對數據篡改時需要保證計算能力與內存帶寬同時滿足條件。驗證程序可快速對時間序列數據的真實性、時間有效性進行判斷,且該方法可在不影響平臺原有業務功能情況下成功部署。

4 結束語

本文以某城市的海綿城市運行監管平臺為例,針對智慧水務系統數據可能被篡改的問題,研究設計并實現了一種基于內存難度的Cuckoo Cycle 算法的私有鏈數據監管方法,最后對該方法的有效性和篡改硬件成本進行了實驗。結果表明,該方法相較于使用聯盟鏈或公有鏈的編寫智能合約的方式更適合大數據監管的需求,且在篡改時需要同時提升CPU 算力和內存頻率,篡改的硬件成本更大。該方法不僅適用于智慧水務系統時間序列數據的監管,同樣也適用于其他領域時間序列數據的監管。

主站蜘蛛池模板: 日韩人妻少妇一区二区| 91网红精品在线观看| 国产微拍一区二区三区四区| 国产毛片高清一级国语 | 国产精品一区不卡| 一区二区自拍| 欧美中文字幕一区二区三区| 无码日韩人妻精品久久蜜桃| 欧美综合区自拍亚洲综合绿色 | 五月天福利视频| 亚洲国产成人久久精品软件| 四虎成人在线视频| 99精品视频九九精品| 视频二区亚洲精品| 国产特级毛片| 91精品视频播放| 福利在线不卡| 国产精品开放后亚洲| AV天堂资源福利在线观看| 欧美中出一区二区| 久久综合色天堂av| 日韩成人在线网站| 亚洲欧美成aⅴ人在线观看 | 欧美亚洲欧美| 国产成人福利在线| 国产老女人精品免费视频| 五月婷婷导航| 青青热久免费精品视频6| 亚洲一区二区精品无码久久久| jizz国产视频| 69免费在线视频| 成人福利在线视频| 精品福利视频网| 91久久青青草原精品国产| 国产美女无遮挡免费视频网站| 久久精品国产亚洲麻豆| 亚洲精品无码不卡在线播放| 美女视频黄频a免费高清不卡| 欧美精品H在线播放| 91精品人妻互换| a级毛片毛片免费观看久潮| 国产99精品久久| 亚洲午夜18| 自拍偷拍欧美日韩| 日本高清免费一本在线观看| 精品一区二区三区水蜜桃| 色综合网址| 国产成人综合久久| 日本不卡在线视频| 欧美午夜网站| 久久精品国产电影| 亚洲国产无码有码| 亚洲成A人V欧美综合| 亚洲精品第一页不卡| 亚洲精品日产精品乱码不卡| 国产视频资源在线观看| 色天堂无毒不卡| 91九色视频网| 东京热av无码电影一区二区| 国产高清不卡视频| 免费在线a视频| 亚洲国产成熟视频在线多多| 天堂成人av| 午夜国产精品视频| 亚洲黄色网站视频| 免费看黄片一区二区三区| 亚洲国产第一区二区香蕉| 色综合久久久久8天国| 久久毛片免费基地| 激情爆乳一区二区| 三级欧美在线| 精品亚洲麻豆1区2区3区| av免费在线观看美女叉开腿| 91精品国产丝袜| 欧美激情综合| 在线观看免费国产| 欧美第一页在线| 国产性生大片免费观看性欧美| 青草国产在线视频| 欧美日韩国产在线播放| 天天摸夜夜操| 欧美日韩国产系列在线观看|