隱私計算:Zoom安全問題分析和解決方案

買賣虛擬貨幣
近期,Zoom因為其一系列的安全問題,被推到風口浪尖。Zoom的安全漏洞導致大量使用者資料洩漏,數萬份私人會議影片被公佈在公開網站上。而Zoom在其安全相關的白皮書中提到“採用了端到端加密”,實際上卻不是真正意義上的端到端加密。其中的緣由和差別到底是什麼?本文將對此詳細介紹。什麼是端到端加密工業界常說的端到端加密(End to End Encryption,E2EE)是指訊息或資料在傳送者和接受者這兩端流動時是全程加密的,也就意味著資料只能這兩端可見。而在現有的絕大部分產品架構中,一定存在服務提供商或者產品後臺連線各個使用者。因此,E2EE主要的功能是在防止資料在流轉過程中被竊聽和篡改。

如下圖所示,透過後臺伺服器,使用者之間可以建立資料傳輸通道。可以簡單的將服務提供商理解為“路由器”,負責把訊息或者資料從使用者A傳送至使用者B。在此通道基礎之上,E2EE可以為使用者A和使用者B之間建立一個私有通道,用以傳輸敏感資訊。在E2EE通道中傳輸的資料,即使伺服器(不知道E2EE通道的金鑰)也無法獲取其中的資訊。

Zoom使用的“端到端加密”

Zoom宣稱的端到端加密實際上是另一種方式。是在使用者和服務提供商之間建立了安全通道,這樣可以防止其他的人竊聽和篡改使用者和伺服器之間的互動資料。如下圖所示:

先不論Zoom建立安全通道和加密資料的具體技術和演算法。在整體架構中,Zoom所指的端到端加密是不同的使用者端分別與伺服器端建立的安全通道。如果使用者之間要傳遞資料,比如A發資訊給B,服務提供商必須先解密安全通道A中的資料,再透過安全通道B加密傳送給B。也就意味著,服務提供商可以獲取所有使用者通訊的資訊和資料。

Zoom採用的是標準的TLS來建立使用者與伺服器之間的安全通道。但是由於不透明的中心化金鑰管理和金鑰生成方式,以及不當地使用AES加密演算法,因而造成了極大的安全隱患。同時,由於並沒有採用真正的端到端加密,使用者的影片資訊可以由Zoom服務端完全獲取,造成了Zoom影片資料洩漏的一個重要原因。

Zoom中最為常用的功能是群組會議或者影片,這其實對端到端加密有更強的要求。理想情況下,參與群組會議的所有人之間需要建立一個端到端加密通道,也就意味著群組會議中的任何資訊,包括語音和影片,只能由參與會議的人獲取。如何建立群組會議的端到端加密通道,如何在參與人數較多時不影響效能,都會是潛在的挑戰。

端到端加密的困難性

當然,安全建立和使用端到端加密通道是有一定的難度的。這個難度不僅僅在演算法上,也體現在整個產品的安全架構上。值得注意的是,隱私保護與安全並不完全等同。透過端到端加密可以保護資料隱私,但是從整個安全形度上來看,依然需要其他的機制來保證整個系統的安全性。下面著重介紹建立安全的端到端加密通道可能需要面臨的問題。

金鑰管理:

金鑰管理一直是隱私保護中最為薄弱,也最為重要的一環。採用密碼學演算法進行資料的隱私保護,其安全性會完全歸結到金鑰上。因此,在建立和使用端到端加密通道時,金鑰的全生命週期管理會成為重中之重。

在E2EE的資料加密過程中,一般會採用對稱加密的方式。也就意味著參與方之間需要預先共享一個金鑰。由此,需要透過金鑰協商的方法來建立該共享金鑰。這就是經典的金鑰協商和分發的問題。這個問題在多人群組會議的場景下會更加複雜。

端到端加密通道的金鑰的安全使用和儲存也是難點之一。以Zoom為例,客戶端軟體完全由Zoom開發,如何保證軟體中不會存在惡意程式碼直接將客戶端的金鑰傳送回服務端?如何保證使用後的金鑰已經被安全的銷燬?其實,所有類似的場景,產品提供方都存在著“自證清白”的問題。

效能影響:

使用者體驗往往是線上通訊產品成功與否最重要的因素之一。甚至可以說,Zoom的安全隱患一定程度上是由於追求極致的使用者體驗造成的。特別是群組影片的場景,對流資料的加解密處理不可避免的需要損失一定的效能,加密資料的傳輸也會造成更大的網路負荷,從而引起卡頓的情況。在參與人數較多的場景下,對於伺服器,終端裝置的配置要求勢必會更高。

可能的密碼學解決方案

密碼學為資料隱私保護提供了非常豐富的技術手段。針對為群組會議、影片建立端到端加密通道的問題,其實也存在許多密碼學演算法。當然,單純的演算法不能完全解決所有的安全問題,這裡只是提供一個可能的技術方向。真正完美的解決這類安全問題,需要有非常複雜的方案設計和安全架構設計。這裡介紹一種密碼學演算法作為可能的解決方案——代理重加密(Proxy Re-Encryption,PRE)。

在這之前,稍微解釋一下密碼學中較為常用的概念。密碼學中的加密體系大體分為兩類,非對稱密碼體系和對稱密碼體系。可形象的如下圖所示:

在非對稱密碼體系中,或者我們常說的公鑰密碼體系,金鑰分為公鑰和私鑰(兩個金鑰是非對稱的)。公鑰像一把開啟的鎖,任何人可以把檔案(資訊)放到盒子中(演算法),用這把鎖將盒子鎖起來(加密)。私鑰像是我們常用的鑰匙,任何擁有鑰匙(私鑰)的人,可以開啟鎖(解密),拿出盒子裡的檔案。並且,沒有鑰匙(私鑰)的人並不知道盒子裡的東西。

在對稱金鑰體系中,加密和解密使用的是同一個金鑰(因而稱為對稱金鑰)。這裡可以想象一個已經內建一把鎖,並且留出鎖孔的盒子。這意味著,在把檔案放到盒子中後,鎖上盒子(加密)和開啟盒子(解密)都需要使用同一把鑰匙(私鑰)。

兩種加密體系均有各自的特點:

非對稱加密體系在分發金鑰非常方便,只需要把公鑰(鎖)公佈出去,自己保留私鑰(鑰匙)即可。但是整體的加解密效能相對較差。

對稱加密體系在金鑰分發時非常麻煩,但是加解密的效能非常快,大約比非對稱加密快兩個數量級左右。

代理重加密(Proxy Re-Encryption):

我們開始介紹代理重加密。在這個系統裡,存在著三個角色,使用者A,使用者B和代理(Proxy),這個代理可以看做是上述中的伺服器或者服務提供商。PRE本身可以看做是一種特殊的非對稱加密體系。簡而言之,代理在不看到資料的前提下,可以將使用者A的密文轉變為使用者B的密文。我們用下圖來更形象的理解這個過程。

使用者A希望將自己的資訊(比如照片,大量的文件等)分享給使用者B。與傳統情況(直接用B的公鑰加密後傳送)不一樣的地方在於:使用者A期望在後來可以繼續將這些檔案再分享給更多人,比如C,D,E等等,但是不願意反覆利用傳統的方式傳送。因為這會帶來大量的計算和頻寬需求(需要反覆加密和傳輸)。

代理重加密是這樣的一個過程:

a. 使用者A利用自己的公鑰(藍色的鎖)加密資料,然後將其上傳至代理。因為私鑰(藍色鑰匙)在使用者A手上,所以代理得不到任何的資料資訊。

b. PRE中有一個“神奇”的轉換過程——重加密。代理可以將A的密文轉換為B的密文(黑色的鎖)。這個過程中代理無法看到資料,並且兩個密文中的資料是完全一樣的。(實際上,代理可以進行該操作是必須透過使用者A授權的,授權的方式是由A生成的某個特有的資訊傳送給代理,代理用該資訊進行重加密。注意,這個授權資訊不是A的私鑰)。

c. 使用者B可以下載此密文,並且解密(黑色鑰匙)得到其中的資料。

PRE中“神奇”的重加密過程,可以用來解決群組會議或者影片的金鑰分發問題。下面將以簡化的方式,一點點為大家介紹。

假設使用者A希望發起群組會議或者影片,使用者A首先會選取一個隨機的會話金鑰(紅色鑰匙),該會話金鑰是對稱金鑰,將會在實際的資料互動中用於加解密操作。

在選取會話金鑰之後,使用者A則利用自己的公鑰(黑色的鑰匙)加密該會話金鑰,然後傳送給服務提供商(比如,Zoom的後臺伺服器)。這個過程會話金鑰一直是安全的,因為只有使用者A擁有私鑰(黑色的鑰匙)。

