公開程式碼支援系統加速MPC加密技術

作者 : imec

本文探討MPC技術可行或不可行的觀點及在哪些應用上發揮附加價值,並分析這項密碼學奇蹟為何還在尋找商用的甜蜜點...

過去20年間,個人與工作生活逐漸走向數位化。一方面,這突破了我們對溝通、合作與娛樂方式的想像,但另一方面,這也使得我們更容易受到資料誤用與竊取的侵害,尤其當這些資料與內部安全金鑰全都列為集中式管理。於是朝向安全多方運算(multi-party computation,MPC)技術發展。

MPC技術是加密技術的次分支。利用這項技術,不同機構或是同一機構內部的不同部門在使用各自的私密資料來共同進行運算時,可以避免向彼此或第三方揭露這些資料,就能取得運算結果。

imec設於比利時魯汶大學的「電腦安全與產業密碼學(Computer Security and Industrial Cryptography,COSIC)研究團隊」將於本文探討MPC技術可行或不可行的觀點及在哪些應用上發揮附加價值,並分析這項密碼學奇蹟為何還在尋找商用的甜蜜點。

四個銀行家的故事

MPC技術的研究可以追溯到1980年代,全球首次實際應用則是在2018年丹麥舉行的一場甜菜拍賣會。當時,MPC技術被用來保護多位買家與賣家願意競標與成交的價格訊息。這項技術最終可以在不揭露這些標價細節的情況下,配對出買賣雙方合意的得標價格。

另一個常用來解說MPC技術的例子是四個銀行家的故事。想像有四位銀行家要一起去吃午餐,他們達成協議獲得最多獎金的人要負責買單,不過有個重要前提,就是誰也不能透漏各自實際拿到的金額。換句話說,他們全都隱藏了需要輸入的機密資料(自己得了多少獎金),但卻要比較出誰拿得多,才能確定買單的人。這時MPC技術的概念就能派上用場,也就是進行必要的運算,同時確保每位銀行家的資料隱私與安全無虞。

從分割敏感性資料到婚姻諮商式的資料交換

MPC技術通常用來支援兩種應用,不是用來分割敏感性資料,就是處理婚姻諮商式的資料交換。

前者案例可能是某間公司持有一把簽名金鑰,用來管理其加密貨幣錢包,或是執行軟體更新。與其將金鑰固定存放一處,這間公司可以透過MPC技術,就能有效強化其系統安全性。如此一來,MPC技術就能分割這把金鑰,而且之後也不需要把片段重組就能進行控制。

後者案例則牽涉了不同的機構或是同機構跨部門,在彙整資料的同時也要保密輸入資料,想想四個銀行家的故事。另一個著名案例是波士頓薪資調查,該調查根據200多家公司的人力資源消息,對波士頓地區的男女平均薪資進行比較。MPC技術在此也被用來擷取所有有用的統計數據,同時確保不會洩漏任何隱私細節。

Facebook與Google現正開發中

目前,MPC技術最適合用來結合那些執行描述性統計資料分析的應用程式。像是先前提到需要運算特定產業平均薪水的波士頓薪資調查,其他案例包含感測器資料的分析。不論是上述何者,MPC技術都能協助安全地達成目標。

像是Facebook和Google等公司都已開始訴諸MPC技術,無論他們是不是用來開發特定問題的解決方案。舉例來說,Google運用MPC技術來分析廣告瀏覽人數與廣告業者招攬新客之間的關聯,期間不需分享任何一方的資料。

此外,Facebook的研究人員表示,MPC技術能幫助他們建立保障隱私的情境融合Bandit演算法模組。這些演算法是該公司實現高效能推薦系統與搜尋引擎的重要基礎。Facebook的這項技術取名CrypTen,據稱能夠了解情境訊息(也就是先前所說的機密資料(乃由多方持有,而且各方皆不願分享這些資料給彼此。基於這點認知,Facebook聲稱CrypTen能讓他們訓練出尊重用戶隱私考量的AI模型。

未來應用不再只是解決單一問題

很明顯,MPC技術概念極具發展潛能,多到難以計數的新創(主要是歐洲地區)都在進行研究。然而,這項技術目前只用來解決特定的單一問題,像是金融、加密貨幣或是程式碼簽章的領域。真正的商用甜蜜點還未尋獲,因為MPC技術錯綜複雜,需要非常熟悉IT領域的公司提供專業見解並長期投入資金。

就以健康照護和醫院為例,我們現在仍深陷全球疫情,因此,讓醫院之間交換資料並確保個資隱密似乎成為史上最切身緊要之務。但事實上,應對這項挑戰根本並非醫院IT部門的職務。加上,醫院蒐集的資料種類繁多,從血壓測量到身體掃描,還有醫師字跡難辨的手寫病歷,這些都加劇MPC應用的複雜度。

我們也常觀察到一些企業開始研究採用MPC技術來保護應用程式內部隱私資料的可能性。這麼做起初看似合理,但仔細分析後,這項應用本身就違反了隱私權規定。例如,公司為了最佳化業務流程,可能會想從應用程式擷取用戶的個人資料來「保管」隱私訊息,但擷取個人資料本身就會引發危害隱私權的疑慮,而且不論導入再多的附加安全技術,都不能減輕過程中對用戶隱私的侵害。

其實,這個問題也是我們四個銀行家故事裡面臨的潛在挑戰之一,也就是最終結果仍會公開,大家都會知道哪位銀行家去結了帳,所以這種應用對保護隱私本就不友善。換言之,在這類情況下,MPC技術並不能提供附加價值。

到目前為止,具備高複雜性和缺乏商用甜蜜點是阻礙MPC技術應用推廣的兩大挑戰。就性能來說,甜蜜點不在演算法模組上層的函數之中,因此許多機器學習應用的現代演算法都被排除在外。

公開支援系統SCALE-MAMBA助攻MPC技術開發

設於比利時魯汶大學的COSIC研究團隊以研究MPC技術聞名,鎖定三大方面:首先是可行性分析。COSIC研究人員鎖定MPC技術可能帶給哪些應用高附加價值,例如他們在與歐洲央行進行非正式接洽後,研究了不同的演算法,要在進行金融系統流動性風險評估時,確認相關銀行的財務現況機密不被洩漏。

接著,他們會建立增強型協定來開發全新的MPC安全系統,這包含了研究基本的加密協定、開發全新協定、優化現有協定並為新興應用進行改良。最後,他們已經開發出程式語言與支援系統SCALE-MAMBA,開放MPC技術愛好者研究之用。該系統可在Github下載,提供相關研究人員與IT工程師體驗防止重要或敏感訊息外洩的加密資料運算機制。SCALE-MAMBA的特點是與商用系統非常類似,與學術研究系統追求速度的設計不同。

儘管如此,SCALE-MAMBA現階段並不打算走向商用。事實上,這套系統特別以開源形式推出,目的就是要讓企業和其他研究人員可以用於實驗。有幾家公司已經開始在自家產品中採用SCALE-MAMBA的模塊,他們也把研究發現與進度回饋給開源社群。如此一來,所有人都能享受雙贏局面,重點是要勇於嘗試MPC技術。

 

 

 

 

加入我們官方帳號LINE@,最新消息一手掌握!

發表評論