隱私計算相關技術介紹

聲明

本文非本人原創,是對文獻[1]、文獻[2]和文獻[3]的摘要總結,重點放在了隱私計算相關技術原理及其應用的介紹上,但是並不涉及技術細節。本博客僅發表在博客園,作者LightningStar,其他平臺均爲轉載。

前言

隱私計算是在實現保護數據擁有者的權益安全及個人隱私的前提下,實現數據的流通及數據價值深度挖掘的一類重要方法,在一系列信息技術對數據進行分析計算的過程中,保障數據在流通與融合過程中的“可用不可見”。

隱私計算是指在保護數據本身不對外泄露的前提下實現數據分析計算的一類信息技術,包含了數據科學、密碼學、人工智能等衆多技術體系的交叉融合。從技術實現原理上看,隱私計算主要分爲密碼學和可信硬件兩大領域。 密碼學技術目前以多方安全計算爲代表;可信硬件領域則主要指可信執行環境;此外,還有基於以上兩種技術路徑衍生出的聯邦學習等相關應用技術。

image_97

在軟硬件結構上,多方安全計算和聯邦學習通常從軟件層面設計安全框架,以通用硬件作爲底層基礎架構;可信執行環境則是以可信硬件爲底層技術實現的。

在算法構造上,多方安全計算技術基於各類密碼學工具設計不同的安全協議;聯邦學習除可將多方安全計算協議作爲其隱私保護的技術支撐外,基於噪聲擾動的差分隱私技術也廣泛應用於聯邦學習框架中;可信執行環境通常與一些密碼學算法、安全協議相結合爲多方數據提供保護隱私的安全計算。

隱私計算主流技術

隱私計算領域的一些主流技術,包括多方安全計算、可信執行環境、聯邦學習等.

多方安全計算

多方安全計算核心是設計特殊的加密算法和協議,基於密碼學原理實現在無可信第三方的情況下,在多個參與方輸入的加密數據之上直接進行計算。每個參與方不能得到其他參與方的任何輸入信息,只能得到計算結果。

基礎技術

多方安全計算的實現包含多個關鍵的底層密碼學協議或框架:

  • 不經意傳輸(Oblivious Transfer)
    提出了一種在數據傳輸與交互過程中保護隱私的思路。在不經意傳輸協議中,數據發送方同時發送多個消息,而接收方僅獲取其中之一。發送方無法判斷接收方獲取了具體哪個消息,接收方也對其他消息的內容一無所知。不經意傳輸常用構造多方安全計算協議,是GMW協議、混淆電路設計、乘法三元組的基礎構件,還可用於實現隱私集合求交( Private SetIntersection,PSI)、隱私信息檢索( Private Information Retrieval,PIR)等多種多方安全計算功能。
  • 混淆電路(Garbled Circuit)
    是一種將計算任務轉化爲布爾電路並對真值表進行加密打亂等混淆操作以保護輸入隱私的思路。 利用計算機編程將目標函數轉化爲布爾電路後,對每一個門輸出的真值進行加密,參與方之間在互相不掌握對方私有數據的情況下共同完成計算。 混淆電路是姚期智院士針對百萬富翁問題提出的解決方案,因此又稱姚氏電路。該技術可實現各種計算,常用於通用計算場景,通信量大但通信輪數固定,適用於高帶寬高延遲場景。祕密分享計算量小、通信量較低,構造多方加法、乘法以及其他更復雜的運算有特別的優勢,能實現聯合統計、建模、預測等多種功能。
  • 祕密分享(Secret Sharing)
    也稱祕密分割或祕密共享,給出了一種分而治之的祕密信息管理方案。 祕密分享的原理是將祕密拆分成多個分片(Share),每個分片交由不同的參與方管理。 只有超過一定門限數量的若干個參與方共同協作才能還原祕密信息,僅通過單一分片無法破解祕密。

image_92

技術特點

