如何建設(shè)智慧城市?基于區(qū)塊鏈搭建隱私共享框架

量觀網(wǎng)絡(luò)
利用區(qū)塊鏈的數(shù)據(jù)完整性和智能合約特性,可以安全地和自主地執(zhí)行智慧城市環(huán)境中的各種操作。此外,區(qū)塊鏈還可以防止服務(wù)器入侵和篡改/修改權(quán)限的不利影響。毫無(wú)疑問(wèn),在智慧城市環(huán)境中,人們只有在確保通過(guò)各種設(shè)備收集的個(gè)人和敏感數(shù)據(jù)得到充分保護(hù)并對(duì)其有控制權(quán)的情況下,才會(huì)在分享個(gè)人信息時(shí)感到安全。

導(dǎo)語(yǔ)

筆者近期正在研究基于區(qū)塊鏈和隱私計(jì)算的數(shù)據(jù)安全共享解決方案,仔細(xì)研讀了Imran Makhdoom 等人撰寫的研究論文《PrivySharing:A Blockchain-Based Framework for Privacy-Preserving and Secure Data Sharing inSmart Cities》,深受啟發(fā),特此共享部分學(xué)習(xí)筆記,以資借鑒。

研究目標(biāo)

在智慧城市中如何應(yīng)用區(qū)塊鏈進(jìn)行數(shù)據(jù)安全共享,提出了相關(guān)協(xié)議;

如何進(jìn)行數(shù)據(jù)上鏈;

普通數(shù)據(jù)和保密數(shù)據(jù)如何處理(保密數(shù)據(jù)只存數(shù)據(jù)HASH值);

如何利用智能合約進(jìn)行數(shù)據(jù)訪問(wèn)控制。

摘要部分

物聯(lián)網(wǎng)(IoT)的應(yīng)用非常廣泛,從工業(yè)控制系統(tǒng)到電子健康、電子商務(wù)、智慧城市、農(nóng)業(yè)、供應(yīng)鏈管理、智能汽車、網(wǎng)絡(luò)物理系統(tǒng)等等。然而,loT系統(tǒng)收集和處理的數(shù)據(jù),尤其是集中控制的數(shù)據(jù),容易受到可用性、完整性和隱私威脅。

本文提出了“隱私共享”,一個(gè)基于區(qū)塊鏈的創(chuàng)新框架,用于解決在智慧城市環(huán)境中進(jìn)行批量數(shù)據(jù)共享時(shí)面臨的隱私泄露和安全保護(hù)問(wèn)題。本文所提出的方案在許多方面與現(xiàn)有的策略不同;

通過(guò)將區(qū)塊鏈網(wǎng)絡(luò)劃分為多個(gè)通道(Ch)來(lái)保護(hù)數(shù)據(jù)隱私,每個(gè)通道(Ch)由有限數(shù)量的授權(quán)機(jī)構(gòu)組成,并處理特定類型的數(shù)據(jù),如健康、智能汽車、智慧能源或財(cái)務(wù)信息;

通過(guò)在智能合約中嵌入訪問(wèn)控制規(guī)則來(lái)控制對(duì)通道(Ch)內(nèi)用戶數(shù)據(jù)的訪問(wèn);

通過(guò)分別使用私有數(shù)據(jù)收集和加密,可以進(jìn)一步隔離和保護(hù)通道(Ch)中的數(shù)據(jù);

使客戶端能夠與區(qū)塊鏈網(wǎng)絡(luò)交互的REST API具有API密鑰和OAuth 2.0形式的雙重安全性。本文建議的解決方案符合歐盟一般數(shù)據(jù)保護(hù)條例(GDPR)中概述的一些重要要求;

提供一個(gè)名為“PrivyCoin”的數(shù)字令牌獎(jiǎng)勵(lì)系統(tǒng),以激勵(lì)用戶與第三方分享資料;

實(shí)驗(yàn)結(jié)果表明,與單通道(Ch)區(qū)塊鏈系統(tǒng)相比,多通道(Ch)區(qū)塊鏈系統(tǒng)具有良好的可擴(kuò)展性。

重要貢獻(xiàn)

