脅威モデル
誰が何を見られるか、そして何がそれを止めるか
脅威モデルは、勝てる相手と同じくらいはっきりと、負ける相手を明示して初めて役に立ちます。以下の各行は、その攻撃者が何を見るか、何に手が届かないか、どんな防御があるか、それでも何が可能かを示しています。
PrivaMeshは、あなたのデータを狙う運営者、公開情報をすべて読むチェーンの観察者、連絡先の追加を横取りしようとするなりすましを想定して設計されています。最も弱いのはグローバルなタイミング分析者で、侵害された端末に対しては何の防御もありません。
| 攻撃者 | 見えるもの | できないこと | 防御 | まだ可能なこと |
|---|---|---|---|---|
| 運営者としてのPrivaMesh | あるアカウントが送信代を支払ったことと、その時刻 | メッセージを読む、受信者を知る、連絡先を一覧にする、履歴を再構築する | アカウントデータベースもメッセージ保管庫もない。ブラインドトークンが支払いと送信を切り離す | あるアカウントが特定の時刻に何かを送ったことを示すよう強制される可能性がある |
| RPCプロバイダー | あなたのIPアドレス、リクエストの時刻、送信する取引 | 何かを復号する、どの使い捨てアドレスが誰のものかを知る | エンドポイントは差し替え可能で、セルフホストもできる | ログを取るプロバイダーは、あなたがいつ活動しているかをネットワークレベルで把握できる |
| チェーンの観察者 | パディングされた暗号文、使い捨てアドレス、取引の正確な時刻 | 内容を読む、同じ会話の2つのメッセージを結び付ける | ステルスアドレス、固定のパディング区分、任意のカバートラフィック | カバートラフィックが無効なら、時間を通じた活動パターンは完全に見える |
| グローバルなタイミング分析者 | ネットワーク全体で相関した活動を同時に | 復号する、アドレスを暗号的に結び付ける | 有効時は3〜10分のランダムな間隔でカバートラフィック | 最も防御が弱い攻撃者です。ネットワーク全体を無期限の保存付きで観察する者は、メッセージ単位のどんな設計でも対処できる範囲を超えています |
| ロック解除されたあなたの端末を持つ人 | すべて:平文、連絡先、鍵 | ratchetがすでに削除したメッセージを復元する | Face IDまたはTouch IDで保護されたキーチェーンに保存。前方秘匿性が過去を限定。強要コードはアカウントを開く代わりに消去する | 端末の侵害は、その時点で端末にあるものすべてに及びます。強要コードが役立つのはロック解除を求められたその瞬間だけで、先にストレージがコピーされていれば役に立ちません |
| あなたのリカバリーフレーズを持つ人 | あなたのIDを得て、今後あなたになりすませる | 過去の会話のratchet部分を読む(それらの鍵はランダムで端末上にしかなかった) | フレーズは端末から出ることも送信されることもない | ID鍵、署名付きプリキー、PQプリキーはすべてフレーズから導出され、使い捨てプリキーは公開されないため、すべての会話の開始メッセージはフレーズとチェーン上の永続的なエンベロープから再計算できます。失効の仕組みもありません |
| 悪意ある連絡先 | あなたが送ったものすべて。スクリーンショットや転送もできる | あなたが話す他の人に届く、他の会話を読む | ブロックと、会話ごとの鍵の分離 | 話し相手が信頼できない人物であることは、どんな暗号でも防げません |
| 連絡先追加時のなりすまし | 検証に成功すれば何も見えない | バンドルがチェーン上で署名されている連絡先の鍵を自分のものにすり替える | ウォレットで署名されたプリキーバンドルをチェーンに公開するため、どのレジストリもアカウントの鍵をすり替えられない | 比較するセーフティナンバーやフィンガープリントがないため、アカウントが意図した相手のものかの確認は、完全にアプリの外で、支援なしに行うことになります |
| Apple | あなたのApple IDがサブスクリプションを購入したこと | メッセージや連絡先を見る、購入を送信の活動と結び付ける | 購入と各送信の間にブラインドトークンが入る | あなたがPrivaMeshの利用者であることをAppleは知っています。iOSでは避けられません |
| ネットワークレベルの検閲者 | あなたがSolanaのRPCエンドポイントに接続したこと | 個々のメッセージを読む、選んで破棄する | RPCエンドポイントは差し替え可能で、自分で運用するものにもできる | SolanaまたはすべてのRPCをブロックすれば配信は完全に止まる |
このモデルの前提
暗号プリミティブが破られていないこと:X3DH、Double Ratchet、AES-256-GCM、そしてiOS 26ではML-KEM-768。あなたの端末がすでに侵害されていないこと。追加する連絡先が意図した相手であることを確認すること。いずれかが崩れれば、残りの設計はあなたを守れません。
また、これらのプリミティブの私たちの実装が正しいことも前提にしています。だからこそソースコードを公開し、欠陥の発見には報酬を出しています。対象外の項目の完全な一覧は既知の制限をご覧ください。
よくある質問
PrivaMeshが最も防御できないのは何ですか?
ネットワーク全体を絶えず監視し、すべてを保存するグローバルな攻撃者です。カバートラフィックはタイミング相関のコストを上げますが、その規模の観察者には勝てず、チェーンは彼らが分析に使える永続的な記録を残します。
端末が押収されたら、何が漏れますか?
その時点で端末にあるすべてです。平文、連絡先、鍵。ただし、ロックされていて攻撃者がFace IDを突破できない場合は別です。前方秘匿性により被害はratchetがまだ削除していないものに限られ、古いメッセージはすでに復元できません。自分でロックを解除するよう強いられている場合、強要コードはアカウントを開く代わりに消去します。
PrivaMeshが私のデータの提出を強制されることはありますか?
要求されることはあり得ます。提出できるのは、あるアカウントが特定の時刻に送信代を支払ったという事実だけです。メッセージ内容も、受信者も、連絡先リストも、アカウント記録もありません。どれも保存していないからです。
VPNは役に立ちますか?
はい。RPCプロバイダーとネットワークレベルの観察者に対しては有効で、この2者があなたのIPを見る攻撃者です。チェーンに書き込まれる内容には何の影響もありませんが、そちらはもともと読めません。