多方安全計算能夠在不泄漏任何隱私數據的情況下讓多方數據共同參與計算,然後獲得準確的結果,可以使多個非互信主體在數據相互保密的前提下進行高效數據融合計算,達到“數據可用不可見”。最終實現數據的所有權和數據使用權相互分離,並控制數據的用途和用量,即某種程度上的用途可控可計量。多方安全計算具有很高的安全性,要求敏感的中間計算結果也不可以泄漏,並且在近40年的發展中其各種核心技術和構造方案不斷接受學術界和工業界的檢驗具有很高的可信性,其性能在各種研究中不斷提升,現在在很多場景下已經達到了產業能實際應用接受的程度。

發展

微軟研究院自 2011 年開始大規模推進多方安全計算的研究,從兩方安全計算入手,逐漸拓展至三方計算和不存在交互行爲的多方計算。 但微軟前期的MPC研究存在兩個瓶頸,一是加密協議只針對一些簡單的分析功能有效,如聚類分析、線性迴歸等;二是計算的執行必須運行在低水平的與或門電路中,執行過程麻煩而低效。 2018 年,微軟印度研究院推出了EzPC項目,希望克服上述兩個問題。 作爲一個高效、可擴展的 MPC 協議,EzPC 是一個加密成本感知編譯器,使用算術和布爾電路的組合,通過高級語言執行計算,支持神經網絡訓練和預測等複雜的算法。

可信執行環境

可信執行環境(Trusted Execution Environment, TEE)的核心思想是構建一個獨立於操作系統而存在的可信的、隔離的機密空間,數據計算僅在該安全環境內進行,通過依賴可信硬件來保障其安全。

可信執行環境的最本質屬性是隔離,通過芯片等硬件技術並與上層軟件協同對數據進行保護,且同時保留與系統運行環境之間的算力共享。

可信執行環境通過軟硬件方法在CPU中構建一個安全的區域,保證其內部加載的程序和數據在機密性和完整性上得到保護。

image_99

從底層硬件來說,不同於多方安全計算和聯邦學習,TEE將多方數據集中到可信硬件構建的可信執行環境中一起進行安全計算。TEE中可信硬件一般是指可信執行控制單元已被預置集成的商用CPU計算芯片。從基礎算法來說,爲了保證傳輸至可信環境中的數據的安全性,TEE常結合相關密碼學算法來實現加密和驗證方案.從應用角度來說,作爲通用的計算平臺,TEE可以在可信執行環境中對多方數據完成聯合統計、聯合查詢、聯合建模及預測等各種安全計算。

嚴格來講,可信執行環境並不屬於“數據可用不可見”,但其通用性高、開發難度低,在通用計算、複雜算法的實現上更爲靈活,使得其在數據保護要求不是特別嚴苛的場景下仍有很多發揮價值的空間。

image_93

Intel SGX

Intel SGX技術是一組預置在 Intel商用計算芯片內的用於增強應用程序代碼和數據安全性的指令,主要面向PC端。開發者使用SGX指令把計算應用程序的安全計算過程封裝在一個被稱爲飛地( Enclave)的容器內,保障用戶關鍵代碼和數據的機密性和完整性。Intel SGX將應用程序以外的軟件棧(如OS、BIOS等)都排除在可信計算基( Trusted Computing Base,TCB)以外,一旦軟件和數據位於 Encalve中,即便是操作系統和虛擬機監視器( Virtual MachineMonitor,VMM)(也稱 Hypervisor)也無法影響 Enclave裏面的代碼和數據,從而在安全隔離的情況下保證軟件功能的通用性。

ARM TrustZone

Armtrustzone技術基於ARM芯片,主要面向移動設備,是用於ARM指令集體系結構的TEE.ARM通過對原有硬件架構進行修改,在處理器層次引入了兩個不同權限的保護域一一安全世界和普通世界,任何時刻處理器僅在其中的一個環境內運行。 Trustzone通過中斷路由以及對內存總線和內存管理單元的限制來提供隔離保護。

技術特點