在智慧城市環(huán)境中提供隱私保護(hù),防止大部分威脅用戶數(shù)據(jù)完整性和隱私的外部和內(nèi)部攻擊;

遵守歐盟GDPR的一些基本要求;

一個(gè)基于區(qū)塊鏈的解決方案,提供關(guān)于用戶數(shù)據(jù)的“忘記權(quán)”;

一個(gè)可伸縮的(關(guān)于區(qū)塊大小)、安全、高效的(關(guān)于能源消耗和計(jì)算需求)數(shù)據(jù)共享框架;

用戶定義的對(duì)用戶數(shù)據(jù)的細(xì)粒度訪問(wèn)控制;

提供透明和可審計(jì)的網(wǎng)絡(luò)操作,同時(shí)控制用戶私有數(shù)據(jù)的泄露;

通過(guò)REST API對(duì)區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行安全的客戶端訪問(wèn);

為與利益相關(guān)者/第三方共享數(shù)據(jù)的用戶提供獎(jiǎng)勵(lì)系統(tǒng)。

研究?jī)?nèi)容

4.1

1.在智慧城市中如何利用區(qū)塊鏈進(jìn)行數(shù)據(jù)共享,提出了相關(guān)協(xié)議

(1)隱私共享:基于區(qū)塊鏈的數(shù)據(jù)安全共享

利用區(qū)塊鏈的數(shù)據(jù)完整性和智能合約特性,可以安全地和自主地執(zhí)行智慧城市環(huán)境中的各種操作。此外,區(qū)塊鏈還可以防止服務(wù)器入侵和篡改/修改權(quán)限的不利影響。毫無(wú)疑問(wèn),在智慧城市環(huán)境中,人們只有在確保通過(guò)各種設(shè)備收集的個(gè)人和敏感數(shù)據(jù)得到充分保護(hù)并對(duì)其有控制權(quán)的情況下,才會(huì)在分享個(gè)人信息時(shí)感到安全。這種保證只能由精心選擇和精心設(shè)計(jì)的區(qū)塊鏈技術(shù)來(lái)提供。

為了實(shí)現(xiàn)上面提到的智慧城市用例,本研究使用了Hyperledger-Fabric作為底層區(qū)塊鏈平臺(tái),相比其他區(qū)塊鏈平臺(tái)而言,Hyperledger-Fabric是一個(gè)私有的、受限制的許可區(qū)塊鏈,只有授權(quán)方才能參與網(wǎng)絡(luò)。區(qū)別于其他區(qū)塊鏈技術(shù)的關(guān)鍵特征是,在Hyperledger中,區(qū)塊鏈分類賬由兩個(gè)相關(guān)的部分組成,即,一個(gè)記錄TXs的區(qū)塊鏈和一個(gè)跟蹤分類賬狀態(tài)的狀態(tài)數(shù)據(jù)庫(kù)。

(2)網(wǎng)絡(luò)體系結(jié)構(gòu)

如上圖所示,智慧城市區(qū)塊鏈網(wǎng)絡(luò),由11個(gè)組織及其相關(guān)的對(duì)等節(jié)點(diǎn)組成??紤]到與不同利益相關(guān)方共享不同類別的用戶數(shù)據(jù),以及確保用戶數(shù)據(jù)隱私和安全的要求,如下圖所示的區(qū)塊鏈網(wǎng)絡(luò)由5個(gè)不同的數(shù)據(jù)通道(Ch)組成。

通道(Ch)提供了一組組織之間完全獨(dú)立的通信機(jī)制。而且,每個(gè)通道(Ch)都獨(dú)立于其他通道(Ch)。因此,這些通道(Ch)通過(guò)僅與授權(quán)實(shí)體安全地共享特定類型的數(shù)據(jù)來(lái)保護(hù)用戶數(shù)據(jù)的隱私。

由網(wǎng)絡(luò)配置中心(NC)指定的策略規(guī)則來(lái)控制對(duì)智慧城市網(wǎng)絡(luò)的訪問(wèn)。

組織01更新NC并將02、03和04也授予管理(admin)權(quán)限。這些組織現(xiàn)在可以創(chuàng)建聯(lián)盟和通道(Ch)來(lái)添加更多的網(wǎng)絡(luò)成員。類似地,每個(gè)通道(Ch)都由各自的通道配置(CC)中指定的策略規(guī)則管理。

