技術Live | 區塊鏈+大資料——隱私計算

買賣虛擬貨幣

隨著大資料時代的到來,資料滲透到當今每一個行業和業務職能領域,成為關鍵的生產要素之一,如何更好的儲存資料並挖掘其中的潛在價值成為了當前相關行業的研究重點。人們逐漸意識到,大資料的價值在於多源資料的融合,只有各類不同源的資料更好的開放、流通、共享,才能更好的提取其中的價值。否則,獨立存在、互不共享的資料來源只會形成一個個資料孤島。

早在2017年大資料產業峰會上,中國工程院院士、中國網際網路協會理事長鄔賀銓就表示“資料資源的流動性和可獲取性是大資料應用和產業發展的基礎,直接關係到大資料價值的實現情況”。

目前,隨著雲端計算、物聯網、機器學習等技術的逐步成熟,大資料的產生、採集、儲存、處理等問題都得到了很好的解決,但資料開放共享所面臨的問題遠比想象的複雜。

首先,資料所有者是否願意共享資料,如何保證共享過程中一些隱私資料不會洩露?其次,目前的資料儲存及處理技術如資料庫、雲端計算等都是基於中心化服務的思想而設立的,這必然導致資料高度集中,形成資料壟斷,那麼如何在資料所有權和資料共享之間找到合適的平衡點?

人們開始思考如何聯合其它技術來解決這些問題。

區塊鏈 + 大資料?

第一,區塊鏈技術可使資料具有更高的可信度。將區塊鏈看作一種分散式資料的儲存技術,資料從產生、採集到流通、處理的每一步的關鍵資訊都可以記錄在鏈上,而資訊一旦上鍊,區塊鏈所使用的密碼技術可保證其不被篡改,這使得資料可擁有前所未有的可信度,從而使得後期對資料分析處理的結果也具有更高的可靠性。

第二,區塊鏈可為資料提供更好的流通方式,利用智慧合約等技術可為資料所有者和潛在的使用者提供交易平臺,進一步促進資料的開放和流通。

但是,以上所述都沒有解決資料的隱私保護問題,如何在保護隱私的前提下更好的採集、使用資料是區塊鏈行業新的機遇和挑戰。

目前的解決思路基本為將資料的關鍵資訊儲存在利用區塊鏈技術搭建的相關平臺上,再使用各類隱私計算技術來對這些資料進行分析,使資料可用不可見,既可以對資料的私密性進行保護,又可以安全共享。

隱私計算

隱私計算方案按技術大致可分為安全多方計算技術(Secure Multi-Party Computation, MPC) 和可信執行環境(Trusted Execution Environment, TEE) 兩種。下面將分別對這兩類技術進行介紹。

1. 安全多方計算(MPC)

1982年,姚期智院士提出了一個“百萬富翁”問題:兩個百萬富翁想知道誰的錢更多,但是他們都不想讓對方知道自己到底有多少錢,如何在不借助第三方的情況下,讓他們知道誰更有錢。在這個經典問題之下,誕生了安全多方計算這一密碼學分支。

簡單來說,如圖1所示,安全多方計算研究的是在無可信第三方的情況下,如何安全地計算一個約定函式的問題。這一方法能夠在不洩露資料的情況下,對多方的資料進行聯合計算並得到計算結果,最終實現資料的所有權和資料使用權的分離,被認為是解決保護隱私的協同計算問題的良藥。

圖 1安全多方計算

目前,安全多方計算技術的實現方法主要包括同態加密 (Homomorphic Encryption,HE)、不經意傳輸 (Oblivious Transfer, OT)、混淆電路(Garbled Circuit, GC)、秘密共享 (Secret Sharing, SS) 等。

同態加密(HE)

同態加密是一種可直接對加密資料進行處理的技術,即對密文的計算結果與直接對明文進行計算的結果一致。按照支援密文運算的種類和次數,又可再進一步分為部分同態加密(Partially Homomorphic Encryption)、類同態加密(Somewhat Homomorphic Encryption)和完全同態加密(Fully Homomorphic Encryption)。

