劉文杰 劉保汛 劉亞軍
摘 要:近年來,有關(guān)監(jiān)控和安全漏洞的報道增多,第三方收集和控制大量的個人數(shù)據(jù),危及用戶隱私。比特幣在金融領(lǐng)域證明了可信和可審計(jì)的計(jì)算是可能的,即使用一個分布式的網(wǎng)絡(luò)來構(gòu)成一個公共分類賬。在本文中,我們描述了一個分布式的個人數(shù)據(jù)管理系統(tǒng),它可以確保用戶掌握和控制數(shù)據(jù)。與比特幣不同的是,我們系統(tǒng)中的交易并不是嚴(yán)格意義上的金融服務(wù),而是用于存儲、查詢和共享數(shù)據(jù)等指令。最后,我們討論了區(qū)塊鏈有可能的未來擴(kuò)展。
關(guān)鍵詞:區(qū)塊鏈 隱私 比特幣 個人數(shù)據(jù)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2018)03(c)-0023-03
在大數(shù)據(jù)時代,世界的數(shù)據(jù)量正在迅速增加,數(shù)據(jù)不斷被收集和分析,導(dǎo)致創(chuàng)新和經(jīng)濟(jì)的增長。我們使用這些收集的數(shù)據(jù)進(jìn)行個性化服務(wù),優(yōu)化決策過程,預(yù)測未來趨勢等。雖然我們都能從數(shù)據(jù)驅(qū)動的社會中獲益,但公眾對用戶隱私的擔(dān)憂卻與日俱增。公共和私人的集中組織,積累了大量的個人敏感信息,對于存儲的數(shù)據(jù)以及如何使用這些數(shù)據(jù),個人幾乎沒有控制。
相關(guān)工作:從技術(shù)的角度來看,已經(jīng)有各種各樣的嘗試來解決這些隱私問題。有一種用于自動部署個人私密數(shù)據(jù)存儲服務(wù)的模型,該模型包含了返回?cái)?shù)據(jù)計(jì)算的機(jī)制,從而返回答案而不是原始數(shù)據(jù)本身[1]。從安全的角度來看,研究人員開發(fā)了針對隱私問題的各種技術(shù)來重點(diǎn)關(guān)注個人數(shù)據(jù)。數(shù)據(jù)匿名化方法試圖保護(hù)個人可識別的信息。匿名數(shù)據(jù)集的一個共同屬性要求每個記錄的敏感信息與至少k個其他記錄是不可區(qū)分的[2]。與匿名相關(guān)的擴(kuò)展包括多樣性,它確保敏感數(shù)據(jù)由不同的可能值集合表示[3]。研究表明,使用這些技術(shù)的匿名數(shù)據(jù)集可以被去匿名化[4],即使是少量的數(shù)據(jù)點(diǎn)或高維度數(shù)據(jù)。其他保護(hù)隱私的方法包括差分隱私法[5],這種技術(shù)在共享數(shù)據(jù)之前會擾亂數(shù)據(jù)或給計(jì)算過程增加噪音,以及允許對加密數(shù)據(jù)進(jìn)行計(jì)算和查詢的加密方案。具體來說,完全同態(tài)加密[6]方案允許任何計(jì)算來運(yùn)行加密數(shù)據(jù),但目前效率太低,無法在實(shí)踐中廣泛使用。近年來,出現(xiàn)了一種新的可計(jì)算系統(tǒng)比特幣,它允許用戶在沒有中央監(jiān)管的情況下安全地轉(zhuǎn)移貨幣,使用公開可驗(yàn)證的明細(xì)分類賬或區(qū)塊鏈。
本文利用區(qū)塊鏈存儲構(gòu)建個人數(shù)據(jù)管理平臺,關(guān)注隱私。通過我們的平臺和對技術(shù)的未來改進(jìn)的討論來說明,區(qū)塊鏈將如何成為可信計(jì)算中的重要資源。在第二節(jié)我們討論了解決的隱私問題;第三節(jié)概述了該平臺;第四節(jié)詳細(xì)描述了技術(shù)實(shí)現(xiàn);第五節(jié)討論對區(qū)塊鏈的未來擴(kuò)展;第六節(jié)中得出結(jié)論。
1 隱私問題
在本文中,我們討論了用戶在使用第三方服務(wù)時所面臨的隱私問題。在移動平臺中部署服務(wù)應(yīng)用程序供用戶安裝,這些應(yīng)用程序不斷收集高分辨率的個人數(shù)據(jù)。值得注意的是,同樣的系統(tǒng)可以用于其他的數(shù)據(jù)處理問題,例如:醫(yī)院共享病人的醫(yī)學(xué)數(shù)據(jù)進(jìn)行科學(xué)研究,同時具有監(jiān)測數(shù)據(jù)的使用情況和立即選擇退出的能力。根據(jù)這一點(diǎn),我們的系統(tǒng)可以防止以下常見的隱私問題。
首先是數(shù)據(jù)所有權(quán),我們的框架著重于確保用戶掌握和控制其個人數(shù)據(jù),因此系統(tǒng)將用戶視為數(shù)據(jù)的所有者,并將服務(wù)視為具有委托權(quán)限的來賓;其次是數(shù)據(jù)透明度和可審核性,每個用戶對收集到的數(shù)據(jù)以及如何訪問數(shù)據(jù)都有完全的透明性;再次是細(xì)粒度的訪問控制,移動應(yīng)用程序的一個主要問題是,用戶在注冊時需要授予一組權(quán)限。這些權(quán)限被無限期地授予,而改變協(xié)議的唯一途徑就是選擇退出,但是在本文的框架中,在任何給定的時間里,用戶都可以改變權(quán)限集,并撤銷對先前收集數(shù)據(jù)的訪問。該機(jī)制的一個應(yīng)用是改進(jìn)移動應(yīng)用程序中的現(xiàn)有權(quán)限對話框。雖然用戶界面可能保持不變,但訪問控制策略將安全地存儲在區(qū)塊鏈中,只有用戶可以更改它們。
2 算法思想
系統(tǒng)平臺如圖1所示,3個實(shí)體分別是用戶、服務(wù)和區(qū)塊鏈節(jié)點(diǎn)。用戶對下載和使用應(yīng)用程序感興趣,這些應(yīng)用程序的提供者要求處理個人數(shù)據(jù)的操作和業(yè)務(wù),例如:提供個性化服務(wù),區(qū)塊鏈節(jié)點(diǎn)負(fù)責(zé)維護(hù)區(qū)塊鏈的實(shí)體和分布式的私有鍵值數(shù)據(jù)存儲,以換取獎勵。雖然系統(tǒng)中的用戶通常保持匿名,但我們可以在區(qū)塊鏈上存儲服務(wù)配置文件來并驗(yàn)證其身份。
系統(tǒng)本身的設(shè)計(jì)如下。區(qū)塊鏈包含兩種新的事務(wù)類型:Taccess用于訪問控制管理和Tdata用于數(shù)據(jù)存儲和檢索。這些網(wǎng)絡(luò)操作可以很容易地集成到一個移動軟件開發(fā)工具包(SDK)中,服務(wù)可以在其開發(fā)過程中使用。為了說明這一點(diǎn),給出示例如下:用戶安裝使用我們的平臺來保護(hù)其隱私的應(yīng)用程序。當(dāng)用戶第一次注冊時,將生成一個新的共享標(biāo)識,并將其與相關(guān)的權(quán)限一起發(fā)送到Taccess中的區(qū)塊鏈。收集的數(shù)據(jù),例如:傳感器數(shù)據(jù)比如位置,使用共享加密密鑰,加密發(fā)送到區(qū)塊鏈在Tdata事務(wù)中,隨后將其傳遞給一個區(qū)塊鏈鍵值存儲,同時保留只指向數(shù)據(jù)的指針公共分類賬,指針是SHA-256數(shù)據(jù)的哈希值?,F(xiàn)在,服務(wù)和用戶都可以使用與它關(guān)聯(lián)的指針來查詢數(shù)據(jù)。然后區(qū)塊鏈驗(yàn)證數(shù)字簽名是否屬于用戶或服務(wù)。對于服務(wù),它訪問數(shù)據(jù)的權(quán)限也會被檢查。最后,用戶可以通過使用一組新的權(quán)限,包括撤銷對先前存儲的數(shù)據(jù)的訪問,來更改授予服務(wù)的權(quán)限。開發(fā)一個基于網(wǎng)頁或移動的指示板,允許對一個的數(shù)據(jù)進(jìn)行概述,并且改變權(quán)限的能力是相當(dāng)小的,類似于開發(fā)集中式錢包。區(qū)塊鏈鍵值存儲利用分布式哈希表(DHT)的實(shí)現(xiàn)[7],使用LevelDB2(數(shù)據(jù)庫)增加了持久性,并將接口添加到區(qū)塊鏈。DHT是由節(jié)點(diǎn)網(wǎng)絡(luò)維護(hù)的,它完成了被批準(zhǔn)的讀或?qū)懯聞?wù),數(shù)據(jù)充分地隨機(jī)分布在各個節(jié)點(diǎn)上,以確保高可用性。
3 網(wǎng)絡(luò)協(xié)議
在這一節(jié)中描述系統(tǒng)中使用的底層協(xié)議。在平臺中我們使用標(biāo)準(zhǔn)的加密構(gòu)建塊:由三元組定義的對稱加密方案,三元組由生成器、加密和解密算法構(gòu)成;由發(fā)生器、簽名和驗(yàn)證算法構(gòu)成的三元組來描述數(shù)字簽名方案(DSS),用ECDSA的secp256k1曲線實(shí)現(xiàn)[8],加密哈希函數(shù)由SHA-256實(shí)例化[9]實(shí)現(xiàn)。
3.1 構(gòu)建塊
首先是身份,區(qū)塊鏈利用偽身份機(jī)制。從本質(zhì)上講,每個用戶都可以生成盡可能多的偽身份,以增加隱私。我們現(xiàn)在引入復(fù)合恒等式,這個模型在我們的系統(tǒng)中使用。復(fù)合標(biāo)識是兩個或多個參與方的共享標(biāo)識,其中一些參與方擁有該標(biāo)識(所有者身份),其余部分則限制對其來賓的訪問。身份是由為所有者和客戶簽名的密鑰對組成的,以及用于加密和解密數(shù)據(jù)的對稱密鑰,這樣數(shù)據(jù)就不會受到系統(tǒng)中所有其他參與者的保護(hù);然后是區(qū)塊鏈內(nèi)存,假設(shè)L表示區(qū)塊鏈內(nèi)存空間,為哈希表 L:{0,1}256→{0,1}N,其中 ,可以存儲足夠大的文檔。假設(shè)區(qū)塊鏈?zhǔn)且粋€時間戳的事務(wù)序列,其中每個事務(wù)包含一個可變數(shù)量的輸出地址。L實(shí)現(xiàn)如下:事務(wù)中的前兩個輸出編碼為256位內(nèi)存地址指針以及一些輔助元數(shù)據(jù),其余的輸出構(gòu)造序列化的文檔。當(dāng)查找L[k],只返回最近的事務(wù),它允許在插入操作之外更新和刪除操作;一組用戶u授予服務(wù)s的權(quán)限,由方法P表示,如果u安裝一個移動應(yīng)用程序,需要訪問用戶的位置和聯(lián)系人,所以得出Pu,s={location;contacts},在這里,任何類型的數(shù)據(jù)都可以通過這種方式安全地存儲,假設(shè)服務(wù)不會破壞協(xié)議并錯誤地標(biāo)記數(shù)據(jù)。部分預(yù)防措施可以被引入到移動SDK中,但是無論如何,用戶可以很容易地檢測到欺騙的服務(wù),因?yàn)樗械淖兓际强梢姷摹?/p>
3.2 區(qū)塊鏈協(xié)議
如本文前面所提到的,Taccess事務(wù)允許用戶更改授予服務(wù)的權(quán)限集,通過發(fā)送一個方法集。發(fā)送空集將取消以前授予的所有訪問權(quán)限。第一次發(fā)送帶有新復(fù)合標(biāo)識的Taccess事務(wù)被解釋為用戶注冊服務(wù)。類似地,Tdata事務(wù)管理讀或?qū)懖僮?。在方法P的幫助下,只有用戶或服務(wù)可以訪問數(shù)據(jù)。
3.3 隱私和安全分析
如果區(qū)塊鏈?zhǔn)菬o干擾的,這個假設(shè)需要一個足夠大的不受信任的對等網(wǎng)絡(luò)中。此外,我們假定用戶以安全的方式管理密鑰,比如:使用安全集中的錢包服務(wù)。在這個模型中,只有用戶能夠控制其數(shù)據(jù)。區(qū)塊鏈的分布式與數(shù)字簽名的交易相結(jié)合,確保了交易對手不能以用戶的身份出現(xiàn),不能破壞網(wǎng)絡(luò),即對手不能偽造數(shù)字簽名,或者不能控制網(wǎng)絡(luò)資源的大部分。
控制一個或多個DHT節(jié)點(diǎn)的對手無法了解有關(guān)原始數(shù)據(jù)的任何信息,因?yàn)樗怯脹]有節(jié)點(diǎn)的鍵進(jìn)行加密的。雖然在節(jié)點(diǎn)上沒有確保數(shù)據(jù)完整性,因?yàn)閱蝹€節(jié)點(diǎn)可以篡改其本地副本或者以一種復(fù)雜的方式進(jìn)行操作,但我們?nèi)匀豢梢栽趯?shí)踐中將數(shù)據(jù)的完全分散和復(fù)制的風(fēng)險降到最低。最后為每個用戶服務(wù)對生成一個新的復(fù)合標(biāo)識,保證只有小部分?jǐn)?shù)據(jù)在對手獲得簽名和加密密鑰的情況下被破壞。如果對手只能獲得其中一個密鑰,那么數(shù)據(jù)仍然是安全的。
4 展望
4.1 從存儲到處理
本文的主要貢獻(xiàn)之一是展示如何克服區(qū)塊鏈的公共性質(zhì)。本文分析重點(diǎn)是存儲指向加密數(shù)據(jù)的指針。雖然這種方法適用于存儲和隨機(jī)查詢,但對于處理數(shù)據(jù)來說并不是很有效。更重要的是,一旦一個服務(wù)查詢了一個原始數(shù)據(jù),它就可以存儲為將來的分析。更好的方法可能是永遠(yuǎn)不要讓服務(wù)觀察原始數(shù)據(jù),而是允許它直接在網(wǎng)絡(luò)上運(yùn)行計(jì)算并獲得最終結(jié)果。如果我們將數(shù)據(jù)拆分為共享而不是對它們進(jìn)行加密,那么我們就可以使用安全的多樣性計(jì)算(MPC)來安全地評估任何函數(shù)[10]。
4.2 對區(qū)塊鏈的信任和決策
在比特幣或者區(qū)塊鏈中,假定所有節(jié)點(diǎn)都是同樣不受信任的,它們在集體決策過程中的比例僅僅是基于它們的計(jì)算資源[11]。換句話說,對于每個節(jié)點(diǎn)n,trustn∞r(nóng)esources(n)決定了節(jié)點(diǎn)的權(quán)重。直觀地說,為系統(tǒng)提供大量資源的節(jié)點(diǎn)不太可能作弊。使用類似的推理,可以定義基于節(jié)點(diǎn)行為的新的信任的動態(tài)度量,這樣,遵循協(xié)議的優(yōu)秀參與者就會得到獎勵。將每個節(jié)點(diǎn)的信任設(shè)置為它在未來良好運(yùn)行的預(yù)期值。等價地,由于我們處理的是一個二元隨機(jī)變量,期望值就是p的概率,一個簡單的近似這個概率的方法是計(jì)算一個節(jié)點(diǎn)取好的(good)和壞(bad)的動作的數(shù)量,然后使用Sigmoid函數(shù)把它壓縮成一個概率。在實(shí)踐中,每一個模塊i我們都應(yīng)該重新評估每個節(jié)點(diǎn)的信任分?jǐn)?shù)如公式(1)所示。
式(1)中,α表示步長的大小,通過這種方法,網(wǎng)絡(luò)可以更有效地計(jì)算可信節(jié)點(diǎn)和計(jì)算塊值。
5 結(jié)語
一般來說,個人數(shù)據(jù)和敏感數(shù)據(jù)不應(yīng)該被第三方所信任,因?yàn)榈谌饺菀资艿焦艉驼`用。本文中的平臺利用區(qū)塊鏈技術(shù),重新定義訪問控制模式,并使用區(qū)塊鏈存儲解決方案來實(shí)現(xiàn)這一點(diǎn)。用戶不需要信任任何第三方,并且知道正在收集的數(shù)據(jù)以及如何使用這些數(shù)據(jù)。此外,區(qū)塊鏈承認(rèn)用戶是其個人數(shù)據(jù)的所有者。在分布式平臺上,對于收集、存儲和共享敏感數(shù)據(jù)的法律和監(jiān)管決策應(yīng)該更簡單。法律和法規(guī)可以被編入?yún)^(qū)塊鏈本身,這樣就可以自動執(zhí)行。在其他情況下,分類賬可以作為訪問或存儲數(shù)據(jù)的法律依據(jù),因?yàn)樗强捎?jì)算的而且是防篡改的。最后,我們討論了區(qū)塊鏈的未來擴(kuò)展,這些擴(kuò)展可以將它們集成到一個全面的解決方案中,以解決社會上可信的計(jì)算問題。
參考文獻(xiàn)
[1] J Zarrin,LA Rui,JP Barraca.Resource discovery for distributed computing systems: A comprehensive survey[J].Journal of Parallel and Distributed Computing,2018(113):1-45.
[2] 劉雅輝,張鐵贏,靳小龍,等.大數(shù)據(jù)時代的個人隱私保護(hù)[J].計(jì)算機(jī)研究與發(fā)展,2015,52(1):229-247.
[3] 周水庚,李豐,陶宇飛,等.面向數(shù)據(jù)庫應(yīng)用的隱私保護(hù)研究綜述[J].計(jì)算機(jī)學(xué)報,2009,32(5):847-861.
[4] Zyskind G, Nathan O, Pentland A. Decentralizing privacy: using blockchain to protect personal data [A].Proceedings of the 2015 IEEE Security and Privacy Workshops. Washington,DC:IEEE Computer Society[C].2015:180-184.
[5] 熊平,朱天清,王曉峰.差分隱私保護(hù)及其應(yīng)用[J].計(jì)算機(jī)學(xué)報,2014(1):101-122.
[6] Craig Gentry. Fully homomorphic encryption using ideal lattices[J]. Stoc,2009,9(1):169-178.
[7] Druschel P. Peer-to-peer systems[J].ACM,2010,53(10): 72-82.
[8] Don Johnson, Alfred Menezes. The elliptic curve digital signature algorithm (ECDSA)[J]. International Journal of Information Security,2001,1(1):36–63.
[9] 陳華鋒.高速SHA-256算法實(shí)現(xiàn)[J].浙江大學(xué)學(xué)報:理學(xué)版,2009(6):675-678.
[10] Hal Hodson. Gatekeeper keeps your personal data under your control[J].New Scientist,2013(1):20-21.
[11] Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL].https://bitcoin.org/bitcoin.pdf,2009.