暗号化チャットを検索できるのは、メッセージを読む権限のある端末が検索もできるからです。一般的な設計では、復号後にローカル索引を作成します。ただし、エンドツーエンド暗号化だけでは、検索クエリが端末から一切送信されないことも、すべてのメッセンジャーが同じ検索アーキテクチャを使うことも証明できません。
検索が遅い、古い結果が消える、古い端末で見えるメッセージが新しい端末では見つからない、といったときに、この区別は重要です。検索対象の範囲、鍵の利用可能性、データ同期は別々の問題です。
ローカル検索索引の仕組み
アプリは、読めるメッセージを、どの語がどのメッセージに出現するかを記録した索引に変換できます。検索は、すべてのメッセージを最初から最後まで調べる代わりに、その索引を参照します。SQLite の FTS5 文書は全文索引技術の一例です。ここで紹介しても、特定の Livara クライアントが FTS5 を使っている証拠にはなりません。
典型的なローカル設計には四つの段階があります。
- 暗号化メッセージをダウンロードまたは受信する。
- 権限のある端末の鍵で復号する。
- 検索可能な内容をローカル索引へ追加する。
- その端末で現在利用できるデータから結果を返す。
索引は機密性の高い情報です。完全な文を保存していなくても、語や参照から会話内容が分かることがあります。保存方法、バックアップ、削除時の動作、アクセス制御には、チャットデータベースと同じ注意を払う必要があります。
サーバー側検索は必ずサーバーがすべてを読むことを意味するか
いいえ。通常の平文サーバー索引では、サービスが索引対象の内容へアクセスできますが、遠隔検索の設計はそれだけではありません。検索可能な対称暗号の暗号研究では、定義された安全性モデルの下で、外部に預けた暗号化データを検索する方法が説明されています。
これらの技術にも固有の仮定と漏えいの可能性があります。有用な評価では、繰り返されるクエリ、一致するレコード、アクセスパターン、結果の大きさについて、サーバーが何を知るのかを問います。「クラウドで検索する」も「データは暗号化されている」も、それだけでは答えになりません。
| 設計 | 実用上の利点 | 調べるべき問い |
|---|---|---|
| ローカル索引 | 遠隔クエリなしで利用可能な履歴を検索できる | 索引は保存時に暗号化され、安全でないバックアップから除外されるか |
| 平文サーバー索引 | 保存データ全体の索引作成と検索を集中管理できる | 内容、クエリ、ログへ誰がアクセスできるか |
| 暗号化遠隔検索方式 | 保護されたデータに対して指定された種類のクエリを実行できる | その構成はどの漏えいと信頼の仮定を許容するか |
| 公開・非公開混在検索 | 公開内容と非公開内容を別々に扱える | 検索範囲は利用者に明確か |
この表から速度の順位は決められません。ハードウェア、索引の品質、メッセージ量、ネットワーク遅延、実装がすべて影響します。この記事では処理時間のベンチマークを行っていません。
メッセージが検索で見つからない理由
履歴が失われたと結論する前に、問題の範囲を確認してください。
- 会話内ではそのメッセージが見えるか。 見えなければ、索引の故障ではなく、利用できない履歴が検索に反映されている可能性があります。
- 正しい会話やアカウントを選んでいるか。 日付、送信者、メディアのフィルターで、本来該当する結果が除外されることがあります。
- 新しい端末は履歴と復号用の鍵素材を取得したか。 身元鍵の復元は、すべてのメッセージの復元と自動的に同じになるわけではありません。
- 索引作成は完了したか。 大量のインポートや同期の中断は、検索対象の範囲に影響することがあります。
- 検索はその語の形式を認識するか。 フレーズ照合、綴り、句読点、言語ごとのトークン分割は異なる場合があります。
自分が管理する会話で、無害で特徴的なテスト用フレーズを使ってください。ネットワークの切断前後に検索で見つかるか確認します。これによりローカルでの利用可能性について限定的な事実は分かりますが、オンライン時にアプリがテレメトリーや検索データを一切送信しない証明にはなりません。
Livara について何が言えるか
Livara のセキュリティページでは、非公開メッセージの内容は暗号化される一方、経路、メンバー構成、配信状態、暗号文が同期を支えると説明しています。公開文書だけでは、特定のローカル検索エンジン、あらゆる場合のオフライン検索、クエリのテレメトリーが皆無であること、測定済みの電池への影響を主張するには不十分です。
公開チャンネルのプライバシー境界は非公開チャットと異なります。サービスは、非公開会話について同じ主張をすることなく、公開内容を索引化できます。全体検索の結果を機密情報として扱う前に、脅威モデルを確認してください。
提供者に尋ねる価値のある質問
どのメッセージを索引化するのか、索引はどこに置くのか、クエリ文字列を送信または記録するのか、リンクした端末は何を受け取るのか、メッセージの削除は索引やバックアップにどう影響するのかを尋ねましょう。明確な回答は「E2EE 検索」という言葉に頼らず、クライアントとバージョンを示すはずです。
検索は独自のデータの流れを持つ機能です。 暗号化が検索のあらゆる疑問に答えると思い込まず、メッセージ暗号化と並べてその流れを評価してください。


