隱私比較是指在不暴露雙方具體數值的前提下,獲取雙方數值的大小關系。最早起源于姚期智的百萬富翁問題:有兩個百萬富翁想要比較下誰更富有,但是又不想透露自己有多少錢,如何在沒有可信第三方的情況下進行比較?這個問題是由中國第一個也是目前為止唯一一個圖靈獎獲得者姚期智在1980年代提出的,他是中國計算機學術和教育的第一人,為現代密碼學打開了一道新的大門。
在之前的文章《優雅的求職——隱私比較算法實例》中已經通過求職案例介紹了隱私比較的應用場景以及如何實現,本文則主要介紹一種在當前效率比較高的隱私比較協議。
該協議是CrypTFlow2:Practical2-PartySecureInference中提出的一個子協議,并基于此協議實現DRelu激活函數應用于神經網絡中。
--相關技術--
該協議主要使用了布爾秘密分享和不經意傳輸兩種技術進行構建:
▲?不經意傳輸
不經意傳輸(OT,ObliviousTransfer)是指數據發送方有n個數據,數據接收方接收其中的一個數據,且數據接收方不能獲取其他的數據,數據發送方也不知道接收方選擇接收的數據具體是哪一個。在之前的文章《基于安全多方計算(MPC)的隱私計算技術(一)》中已介紹過一種實現方案,故本文不再贅述。
IMF:加密貨幣與亞洲股市相關性顯著上升,監管機構需解決“數據差距”:金色財經報道,8月21日,國際貨幣基金組織(IMF)發布文章稱,亞洲地區加密貨幣交易量與股票市場的連動性現已大幅增長,由此凸顯出監管的必要性。IMF表示,世界上很少有地方像亞洲那樣接受加密貨幣資產,亞洲的頂級用戶包括印度、越南和泰國等國的個人和機構投資者,這就引出了一個重要的問題,即加密貨幣融入亞洲金融體系的程度。
隨著亞洲投資者扎堆進入加密貨幣,該地區股市表現與比特幣和以太坊等加密貨幣資產之間的相關性有所提高。雖然在疫情之前,比特幣和亞洲股票市場間的回報和波動相關性較低,但自2020年以來,此相關性已顯著上升。
如,比特幣與印度股市的回報相關性在新冠疫情期間增加了10倍,這表明加密貨幣的風險分散收益有限,而波動性相關性增加了3倍,表明加密貨幣和股票市場的風險情緒可能會溢出。
IMF認為,亞洲加密貨幣和股票市場互聯性增強的關鍵驅動因素可能包括股市和場外交易市場對加密貨幣相關平臺和投資工具的接受程度不斷提高,或者更普遍地說,亞洲散戶和機構投資者對加密貨幣的接受程度不斷提高,其中許多人在股票和加密貨幣市場均有頭寸。[2022/8/22 12:40:57]
▲?布爾秘密分享
國內首家社區型食物銀行利用區塊鏈技術解決“余量月餅”問題:金色財經報道,上海長寧區組織了一場“余量月餅大改造”,旨在利用食物銀行解決余量月餅問題。國內首家社區型食物銀行上海綠洲公益發展中心利用區塊鏈技術,建立起了龐大的食物信息數據庫,確保每一份進入循環利用網絡的食物都是安全可靠的,既避免了浪費,也惠及了困難戶。(北京青年報)[2021/9/21 23:39:54]
在安全多方計算中會使用秘密分享將數據進行拆分后分享出去,每一方拿到每個數據的相應碎片,對于原始數據的計算邏輯都會轉為對碎片的計算,在整個計算邏輯完成后,再將碎片的計算結果進行匯聚還原以獲取原始數據的計算結果。
布爾秘密分享是指將一個布爾值b拆分成兩個碎片b0、b1,將兩個碎片匯聚到一起即可還原出原始數據b。
碎片生成:隨機生成一個布爾值b0,并和b執行異或計算出b1=b0⊕b
碎片還原:對兩個碎片執行異或操作
b=b0⊕b1
異或運算:布爾秘密分享在異或操作上是滿足同態性質的,在本地通過對碎片進行異或操作再還原就等價于對原始數據的異或操作
聲音 | 慢霧余弦:MimbleWimble并沒完全解決“交易隱私”問題:區塊鏈安全公司慢霧創始人余弦發微博稱,MimbleWimble并沒完全解決“交易隱私”問題,它讓交易在區塊鏈上不會暴露隱私,這個實現確實很漂亮,但由于它交易的特殊性,這導致相比其他匿名貨幣,基于 MimbleWimble 實現的在鏈下隱私與安全會遭遇更大挑戰。[2019/3/22]
a=a0⊕a1,b=b0⊕b1
a⊕b=(a0⊕b0)⊕(a1⊕b1)
與運算:布爾秘密分享對于與操作不滿足同態性質,使用不經意傳輸技術以實現安全的與操作:
Alice持有碎片a0和b0,Bob持有碎片a1和b1,通過與運算使得Alice獲取c0,Bob獲取c1,c0⊕c1=(a0⊕a1)∧(b0⊕b1),并保證雙方碎片的安全;
Alice作為不經意傳輸的發送方,隨機生成一個布爾值r作為c0,并按下圖生成不經意傳輸的輸入:
動態 | Fetch.AI嘗試全新方式解決“區塊鏈三難困境”達成共識:今日,Fetch.AI透露了他們在“區塊鏈不可能三角”挑戰上的技術突破,以一種全新的方式達成共識。與現有平臺相比,該協議采用一種股權證明(PoS)方案,實現了嚴格按照交易順序以及更快速的確認時間和更高的安全性。
Fetch.AI研發主管Jonathan Ward表示:“區塊鏈技術人員長期以來都明白,要在安全性、去中心化、可擴展性之間實現正確的平衡,面臨著‘三難困境’。我們達成共識的新方法使用了離散的隨機信標,這反過來又允許我們首次利用了真正分散的DAG和確定地交易排序。這意味著我們可以在不顯著影響安全性、去中心化妥協的情況下,擴展目前的現有系統,實現在單個分片上每秒處理3萬筆交易。”[2019/3/15]
Bob作為不經意傳輸的接收方將自己的碎片a1,b1拼接成a1||b1作為不經意傳輸的選擇項獲取數據r⊕((a0⊕a1)∧(b0⊕b1))作為c1;
可驗證c0⊕c1=r⊕r⊕((a0⊕a1)∧(b0⊕b1))=(a0⊕a1)∧(b0⊕b1);
本質是將與運算的所有可能性羅列出來,加入隨機項后由另一方根據自己的數據選擇混淆后的計算結果。
馬化騰:用區塊鏈解決“處方不被篡改”的難題:5月28日,騰訊董事會主席兼首席執行官馬化騰在演講時表示,數字技術對物理世界的重塑精度也越來越高,有一個“互聯網+醫療”的案例,這幾年我們和醫院攜手從掛號支付數字化入手,微信解決患者就診全流程。在廣西探索全國首例處方流轉服務,院內開方,院外購藥,甚至送藥上門。用區塊鏈解決處方不被篡改這樣的難題。[2018/5/28]
--實現思路--?
▲明文比較
首先不考慮比較運算的隱私性,平常情況下兩個數是如何比較大小的:
將兩個數對齊為相同長度的數字數組,長度不夠的則在前面補0a=123,b=5879,a=>,b=>
對兩個數組里面的數字進行順序比較,如果對應位的數字相等,則繼續比較下一位,直到有一位不相等,最早不相等那位的比較結果即為兩個數據的比較結果,若所有位的數字都相等,則兩個數據相等。整個過程可歸納為以下公式:X,Y都是長度為n的數據,1{X,滿足大括號內條件時為1否則為0
X=x0||x1||x2||...||x(n-1),Y=y0||y1||y2||...||y(n-1),xi,yi表示拆分后的第i位數據
Xi=xi||...||x(n-1),Yi=yi||...||y(n-1),用于表示去除前i-1位后的數據
1{X(1{x0=y0}∧1{X1<Y1})
1{X1
...
1{X(n-1)
▲不安全的隱私比較
如果要將上述比較方案轉為隱私比較,最容易想到的方案是將兩個最小比較單位的數的比較隱私化,在之前的文章《優雅的求職——隱私比較算法實例》中已經介紹過:對于兩個最小比較單位的比較可通過不經意傳輸協議來完成。這樣確實是保證了單個最小比較單位的安全性,但是對于某些情況,會暴露出數據的一些情況:
a=1230?b=1231,對于這兩個數字的比較,如果b作為ot的接受方也就是最小比較單元數據比較結果的獲取方,按照上述方案進行比較,會有兩點額外信息被泄露:
1)在前幾位相同的情況下:b會知道a的前三位是123;
2)兩個最小單元的數據是最小單元范圍的兩端數據:b會知道a的最后一位是0;
而根據以上兩個信息b甚至可以直接反推出a的數據,在這種情況隱私比較也就不隱私了。
▲?消除不安全
本論文中的隱私比較協議,整個比較思路和上面不安全的隱私比較是一致的,但是該協議引入了秘密分享技術,在通過不經意傳輸協議獲取比較結果時發送方對每個數據都混淆上一個隨機項,這樣雙方都不會獲取到最小比較單元數據的比較結果,而是比較結果的碎片,并使用碎片按照明文比較的流程遞歸的進行比較,所有最小比較單元都比較完成后,再將比較結果的碎片進行還原以獲取整個數據的比較結果。
由于最小單元的比較結果都是碎片,到比較結束才會還原遞歸計算的結果,就避免了獲取最小比較單元比較結果導致的信息泄露。
--協議流程--
Alice擁有數據x,Bob擁有數據y,數據的二進制長度為l,最小比較單元的二進制長度為m,劃分的最小比較單元個數為q=l/m,最小比較單元的十進制最大值為M=2^m-1
1)雙方分別劃分數據:x=x0||...||x(q-1),y=y0||...||y(q-1)
2)對于所有的最小比較單元xi(0<=i通過不經意傳輸獲取每個最小比較單元比較結果的碎片
Alice作為不經意傳輸的發送方準備數據:隨機生成布爾值_0,_0,分別作為xi是否小于和等于yi的布爾分享碎片,對于0<=j<=M,分別設置兩個不經意傳輸實例的輸入為:sij=_0⊕1{xi
tij=_0⊕1{xi=j}
Bob將yi作為輸入分別執行兩個不經意傳輸實例,獲取兩個比較結果的碎片:例如當m取2時,Alice的第一個最小比較單元x0=2,Bob的第一個最小比較單元y0=1,Alice隨機生成_0,_0,并按下表生成兩個不經意傳輸的輸入:
Bob使用y0作為兩個不經意傳輸的選擇項,獲取:
_1=0⊕_0,_1=0⊕_0
3)所有最小比較單元比較完成后,雙方都獲取了對應的最小比較單元間是否小于和是否等于的布爾分享碎片,即可按照明文比較流程,使用碎片遞推計算出最終比較結果的碎片。
對于碎片的異或操作,只需要進行本地對碎片進行異或就行。對于碎片的與操作,則需要按照上面介紹的方案通過不經意傳輸計算出結果的碎片。
在遞推過程中主要有兩個地方需要執行與操作:
當前面所有比較單元相等,需要比較下一個時:1{x0||x1=y0||y1}∧1{x2<y2}
計算前面所有比較單元是否都相等時:1{x0||x1=y0||y1}=1{x0=y0}∧1{x1=y1}
--總結--
該協議整體思路和明文的比較流程一致,并使用不經意傳輸和秘密分享技術保證數據的隱私性,也是當前效率比較高的協議。
對于單個元素的比較,與運算的OT實例,無法通過OT擴展進行優化,因為需要進行遞歸的計算,前后有依賴關系。對于批量元素的比較則可在縱向對于相同位置與運算的OT實例通過OT擴展來優化效率。
作者簡介
劉敬趣鏈科技數據網格實驗室BitXMesh團隊
參考文獻
原論文:RatheeD,RatheeM,KumarN,etal.CrypTFlow2:Practical2-partysecureinference//Proceedingsofthe2020ACMSIGSACConferenceonComputerandCommunicationsSecurity.2020:325-342.
創造了世界上第一個“智能NFT”的軟件開發商AlethaAI剛剛通過私人代幣銷售獲得了1600萬美元的資金,以創建一個由其機器人填充的元宇宙.
1900/1/1 0:00:00巴比特訊,8月27日,Play-to-earnNFT項目AxieInfinity在推特上表示,Play-to-Earn是工作性質的一個重要轉變.
1900/1/1 0:00:00據Cryptonews8月18日消息,主要由國家經營的俄羅斯能源公司Yantarenergosbyt將推出一個利用區塊鏈技術的能源購買平臺,目前正在尋求私營部門的幫助以實施其計劃.
1900/1/1 0:00:00“Firsttotheegg!”斯皮爾伯格《頭號玩家》的上映,為無數影迷和游戲迷呈現出一個龐大又真實的虛擬世界.
1900/1/1 0:00:00據Oicanadian消息,哥斯達黎加央行行長RodrigoCubero發布一份名為“圍繞數字貨幣和加密資產的一些考量”的文件.
1900/1/1 0:00:00用戶體驗(UX)描述了人們在與系統或服務交互時的感受,包括多個因素,包括可用性、設計、營銷、可訪問性、性能、舒適度和實用性。唐諾曼曾經說過,“萬物皆有個性;一切都發出了情感信號.
1900/1/1 0:00:00