服務提供商接收到密文之後,可按照使用者A的授權,將該密文轉換為其他三個使用者的密文(紫色的鎖,藍色的鎖,綠色的鎖),三個密文中對應的資訊都是會話金鑰(紅色鑰匙)。

在轉換之後,服務提供商將密文推送給各個使用者,各使用者可以透過自身的私鑰(紫色鑰匙,藍色鑰匙,綠色鑰匙)解密得到會話金鑰(紅色鑰匙)。最後,所有參與方都擁有同樣的會話金鑰,因而建立起了端到端加密通道。

群組內任何人發出的資訊可以由會話金鑰加密,然後傳送給服務提供商。服務提供商將該密文資訊廣播至其他使用者,其他使用者利用會話金鑰進行解密。整個過程中,服務提供商無法獲取群組內的通訊資訊。

同時,服務提供商將一直儲存使用者A提交的密文。這是因為在有新加入成員時,只要使用者A同意,服務提供商則可以將該密文轉為新成員的密文,以此將會話金鑰同步給新成員。在會話結束後,所有成員將本地的會話金鑰刪除。

當然,上述只是一個基本流程的介紹,要形成完備的方案需要與詳細的業務流程配合,並且在架構和安全機制上需要有全面的考慮和設計。

隱私計算

資料已然成為新的生產要素,而其價值由資料的效用(utility)才能真正衡量,資料效用的體現則一定是在資料的使用過程當中。Zoom的安全事件中,本質上是資料在傳輸過程中的安全性問題。資料傳輸自然也是資料流動的一種方式,然而從整個市場看,現在面臨的資料隱私的問題遠遠不止是資料傳輸中產生的。

傳統網際網路的商業模式本質上就是利用使用者資料變現,目前已經開始受到嚴峻的挑戰。隨著對資料隱私保護的重視度的提升,網際網路商業模式中“慣性”式的收集資料的做法已經逐漸不可行。頻頻發生的資料洩漏和濫用事件也不斷促進國內外透過立法保護資料隱私,從而大環境上迫使網際網路進行轉型。

企業間資料的共享和協作也存在著巨大的障礙。在資料量爆炸增長的今天,很難有一家機構擁有所有的資料。資料作為極為特殊的資產,企業間也不會真正彼此分享。如何充分利用不同機構之間的資料,訓練更加有效的AI模型已經成為資料市場最大的問題。這是因為資料的多樣性直接決定了模型的精度,進而決定了商業成本與風險。因此,從 AI 演算法的角度來看,資料越多越好;從隱私保護的角度來看,資料暴露的越少越好。這種內在的“矛盾”已經成為 AI 技術進一步使用的最大的障礙。

隱私計算(Privacy-Preserving Computation)則是解決資料流動中的資料隱私問題的終極方法。以密碼學為核心,為資料在隱私保護的前提下使用提供了各種技術基礎。透過隱私計算技術,在新的數字化時代,人必將回歸個體的自然權利,將網際網路平臺“淪為”人的工具。

在新的數字化時代,我們依然處在搭建整個隱私計算網路基礎設施的基礎階段。無論從技術上還是從新的商業模式上,都還需要不斷的探索。也正是因為如此,PlatON一直致力於將隱私計算技術推廣到各個領域。近期即將推出的隱私AI框架——Rosetta,正是為了結合AI演算法與隱私計算技術,降低開發者使用隱私計算技術門檻的大膽嘗試。

總結

透過Zoom以及近期不斷髮生的隱私資料洩漏的事件可以看出,資料的隱私保護問題已經到了極為嚴重的程度。致力於隱私計算的廠商也不斷進場,不同的技術流派和解決方案也相繼提出。不斷完善和建設隱私計算基礎設施已經成為不可阻擋的趨勢。

CoinDesk 專欄作者孫立林,PlatON 創始人兼 CEO。曾就職於中國銀聯。他在 2013 年進入區塊鏈技術領域,2016 年開始進軍密碼學及計算複雜性領域,專注於區塊鏈技術基礎設施與隱私計算網路的研發與商用實踐。

CoinDesk 專欄作者謝翔是PlatON的演算法科學家。他畢業於中科院軟體所,長期從事密碼學演算法的研究工作。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;