宣告
本文非本人原創,是對文獻[1]、文獻[2]和文獻[3]的摘要總結,重點放在了隱私計算相關技術原理及其應用的介紹上,但是並不涉及技術細節。本部落格僅發表在部落格園,作者LightningStar,其他平臺均為轉載。
前言
隱私計算是在實現保護資料擁有者的權益安全及個人隱私的前提下,實現資料的流通及資料價值深度挖掘的一類重要方法,在一系列資訊科技對資料進行分析計算的過程中,保障資料在流通與融合過程中的“可用不可見”。
隱私計算是指在保護資料本身不對外洩露的前提下實現資料分析計算的一類資訊科技,包含了資料科學、密碼學、人工智慧等眾多技術體系的交叉融合。從技術實現原理上看,隱私計算主要分為密碼學和可信硬體兩大領域。 密碼學技術目前以多方安全計算為代表;可信硬體領域則主要指可信執行環境;此外,還有基於以上兩種技術路徑衍生出的聯邦學習等相關應用技術。
在軟硬體結構上,多方安全計算和聯邦學習通常從軟體層面設計安全框架,以通用硬體作為底層基礎架構;可信執行環境則是以可信硬體為底層技術實現的。
在演算法構造上,多方安全計算技術基於各類密碼學工具設計不同的安全協議;聯邦學習除可將多方安全計算協議作為其隱私保護的技術支撐外,基於噪聲擾動的差分隱私技術也廣泛應用於聯邦學習框架中;可信執行環境通常與一些密碼學演算法、安全協議相結合為多方資料提供保護隱私的安全計算。
隱私計算主流技術
隱私計算領域的一些主流技術,包括多方安全計算、可信執行環境、聯邦學習等.
多方安全計算
多方安全計算核心是設計特殊的加密演算法和協議,基於密碼學原理實現在無可信第三方的情況下,在多個參與方輸入的加密資料之上直接進行計算。每個參與方不能得到其他參與方的任何輸入資訊,只能得到計算結果。
基礎技術
多方安全計算的實現包含多個關鍵的底層密碼學協議或框架:
- 不經意傳輸(Oblivious Transfer)
提出了一種在資料傳輸與互動過程中保護隱私的思路。在不經意傳輸協議中,資料傳送方同時傳送多個訊息,而接收方僅獲取其中之一。傳送方無法判斷接收方獲取了具體哪個訊息,接收方也對其他訊息的內容一無所知。不經意傳輸常用構造多方安全計算協議,是GMW協議、混淆電路設計、乘法三元組的基礎構件,還可用於實現隱私集合求交( Private SetIntersection,PSI)、隱私資訊檢索( Private Information Retrieval,PIR)等多種多方安全計算功能。 - 混淆電路(Garbled Circuit)
是一種將計算任務轉化為布林電路並對真值表進行加密打亂等混淆操作以保護輸入隱私的思路。 利用計算機程式設計將目標函式轉化為布林電路後,對每一個門輸出的真值進行加密,參與方之間在互相不掌握對方私有資料的情況下共同完成計算。 混淆電路是姚期智院士針對百萬富翁問題提出的解決方案,因此又稱姚氏電路。該技術可實現各種計算,常用於通用計算場景,通訊量大但通訊輪數固定,適用於高頻寬高延遲場景。祕密分享計算量小、通訊量較低,構造多方加法、乘法以及其他更復雜的運算有特別的優勢,能實現聯合統計、建模、預測等多種功能。 - 祕密分享(Secret Sharing)
也稱祕密分割或祕密共享,給出了一種分而治之的祕密資訊管理方案。 祕密分享的原理是將祕密拆分成多個分片(Share),每個分片交由不同的參與方管理。 只有超過一定門限數量的若干個參與方共同協作才能還原祕密資訊,僅通過單一分片無法破解祕密。
技術特點
多方安全計算能夠在不洩漏任何隱私資料的情況下讓多方資料共同參與計算,然後獲得準確的結果,可以使多個非互信主體在資料相互保密的前提下進行高效資料融合計算,達到“資料可用不可見”。最終實現資料的所有權和資料使用權相互分離,並控制資料的用途和用量,即某種程度上的用途可控可計量。多方安全計算具有很高的安全性,要求敏感的中間計算結果也不可以洩漏,並且在近40年的發展中其各種核心技術和構造方案不斷接受學術界和工業界的檢驗具有很高的可信性,其效能在各種研究中不斷提升,現在在很多場景下已經達到了產業能實際應用接受的程度。
發展
微軟研究院自 2011 年開始大規模推進多方安全計算的研究,從兩方安全計算入手,逐漸擴充至三方計算和不存在互動行為的多方計算。 但微軟前期的MPC研究存在兩個瓶頸,一是加密協議只針對一些簡單的分析功能有效,如聚類分析、線性迴歸等;二是計算的執行必須執行在低水平的與或閘電路中,執行過程麻煩而低效。 2018 年,微軟印度研究院推出了EzPC專案,希望克服上述兩個問題。 作為一個高效、可擴充套件的 MPC 協議,EzPC 是一個加密成本感知編譯器,使用算術和布林電路的組合,通過高階語言執行計算,支援神經網路訓練和預測等複雜的演算法。
可信執行環境
可信執行環境(Trusted Execution Environment, TEE)的核心思想是構建一個獨立於作業系統而存在的可信的、隔離的機密空間,資料計算僅在該安全環境內進行,通過依賴可信硬體來保障其安全。
可信執行環境的最本質屬性是隔離,通過晶片等硬體技術並與上層軟體協同對資料進行保護,且同時保留與系統執行環境之間的算力共享。
可信執行環境通過軟硬體方法在CPU中構建一個安全的區域,保證其內部載入的程式和資料在機密性和完整性上得到保護。
從底層硬體來說,不同於多方安全計算和聯邦學習,TEE將多方資料集中到可信硬體構建的可信執行環境中一起進行安全計算。TEE中可信硬體一般是指可信執行控制單元已被預置整合的商用CPU計算晶片。從基礎演算法來說,為了保證傳輸至可信環境中的資料的安全性,TEE常結合相關密碼學演算法來實現加密和驗證方案.從應用角度來說,作為通用的計算平臺,TEE可以在可信執行環境中對多方資料完成聯合統計、聯合查詢、聯合建模及預測等各種安全計算。
嚴格來講,可信執行環境並不屬於“資料可用不可見”,但其通用性高、開發難度低,在通用計算、複雜演算法的實現上更為靈活,使得其在資料保護要求不是特別嚴苛的場景下仍有很多發揮價值的空間。
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)的本質是分散式的機器學習,在保證資料隱私安全的基礎上,實現共同建模,提升模型的效果。聯邦學習是實現本地原始資料不出庫的情況下,通過對中間加密資料的流通與處理來完成多方聯合的機器學習訓練。聯邦學習參與方一般包括資料方、演算法方、協調方、計算方、結果方、任務發起方等角色。
根據資料集分類
聯邦學習的目標是在不聚合參與方原始資料的前提下,實現保護終端資料隱私的聯合建模。 根據資料集的不同型別,聯邦學習分為橫向聯邦學習、縱向聯邦學習與聯邦遷移學習。
- 橫向聯邦學習
橫向聯邦學習更適用於在特徵重合較多,而樣本重合較少的資料集間進行聯合計算的場景。 以樣本維度(即橫向)對資料集進行切分,以特徵相同而樣本不完全相同的資料部分為物件進行訓練。 - 縱向聯邦學習
縱向聯邦學習適用於樣本重合較多,而特徵重合較少的資料集間聯合計算的場景。以特徵維度對資料集進行切分,以樣本相同而特徵不完全相同的資料部分為物件進行訓練。 - 聯邦遷移學習
聯邦遷移學習則適用於資料集間樣本和特徵重合均較少的場景。在這樣的場景下,不再對資料進行切分,而是利用遷移學習來彌補資料或標籤的不足。
根據拓撲結構分類
如何有效協調資料參與方協同構建模型是聯邦學的一項主要工作。因此,根據協調方式的不同,聯邦學習從拓撲架構的角度分析可分類為集中式拓撲架構和對等網路拓撲架構。
- 集中式拓撲結構
一般存在一個聚合各方本地模型引數資訊的中心計算節點,該節點經過聯邦平均等相應演算法更新後,將結果返回各方。其中,中心計算節點既可能是獨立於各參與方的第三方伺服器,也可能是某一特定的參與方。優勢在於易於設計與實現,往往被認為效率更高,但是在一定程度上犧牲了安全性。 - 對等式網路拓撲機構
不存在中心計算節點,各參與方在聯邦學習框架中的地位平等。分散式的網路拓撲結構安全性更高。但需要平等對待聯邦學習中的每個參與者且能夠使參與方有效更新模型並提升效能,設計難度較大。
發展
谷歌是聯邦學習的引路人,自 2017 年 4 月,谷歌便提出了聯邦學習的概念,並於 2019 年釋出論文給出了可擴充套件大規模移動端聯邦系統的描述,用於改進谷歌輸入法的自動關聯與推薦。 但與此同時,2019 年 8月,谷歌又開源了名為 Private Join and Compute 的新型多方安全計算開源庫,結合了隱私求交和同態加密兩種基本的加密技術,幫助各組織和隱私資料集協同工作,針對個別專案還使用隨機金鑰進行高度加密,提高隱私性。
技術對比
- 多方安全計算不依賴硬體且具備較高的安全性,但是僅支援一些相對簡單的運算邏輯
- 可信執行環境技術具備更好的效能和演算法適用性,但是對硬體有一定依賴性
- 聯邦學習技術則可以解決複雜的演算法建模問題,但是效能存在一定瓶頸
從技術路徑上看,各國際企業相對更關注基於可信執行環境的隱私計算。 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年針對資料庫的隱私洩露問題提出的一種新型密碼學手段。該機制是在源資料或計算結果上新增特定分佈的噪音,確保各參與方無法通過得到的資料分析出資料集中是否包含某一特定實體。差分隱私包括本地差分隱私和計算結果差分隱私。本地差分隱私指在匯聚和計算前資料就加入噪聲,用於資料收集方不可信的場景;計算結果差分隱私是指最終計算結果釋出前對其加噪聲。
差分隱私的計算和通訊效能與直接明文計算幾乎無區別,安全性損失依賴於噪聲大小。
隱私計算中的信任問題
信任機制是隱私計算廣泛應用的關鍵,隱私計算技術自誕生以來的重要使命便是保證隱私資料在被利用的過程中不被洩露。 作為一項新技術,如何自證安全、持續強化安全、建立市場信任是其能否被廣泛應用的關鍵。
- 自證安全是隱私計算應用的瓶頸問題,當前隱私計算應用主要通過深入介紹產品保密演算法機制、簽訂嚴格保密協議和引入第三方評測機構評測產品來實現。
- 持續強化安全是隱私計算應用的長效保障,目前主要通過不斷優化演算法來防範惡意攻擊,以更加嚴格地控制計算流程來封堵漏洞等方式實現。
- 建立市場信任是隱私計算應用的關鍵問題,在隱私計算的過程中,通過嚴格的資料授權、身份驗證、狀態監控預警等方式讓資料提供方始終清楚己方資料的用量、用法、用途均不超過實現約定,可以充分建立使用者新人乃至市場信任。
隱私計算技術產品
我國的隱私計算技術產業化在2018年後開始進人快速啟動階段,形成了網際網路大廠、大資料公司、運營商、金融機構和金融科技企業、隱私計算初創企業為代表的五大類市場主要參與者。
技術路線 | 參與企業 | |
---|---|---|
多方安全計算 | 華控清交、富數科技、矩陣元 | 專注於打造以底層多方安全計算技術為基礎的資料流通基礎設施 |
可信執行環境 | 百度、阿里巴巴、衝量線上、隔鏡科技 | 依賴於國外晶片的硬體支援;衝量線上已經與兆芯在國產化硬體研發上進行合作探索 |
聯邦學習 | 各大運營商、金融科技公司等 | 由於機器學習應用需求突出,且具有較為成熟的開源社群作為支撐,開發難度相對輕鬆 |
開源生態
配套標準體系
《多方安全計算技術框架》和《基於TEE的安全計算》兩項國際標準分別於2019年4月和2020年9月在電氣電子工程師學會(IEEE)立項,但現有標準的內容主要是給出了通用性的技術框架,尚沒有深入到應用中的細節。
中國資訊通訊研究院依託中國通訊標準化協會大資料技術標準推進委員會於2018-2020年分別牽頭制定了《基於多方安全計算的資料流通產品》《基於聯邦學習的資料流通產品》《基於可信執行環境的資料計算平臺》《區塊輔助的隱私計算技術工具》4項隱私計算技術產品功能上的系列標準。
隱私計算面臨的問題
- 市場對於隱私計算的認知度、認可度仍然不足
- 技術推廣所需的成熟商業模式尚未形成
- 現有法律法規未對隱私計算地位進行明確定位
- 在滿足通用性功能的基礎之上,產品效能提升任重道遠
隱私計算未來發展趨勢
技術角度
- 軟硬體協同優化以提升效能和技術的可用性
- 逐步向大規模分散式計算邁進
- 提供工具化、模組化的服務能力
應用角度
- 增強與區塊鏈等其他技術的不斷協同。區塊鏈技術與隱私計算的功能是天然互補的,藉助區塊鏈去中心化、不可篡改、公開透明的特性,將增強隱私計算任務的可驗證性、可審計性。
- 促進跨技術平臺間的互聯互通。隱私計算的目標是促進多方資料之間的互聯互通。從長期來看,跨技術路徑、跨系統平臺之間的隱私計算技術工具的互聯互通將成為廣泛需求。
產業角度
- 隱私計算有望成為資料流通的關鍵基礎設施。
- 技術發展將隨著資料合規要求的不斷變化而動態演化。
參考文獻
閆樹, 呂艾臨. 隱私計算髮展綜述.pdf[J]. 資訊通訊技術與政策, 2021(6). ↩︎
隱私計算白皮書[R/OL]. 隱私計算聯盟;中國資訊通訊研究院雲端計算與大資料研究所, 2021[2021–11–04]. https://gw.alipayobjects.com/os/bmw-prod/73c5f163-d091-487a-bf5c-41841f546bc0.pdf. ↩︎