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

便于數據共享的電網數據湖隱私保護方法

2021-01-22 05:59:46謝裕清王永利
計算機工程與應用 2021年2期
關鍵詞:智能用戶設備

謝裕清,王 淵,江 櫻,楊 苗,王永利

1.國網浙江省電力有限公司 信息通信分公司,杭州310000

2.南瑞集團有限公司(國網電力科學研究院有限公司),南京211100

3.江蘇瑞中數據股份有限公司,南京211100

4.南京理工大學 計算機科學與工程學院,南京210094

《國家電網公司“十三五”科技戰略研究報告》中提出的利用大數據提升管理水平,實現規劃科學、投資精準、管控高效要求,從面向全業務統一數據中心的知識圖譜關鍵技術、應用和典型場景實踐三個角度進行深入研究,通過在全業務統一數據中心的數據倉庫與數據湖之間構建業務數據知識圖譜,為全業務統一數據中心大數據建立起語義連接,從而實現語義級互操作的統一數據服務。

2010 年,Pentaho 公司的CTO Dixon 率先提出數據湖的概念,其定義為“未經處理和包裝的原生狀態水庫,不同源頭的水體源源不斷地流入數據湖,為企業帶來各種分析、探索的可能性”[1]。數據湖平臺是一套混合架構,依托統一融合的數據平臺,全流程打通企業產品的研發制造、供應儲存、安裝交付多環節數據,增強數據交互,使能數字孿生,自動化、智能化提升企業運作效率。

目前,數據湖是大數據應用最常用的數據共享方式,然而數據共享帶來隱私回題仍然是數據湖設計中缺失的部分,特別是應用于電網企業的數據保密性的要求更高。現有的數據湖設計考慮了數據的特點,使數據共享平臺更具可擴展性和彈性,但由于整個原始數據集是在不完全信任的對等節點之間換的,利用數據進行分析的用戶可能會在未經數據提供者事先同意的情況下重新分發數據提供者共享的數據以獲取利潤;另一方面,數據提供者可能無法完全信任數據湖,數據湖可能在沒有經過資料提供者同意的情況下將數據重新分發給用戶。因此,如何安全高效地共享有價值的數據成為數據湖的設計重點。為了促進大數據應用中有價值數據的流通,必須完成現有數據湖缺失的數據隱私和系統穩健性,以便數據更為安全地在同企業部門間乃至同行業企業間實現共享。

1 相關研究

近年來,一些研究團體和學者對數據隱私保護技術已開展了很多相關的研究工作,取得了一定的研究成果。2010 年,Ciriani 等提出將數據碎片與加密結合起來,利用碎片化作為打破屬性之間敏感關聯的方法,以增強數據收集的隱私性[2]。2015年,Zyskind等人建議使用區塊鏈來分散數據存儲[3],不過本文提供了一個完整的實現,利用智慧合約實現數據的訪問控制,以打敗惡意攻擊者。2017 年,Dorri 等人建議使用區塊鏈來管理物聯網[4],通過提供輕量級區塊鏈共識系統,具有低處理能力的設備可以獨立運行區塊鏈。2017年,Barhamgi等人提出構建一種隱私知識庫[5],利用語義網的功能來確定數據消費者如何組合原始元數據來推斷對隱私敏感的信息以及與推斷信息的公開相關的隱私風險。2019年,黃穗等人提出一種基于CP-ABE 和區塊鏈的數據安全共享方法,實現數據的細粒度共享[6]。