TEE通過隔離的執行環境,提供一個執行空間,該空間有更強的安全性,比安全芯片功能更豐富,提供代碼和數據的機密性和完整性保護。另外,與純軟件的密碼學隱私保護方案相比,TEE不會對隱私區域內的算法邏輯語言有可計算性方面的限制,支持更多的算子及複雜算法,上層業務表達性更強。利用TEE提供的計算度量功能,還可實現運行在其內部的身份、數據、算法全流程的計算一致性證明。

TEE因支持多層次、高複雜度的算法邏輯實現,運算效率高以及可信度量保證運行邏輯可信等的特點,被廣泛認可,但其技術本身依賴硬件環境,CPU相關實現屬於TCB,由芯片設備的設計生產廠商提供,必須確保芯片廠商可信。此外使用MPC等密碼學技術與TEE技術相結合可以增強其安全性,強化TEE實例之間機密通信和組網的安全性,進一步防止隱私數據泄露。

發展

目前主要的通用計算芯片廠商發佈的TEE技術方案包括X86指令集架構的 Intel SGX( Intel Software Guard Extensions)技術、AMDSEV( Secure Encrypted Virtualization)技術以及高級RISC機器( Advanced RISC Machine,ARM)指令集架構的 Trustzone技術。而國內計算芯片廠商推出的TEE功能則包括兆芯ZX-TCT( TrustedComputing Technology)技術、海光CSV( China Security Virtualization技術,以及ARM架構的飛騰、鯤鵬也已推出自主實現的 TrustZone功能。 由此誕生了很多基於以上產品的商業化實現方案,如百度 MesaTEE、華爲 iTrustee 等。

Intel 的 SGX 和 ARM 的 TrustZone 處於 TEE 硬件的壟斷地位。 TrustZone 在2008 年推出,而 SGX 最早在 2013 年推出,目前市場上可信執行環境的商業化落地都是基於 TrustZone 或 SGX 的解決方案。

聯邦學習

聯邦學習(Federated Learning, FL)的本質是分佈式的機器學習,在保證數據隱私安全的基礎上,實現共同建模,提升模型的效果。聯邦學習是實現本地原始數據不出庫的情況下,通過對中間加密數據的流通與處理來完成多方聯合的機器學習訓練。聯邦學習參與方一般包括數據方、算法方、協調方、計算方、結果方、任務發起方等角色。

image_98

根據數據集分類

聯邦學習的目標是在不聚合參與方原始數據的前提下,實現保護終端數據隱私的聯合建模。 根據數據集的不同類型,聯邦學習分爲橫向聯邦學習、縱向聯邦學習與聯邦遷移學習。

image_94

  • 橫向聯邦學習
    橫向聯邦學習更適用於在特徵重合較多,而樣本重合較少的數據集間進行聯合計算的場景。 以樣本維度(即橫向)對數據集進行切分,以特徵相同而樣本不完全相同的數據部分爲對象進行訓練。
  • 縱向聯邦學習
    縱向聯邦學習適用於樣本重合較多,而特徵重合較少的數據集間聯合計算的場景。以特徵維度對數據集進行切分,以樣本相同而特徵不完全相同的數據部分爲對象進行訓練。
  • 聯邦遷移學習
    聯邦遷移學習則適用於數據集間樣本和特徵重合均較少的場景。在這樣的場景下,不再對數據進行切分,而是利用遷移學習來彌補數據或標籤的不足。

根據拓撲結構分類

如何有效協調數據參與方協同構建模型是聯邦學的一項主要工作。因此,根據協調方式的不同,聯邦學習從拓撲架構的角度分析可分類爲集中式拓撲架構和對等網絡拓撲架構。

  • 集中式拓撲結構
    一般存在一個聚合各方本地模型參數信息的中心計算節點,該節點經過聯邦平均等相應算法更新後,將結果返回各方。其中,中心計算節點既可能是獨立於各參與方的第三方服務器,也可能是某一特定的參與方。優勢在於易於設計與實現,往往被認爲效率更高,但是在一定程度上犧牲了安全性。
  • 對等式網絡拓撲機構
    不存在中心計算節點,各參與方在聯邦學習框架中的地位平等。分佈式的網絡拓撲結構安全性更高。但需要平等對待聯邦學習中的每個參與者且能夠使參與方有效更新模型並提升性能,設計難度較大。

發展

谷歌是聯邦學習的引路人,自 2017 年 4 月,谷歌便提出了聯邦學習的概念,並於 2019 年發佈論文給出了可擴展大規模移動端聯邦系統的描述,用於改進谷歌輸入法的自動關聯與推薦。 但與此同時,2019 年 8月,谷歌又開源了名爲 Private Join and Compute 的新型多方安全計算開源庫,結合了隱私求交和同態加密兩種基本的加密技術,幫助各組織和隱私數據集協同工作,針對個別項目還使用隨機密鑰進行高度加密,提高隱私性。

技術對比

  1. 多方安全計算不依賴硬件且具備較高的安全性,但是僅支持一些相對簡單的運算邏輯
  2. 可信執行環境技術具備更好的性能和算法適用性,但是對硬件有一定依賴性
  3. 聯邦學習技術則可以解決複雜的算法建模問題,但是性能存在一定瓶頸

image_95

從技術路徑上看,各國際企業相對更關注基於可信執行環境的隱私計算。 2019 年成立的 Linus 基金會旗 下 的 機 密 計 算 聯 盟 ( Confidential Computing Consortium)便聚焦於此,關注基於可信硬件和雲服務生態的數據安全。 該聯盟的創始會員包括阿里、騰訊、ARM、谷歌、Intel、微軟、百度、華爲等世界級企業,2020年 AMD、英偉達、埃森哲、R3 等新一批知名企業也陸續加入。

隱私計算其他相關技術

同態加密

同態加密( Homomorphic Encryption,HE),能實現在密文上進行計算後對輸出進行解密,得到的結果和直接對明文計算的結果一致。該概念最早在1978年由 Ron Rivest、 Leonard Adleman和 Michael I.Dertouzo提出,已發展出各種半同態加密和全同態加密算法。同態加密算法以通信量小、通信輪數少的特點,已在多方安全計算、聯邦學習、區塊鏈等存在數據隱私計算需求的場景落地應用。

同態加密計算開銷大,通信開銷小,安全性高,可用於聯邦學習安全聚合】構造MPC協議。

零知識證明

零知識證明(Zero- Knowledge Proof,ZKP),由S. Goldwasser)S. Micali及C. Rackoff在20世紀80年代初首先提出,指的是證明者能夠在不向驗證者泄漏任何有用信息的情況下,使驗證者相信某個論斷是正確的。零知識證明是一種兩方或多方的協議,兩方或多方通過系列交互完成生成證明和驗證。在實際應用中,零知識證明能實現證明者向驗證者證明並使其相信自己知道或擁有某一消息,而證明過程不會向驗證者泄漏任何關於被證明消息的信息。