每個(gè)通道(Ch)都有一個(gè)單獨(dú)的分類賬,所有的對(duì)等節(jié)點(diǎn)都必須維護(hù)一個(gè)關(guān)于其所屬的每個(gè)通道(Ch)的分類賬副本。

通道(Ch)中的數(shù)據(jù)與包括其他通道(Ch)在內(nèi)的其他網(wǎng)絡(luò)隔離。

我們提出的網(wǎng)絡(luò)架構(gòu)的另一個(gè)重要功能是在不同層次(如網(wǎng)絡(luò)、通道(Ch)和本地/對(duì)等網(wǎng)絡(luò))上使用會(huì)員服務(wù)提供商MSP。網(wǎng)絡(luò)MSP(NMSP)定義了誰(shuí)是網(wǎng)絡(luò)的所有成員,以及其中誰(shuí)具有管理員權(quán)限。此外,NMSP還定義了哪些RCAs/CAs是可信的。

另一方面,通道MSPs(CMSP)概述了通道(Ch)級(jí)的管理和參與權(quán)。所有的對(duì)等節(jié)點(diǎn)和ODS(訂購(gòu)服務(wù))共享一個(gè)公共的CMSP來(lái)正確地管理和驗(yàn)證通道(Ch)成員的授權(quán)。

CMSP的用例是,例如,某個(gè)組織的管理員想要在通道(Ch)1上實(shí)例化一個(gè)SC,然后通過(guò)查看CMSP,其他通道(Ch)成員可以驗(yàn)證該管理員是否是特定組織的一部分以及他是否有權(quán)在通道(Ch)1上實(shí)例化SC。類似地,為每個(gè)客戶端節(jié)點(diǎn)/對(duì)等節(jié)點(diǎn)定義了本地MSP(LMSP)。LMSP將對(duì)等方與其組織關(guān)聯(lián)起來(lái)。它還定義了該對(duì)等節(jié)點(diǎn)的權(quán)限,并允許其在通道(Ch)上的TXs中進(jìn)行身份驗(yàn)證。

在這里可能會(huì)出現(xiàn)一個(gè)問(wèn)題,即CC(通道配置)和CMSP有什么區(qū)別。CC包含管理該通道(Ch)的策略,即哪些組織可以管理通道(Ch)并添加新成員。而CMSP建立了節(jié)點(diǎn)與它們各自的組織之間的鏈接,并且節(jié)點(diǎn)可以在通道(Ch)中扮演什么角色,即,它可以在通道(Ch)上實(shí)例化SC嗎?

關(guān)于權(quán)力下放方面;與單個(gè)組織中的所有管理權(quán)限相比,使用專用的可信CA、區(qū)塊鏈管理員和業(yè)務(wù)網(wǎng)絡(luò)管理員可以在一定程度上分散管理權(quán)限。

4.2

2.如何進(jìn)行數(shù)據(jù)上鏈

為確保通道(Ch)內(nèi)關(guān)鍵用戶數(shù)據(jù)的私密性,在通道(Ch)中,采取了一種“私有數(shù)據(jù)收集”的方法,將部分用戶數(shù)據(jù)對(duì)某些組織保密,其中重要的私人資料只會(huì)直接發(fā)送給獲得授權(quán)的機(jī)構(gòu)。這些數(shù)據(jù)存儲(chǔ)在一個(gè)高級(jí)數(shù)據(jù)庫(kù)中。

在被授權(quán)的節(jié)點(diǎn)上。雖然私有信息存儲(chǔ)在授權(quán)節(jié)點(diǎn)上,但只處理此數(shù)據(jù)的散列,即數(shù)據(jù)的哈希作為TX的證據(jù),也有助于對(duì)事件狀態(tài)的驗(yàn)證。

這里一個(gè)重要的數(shù)據(jù)安全特性是,排序節(jié)點(diǎn)看不到私有數(shù)據(jù)。

但是,為了進(jìn)一步提高數(shù)據(jù)隱私/機(jī)密性的級(jí)別,用戶可以選擇加密他的私有數(shù)據(jù),這樣即使是被授權(quán)查看存儲(chǔ)在私有數(shù)據(jù)集合中的數(shù)據(jù)的對(duì)等節(jié)點(diǎn)也不能看到原始內(nèi)容。