在實際中,目前多數演算法僅能支援操作次數有限的加法同態或乘法同態,難以做到同時支援加法和乘法操作、完成運算次數不受限制的全同態加密,這大大限制了其應用。而現有的全同態演算法常常會產生大量噪聲,不支援非線性運算,並且計算開銷較為昂貴。

秘密共享(SS)

圖 2秘密共享

秘密共享的思想是將秘密以適當的方式拆分,拆分後的每一個份額由不同的參與者管理,單個參與者無法恢復秘密資訊,只有若干個參與者一同協作才能恢復秘密訊息,如圖2所示。

秘密共享方案還應具有一定的容錯性,即當一定數量的參與者出問題時,秘密仍可以完整恢復。此類方法常常需要參與者之間的多輪通訊,通訊開銷相對較高。

不經意傳輸(OT)

圖 3 不經意傳輸

不經意傳輸是一種可保護隱私的雙方通訊協議,通訊雙方可以使用一種選擇模糊化的方式傳輸訊息。

此處以2選1不經意傳輸(1-out-of-2 Oblivious Transfer)為例,此方法可保護接收方的隱私不被髮送方所知:如圖3所示,Alice傳送一個資訊對給接收者Bob, Bob只選擇其中一個接收,在協議結束時,Alice並不知道Bob是否接受了訊息、接收了哪一條訊息,而Bob能得到資訊。

在實際應用中,還會使用公鑰加密等技術進一步對不經意傳輸進行進一步擴充套件。

混淆電路(GC)

圖 4 電路計算

混淆電路是姚期智院士在上世紀80年代所提出的一種密碼協議。如圖4所示,此協議中參與者在進行多方計算時,會先將計算問題轉換為由與門、或門、非門所組成的布林邏輯電路,再透過公鑰加密、不經意傳輸等技術加密和擾亂這些電路的值來掩蓋資訊,最後在不洩露隱私的前提下算出計算結果。

混淆電路和不經意傳輸的具體實現方法相對複雜,在這裡不再詳細敘述。使用這兩種方法的方案由於需對電路中每個門進行幾個對稱金鑰操作,計算複雜度相對也較高,並且當擴充套件到多方時會更加複雜。

值得注意的一點是對於所有的全同態加密、通用函式的兩方及多方安全計算協議都是採用的電路觀點。這裡的電路觀點是指一種計算複雜度的計算模型,用於衡量解決問題所需要的資源。電路模型會接觸到所有的輸入資料,但此過程中不會洩露任何資訊。

綜合看來,多方計算技術所需的計算複雜度通常較高,雖然人們常常會透過節點間通訊來降低加密運算的複雜度,但代價則是增加了通訊的複雜度。目前多方計算方案的速度與明文計算相比有大於1至2個數量級的差距。

2. 可信執行環境(TEE)

與MPC這一完全基於密碼技術來實現隱私計算的方式不同,TEE的信任主要依賴於對硬體方面的設定,例如Intel的SGX,ARM的TrustZone等。

以SGX為例,其核心思想為在CPU中內建一組指令程式碼,允許使用者或作業系統定義實現一個受保護的被稱為enclave的容器,此容器內的程式碼和資料的機密性和完整性受到嚴格的保護, 可免受擁有特殊許可權的惡意軟體的破壞。

相比基於密碼技術的MPC,使用TEE技術的方案計算效率相對較高,大致與直接對明文計算的效率相當,可達到實際應用的級別。但由於此類技術的信任根在於提供TEE硬體的廠商,需要相信商家在生產過程中沒有留任何後門。此外,TEE容易受到側通道攻擊。

目前,在基於區塊鏈的隱私計算方面已出現一些落地專案,其主要思路都是在區塊鏈上部署任務合約,再利用現有的隱私計算技術搭建鏈下計算網路完成計算任務。但此類專案大多仍處於起步階段,在計算效率、所支援的計算型別等方面仍存在許多問題亟待解決。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;