隨著電網信息化持續建設與深化應用,各部門各項業務已與信息化初步融合,信息系統內業務數據的數量和種類逐步增多,數據共享需求迫切。目前,在我國電力行業同業中,鮮有將數據鏈、數據治理、數據服務形成落地平臺并為企業提供服務的典型案例。電網開展信息化建設多年,但數據存儲位置和量級情況不明確,結構化數據、非結構化數據、實時數據、流數據等多種數據未得到有效整合,各部門間獨立應用較多,平臺關聯性不夠,影響了數據共享及業務融合的開展。其次,當前數據傳輸協議不統一,如何對數據進行分庫、分表存儲,實現數據中心的融合與透明訪問尚未實現。第三,對數據的存儲價值、應用價值進行分析,從而建立數據質量的全過程考察機制需求迫切。數據湖的本質是一種數據管理的思路,利用低成本技術來捕捉、提煉和探索大規模、長期的原始數據存儲的方法與技術。數據湖可存儲任何種類的數據,高質量高效率地存儲數據,更快速、更廉價地處理數據,數據庫的數據共享機制如圖1所示。

圖1 數據湖數據共享機制

智能合約是在區塊鏈內運行的自治應用程序。本文通過智能合約構建了一個數據湖訪問管理模型,其中數據提供者與數據使用者之間的交互的規則在區塊鏈網絡中自主實施而沒有集中信任[7]。通過智能合約,可以為用戶提供控制數據訪問和使用方式的能力,因為智能合約為他們提供了相同的數據管理權限。通過使用隔離的虛擬機來運行這些智能合約,用戶無法修改應用程序結果。智能合約和區塊鏈可以實現數據的訪問控制,以跟蹤相關方之間的數據使用情況,從而實現正確的數據訪問責任。

對此,本文提出一種基于區塊鏈的數據訪問與控制模型并在此基礎上對區塊鏈中的智能合約模塊進行了優化,即在區塊鏈中存儲數據的哈希值并使用可信執行環境將加密后的原始數據存儲在數據湖中,不僅解決了企業內部訪問權限難控制、企業之間數據難共享的問題,也確保了敏感數據的安全性和隱私性。

2 數據訪問與共享模型

數據已成為企業的重要資產,如何在企業內部對數據的訪問權限進行有效控制、在企業與用戶之間安全共享數據一直是一個挑戰。本文提出一種應用區塊鏈的數據訪問與共享模型,利用屬性基加密對數據進行訪問控制與共享,達到細粒度訪問控制和安全共享的目的。該模型特點如下:

(1)利用區塊鏈平臺提供去中心化的數據訪問管理。

(2)利用智能合約在用戶和數據提供商之間提供相同的數據訪問管理權限。

(3)使用Ethereum智能合約在真實的區塊鏈平臺上提供完整的系統實施。

本模型自下而上可分為存儲層、區塊鏈服務層、接口層、智能合約層、應用層等,其架構如圖2所示。

(1)存儲層:數據湖中搭建可信執行環境(Trusted Execution Environment,TEE)用來存儲原始數據,同時使用Intel SGX 架構實現可信計算,原數據經過加密后存儲在數據湖中,由企業維護。區塊鏈中只存儲散列處理后數據的Hash地址。

(2)區塊鏈服務層:用來實現數據一致性服務和數據同步服務,記錄企業與用戶間的數據交互與共享。

圖2 基于區塊鏈的數據訪問與共享模型架構

(3)接口層:主要包括數據接口與智能合約接口。

(4)智能合約層:提供智能合約服務。主要功能是提供數據的訪問控制,即對請求數據的用戶進行身份驗證,確認其是否有權限進行訪問。

(5)應用層:包括各種應用程序,如數據管理系統、數據采集系統等。

本模型主要分為企業內的數據共享和企業與用戶間的數據交互兩部分,是平行區塊鏈結構。企業內的數據共享主要負責各部門數據的存儲與保護,為了加強企業內數據的安全性及可靠性而將數據進行集中化管理,限定訪問權限,將加密后的數據存儲在安全存儲區中,鏈上只存放數據進行散列處理后的地址。存儲結構主要分為區塊頭和區塊體,將數據的輸入時間戳、區塊長度及前一個區塊的哈希值作為區塊頭,根據訪問控制樹將數據Hash 地址、訪問控制策略和數據Merkle 根加密后打包成塊,存儲至區塊體中,其后上傳至區塊鏈上。其數據存儲結構如圖3所示。