數(shù)據(jù)使用AES-256位對(duì)稱加密密鑰進(jìn)行加密,然后存儲(chǔ)在私有數(shù)據(jù)集合中。稍后,只有有權(quán)訪問(wèn)解密密鑰的授權(quán)用戶才能查詢用戶的私有數(shù)據(jù)。

除了數(shù)據(jù)加密之外,還有一個(gè)附加的特性:對(duì)私有數(shù)據(jù)進(jìn)行簽名加密,以提高用戶身份驗(yàn)證和數(shù)據(jù)安全性。

4.3

3.普通數(shù)據(jù)和保密數(shù)據(jù)如何處理,保密數(shù)據(jù)只存數(shù)據(jù)HASH值

(1)智慧城市區(qū)塊鏈-純TX流

TXs有兩種類型:一個(gè)是普通TX,可供所有通道(Ch)成員查看,另一個(gè)是私有數(shù)據(jù)TX,僅與一些選定的同行共享通道(Ch)共享。

在這方面,例如,通過(guò)安裝在愛(ài)麗絲智能汽車中的ClientAppA來(lái)啟動(dòng)更新愛(ài)麗絲汽車在Ch2上的當(dāng)前位置狀態(tài)所需的普通TX。

此TX(如上圖5a所示)按以下步驟進(jìn)行處理。

步驟1:ClientAppA調(diào)用SCA,并根據(jù)Ch2上的SC A認(rèn)可策略將包含愛(ài)麗絲汽車當(dāng)前位置的TX提議發(fā)送給預(yù)定義的背書人。在這種情況下,背書人是E2a(RTA),E2b(警察)和E2c(汽車服務(wù)提供商)。如果TX獲得三位指定背書者中的至少兩位背書,則該TX將被批準(zhǔn)。

步驟 2:三個(gè)代言人E2a中,E2b和E2c調(diào)用SCA建議;SCA生成一個(gè)查詢或更新建議響應(yīng),背書人E2a和E2b對(duì)提案的正確性表示認(rèn)可。

步驟3:E2a和E2b都向ClientAppA發(fā)送已簽署(認(rèn)可)的TX提案響應(yīng)和RW(讀、寫)。在此階段,背書的同行不將擬議的更新應(yīng)用于其總賬副本。

步驟4:ClientAppA驗(yàn)證從至少兩個(gè)背書人那里收到的響應(yīng)是相同的,即確定性的。但是,結(jié)果可能是在不同時(shí)間,不同分類賬的不同對(duì)等節(jié)點(diǎn)生成的結(jié)果。因此,對(duì)等節(jié)點(diǎn)可以針對(duì)相同的TX建議返回不同的TX響應(yīng)。在這種情況下,應(yīng)用程序可以簡(jiǎn)單地請(qǐng)求一個(gè)最新的建議響應(yīng)。

另一個(gè)不太可能的可能性是,SC可能是不確定的,例如,當(dāng)從某些網(wǎng)站獲取外匯(外匯匯率)數(shù)據(jù)時(shí),TX的響應(yīng)可能會(huì)有所不同,因?yàn)橥鈪R匯率在不同時(shí)間可能會(huì)有所不同。因此,不一致的結(jié)果不能被應(yīng)用程序接受并應(yīng)用于總賬。

步驟5:一旦ClientAppA驗(yàn)證了背書人的響應(yīng),它就會(huì)將TX發(fā)送到ODS。

步驟6:然后ODS將接收到的TXs分組到一個(gè)塊中。塊中的TXs序列不一定與排序者處的TXs到達(dá)順序相同。但是,生成的塊是最終的,沒(méi)有分叉。此外,訂購(gòu)者不托管分類賬和SCs,他們也不關(guān)心TX的值,而只是將TXs打包到塊中。

步驟7:ODS將下一個(gè)提議的塊廣播給通道(Ch)2上的所有節(jié)點(diǎn)。

