在越來越多對數(shù)據(jù)隱私的擔(dān)憂聲中,政府開始行動制定數(shù)據(jù)使用合規(guī)法案。而另一方面,對數(shù)據(jù)的保護,卻產(chǎn)生了一個矛盾:大量的數(shù)據(jù)因為需要依
在越來越多對數(shù)據(jù)隱私的擔(dān)憂聲中,政府開始行動制定數(shù)據(jù)使用合規(guī)法案。而另一方面,對數(shù)據(jù)的保護,卻產(chǎn)生了一個矛盾:大量的數(shù)據(jù)因為需要依法保護而無法被聯(lián)合在一起計算。
反過來試想一下,如果全世界的基因數(shù)據(jù)能夠聯(lián)合在一起分析,人類或許可以更快找到癌癥的解藥。這讓我們大膽地去思考,是否存在一種保護數(shù)據(jù)安全而又能夠有效利用數(shù)據(jù)的方式?
1980年代,姚期智院士提出了「百萬富翁」問題:兩個百萬富翁街頭邂逅,他們都想炫一下富,比比誰更有錢,但是出于隱私,都不想讓對方知道自己到底擁有多少財富,如何在不借助第三方的情況下,讓他們知道他們之間誰更有錢?
在這個經(jīng)典問題之下,誕生了「多方安全計算」(Multiparty Computation, MPC)這門密碼學(xué)分支。MPC技術(shù)能夠讓數(shù)據(jù)在不泄露的情況下聯(lián)合多方的數(shù)據(jù)進行聯(lián)合計算并得到明文計算結(jié)果,最終實現(xiàn)數(shù)據(jù)的所有權(quán)和數(shù)據(jù)使用權(quán)的分離。
今天我們就來介紹一下MPC的出現(xiàn)背景和應(yīng)用場景。在開始前,我們先來看看如今數(shù)據(jù)對于我們的意義。
我們正生活在數(shù)據(jù)保護的時代
個人隱私和數(shù)據(jù)隱私
2018 年 5 月 25 日正式生效的歐盟通用數(shù)據(jù)保護條例(GDPR)引起全球廣泛關(guān)注,這部被稱為「史上最嚴(yán)」的數(shù)據(jù)保護法案將對科技行業(yè)和個人生活產(chǎn)生深遠(yuǎn)影響,因為它是人類歷史上第一個定義個人數(shù)據(jù)所有權(quán)的規(guī)則,它在法律上明確規(guī)定了個人數(shù)據(jù)是個人所有的數(shù)據(jù)資產(chǎn)。
這項法律將保障人們對個人數(shù)據(jù)有更多的掌控權(quán)。舉例說明,社交網(wǎng)絡(luò)公司在使用你的數(shù)據(jù)前必須征得你的同意。此項法律對創(chuàng)Facebook等科技巨頭無疑影響很大,因為這些公司就指望著用戶數(shù)據(jù)賺錢。
商業(yè)利益中的數(shù)據(jù)保護
數(shù)據(jù)是現(xiàn)代商業(yè)與個人的核心價值與重要資產(chǎn)。數(shù)據(jù)正在重新塑造人類生活的方方面面,包括 金融、廣告、零售、醫(yī)療、物流、能源和工業(yè)等。
隨著人工智能時代的到來,數(shù)據(jù)在現(xiàn)代商業(yè)活動中也成為了最重要的競爭資源。巨頭公司利用數(shù)據(jù)壟斷的優(yōu)勢建筑起了行業(yè)壁壘。
例如,打車軟件公司擁有人們每天出行的數(shù)據(jù),包括乘客的起點與終點,他們可以利用這些數(shù)據(jù)來優(yōu)化自己的產(chǎn)品和業(yè)務(wù),甚至是用這些數(shù)據(jù)來進行一些預(yù)測,比如一個房地產(chǎn)價格指數(shù)或者一個政府道路優(yōu)化方案。
數(shù)據(jù)的融合可提高其價值,數(shù)據(jù)的交叉使用可產(chǎn)生協(xié)同作用。但因為數(shù)據(jù)本身的可復(fù)制性和易傳播性,一經(jīng)分享無法追蹤使用情況,數(shù)據(jù)資產(chǎn)的分享與協(xié)同開發(fā)受到嚴(yán)重制約。
既然如此,那數(shù)據(jù)保護的價值又從何說起呢?
被保護的數(shù)據(jù)如何產(chǎn)生價值?
雖然個人對隱私的保護、商業(yè)公司的數(shù)據(jù)保護,都是正當(dāng)?shù)睦嬖V求,但卻產(chǎn)生了一個個數(shù)據(jù)孤島。擁有數(shù)據(jù)源的中小型公司無法安全的將數(shù)據(jù)共享或變現(xiàn)。
對于數(shù)據(jù)使用者,大數(shù)據(jù)公司、開發(fā)者和科學(xué)家僅能接觸到有限的數(shù)據(jù)集,并且費用高昂。與運營商等大數(shù)據(jù)源的合作需要開發(fā)人員現(xiàn)場部署模型于數(shù)據(jù)源的服務(wù)器上,模型算法存在泄露風(fēng)險,且效率低下。
一方面,數(shù)據(jù)需要得到保護和隔離;另一方面,數(shù)據(jù)對人類社會的價值在于聯(lián)合在一起的計算和分析。這是否是一個不可破解的矛盾?
理想情況下,我們可以委托一個安全可信的第三方對數(shù)據(jù)進行計算。然而,現(xiàn)實中,要么數(shù)據(jù)太重要而沒有第三方,要么第三方會因為有了數(shù)據(jù)而擁有過多的權(quán)利,例如信用卡公司和電商公司,如果乙方能有對方的數(shù)據(jù),會非常可怕。
要解決這個問題,就回到了本文最初提到的「多方安全計算技術(shù)」(MPC)。通過MPC,我們可以實現(xiàn)聯(lián)合多方的隱私數(shù)據(jù),在沒有一個可信第三方的情況下,一起計算并得到分析的結(jié)果,而不擔(dān)心各自的數(shù)據(jù)被泄露。
MPC是一套基于現(xiàn)代密碼學(xué)的協(xié)議組,這個工具組里面有很多組件組成。
簡單的來說,這套工具組里面有零知識證明(ZKP)、概率加密、信息理論消息認(rèn)證碼(MAC),各種分布式溝通協(xié)議和不經(jīng)意的轉(zhuǎn)移(OT),以及最重要的基礎(chǔ)技術(shù):秘密共享和秘密分片計算是實現(xiàn)安全多方計算的基礎(chǔ)。
特別是,在被動對手的情況下,Shamir的多項式秘密共享是多方計算的基石,而Chor、Goldwasser、Micali和Awerbuch的可驗證秘密共享在拜占庭對手問題中起著類似的作用。
在過去35年中,MPC算法和工程設(shè)計得到了實質(zhì)性的改進,并且已經(jīng)達到性能上不需要考慮協(xié)議性能視為使用的主要障礙的程度。
MPC社區(qū)采用了事實上的基準(zhǔn),即在兩個參與者之間執(zhí)行AES加密,一個帶有加密消息,另一個帶有密鑰。 AES包含各種算術(shù)和布爾運算符,因此非常適合直接在硬件和MPC中進行計算。在過去十年中,安全計算提高了4-5個數(shù)量級。
出于比較目的和考慮摩爾定律的影響,下圖顯示了在相同時間段內(nèi)本機AES計算的性能。
通過MPC實現(xiàn)的性能提升
接下來,我們再來通過一個例子,更清晰的理解MPC的實現(xiàn)原理。請看下圖:
根據(jù)上圖所示,假設(shè)我們的目標(biāo)是聯(lián)合計算所有各方秘密數(shù)據(jù)的總和,這可以通過秘密共享來實現(xiàn)。
首先,每一方將其秘密號碼隨機分成三部分,并將其中兩部分別分享給其他部分。
然后,每個方在本地對來自其他對等方及其自身的所有三個共享進為了公開最終結(jié)果,每個方的本地總和(local sum)都會公開給同行(Peers)。
最后,任何一方都可以通過將所有三個公共本地總和相加來知道最終結(jié)果。
秘密共享的關(guān)鍵點在于,通過了解秘密共享,一方不會獲知有關(guān)私有數(shù)據(jù)的信息。例如,在通過揭示秘密共享5的三方計算中,秘密數(shù)據(jù)可以是10、79、-11這樣的隨機數(shù)字。即使知道秘密共享,該方也可以猜測私人數(shù)據(jù),而不是猜測隨機數(shù)。
由于在整個過程中沒有顯示隱私數(shù)據(jù),因此秘密共享計算可以保護隱私。對手方不能發(fā)現(xiàn)秘密信息。
正式因為擁有這樣的特性,MPC在現(xiàn)實世界中受到越來越多的重視,也被更多領(lǐng)域所采用。比如以下3類場景。
聯(lián)合征信
MPC可賦能金融、保險企業(yè)對客戶的負(fù)債率等風(fēng)險指標(biāo)進行聯(lián)合分析。目前各家金融、保險、資產(chǎn)管理機構(gòu)只掌握客戶部分?jǐn)?shù)據(jù),從而導(dǎo)致風(fēng)險評估誤差。聯(lián)合分析不泄露各參與方數(shù)據(jù),對客戶的風(fēng)險有整體評估,在多頭借貸等場景下能有效降低違約風(fēng)險。
多維度健康分析
MPC賦能醫(yī)療機構(gòu)對病人在多家醫(yī)院的病歷和智能硬件生物數(shù)據(jù)進行分析,從而在病人、醫(yī)院和智能硬件廠商數(shù)據(jù)不泄露的情況下,對病人有更精準(zhǔn)的診斷。同時,針對醫(yī)療機構(gòu)的聯(lián)合數(shù)據(jù)分析可以讓藥品研究機構(gòu)對某特定地區(qū)特定病種有更全面的了解。
聯(lián)合精準(zhǔn)營銷
MPC賦能商戶對潛在客戶多維度信息進行分析,從而更精準(zhǔn)的投放廣告。廣告投放機構(gòu)可以從更多數(shù)據(jù)維度對客戶購買意向建模,且數(shù)據(jù)源不泄露個人隱私數(shù)據(jù)。
MPC與現(xiàn)實世界
以上是幾個例子過于簡單,現(xiàn)實世界的情況比這更復(fù)雜。
例如,用于添加的MPC是容易的,因為可以在秘密共享上本地計算加法操作。但是,乘法更加困難,因為如果沒有其他工具幫助,它不能單獨在本地共享上計算。不過利用同態(tài)加密(Somewhat Homomorphic Encryption, SHE),有更復(fù)雜的MPC協(xié)議可以實現(xiàn)安全的乘法。
好消息是任何函數(shù)都可以轉(zhuǎn)換為加法和乘法的組合,因此基于秘密共享的MPC能夠進行任何類型的通用計算,就像現(xiàn)代PC一樣。
另一個例子是主動惡意節(jié)點(Actively Malicious)。主動惡意被定義為節(jié)點將偏離協(xié)議,與被動惡意相反,其中節(jié)點試圖學(xué)習(xí)其他對等方秘密數(shù)據(jù)但始終遵循協(xié)議。
在上述秘密共享示例中,雖然沒有節(jié)點可以學(xué)習(xí)其他私有數(shù)據(jù),但是惡意節(jié)點可以發(fā)布錯誤的本地共享總和,從而使所有其他對等體學(xué)習(xí)錯誤的最終結(jié)果。
有各種方法可以發(fā)現(xiàn)這種惡意行為,甚至可以防止這種行為的發(fā)生。最流行的一種稱為消息驗證代碼(MAC),其中每個操作都與一個數(shù)字相關(guān)聯(lián),以驗證其正確性。一旦節(jié)點發(fā)出錯誤的消息,這個錯誤將很容易被其他節(jié)點驗證。
而偽造一個能通過驗證的錯誤數(shù)據(jù)的難度將是極其困難,這個難度非常大以至于造假的成本大于數(shù)據(jù)的收益。
MPC與其他實現(xiàn)技術(shù)的對比
除了MPC之外,還有一些能夠?qū)崿F(xiàn)類似功能的技術(shù),包括同態(tài)加密、零知識證明、可信執(zhí)行環(huán)境等。
但這些技術(shù)與MPC相比,都有一定的不足,我們一個個的來看看。
同態(tài)加密
同態(tài)加密(HE)是一種加密形式,允許對密文進行計算,生成加密結(jié)果,加密后的結(jié)果與操作結(jié)果相匹配,就好像它們是在明文上執(zhí)行一樣。
使用這樣的工具,可以在不危及數(shù)據(jù)隱私的情況下外包存儲和/或計算。 因為HE允許在保持加密的同時計算加密數(shù)據(jù),所以它已被廣泛研究作為安全計算的候選者。
然而,即使最前沿同態(tài)加密方案仍然不能提供計有效運算深度算術(shù)電路。
首先,“bootstrapping”為已經(jīng)非常繁重的過程增加了額外的成本。 目前,HE的實際應(yīng)用主要集中在評估函數(shù)的優(yōu)化上,這通過限制電路倍增深度來避免昂貴的過程。
此外,根據(jù)該方案和目標(biāo)安全級別,使用HE方案將導(dǎo)致巨大的密文擴展(從2,000到500,000甚至1,000,000倍的開銷)。這是因為同態(tài)方案必須是概率性的,以確保語義安全性和特定的基礎(chǔ)數(shù)學(xué)結(jié)構(gòu)。正如我們所看到的,SHE方案在HE變體中是最有希望的,它將在我們后面提到的安全計算程序中使用。
零知識證明
零知識證明(ZKP)是一種這樣的方法:一方(證明者Peggy)可以向另一方(驗證者Victor)證明她知道值x,而不傳達任何信息,除了她知道值x(讀起來好繞口)。
最近很多的區(qū)塊鏈項目在嘗試?yán)肸KP作為可信的離線計算解決方案。在這些協(xié)議中,該運算模塊被編譯成電路并傳輸?shù)降谌綀?zhí)行環(huán)境,在該環(huán)境中將使用該電路評估數(shù)據(jù)。
不過,與FHE方案類似,ZKP無法證明在遠(yuǎn)程環(huán)境中完成的實際工作量。 除此之外,ZKP也無法保證計算是從惡意方的黑客手中獲得的。
可信執(zhí)行環(huán)境
可信執(zhí)行環(huán)境(TEE)是一種在防分離內(nèi)核上運行的防篡改處理環(huán)境。理想的TEE保證了執(zhí)行代碼的真實性、運行時狀態(tài)、寄存器、內(nèi)存和敏感I / O的完整性、以及存儲在持久內(nèi)存中的代碼、數(shù)據(jù)和運行時狀態(tài)的機密性。此外,它應(yīng)能夠提供遠(yuǎn)程證明,證明其對第三方的可信賴性。
硬件制造商渴望提出他們自己的可信硬件解決方案,但缺乏不同平臺的通用標(biāo)準(zhǔn)。 最杰出的工藝單元設(shè)計人員已將其硬件安全模塊嵌入其產(chǎn)品中(例如英特爾軟件保護擴展(SGX),ARM TrustZone,AMD安全加密虛擬化(SEV)和NVIDIA可信小內(nèi)核(TLK)。
然而,最近的一些黑客攻擊證明SGX還不能夠承載協(xié)議級別的數(shù)據(jù)安全保護。 事實上,這種看似安全的協(xié)議并不安全。
遠(yuǎn)程鑒權(quán)不會阻止一個惡意云服務(wù)提供商首先忠實地響應(yīng)遠(yuǎn)程證明查詢,然后在enclave外部模仿遠(yuǎn)程鑒定協(xié)議(例如KeyGen和CSR)。
換句話說,SGX不是為“通用組合”(Universal Composition)設(shè)計的協(xié)議,其中協(xié)議的真實行為和理想世界定義(功能)在計算上對于每個對手控制的環(huán)境都是無法區(qū)分的。簡單來說,使用TEE,可以信任硬件,但不能信任控制硬件的人。
在對即同態(tài)加密、零知識證明和可信執(zhí)行環(huán)境有了基本了解之后,我們可以得出這樣的結(jié)論:雖然某些技術(shù)具有計算效率等優(yōu)勢,但它們無法提供無先驗網(wǎng)絡(luò)(permissionless network)所需的安全性和功能。
具體來說,一個好的技術(shù)解決方案,需要能夠驗證計算的安全性,正確性和隱私保護性:
效率:計算的效率
隱私保留:在這里指的是在不向任何節(jié)點透露細(xì)節(jié)的前提下,數(shù)據(jù)集上的函數(shù)計算能力。這是安全計算的核心。
證明正確性:證明計算工作實際上是使用規(guī)定的函數(shù)。在無信任的網(wǎng)絡(luò)中,證明以正確的方式執(zhí)行某個函數(shù)是非常重要的。
安全性證明:證明計算實際上是在安全環(huán)境中進行的。
那么從MPC與上述3中技術(shù)的對比中,我們可以得到如下結(jié)論:
最后,MPC是一個龐大的密碼學(xué)領(lǐng)域,在密碼學(xué)和分布式系統(tǒng)中結(jié)合了許多概念和工具,它是一個不斷發(fā)展的活躍研究領(lǐng)域。
希望這篇文章能帶給你關(guān)于什么是MPC以及隱私計算為什么是可能的。在以后的文章中,我們將帶來關(guān)于密碼學(xué)更多更加深入的主題。小伙伴們敬請期待!
*關(guān)于作者:
章磊,ARPA聯(lián)合創(chuàng)始人&首席科學(xué)家,美國喬治華盛頓大學(xué)金融工程碩士,擁有十年深度學(xué)習(xí)、AI算法和風(fēng)險建模經(jīng)驗,并對密碼學(xué)有深度鉆研。曾于硅谷最大的股權(quán)眾籌公司CircleUp擔(dān)任資深數(shù)據(jù)科學(xué)家;此前其就職于世界銀行、AIG、PineBridge等大型金融機構(gòu),精通人工智能和量化策略。同時章磊于2017年創(chuàng)立星塵數(shù)據(jù),為AI行業(yè)提供數(shù)據(jù)賦能。
ARPA是一家專注于安全加密計算和區(qū)塊鏈底層技術(shù)的研發(fā)的公司,其核心產(chǎn)品為基于安全多方計算的隱私計算平臺,并提供全套區(qū)塊鏈+安全計算解決方案。同時ARPA作為行業(yè)成員,參與起草了工信部中國信息通信研究院即將出臺的安全多方計算標(biāo)準(zhǔn)。(作者 | 章磊)
關(guān)鍵詞: 數(shù)據(jù)使用 MPC 所有權(quán)