圖3 區塊體存儲結構

企業與用戶間的數據交互將采集到的用戶數據進行集中處理方便共享,同時對企業數據使用情況進行監管。訪問控制樹一般采用屬性基加密策略樹,只有特定企業中的特定部門才能進行解密。數據請求者在提出數據請求時,需將所請求數據與含有自己屬性的令牌一同發布至相應的區塊鏈上。

在進行數據存儲時,對于大量底層數據和基本的業務數據而言,若使用非對稱加密會導致密鑰管理混亂,故選用基于屬性加密(ABE)對底層數據進行加密[8]。而對于敏感數據,由于區塊鏈處理速度較慢,不適宜將所有數據直接存儲在鏈上,因此使用脫鏈存儲。通過建立分布式散列表,區塊鏈存儲數據的散列地址。數據在存儲時進行加密,并通過智能合約進行數據訪問控制。

表1 從數據安全和數據存儲等方面將本模型與傳統區塊鏈進行對比分析。

3 智能合約算法

3.1 算法概述

以企業與用戶間進行數據交互為例,由于數據采集設備生成的數據管理權限的集中化,部門數據在企業各部門間之間的共享方式缺乏透明度。區塊鏈2.0的最大特性就是引入了智能合約,可以基于其架構開發各種用途的區塊鏈應用。智能合約是一種計算機協議,能夠以信息化方式傳播、驗證或執行合同,這些交易在沒有可信第三方情況下執行、可追蹤且不可逆轉[9]。本文在區塊鏈訪問控制與共享模型的基礎上提出了智能合約算法,通過該智能合約算法,多方可以指定規則來管理其交互,這些規則在區塊鏈中獨立實施,而無需集中式系統。

智能合約是在區塊鏈內運行的自治應用程序,其中管理相關方之間的交互的規則在區塊鏈網絡中自主實施,而沒有集中信任[10]。本文提出的方法首先存儲區塊鏈中生成的加密數據的哈希值,然后將數據本身存儲在數據湖中,從而使區塊鏈可通過智能合約控制數據訪問。

系統主要功能是在數據提供者和用戶之間建立信任。通過利用智能合約,本文提供了一個數據訪問管理模型,用戶在控制數據共享或使用方式方面享有同等的權限,從而可以指定由區塊鏈網絡上不受信任的第三方實體自主強制執行的數據訪問規則[11]。此外,假設所有數據在傳輸之前都已加密,并且所有密鑰交換都是使用非對稱加密協議執行的。在本實驗中,不考慮重放攻擊和拒絕服務攻擊。

表1 本模型與傳統區塊鏈對比分析

如圖4所示,基于智能合約的數據湖訪問管理主要由前端數據采集裝置、區塊鏈及數據湖三部分組成,其中企業內各部門先通過特定的設備或裝置自動采集或手工錄入數據,之后通過遠程服務認證和區塊鏈中的智能合約組件進行數據的訪問控制,再通過傳輸網絡入湖,入湖后的數據可通過加密或解密在信任模塊與不信任模塊之間轉換[12]。

圖4 基于智能合約的數據湖訪問管理模型

3.2 智能合約模塊

智能合約以區塊鏈中執行的以太坊智能合約的形式向用戶數據提供去中心化的訪問控制策略[13]。由于在智能合約中存儲數據所需的有限數據存儲和費用,智能合約僅將數據的Hash 值存儲在區塊鏈中,主數據被加密并存儲在數據湖中。智能合約算法包括用戶注冊模塊、設備注冊模塊、數據寫入訪問策略模塊和設備數據讀取訪問策略模塊。詳細算法如下:

算法1 數據湖訪問管理智能合約算法

Input:ownerAddress //數據提供者的唯一標識

UserAddress //用戶的唯一標識

Output:Case one:hash(Data)//數據的哈希地址Case two:false //不具備訪問權限

1.HashMap deviceRegistry(ownerAddress)

2.return List[DeviceIds];