步驟8:所有提交對(duì)等方均會(huì)驗(yàn)證塊中的每個(gè)TX(與它們?cè)趬K中出現(xiàn)的順序相同),以確保在將所有TX應(yīng)用于分類賬之前,它已被所有必需的背書人正確背書。一旦正確驗(yàn)證了TX,對(duì)等方將執(zhí)行分類賬一致性檢查,以確保生成建議的更新時(shí),分類賬的當(dāng)前狀態(tài)與分類賬的狀態(tài)兼容。根據(jù)已驗(yàn)證的TX更新世界狀態(tài)。

要注意的是,失敗的TX不會(huì)應(yīng)用于分類賬上,但會(huì)保留它們用于審計(jì)。此外,步驟8中的TX驗(yàn)證不需要運(yùn)行SCs。這僅由背書人完成。因此,SC僅安裝在背書人的電腦上上。這使SC的邏輯僅對(duì)認(rèn)可組織保密。此外,對(duì)等方還將每個(gè)塊中的每個(gè)TX標(biāo)記為有效或無(wú)效。

最后,一個(gè)新的塊被附加到分類賬L2中存儲(chǔ)的哈希鏈中,并由文件系統(tǒng)中的所有對(duì)等方維護(hù)。

步驟9:生成分類賬更新事件,并通知ClientAppA。需要注意的是,在添加塊之前,要執(zhí)行版本檢查,以確保更新的狀態(tài)與SC執(zhí)行期間讀取的狀態(tài)相同。它可以防止雙重開(kāi)銷和其他數(shù)據(jù)完整性威脅。上面提到的由訂貨方協(xié)調(diào)的TX工作流程稱為“共識(shí)”,即所有的同行對(duì)TXs的內(nèi)容和順序達(dá)成一致。

(2)智慧城市區(qū)塊鏈私有數(shù)據(jù)TX流

根據(jù)上圖3所示的智能城市網(wǎng)絡(luò)設(shè)置,如果Alice身上的可穿戴式血液酒精監(jiān)測(cè)設(shè)備產(chǎn)生警報(bào),則僅由她的主要醫(yī)療中心和當(dāng)?shù)鼐炜吹?,以立即做出響?yīng)。

在這種情況下,需要保持TX私有,Ch1上除P2,P4和P5之外的其他成員不應(yīng)看到該TX。這種私有數(shù)據(jù)TX(如上圖5(b)所示)按以下步驟處理:

步驟1:ClientAppB向提議的對(duì)等節(jié)點(diǎn)E1b(主醫(yī)療中心)和E1c(警察)提交提案請(qǐng)求以調(diào)用SC功能(RW私有數(shù)據(jù)),這些對(duì)等節(jié)點(diǎn)是收集的授權(quán)組織的一部分(由關(guān)于健康警報(bào)的私有數(shù)據(jù)分發(fā)策略定義)。關(guān)于血液酒精濃度健康警報(bào)的私有數(shù)據(jù)是在提案的一個(gè)臨時(shí)字段中發(fā)送的。

步驟2:E1b和E1c模擬TX,并將私有數(shù)據(jù)存儲(chǔ)在瞬態(tài)數(shù)據(jù)存儲(chǔ)區(qū)(它們本地的臨時(shí)存儲(chǔ)區(qū))中。背書節(jié)點(diǎn)還通過(guò)閑話將基于收集策略的私有數(shù)據(jù)分發(fā)給授權(quán)對(duì)等方。但是在這種情況下,我們只有三個(gè)對(duì)等點(diǎn),即P2(E1b),P4(E1c)和P5。

步驟3:E1b和E1c將提案響應(yīng)與公共數(shù)據(jù)一起發(fā)送回ClientAppB,其中包括私有數(shù)據(jù)密鑰和值(酒精度)的哈希值。沒(méi)有任何私有數(shù)據(jù)以明文形式發(fā)送回ClientAppB。

步驟4:ClientAppB驗(yàn)證從E1b和E1c接收到的RW集是否相同。

步驟5:ClientAppB將帶有私有數(shù)據(jù)哈希值的TX提交給ODS。

步驟6:ODS將TX打包在最新塊中。具有散列值的塊分配給Ch1上的所有對(duì)等節(jié)點(diǎn)。

