如今,我們愈來愈多最關鍵的溝通都透過線上視訊通話進行。然而,AI 與資料探勘技術的最新進展,已讓這些通話面臨被利用與濫用的高度風險。

許多視訊會議服務都受廣告模式或 AI 軍備競賽驅動,力求盡可能記錄、轉錄並儲存最多的會議資料。這些大型科技公司如今可低成本部署生成式 AI,分析並學習我們會議中說出的每一句話與展示的每一項內容。

在 AI 時代,未加密的視訊會議會威脅個人自由與組織安全。這就是我們打造 Proton Meet 的原因:在提供可與 Zoom、Google Meet 和 Microsoft Teams 相媲美的企業級體驗的同時,以全程啟用的端對端加密保護每一通通話。使用 Proton Meet,沒有任何人——連我們也不例外——能竊聽您的通話。

與所有 Proton 服務一樣,Proton Meet 提供功能強大的免費方案,因為我們相信每個人都應享有自由與隱私,不應受是否有能力付費所限制。

現有會議解決方案的安全問題

在消費者端,許多人依賴 WhatsApp、Facebook Messenger 或 Apple FaceTime 等服務與親友聯繫。雖然這些應用程式使用端對端加密來防止服務供應商監聽,但也伴隨著明顯缺點:

  • 使用門檻高與中繼資料蒐集: 每位參與者都必須安裝應用程式、建立帳號(通常需要電話號碼或電子郵件),並加入群組。這個流程造成很高的使用阻力,也讓服務供應商得以蒐集珍貴的社交圖譜中繼資料。
  • IP 位址暴露:這些服務通常預設使用 點對點連線(新視窗)。這表示參與者彼此都能看到對方的 IP 位址,除非使用的是可信賴的 VPN(新視窗),否則可能暴露實際位置。
  • 擴充性限制: 消費型聊天應用程式難以應付大型群組,因為每新增一位參與者,點對點連線數量就會呈指數成長。因此,通話人數限制相當嚴格——WhatsApp 上限為 32 人,許多其他服務則上限 50 人。

對於專業會議,Zoom、Google Meet 和 Microsoft Teams 等服務被廣泛使用。這些服務利用資料中心內的大型伺服器轉送音訊與視訊,因此能擴充到最多 1,000 名參與者的大型會議,同時讓參與者彼此看不到對方的 IP 位址。它們也具有高度易用性,讓使用者無須建立帳號即可透過任何網頁瀏覽器加入。

然而,端對端加密(E2EE)要嘛完全沒有,要嘛實作不佳。從根本上說,這些平台在設計之初就未將隱私列為優先考量。

Proton Meet 透過採用最先進的 Messaging Layer Security (MLS) 加密協定來解決這個兩難,同時保有企業級方案應有的易用性與管理控制功能。

技術設計

以 WebRTC 實現高效能與易於存取

與其他專業會議服務類似,Proton Meet 的基礎是採用 Selective Forwarding Units (SFU) 的 WebRTC 技術;SFU 就是將音訊、視訊、聊天及其他資料轉送給所有參與者的大型伺服器。

我們像為 Proton VPN 所做的一樣,利用遍布全球的分散式資料中心網路,為每一通通話提供最高可靠性與最低延遲。由於沒有點對點連線,我們能在遮蔽參與者彼此 IP 的同時,擴展到大型群組通話。

說明 Proton Meet 如何使用 Selective Forwarding Units 提升可靠性的示意圖

由於 WebRTC 是所有主要瀏覽器都採用的成熟技術,Proton Meet 可從任何配有網頁瀏覽器的電腦或行動裝置存取。您可以將會議連結傳送給世界上任何人,對方即使沒有 Proton 帳號或 Proton Meet 應用程式,也能立即透過任何網頁瀏覽器加入會議。除了網頁版應用程式外,Proton Meet 也提供桌面版與行動版應用程式,供偏好使用應用程式而非瀏覽器的人選擇。

使用 SRP 進行會議驗證,讓 Proton 永遠無法存取您的通話