3.HashMap deviceData(ownerAddress,deviceId)

4.return List[DataHash] //返回數據Hash地址

3.HashMap DataAccessRegistry(ownerAddresss,UserAddress,deviceId)

6.return bool isAllowed;//審核用戶是否有權限訪問

4.function REGISTERDEVICE(ownerAddress,deviceID)

5.InsertToHashMap(deviceRegistry)

6.end function

7.function WRITEDATA(ownerAddress,deviceID,Data)

8.if owner==ownerAddress

9.deviceData[owner,deviceID].List.InsertData(hash(Data))

10.end function

11.function READDATA(ownerAddress,UserAddress,deviceID)

12.if DataAccessRegistry(UserAddress)==true

13.return deviceData[hash(ownerAddress,deviceID])

14.end function

15.function GRANTACCESS(ownerAddress,UserAddress,deviceID)

16.if owner==ownerAddress

17.DataAccessRegistry[hash(ownerAddress,User-Address,deviceID)]=true

18.end function

19.function REVOKEACCESS(ownerAddress,UserAddress,deviceID)

20.if owner==ownerAddress

21.DataAccessRegistry[hash(ownerAddress,User-Address,deviceID)]=false

22.end function

3.3 算法說明

(1)用戶注冊。該模塊利用Ethereum network上的用戶注冊系統。每個用戶通過生成唯一標識用戶的公共私鑰對來加入Ethereum network,之后可使用私鑰與智能合約交互以執行諸如設備注冊和數據訪問的功能[14]。

(2)設備注冊。每個經過身份驗證的數據提供者都可以通過提供數據采集設備的標識符來進行注冊。在智能合約中,本文提供一個Hash映射,將數據提供者擁有的設備映射到區塊鏈上的所有者地址,如mapping(address=list of owners deviceids)。

(3)數據寫入訪問策略。對于將數據寫入區塊鏈的設備,設備將提供owner address 和設備ID 以及要寫入的數據。通過使用所有者地址和設備ID 的組合作為Hash映射中的鍵,可以唯一地存儲與所有設備相對應的所有數據,如((owner address,device id)=list of device data)。Hash 映射的值是由設備寫入的數據的Hash 列表。在智能合約允許將數據寫入合同之前,智能合約將檢查owner address 是否與設備ID 相對應,以確保只有設備所有者才能執行寫入操作。

(4)設備數據讀取訪問策略。在進行數據訪問時,一個需要訪問設備數據的用戶需要向其發出一個讀取數據的請求許可,請求用戶將提供其設備所有者的地址和設備ID,包含設備所有者和地址以及設備ID的Hash映射作為用戶的密鑰,如((owneraddress,device id,user address)=bool access)。最后,在對數據授予訪問權限之前,將檢查此哈希映射以查看請求用戶是否可以通過確保只有已注冊的用戶來訪問數據。

4 實驗分析

4.1 實驗環境配置

在數據湖中搭建可信執行環境(TEE)用來存儲原始數據,同時使用Intel SGX架構實現可信計算,英特爾SGX是新型英特爾Skylake處理器中引入的可信計算架構。通過提供擴展X86 和X86_64 體系結構的新指令集,用戶級應用程序可以提供機密性和完整性,而無需底層操作系統的信任。同時,本次實驗使用五臺不同的智能傳感設備采集數據模擬企業內數據采集裝置進行區塊鏈數據的寫入操作來評估此算法。實驗環境配置如表2。

表2 實驗環境

4.2 數據流分析

圖5 顯示了該實驗的詳細數據流程圖。對于要寫入或讀取數據的設備,首先,設備需使用區塊鏈進行自身注冊,同時執行遠程認證服務使用戶信任SGX 平臺。在執行數據寫入操作時,數據提供者首先應檢索智能合約地址,然后加密并對數據進行Hash處理,散列后的加密數據通過智能合約中的WriteData()函數寫入區塊鏈并將原始加密數據寫入數據湖中的SGX平臺。之后,完整性檢查模塊計算數據的基于散列的消息認證代碼(HMAC)并將HMAC與數據一起寫入安全存儲區。