零知識證明廣泛應用於各類安全協議設計中,是各類認證協議的基礎。

差分隱私

差分隱私( Differential Privacy,DP)技術是 Dwork在2006年針對數據庫的隱私泄露問題提出的一種新型密碼學手段。該機制是在源數據或計算結果上添加特定分佈的噪音,確保各參與方無法通過得到的數據分析出數據集中是否包含某一特定實體。差分隱私包括本地差分隱私和計算結果差分隱私。本地差分隱私指在匯聚和計算前數據就加入噪聲,用於數據收集方不可信的場景;計算結果差分隱私是指最終計算結果發佈前對其加噪聲。

差分隱私的計算和通信性能與直接明文計算幾乎無區別,安全性損失依賴於噪聲大小。

隱私計算中的信任問題

信任機制是隱私計算廣泛應用的關鍵,隱私計算技術自誕生以來的重要使命便是保證隱私數據在被利用的過程中不被泄露。 作爲一項新技術,如何自證安全、持續強化安全、建立市場信任是其能否被廣泛應用的關鍵。

  1. 自證安全是隱私計算應用的瓶頸問題,當前隱私計算應用主要通過深入介紹產品保密算法機制、簽訂嚴格保密協議和引入第三方評測機構評測產品來實現。
  2. 持續強化安全是隱私計算應用的長效保障,目前主要通過不斷優化算法來防範惡意攻擊,以更加嚴格地控制計算流程來封堵漏洞等方式實現。
  3. 建立市場信任是隱私計算應用的關鍵問題,在隱私計算的過程中,通過嚴格的數據授權、身份驗證、狀態監控預警等方式讓數據提供方始終清楚己方數據的用量、用法、用途均不超過實現約定,可以充分建立用戶新人乃至市場信任。

