現在、最も重要なコミュニケーションの多くがオンラインビデオ通話を通じて行われています。しかし、AIとデータマイニング技術の最近の進歩により、これらの通話は搾取や悪用の高いリスクにさらされています。

多くのビデオ会議サービスは、広告モデルや、できるだけ多くの会議データを記録・文字起こし・保存しようとするAI競争に突き動かされています。こうしたBig Tech企業は今や、私たちの会議で話されたことや提示されたことのすべてを分析し、そこから学習するために、生成AIを低コストでデプロイできるようになっています。

AI時代において、暗号化なしのビデオ会議は個人の自由と組織のセキュリティを脅かします。そこで私たちはProton Meetを開発しました。Zoom、Google Meet、Microsoft Teamsに匹敵するエンタープライズグレードの体験を提供しつつ、常時有効なエンドツーエンド暗号化ですべての通話を保護するためです。Proton Meetなら、誰にも――私たちでさえも――お客様の通話を盗み聞きすることはできません。

ほかのすべてのProtonサービスと同様に、Proton Meetは強力な無料プランを提供しています。支払い能力にかかわらず、誰もが自由とプライバシーを享受するに値すると私たちが考えているためです。

既存の会議ソリューションが抱えるセキュリティ問題

個人向けでは、多くの人が友人や家族と連絡を取るために、WhatsApp、Facebook Messenger、Apple FaceTimeのようなサービスを利用しています。これらのアプリは、プロバイダーによる盗み聞きを防ぐためにエンドツーエンド暗号化を使用していますが、大きな欠点があります:

  • 大きな手間とメタデータ収集: すべての参加者がアプリをインストールし、アカウントを作成し(多くの場合、電話番号またはメールが必要)、グループに追加されなければなりません。このプロセスには大きな手間がかかり、プロバイダーが価値の高いソーシャルグラフのメタデータを収集することも可能にします。
  • IPアドレスの露出: これらのサービスでは、多くの場合、ピアツーピア接続(新しいウィンドウ)がデフォルトになっています。これは、参加者同士がお互いのIPアドレスを見られることを意味し、信頼できるVPN(新しいウィンドウ)を使用していない限り、物理的な位置が明らかになる可能性があります。
  • 拡張性の限界: 個人向けチャットアプリは、大規模なグループに対応するのが苦手です。参加者が1人追加されるたびに、ピアツーピア接続が指数関数的に増えるためです。その結果、通話の上限は厳しく、WhatsAppは32人まで、多くのほかのサービスは50人までに制限されています。

業務向けの会議では、Zoom、Google Meet、Microsoft Teamsのようなサービスが広く使われています。これらのサービスは、データセンター内の大規模なサーバーを使って音声と映像を中継するため、参加者同士にIPアドレスを隠しながら、最大1,000人の大規模会議まで対応できます。また、アカウントを作成しなくても任意のウェブブラウザから参加できるため、アクセス性も高くなっています。