圖5 數據流程圖

對于讀取操作,用戶必須使用AllowAccess()方法向智能合約注冊;若要撤消訪問權限,用戶可以選擇執行revokeAccess()函數。用戶可提供其地址與智能合約通信,智能合約檢查用戶是否擁有訪問數據的權限,如果授予權限,則返回數據的哈希值,并可用于從SGX存儲平臺訪問數據。之后,SGX應用程序使用READDATA API重新檢查智能合約,以確定用戶是否可以訪問數據哈希標識符。如果允許訪問,則SGX 應用程序從安全存儲中檢索數據。需要注意的是區塊鏈讀取操作的開銷是無關緊要的,之后將在表3的評估部分中顯示。然后需解密數據并進行完整性檢查確保數據的真實性和完整性,最后需重新計算數據的HMAC 并將其與存儲的HMAC 進行比較。如果HMAC 未發生變化,則讀取數據并將其返回給用戶。

表3 數據集屬性分類

此外,對本次實驗中前端智能傳感器所采集的數據集各屬性,可大致進行如表3所示分類。

4.3 實驗結果分析

本實驗使用Ethereum區塊鏈實現該智能合約組件,主要包括可靠性編程語言。代碼需在最大程度上簡潔化以限制運行智能合約交易所需的Ethereum gas,gas即“燃氣”,是以太坊網絡世界的燃料[15],它決定了以太坊網絡生態系統的正常運行,在鏈上每執行一個寫入操作時,都需要支付一定的費用,用gas 為單位來計數,每個在鏈上可以執行的命令都設置了一個消耗的gas 值[16]。同時,為了限制存儲數據所需的存儲空間,在區塊鏈中只存儲數據的哈希值。實驗在Rinkeby Ethereum 測試網絡上運行智能合約進行評估。該實驗實現了registerDevice、allowAccess、writeData、readData和revokeAccess 等接口使數據采集裝置能夠與智能合約進行交互。同時,本實驗利用Gas的使用量和區塊的吞吐量作為評估指標對是否使用Hash進行對比分析。

表4 顯示了礦工完成每種智能合約操作的評估結果。設備1的數據有效載荷大小為27 B,設備2為47 B,設備3 為132 B,設備4 和5 分別為127 B 且散列長度是256 bit。如表4 所示,registerDevice 使用47 543 gas 完成其操作,allowAccess 需要29 517 gas,writeData 需要51 049 gas,revokeAccess 需要14 792 gas,readData 沒有使用任何氣體,因為智能合約的讀取是在本地區塊鏈上完成的,不需要任何挖掘。

表4 基于Gas用量的智能合約應用效率

在圖6中,比較了礦工在區塊鏈中完成寫入操作所需的gas 使用量。分為兩種情況,一種是向區塊鏈中寫入加密過全部數據,一種僅僅寫入數據的Hash值。圖6顯示設備2寫入散列后的數據使用59 846 gas和92 926 gas進行原始寫入,減少了35%。設備3 寫入散列后的數據使用53 454 gas,而原始數據寫入所需的氣體數為159 234 gas,減少了67%。設備4 和5 寫入散列后的數據使用58 974 gas,而需要140 255 gas 氣體來寫入原始數據,減少了57%。

圖6 智能合約寫操作的gas使用量

圖7 展示了增加寫入工作負載對區塊鏈的影響。通過將500個寫入請求的寫入工作量增加到2 000個寫入請求,可以測量區塊鏈上每秒的事務吞吐量。如果沒有經過散列,對于500 寫入工作負載,寫入事務吞吐量為每秒10.56 次寫入。對于1 500,它是9.26,對于2 000次寫入,寫吞吐量是每秒8.6 次寫入。使用散列,對于500寫入工作負載,寫入事務吞吐量為每秒8.8次寫入。對于1 500,它是7.9,對于2 000 次寫入,寫入吞吐量是每秒7.2次寫入。寫吞吐量隨著寫入工作量的增加而降低,也會隨著使用散列而降低。從圖6 中可以看出,使用Hash的gas使用量恒定的是因為散列函數會產生256位數據用于存儲在區塊鏈上;圖7表明將數據寫入區塊鏈之前的散列處理可降低寫入吞吐量。