與其他專業會議服務類似,我們為主持人提供管理控制功能,協助其管理會議。主持人是建立會議連結並將其傳送給其他參與者的使用者。至關重要的是,主持人只能與信任的人共享會議連結,因為只要會議未上鎖,任何持有完整會議連結的人都能加入會議。我們將 Proton Meet 設計為自動為每場會議產生唯一密碼,但 Proton 伺服器永遠不會知道這個密碼,因此我們無法存取任何會議。

會議連結看起來像這樣:

說明 Proton Meet 會議連結組成部分的示意圖

它包含會議 ID(S0NDHQ48NR)和密碼(LaggoOcjlq6L)。連結中的雜湊符號 (#) 表示其後面的部分(在此例中為密碼)不會由瀏覽器傳送到伺服器。這可防止密碼在伺服器端被記錄到日誌或遭到存取。密碼是在主持人的裝置上產生,接著再透過端對端加密共享給主持人的其他裝置,讓主持人能從所有已登入的應用程式和裝置安全地存取其會議連結。

當建立會議連結時,主持人的用戶端會在伺服器上儲存一個密碼驗證器,讓 Proton Meet 可以使用 Secure Remote Password (SRP) protocol(新視窗) 來確認所有會議參與者都擁有正確的密碼,而伺服器本身永遠不會知道該密碼。過去 10 年來,SRP 一直用於保護 Proton 的登入,確保 Proton 伺服器可以為正確的使用者提供服務,同時 Proton 無法存取可用來解鎖私有金鑰的密碼。

使用 Messaging Layer Security (MLS) 的端對端加密

端對端加密(E2EE)的目標,是確保只有參與者能解密通訊內容。其他第三方,包括服務供應商在內,都不應能竊聽。

大多數 E2EE 協定都是為 1 對 1 通訊而打造。例如,在使用 OpenPGP 進行 E2EE 的 Proton Mail 中,如果您要將電子郵件傳送給多位 Proton Mail 使用者,OpenPGP 就必須使用各收件者的公開金鑰,為每位收件者進行非對稱加密。計算量與頻寬會隨參與者數量線性增加,對大型群組聊天與通話而言成本就會非常高。

在 2023 年,一種名為 Messaging Layer Security (MLS) 的協定成為 IETF 標準,而 Proton 團隊部分成員一直參與其開發。它提供一種效能高得多的方式,讓大型群組也能使用 E2EE。其概念是,當成員被加入或移除時,他們會為該協定循環提供金鑰材料,這個循環稱為 Epoch。成員會被組織成一棵二元樹,讓他們在進入新 Epoch 時,能高效率地以新的祕密更新其他成員。每位成員都能透過密碼學方式,隨時確認群組中有哪些人。

在 Proton Meet 中,Epoch 金鑰用來衍生加密傳送至群組的音訊、視訊及訊息所需的金鑰。當新參與者加入,或有參與者離開時,就會觸發金鑰輪替,所有人都會開始使用新的金鑰。這表示參與者只擁有可解密其加入之後、離開之前所傳送通訊內容的密碼學金鑰,從而確保前向保密性與入侵後安全性。

在 Proton Meet 中,所有音訊、視訊、畫面共享與聊天資料,在傳送到 SFU 伺服器之前,都會先於用戶端使用 MLS 提供的金鑰進行加密,而 SFU 伺服器只會將已加密資料轉寄給其他參與者。

Proton Meet 會將會議密碼作為 MLS 中的預先共享金鑰(PSK),以確保只有持有正確會議密碼的參與者才能衍生出正確的 MLS 金鑰。由於 Proton Meet 伺服器並沒有會議密碼,因此無法衍生 MLS 金鑰,Proton 也就無法解密或錄製任何音訊、視訊、畫面共享或聊天訊息。請注意,參與者仍然可以在自己的裝置上本機錄製會議。

威脅模式

無日誌

雖然 E2EE 可以保護會議的音訊與視訊串流,但無法保護社交圖譜等中繼資料;這些資料可能長期留存在線上並危害我們的隱私。Proton 的許多使用者都是知名記者、倡議人士和企業主管,他們需要確保自己的身分與關係保持機密。Proton Meet 以資料最小化為目標,不會在通話結束後儲存諸如誰與誰開過會之類的中繼資料日誌。參與者也可以在不登入 Proton 帳號的情況下匿名加入會議。

匿名身分

Proton Meet 不會向會議參與者彼此揭露對方身分。每次加入會議時,您都可以自由選擇該次會議要使用的名稱。如果您已登入,名稱欄位會為了方便而自動填入帳號的主要名稱。這個參與者名稱會使用由會議密碼衍生的金鑰進行端對端加密,然後再共享給其他參與者。其他參與者看不到任何個人可識別資訊(PII),例如電子郵件地址或 IP。請注意,如果您傳送行事曆邀請,該電子郵件將顯示與該行事曆連結的電子郵件地址。

伺服器入侵

我們在設計 Proton Meet 時,盡可能降低對 Proton 伺服器所需的信任程度,以及伺服器遭入侵時的風險程度。下面我們將說明各種情境,以及使用者如何保持警覺並偵測會議入侵。

  • 首先,如果只有 WebRTC SFU 伺服器遭到入侵,攻擊者可以審查並阻止音訊、視訊或聊天資料的轉寄,但由於金鑰只會透過 MLS 端對端加密共享,因此無法讀取或竄改資料。SFU 伺服器也無法辨識哪個 SFU 房間對應到哪個會議 ID,因為這種對應關係只會出現在我們的資料庫與後端應用程式介面伺服器上。
  • 第二,如果 Proton Meet 的資料庫伺服器遭到入侵,資料外洩風險非常低,因為資料庫只保存會議 ID,絕不保存密碼,也不保存任何音訊、視訊或聊天資料。因此,攻擊者無法加入任何會議、無法得知過去的會議參與者,也無法存取任何敏感資料。
  • 最後,如果 Proton Meet 的後端應用程式介面伺服器(包括 MLS 伺服器)遭到入侵,攻擊者可能嘗試加入 MLS 群組,冒充新參與者。然而,如果沒有作為預先共享金鑰的會議密碼,攻擊者將無法衍生出正確的 MLS 金鑰,因此也無法聽到或看到其他參與者。對於安全要求極高的使用者,會議資訊索引標籤會顯示 MLS 狀態,例如 Epoch、群組大小,以及從 Epoch 祕密衍生出的安全代碼。因此,可以驗證 MLS 群組大小是否與會議中受信任參與者的人數一致,且所有參與者看到的安全代碼是否相同。
顯示於進行中視訊通話視窗中的 Proton Meet Messaging Layer Security 實作資訊示意圖

由於 MLS 資料儲存在每個用戶端裝置上,MLS 群組的任何變更都會對所有參與者可見。因此,即使所有伺服器都遭到入侵且攻擊者加入會議,每位參與者仍能看到 MLS 狀態已變更,以及參與者數量多於預期。由於所有 Proton Meet 用戶端皆已開放原始碼(新視窗),任何人都可以審查實作 MLS 的用戶端程式碼安全性。

遭入侵的會議連結

Proton Meet 通話面臨的主要風險,是未經授權的參與者透過共享連結取得存取權。為降低這項風險,主持人可以在預期的參與者都到齊後鎖定會議。他們也可以立即將音訊設為靜音、停止視訊,或移除不受歡迎的參與者。

我們也建議每個工作階段都產生唯一的會議連結,以防止不同群組之間重複使用連結。使用「排程會議」功能時,系統會自動處理;而固定會議室連結也可依需要手動輪替。未來更新還將納入更多強化的安全控制功能。

結論

Proton Meet 的推出,是我們打造更重視隱私網際網路使命中的重要里程碑。大型科技公司的視訊通話解決方案會藉由竊聽我們的通話並將資料變現,利用我們聯繫彼此的需求;而 Proton Meet 的安全模型可確保您的私密對話始終保持私密

以歐洲為基地並採用端對端加密,Proton Meet 為個人與專業通訊提供真正具主權性的 Big Tech 替代方案,保護您免受資料外洩、監控與剝削。Proton Meet 以零存取加密、多層安全機制,以及全球最嚴格的隱私法律之一作為後盾,可協助企業簡化合規流程,並保護所有使用者免受美國資料調取要求與域外司法管轄權的影響。

我們的原則由 Proton 的主要股東、非營利組織 Proton Foundation 守護,而我們的業務存在,正是為了服務社群利益。因此,與我們所有服務一樣,Proton Meet 的發展也將由您的意見回饋與功能請求引導。感謝您一直以來的支援。