分散型コミュニケーション用のオープンソースプロトコルである Matrix が、開発者やセキュリティ研究者から精査を受けている。彼らは、プロトコルの信頼性とセキュリティに影響を与える可能性のある多数の技術的問題を特定した。このプロトコルは政府機関やオープンソースプロジェクトで採用が進んでいるものの、詳細な分析により、そのアーキテクチャと実装に関する重大な懸念が明らかになった。
Matrix 導入事例
- 政府機関: ドイツおよび フランス の政府機関
- プラットフォーム: Reddit Chat のバックエンド
- オープンソース: 様々なオープンソースプロジェクトコミュニティ
- エンタープライズ: Beeper メッセージングサービス
データの永続化とプライバシーの懸念
Matrix の最も重要な問題の一つは、追記専用設計により真のデータ削除がほぼ不可能になることである。ユーザーがメッセージを削除しようとすると、システムは他のサーバーにコンテンツの削除を丁寧に要求する削除イベントを送信するだけである。しかし、悪意のあるサーバーや設定が不適切なサーバーは、これらの要求を単純に無視し、元のデータを無期限に保持することができる。これは、新しいサーバーがルームに参加して履歴データを要求する際に特に問題となる。削除要求を無視したサーバーから削除されていないコンテンツを受信する可能性があるためだ。
状況は、禁止やメンバーシップ変更などの管理アクションではさらに複雑になる。これらのイベントはルームの認証チェーンに永続的に組み込まれ、将来のイベントを検証するためにシステムが必要とするため、全く削除することができない。
状態リセット問題とルームの不安定性
Matrix ルームは頻繁に状態リセットに悩まされている。これは分散合意システムが失敗し、ルーム設定が元に戻ったり、ユーザーが予期せずキックアウトされたりする状況である。これらの問題は、異なるサーバー実装が連携しようとする際により頻繁に発生し、部分的には JSON フォーマットや暗号署名の処理方法の不整合が原因である。
プロトコルの仕様では標準的な JSON フォーマットが厳密に定義されておらず、異なるプログラミング言語で書かれたサーバー間で署名検証の失敗が生じている。これにより、重要な瞬間にルーム管理者がモデレーション権限を失い、コミュニティがスパムや嫌がらせ攻撃に対して脆弱な状態に置かれる結果となっている。
暗号化の課題と実装の問題
Matrix はエンドツーエンド暗号化をサポートしているが、この機能は依然として任意であり、歴史的に脆弱であった。システムはデバイスリストの更新がサーバー間で確実に配信されることに依存しており、このプロセスの失敗は、ユーザーを何年も悩ませてきた「復号化できません」メッセージを引き起こす可能性がある。 Matrix 開発者は2024年にこれらの問題に対処したと主張しているが、コミュニティのフィードバックでは問題が持続していることが示唆されている。
「私が持っている別のクライアントでは、それらの人々のメッセージを見ることができます。おそらく、それらの人々のクライアントが参加/キーをローテーションした時にオンラインだったからでしょう。 Matrix E2EE は明らかに、キーを共有できるようにするために、すべての当事者のクライアントが同時にオンラインであることに依存しているからです。」
さらに、 Matrix クライアントのデフォルト動作は、未検証のデバイスに暗号化されたメッセージを送信することであり、悪意のあるホームサーバーが偽のデバイスを追加し、ユーザーの認識なしに通信を傍受することを潜在的に可能にしている。
メディア処理と法的リスク
Matrix のメディア処理システムは、追加のセキュリティと法的懸念を提示している。最近まで、メディアダウンロードは認証されておらず、誰でもアップロードされたファイルにアクセスできた。システムの積極的な複製により、ユーザーが要求した際にサーバーが他のサーバーからのメディアを自動的にキャッシュするため、サーバー運営者が知らないうちに違法コンテンツをホスティングする責任を負う可能性がある。
プロトコルには組み込みのコンテンツスキャン機能が欠けており、暗号化されたメディアはサーバー側で分析できない。これにより、コンテンツモデレーションの負担が個々のクライアントとサーバー管理者に置かれている。
主要な Matrix プロトコルの問題
| カテゴリ | 問題 | ステータス |
|---|---|---|
| データ削除 | 編集イベントは勧告のみ | 継続的な懸念事項 |
| ルーム安定性 | 状態リセットにより管理者権限が失われる | 2025年に修正予定 |
| 暗号化 | "復号化できません"メッセージ | 2024年に修正済みと主張 |
| メディアセキュリティ | 認証なしダウンロード | 2024年に修正済み |
| JSON 互換性 | 実装間での署名失敗 | 検討中 |
| コンテンツモデレーション | 違法コンテンツのスキャン機能なし | 修正予定なし |
開発者の対応と継続的な改善
Matrix プロジェクトリーダーの Matthew Hodgson は、プロトコルの設計決定を擁護しながら、これらの問題のいくつかを認めている。彼は2024年に実装された認証済みメディアアクセスや2025年に予定されている今後のセキュリティ修正を含む最近の改善を指摘している。しかし、10年以上の開発を経ても、基本的なアーキテクチャの懸念の多くは未解決のままである。
この議論は、真に分散化されたコミュニケーションシステムを構築することの固有の課題を浮き彫りにしている。 Matrix は中央集権的プラットフォームの代替を提供しているが、その複雑さと技術的制限は広範囲な採用を制限し続け、信頼性があり安全なコミュニケーションツールを求めるユーザーと開発者の両方にとって障壁を作り出している。
参考: why not matrix?
