基於區塊鏈的隱私計算 - 原理和實踐

warm3snow發表於2024-03-10

主頁

  • 個人微信公眾號:密碼應用技術實戰
  • 個人部落格園首頁:https://www.cnblogs.com/informatics/

引言

很長一段時間沒有更新部落格和公眾號了,最近做了一個基於區塊鏈的隱私計算專案,主要關於資料安全流通和計算,在一定程度上解決了資料確權、授權使用、資料隱私等問題,保證了資料的可用不可見,可控可計量。專案不久將會對外開源釋出,目前專案在收尾階段。

自十九屆四中全會首次將資料納入生產要素,特別是釋出《關於構建更加完善的要素市場化配置體制機制的意見》和《關於構建資料基礎制度更好發揮資料要素作用的意見》(“資料二十條”)後,我國資料要素化推進步伐明顯提速。資料二十條中也強調始終將資料安全作為資料要素化的前提和基礎。在資料要素化發展新階段加強對隱私計算、區塊鏈、聯邦計算等資料生產交易流通等內生安全平臺的建設。

該專案也是在國家號召的背景下進行的實踐探索,作為隱私計算的第一篇,本文主要用於隱私計算技術基礎介紹。

內容組織如下:

  • 常見的隱私計算技術及架構
  • 基於區塊鏈的資料安全流通整體架構
  • 基於區塊鏈的資料安全流通關鍵流程
  • 當前隱私計算亟待解決的關鍵問題
  • 參考資料

隱私計算技術

常見的隱私計算技術有:

  • 安全多方計算, Secure Multi-Party Computation (SMPC),簡稱MPC
  • 可信執行環境,Trusted Execution Environment, 簡稱TEE
  • 聯邦學習,Federated Learning,簡稱FL

隱私計算架構
image

隱私計算工作原理

  • MPC:MPC的主要原理是將計算任務分解為多個子任務,並將這些子任務分配給不同的參與方進行計算。每個參與方只能訪問自己的輸入,而無法獲得其他參與方的輸入。透過使用密碼學協議和安全協議,參與方可以在不共享私密資料的情況下進行計算,並最終得到計算結果。
  • TEE: TEE的主要原理是透過建立一個隔離的執行環境,將敏感資料和關鍵計算與作業系統和其他應用程式隔離開來。這個隔離環境被稱為"安全區域",其中的程式碼和資料受到嚴格的保護,無法被未經授權的應用程式或作業系統訪問。
  • FL: 聯邦學習的主要原理是將機器學習的訓練過程從中央伺服器轉移到參與方的本地裝置上。透過在參與方之間共享模型引數或梯度更新,實現模型的全域性訓練,而無需共享原始資料。在聯邦學習中,訓練資料保留在參與方的本地裝置上,不需要將其上傳到中央伺服器。

隱私計算技術對比

對比項 \ 隱私計算技術 安全多方計算MPC 可信執行環境TEE 聯邦學習FL
主要特點 模型不動資料動
採用去中心化架構
模型不動資料動
採用中心化架構
資料不動模型動
採用分散式架構
安全基礎 純密碼學 加密硬體 僅共享模型,資料本地訓練,不出域
關鍵技術 混淆電路GC
不經意傳輸OT
秘密共享SS等
遠端證明
PKI技術等
純FL未使用密碼技術
優點 安全性高 計算效能高,通用性高 計算效能高,僅適合機器學習
缺點 基於複雜的密碼技術,計算效率相對較低;
計算邏輯需要轉換為複雜的閘電路,實現代價高
需要信任硬體廠商
需要特殊的硬體支援,成本高
實踐中透過模型有可能推匯出資料,安全性低, 一般需要結合TEE、MPC或DP技術進行模型保護
備註 適合資料量不大,計算邏輯不太複雜的場景 適合計算效能要求較高,計算邏輯複雜的場景 適合機器學習場景

基於區塊鏈的隱私計算