隱私計算技術產品

我國的隱私計算技術產業化在2018年後開始進人快速啓動階段,形成了互聯網大廠、大數據公司、運營商、金融機構和金融科技企業、隱私計算初創企業爲代表的五大類市場主要參與者。

技術路線 參與企業
多方安全計算 華控清交、富數科技、矩陣元 專注於打造以底層多方安全計算技術爲基礎的數據流通基礎設施
可信執行環境 百度、阿里巴巴、衝量在線、隔鏡科技 依賴於國外芯片的硬件支持;衝量在線已經與兆芯在國產化硬件研發上進行合作探索
聯邦學習 各大運營商、金融科技公司等 由於機器學習應用需求突出,且具有較爲成熟的開源社區作爲支撐,開發難度相對輕鬆

開源生態

image_96

配套標準體系

《多方安全計算技術框架》和《基於TEE的安全計算》兩項國際標準分別於2019年4月和2020年9月在電氣電子工程師學會(IEEE)立項,但現有標準的內容主要是給出了通用性的技術框架,尚沒有深入到應用中的細節。

中國信息通信研究院依託中國通信標準化協會大數據技術標準推進委員會於2018-2020年分別牽頭制定了《基於多方安全計算的數據流通產品》《基於聯邦學習的數據流通產品》《基於可信執行環境的數據計算平臺》《區塊輔助的隱私計算技術工具》4項隱私計算技術產品功能上的系列標準。

隱私計算面臨的問題

  1. 市場對於隱私計算的認知度、認可度仍然不足
  2. 技術推廣所需的成熟商業模式尚未形成
  3. 現有法律法規未對隱私計算地位進行明確定位
  4. 在滿足通用性功能的基礎之上,產品性能提升任重道遠

隱私計算未來發展趨勢

技術角度

  1. 軟硬件協同優化以提升性能和技術的可用性
  2. 逐步向大規模分佈式計算邁進
  3. 提供工具化、模塊化的服務能力

應用角度

  1. 增強與區塊鏈等其他技術的不斷協同。區塊鏈技術與隱私計算的功能是天然互補的,藉助區塊鏈去中心化、不可篡改、公開透明的特性,將增強隱私計算任務的可驗證性、可審計性。
  2. 促進跨技術平臺間的互聯互通。隱私計算的目標是促進多方數據之間的互聯互通。從長期來看,跨技術路徑、跨系統平臺之間的隱私計算技術工具的互聯互通將成爲廣泛需求。

產業角度

  1. 隱私計算有望成爲數據流通的關鍵基礎設施。
  2. 技術發展將隨着數據合規要求的不斷變化而動態演化。

參考文獻


  1. 開啓新紀元: 隱私計算在金融領域應用發展報告2021 ↩︎

  2. 閆樹, 呂艾臨. 隱私計算髮展綜述.pdf[J]. 信息通信技術與政策, 2021(6). ↩︎

  3. 隱私計算白皮書[R/OL]. 隱私計算聯盟;中國信息通信研究院雲計算與大數據研究所, 2021[2021–11–04]. https://gw.alipayobjects.com/os/bmw-prod/73c5f163-d091-487a-bf5c-41841f546bc0.pdf. ↩︎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章