圖7 基于寫入工作量增加的吞吐量

實驗結果表明,在Ethereum測試網絡上運行智能合約進行評估,并在鏈上只存儲數據的哈希值,可以在實現訪問控制的基礎上降低寫操作的gas的使用量和系統的吞吐量。

5 結論

隨著信息化建設程度不斷邁進,完善的數據共享與訪問控制機制、數據傳輸透明度和數據隱私越來越重要。本文利用區塊鏈技術的最新進展,提出一種基于區塊鏈的數據訪問與控制模型并在此基礎上對區塊鏈中的智能合約模塊進行了優化,通過利用區塊鏈以去中心化的方式管理用戶對數據訪問,并確保所有數據處理和存儲在安全區域內完成,將原始加密數據存儲在數據湖中,提高了數據的安全性和完整性。本文提出的方法有助于實現企業數據的跨業務貫通,為電網全業務統一數據中心建設關切的重大技術難題提供了新的技術解決思路。

猜你喜歡
智能用戶設備
諧響應分析在設備減振中的應用
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 91久久精品国产| 99久久成人国产精品免费| 中文字幕人妻av一区二区| 久久精品视频一| 日本人又色又爽的视频| 国产在线观看91精品| 韩国福利一区| 无码网站免费观看| 亚洲成人一区在线| 国产视频a| 九九热精品视频在线| 欧美国产日韩一区二区三区精品影视| 国产香蕉在线视频| 日本免费新一区视频| 国产波多野结衣中文在线播放| 2021国产在线视频| AV不卡国产在线观看| 欧美精品1区| 亚洲综合18p| aa级毛片毛片免费观看久| 99在线免费播放| 国产黄网永久免费| 亚洲六月丁香六月婷婷蜜芽| 国产欧美在线观看视频| 日本高清免费一本在线观看| 久一在线视频| 色老头综合网| 国产丝袜第一页| 日韩无码视频播放| 91久久偷偷做嫩草影院免费看| 亚洲国产天堂久久九九九| 国产精品大尺度尺度视频| 2018日日摸夜夜添狠狠躁| 97在线观看视频免费| 国产精品免费福利久久播放 | 欧美精品亚洲精品日韩专区va| 国产色婷婷| 欧美一区二区福利视频| 三级视频中文字幕| 色综合成人| 国内丰满少妇猛烈精品播| 国产性爱网站| 国产91小视频在线观看| a级毛片网| 亚洲无码久久久久| a毛片在线播放| 欧美中文字幕在线播放| 亚洲欧美另类中文字幕| 青青国产视频| 久久综合色视频| 欧美精品影院| 亚洲成人网在线观看| 在线播放精品一区二区啪视频| 黄片在线永久| 午夜电影在线观看国产1区| 又爽又大又黄a级毛片在线视频| 3344在线观看无码| 亚洲成人www| 欧美日韩国产综合视频在线观看| 欧美国产日韩在线观看| 小说区 亚洲 自拍 另类| 亚洲无限乱码一二三四区| 色妞永久免费视频| 在线欧美a| 免费A级毛片无码免费视频| 亚洲国产精品日韩欧美一区| 无码精品国产VA在线观看DVD| 久操中文在线| 精品少妇人妻无码久久| 亚洲天堂久久| 欧美在线一级片| 激情综合五月网| 国产精品视频3p| 日本精品视频| 2021国产v亚洲v天堂无码| 福利视频一区| 亚洲日韩AV无码一区二区三区人| 国产一线在线| 国产成人av大片在线播放| 蜜臀AV在线播放| a毛片在线播放| 亚洲性影院|