隱私計算技術保證了資料的可用不可見,但是仍存在以下問題:

  • 資料完整性:隱私計算技術主要關注資料的隱私保護,而對資料的完整性保護相對較弱。在資料安全流通中,確保資料的完整性是一個重要的問題,以防止資料被篡改或損壞。
  • 身份認證:隱私計算技術通常不涉及身份認證問題。在資料安全流通中,確保參與方的身份認證是至關重要的,以防止未經授權的訪問和惡意行為。
  • 資料發現:在傳統的資料發現過程中,資料擁有者需要主動公開或與潛在的資料使用者進行直接的互動,以便發現適合其需求的資料集。這可能導致資料擁有者的隱私洩露風險,因為他們需要公開自己的身份和資料細節。
  • 資料授權:在傳統的資料授權過程中,資料擁有者需要與資料使用者進行直接的協商和授權,以確定資料的使用條件和訪問許可權。這種過程可能存在信任問題和複雜的合同談判,導致授權過程的不透明性和低效性。
  • 資料使用收益分配:在傳統的資料使用收益分配中,資料擁有者和資料使用者之間的收益分配往往需要進行復雜的談判和協商。缺乏透明度和可信度可能導致不公平的分配結果,同時也增加了分配過程的複雜性和成本。

使用區塊鏈可以解決以上關鍵問題,如:

  • 資料發現:區塊鏈可以提供一個去中心化的資料市場平臺,使資料擁有者能夠將其資料註冊到區塊鏈上,並透過智慧合約定義資料的屬性和訪問規則。資料使用者可以透過區塊鏈上的資料目錄和搜尋功能發現適合其需求的資料集。
  • 資料授權:區塊鏈可以提供身份認證和訪問控制機制,確保只有授權的參與方才能訪問和使用資料。資料擁有者可以使用智慧合約定義資料的訪問規則,並授權特定的參與方訪問其資料。區塊鏈記錄了資料的授權歷史和訪問記錄,實現了資料授權的可追溯性和透明性。
  • 資料使用收益分配:區塊鏈可以透過智慧合約實現資料使用收益的分配和結算。智慧合約可以定義資料使用的條件和收益分配規則,自動執行資料使用交易,並確保參與方按照約定的規則進行操作。這樣,資料擁有者可以獲得公平的回報,而資料使用者可以獲得透明和可信的資料使用權。
  • 身份認證:區塊鏈可以提供去中心化的身份認證機制,確保參與方的身份是可信的。每個參與方可以擁有一個唯一的身份標識,並使用加密技術生成公鑰和私鑰對。透過使用這些金鑰對進行數字簽名,區塊鏈可以驗證參與方的身份,並確保只有授權的參與方才能參與隱私計算過程。
  • 資料完整性:資料在使用前將資料雜湊值、模型雜湊值、計算中間結果雜湊值以及計算結果的雜湊值上鍊,保證整個計算過程中資料完整性。

基於區塊鏈的隱私計算整體架構

image

基於區塊鏈的隱私計算參與方主要包括:資料擁有方、資料認證方、資料使用方(也可是某一個資料擁有方)

  • 資料擁有方:提取本地資料對應的後設資料(資料描述資訊),並在管控臺進行登記上鍊
  • 資料認證方:查詢區塊鏈上登記的後設資料,並進行認證公佈
  • 資料使用方:資料使用方透過隱私計算資料發現模組查詢區塊鏈上被認證公佈的後設資料資訊,併發起資料使用授權。(如圖中資料提供方C也為資料使用方)
  • 資料擁有方:資料擁有方檢視區塊鏈上關於自己的資料使用申請,並進行授權。

授權成功後,隱私計算引擎進行隱私計算,並將結果加密傳送給資料擁有方,同時將隱私計算執行中間資料&執行結果進行雜湊存證。最後資料使用方在本地解密獲取明文結果。

注:以上基於區塊鏈的隱私計算整體架構為簡化版,實施過程中可以會有偏差,但整體流程基本一致。

總結

本文對常見隱私計算的技術原理和架構、以及基於區塊鏈的隱私計算技術原理和架構進行了簡單介紹,希望讀者透過本文的閱讀,能對隱私計算以及區塊鏈應用有個整體認識。眾所周知,密碼技術是支撐區塊鏈和隱私計算的關鍵底層技術,掌握常用的加解密、簽名驗證、GC、OT、SS、同態加密、查分隱私DP,對於理解隱私技術的細節有很大幫助。

參考資料

  • 中國行動通訊聯合會, 中科院信工所, 中國信通院. 2021隱私機密計算藍皮書
  • 交通銀行. 隱私計算金融應用藍皮書
  • 中國信通院. 聯邦學習場景應用研究報告(2022年)
  • 北京金融科技產業聯盟. 隱私計算技術金融應用研究報告
  • 中國移動. 隱私計算應用白皮書(2021)
  • 長安鏈官網.長治久安連線未來

微信公眾號:密碼應用技術實戰
部落格園首頁:https://www.cnblogs.com/informatics/

相關文章