しかし、エンドツーエンド暗号化(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にはデスクトップアプリとモバイルアプリもあります。

Protonがお客様の通話にアクセスできないようにするSRPによる会議認証

ほかの業務向け会議サービスと同様に、私たちはホストが会議を管理できるよう管理者コントロールを提供しています。ホストとは、会議リンクを作成し、それをほかの参加者に送信したユーザーのことです。会議がロックされていない場合、完全な会議リンクを持っている人は誰でも会議に参加できるため、ホストは会議リンクを信頼できる相手とのみ共有することが極めて重要です。私たちはProton Meetが各会議ごとに固有のパスワードを自動生成するよう設計しましたが、このパスワードがProtonサーバーに知られることはないため、私たちが会議にアクセスすることはできません。

会議リンクは次のような形式です:

Proton Meetの会議リンクを構成する要素を示す図

これには会議ID(S0NDHQ48NR)とパスワード(LaggoOcjlq6L)が含まれます。リンク内のハッシュ記号(#)は、その後ろの部分(この場合はパスワード)がブラウザからサーバーへ送信されないことを意味します。これにより、パスワードがサーバー側でログに記録されたりアクセスされたりすることを防げます。パスワードはホストのデバイス上で生成され、その後、ホストのほかのデバイスにエンドツーエンド暗号化で共有されるため、ホストはログイン済みのすべてのアプリとデバイスから安全に会議リンクへアクセスできます。

会議リンクが作成されると、ホストのクライアントはパスワード検証子をサーバーに保存し、Proton MeetがSecure Remote Password(SRP)プロトコル(新しいウィンドウ)を使用して、サーバーがパスワードを知ることなく、すべての会議参加者が正しいパスワードを持っていることを確認できるようにします。SRPは過去10年間にわたりProtonのログインを保護しており、秘密鍵を解除できるパスワードにProtonがアクセスできなくても、Protonサーバーが適切なユーザーにサービスを提供できるようにします。

Messaging Layer Security(MLS)によるエンドツーエンド暗号化

エンドツーエンド暗号化(E2EE)の目的は、通信を復号化できるのが参加者だけであることを保証することです。サービスプロバイダーを含むその他の第三者は、盗み聞きできてはなりません。

ほとんどのE2EEプロトコルは1対1の通信向けに構築されています。たとえば、E2EEにOpenPGPを使用しているProton Mailでは、複数のProton Mailユーザーにメールを送信する場合、OpenPGPは各宛先の公開鍵を使って、各宛先ごとに非対称暗号化を行う必要があります。計算量と帯域幅の負荷は参加者数に比例して増加するため、大規模なグループチャットや通話では非常に高コストになります。

2023年に、Protonチームの一部メンバーも取り組んできたMessaging Layer Security(MLS)というプロトコルが、IETF標準になりました。これは、大規模なグループで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では、会議参加者のユーザー情報が参加者同士に明かされることはありません。会議に参加するたびに、その会議で使用する任意の名前を選択できます。ログインしている場合、利便性のため、名前フィールドにはアカウントのプライマリー名が自動入力されます。この参加者名は、会議パスワードから導出された鍵でエンドツーエンド暗号化され、その後ほかの参加者に共有されます。メールアドレスやIPなどの個人を特定できる情報(PII)は、他の参加者には表示されません。なお、カレンダー招待を送信すると、そのメールによってそのカレンダーに紐づくメールアドレスが明らかになります。

サーバー侵害

私たちは、Proton MeetがProtonサーバーに対して必要とする信頼の量と、サーバーが侵害された場合のリスクの双方を最小化するよう設計しました。以下では、さまざまなシナリオと、ユーザーが警戒を保って会議への侵入を検知する方法を説明します。

  • まず、WebRTCのSFUサーバーだけが侵害された場合、攻撃者は音声、映像、チャットデータの転送を検閲したりブロックしたりできますが、鍵はMLSエンドツーエンド暗号化によってのみ共有されるため、そのデータを読み取ったり改ざんしたりすることはできません。また、SFUサーバーは、どのSFUルームがどの会議IDに対応しているかも特定できません。その対応関係は、当社のデータベースとバックエンドAPIサーバーでのみ確認できるためです。
  • 次に、Proton Meetのデータベースサーバーが侵害された場合、データ漏えいのリスクはごくわずかです。データベースには会議IDしかなく、パスワードや音声、映像、チャットデータは一切含まれていないためです。したがって、攻撃者はどの会議にも参加できず、過去の会議参加者を知ることも、機密データにアクセスすることもできません。
  • 最後に、MLSサーバーを含むProton MeetのバックエンドAPIサーバーが侵害された場合、攻撃者は新しい参加者を装ってMLSグループに参加しようとする可能性があります。しかし、事前共有鍵に使われる会議パスワードがなければ、攻撃者は正しいMLS鍵を導出できず、その結果、ほかの参加者の音声を聞いたり映像を見たりすることはできません。極めて高いセキュリティ要件を持つユーザー向けに、会議情報タブには、Epoch、グループサイズ、Epochシークレットから導出されるセキュリティコードなどのMLS状態が表示されます。したがって、MLSグループサイズが会議内の信頼できる参加者数と一致していること、またセキュリティコードがすべての参加者で同一であることを検証できます。
進行中のビデオ通話内のウィンドウに表示された、Proton MeetのMessaging Layer Security実装に関する情報を示す画像

MLSデータはすべてのクライアントデバイスに保存されるため、MLSグループへの変更は参加者全員に見えるようになります。したがって、すべてのサーバーが侵害され、攻撃者が会議に参加した場合でも、各参加者はMLS状態の変化と、想定より参加者が多いことを確認できます。すべてのProton Meetクライアントはオープンソース化されています(新しいウィンドウ)ので、誰でもMLSを実装しているクライアント側コードのセキュリティを確認できます。

侵害された会議リンク

Proton Meetの通話に対するプライマリーリスクは、共有されたリンクを通じて未承認の参加者がアクセスを得ることです。これを軽減するため、ホストは想定された参加者が揃った時点で会議をロックできます。また、音声をミュートしたり、映像を停止したり、不要な参加者を即座に削除したりすることもできます。

また、異なるグループ間でリンクが再利用されるのを防ぐため、セッションごとに固有の会議リンクを生成することを推奨しています。これはSchedule Meeting機能を使用すると自動的に処理され、固定の会議室リンクも必要に応じて手動で変更できます。今後の更新では、さらに強化されたセキュリティコントロールも追加される予定です。

まとめ

Proton Meetの開始は、よりプライベートなインターネットを構築するという私たちの使命における重要な節目です。Big Techのビデオ通話ソリューションは、私たちのつながりたいというニーズにつけ込み、通話を盗み聞きしてデータを収益化していますが、Proton Meetのセキュリティモデルは、お客様のプライベートな会話がプライベートなまま保たれることを保証します。

エンドツーエンド暗号化され、欧州に拠点を置くProton Meetは、個人利用と業務利用の双方に向けた、真にデジタル主権を備えたBig Techの代替手段を提供し、侵害、監視、搾取からお客様を守ります。ゼロアクセス暗号化、多層的なセキュリティ、そして世界でも最も強力なプライバシー法制の一部に支えられたProton Meetは、企業がコンプライアンス対応を簡素化できるよう支援し、すべてのユーザーを米国のデータ要求や域外管轄から保護します。

私たちの原則は、Protonの筆頭株主である非営利団体Proton Foundationによって守られており、私たちの事業はコミュニティの利益に資するために存在しています。そのため、ほかのすべてのサービスと同様に、Proton Meetの開発はお客様のフィードバックと機能リクエストに導かれていきます。多大なるサポートをありがとうございます。