步驟7:通道上的所有對(duì)等節(jié)點(diǎn)都以一致的方式用私有數(shù)據(jù)的哈希值驗(yàn)證TX,而無(wú)需知道實(shí)際的私有數(shù)據(jù)。

步驟8:生成分類賬更新事件,并通知ClientAppB。

4.4

4.如何利用智能合約進(jìn)行數(shù)據(jù)訪問(wèn)控制

通過(guò)多個(gè)通道(Chs)實(shí)驗(yàn)結(jié)果對(duì)用戶數(shù)據(jù)資產(chǎn)的受限訪問(wèn)。除了通過(guò)Ch中的ACL規(guī)則限制對(duì)用戶數(shù)據(jù)資產(chǎn)的訪問(wèn)外,使用特定于數(shù)據(jù)的Chs還有助于保護(hù)用戶的數(shù)據(jù)隱私。通過(guò)本研究的PoC,我們已經(jīng)驗(yàn)證了PrivySharing智慧城市網(wǎng)絡(luò)中的每個(gè)Ch均獨(dú)立于其他具有相關(guān)Ch成員的Ch。

當(dāng)來(lái)自組織7的P13(不是Ch1的成員)嘗試查詢用戶的心率數(shù)據(jù)時(shí),他將獲得拒絕訪問(wèn)錯(cuò)誤,因?yàn)樗麩o(wú)權(quán)訪問(wèn)在Ch1上傳播的任何數(shù)據(jù)資產(chǎn)。由于PrivySharing是一個(gè)許可的聯(lián)盟區(qū)塊鏈,因此所有網(wǎng)絡(luò)成員在加入網(wǎng)絡(luò)之前均已進(jìn)行了適當(dāng)?shù)淖?cè)和認(rèn)證。

但是,即使通過(guò)損壞的網(wǎng)絡(luò)管理員將未經(jīng)授權(quán)的節(jié)點(diǎn)添加到系統(tǒng)中,ACL規(guī)則也會(huì)禁止入侵者未經(jīng)授權(quán)訪問(wèn)用戶的數(shù)據(jù)資產(chǎn)。

相關(guān)知識(shí)

1.Hyperledger

Hyperledger (超級(jí)賬本)是一組開(kāi)源工具,旨在構(gòu)建一個(gè)強(qiáng)大的、業(yè)務(wù)驅(qū)動(dòng)的區(qū)塊鏈框架。

Hyperledger (超級(jí)賬本)是區(qū)塊鏈行業(yè)中最大的項(xiàng)目之一,它由一組開(kāi)源工具和多個(gè)子項(xiàng)目組成。該項(xiàng)目是由 Linux 基金會(huì)主辦的一個(gè)全球協(xié)作項(xiàng)目,其中包括一些不同領(lǐng)域的領(lǐng)導(dǎo)者們,這些領(lǐng)導(dǎo)者們的目標(biāo)是建立一個(gè)強(qiáng)大的、業(yè)務(wù)驅(qū)動(dòng)的區(qū)塊鏈框架。

2.區(qū)塊鏈網(wǎng)絡(luò)主要有三種類型:公共區(qū)塊鏈、聯(lián)盟區(qū)塊鏈,以及私有區(qū)塊鏈

Hyperledger 是一個(gè)區(qū)塊鏈框架,旨在幫助公司建立私人或聯(lián)盟許可的區(qū)塊鏈網(wǎng)絡(luò),在該網(wǎng)絡(luò)中,多個(gè)組織可以共享控制和操作網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)的權(quán)限。Hyperledger Fabric 是 Hyperledger 項(xiàng)目的一個(gè)組成部分,是一個(gè)區(qū)塊鏈框架的實(shí)現(xiàn)。它將成為區(qū)塊鏈應(yīng)用開(kāi)發(fā)、解決方案的基礎(chǔ)。

Fabric 框架支持組件化、可插拔的共識(shí)服務(wù)(Consensus Service)、成員服務(wù)(Membership Service);"許可(Permissioned)"特性使之為"私有性"、"保密性"提供了可靠的解決方案;智能合約(Smart Contracts)在 Fabric 中通過(guò)"Chaincode"得以實(shí)現(xiàn)。Fabric 最初是由 Digital Asset、IBM 貢獻(xiàn)給 Hyperledger 項(xiàng)目的。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論