1 分
暗号技術を使わずに説明するゼロ知識(Zero Knowledge)とは
「ゼロ知識」という言葉は、アプリのマーケティングで都合よく使われがちだ。本記事では、その言葉が本来何を意味するのか、採用することでサービス側にどんな制約やデメリットが生じるのか、そして「完全なプライバシー」という宣伝文句が本物かどうかをユーザー自身で見分ける方法を分かりやすく解説する。

コンシューマー向けソフトウェアで使われる「ゼロ知識(Zero Knowledge)」とは、サービス提供者がユーザーの保存データを閲覧できない仕組みを指す。単に「見ないと約束する」のではない。構造的に閲覧不可能なのだ。
暗号技術そのものは非常に複雑だ。だが概念自体はシンプルであり、数学的な知識がなくても企業の主張を検証できる。
金庫の例えと、その限界
よく使われる説明がホテルの客室にある金庫だ。ユーザーが暗証番号を決め、ホテル側は開けられないというものだ。
ただし、この説明は重要な事実を隠している。ホテルにはマスターキーが存在する点だ。ゼロ知識を謳うシステムのほとんどに似たような抜け道が存在し、それは都合の良い理由で導入されている。問題は、そのマスターキーが存在するかどうかだ。
より確実なテスト方法は単純だ。すべてを紛失した際、運営会社はデータを復元できるか?可能なら、彼らはデータを読める。企業がデータにアクセスすることなくコンテンツを復元できる仕組みなど存在しない。
復元性とプライバシーは完全に相反する。データを完全に復元できるサービスは、そのデータを閲覧することもできる。
鍵の管理方法が意味すること
実用的な構成は主に3つある。
1つ目は、企業が鍵を保持する構成だ。すべてがスムーズに動作する。パスワードをリセットしてもデータは復元され、サーバー上で検索でき、どの端末からでもログインできる。この場合、企業はすべてのデータを閲覧できる。
2つ目は、パスワードから鍵が生成され、端末上のみに保持される構成だ。企業はデータを閲覧できない。リカバリ機構がない限り、パスワードの紛失はデータの消失を意味する。そして、いかなるリカバリ機構もプライバシーとの妥協点となる。
3つ目は、鍵が端末上で生成され、端末から一切外に出ない構成だ。最も強力な保護であり、新しい端末への移行にはユーザー自身の明示的な操作が必要となる。
アプリの主張を検証する方法
パスワードのリセットを試す。リセット後も過去の履歴が残っており、他の秘密の情報の入力を求められなかった場合、鍵を保持しているのは運営企業だ。
警告メッセージの有無を確認する。本物のエンドツーエンド暗号化を採用する製品は、鍵を紛失するとデータを失う旨を何度も、少々しつこいほど警告してくる。完璧なプライバシーと手軽な復元の両立を謳うマーケティングは、存在しないものを提示している。
検索処理がサーバー上で行われるか確認する。データをダウンロードする前に、新しい端末で過去何年分もの履歴を即座に検索できるなら、サーバーがその内容を読めている証拠だ。
公開されたプロトコルや第三者による監査の有無を確認する。それ自体が絶対的な証明ではないが、存在しないことは重要な判断材料になる。
ゼロ知識に伴うコスト
この点については率直に伝える価値がある。メリットしか並べないベンダーは、何かをごまかしているからだ。
紛失したデータは永久に失われる。サーバー側での検索機能は利用できないか限定的になる。新しい端末の追加には手動での手順が必要になる。Web経由のアクセスは難しくなる。カスタマーサポートはデータ障害の調査のためにアカウント内を確認できない。そして、大半のAI機能を含め、サーバー側でコンテンツの理解を必要とする機能は、動作しないか端末上で処理させる必要がある。
Duoheartの設計
質問、回答、メッセージ、通話は、端末上で生成された鍵を用いて端末内で暗号化され、その鍵が弊社のサーバーに送信されることはない。
つまり、前述の制約はDuoheartにもそのまま当てはまる。弊社はカップルのデータを復元できない。検索も行えない。サポートがユーザーの記述内容を確認することもできないため、問い合わせ対応が通常より不便に感じられることもある。
オプションのAI機能は、ユーザーがその目的のために明示的に送信したテキストに対してのみ動作する。暗号化された会話データが外部に送信されることはない。送信しようとしても構造的に不可能なのだ。
要点
1つの質問をしてみるといい。「パスワードとスマホの両方を失った場合、私のデータを復元できますか?」その答えが、宣伝ページには書かれていない真実をすべて物語っている。
よくある質問
- アプリにおける「ゼロ知識」とはどういう意味ですか?
- 運営者が単に「データを閲覧しない」と約束するのではなく、構造的に閲覧不可能な状態を指します。暗号化キーはユーザーの端末上にのみ存在します。
- アプリが本当にエンドツーエンド暗号化を使用しているか見分けるにはどうすればよいですか?
- パスワードと端末の両方を完全に紛失した後にデータを復元できるか確認してください。復元できるのであれば、運営者はデータを閲覧できます。
- エンドツーエンド暗号化のデメリットは何ですか?
- 鍵を紛失するとデータが永久に失われること、サーバー側での検索が制限されること、端末の追加に手動の操作が必要になること、サポートチームがトラブル解決のためにデータを閲覧できないことが挙げられます。


