もっともらしい否認可能性:パターンごとに別のボールトが開く

誰かがボールトを開けるよう要求する。パターンを描く。ボールトが開く——無害な写真と買い物リストが入っている。別のパターンを描けば全く異なるボールトが開き、本当に守りたいものがそこに入っている——そのことを相手は知らない。そして、その存在を証明する方法は彼らにはない。

Vaultaireにおけるもっともらしい否認可能性とは、5×5グリッド上に描かれるパターンごとに異なる暗号化鍵で異なるボールトが開くということだ。マスターインデックスはなく、ボールト数もなく、デバイス上に他のボールトが存在することを証明する方法もない。

もっともらしい否認可能性とは何か

セキュリティにおいて、もっともらしい否認可能性とは何かが存在することを信憑性をもって否定できる、ということだ。隠すだけでも、見つけにくくするだけでもない。国境の係官であれ、支配的なパートナーであれ、スマートフォンを奪った泥棒であれ、誰の目を見ても「これがすべてだ」と真実を言えて、それを否定する技術的証拠が存在しないということだ。

ほとんどのボールトアプリはパスワード一つで守られたボールトを一つ提供する。誰かに強制的に開けさせられれば、すべてが露わになる。第二のパスワードで偽の画面を表示する「デコイモード」を提供するアプリもある。しかしそのような実装は通常、見た目だけのものだ。フォレンジック調査官はアプリのデータを見て、設定フラグを確認し、暗号化データのサイズが表示されているファイルと合わないことに気づき、または隠しレイヤーの存在を示すメタデータを発見できる。

Vaultaireは根本的に異なるアプローチを取る。5×5グリッドに描いたパターンごとに異なる暗号化鍵が導出される。各鍵は異なる暗号化ブロブを復号する。マスターインデックスはなく、ボールトのレジストリもなく、ボールトがいくつ存在するかを記録する設定ファイルもない。アプリ自体が知らない。知ることができない。描いたパターンを受け取り、鍵を導出し、その鍵でデータを復号しようとし、見つかったものを表示するだけだ。

ボールトが見つかれば、ファイルが表示される。何も見つからなければ、新しいボールトを作成するか尋ねる。誰かが別のパターンを描けば、別の鍵と別の結果が得られる。「間違ったパターン」というエラーはない。他のボールトが存在することを示す表示もない。目の前のボールトだけがあり——そして他のすべてについては、数学的に強制された完全な沈黙がある。

核心的な原則

従来のボールトアプリは、目に見える金庫のある家のようなものだ。金庫が鍵をかけられていても、誰もがそこにあることがわかる。Vaultaireはそれぞれの鍵が異なる部屋を作る家のようなものだ。部屋がいくつあるか誰にもわからない。なぜなら各鍵は自分のために作られた部屋しか見せないからだ。他の部屋は隠れているのではない——正しい鍵を持たない者の視点からは、それらは単純に存在しないのだ。

内部の仕組み

Vaultaireのもっともらしい否認可能性の技術的基盤は驚くほどエレガントだ。ほとんどのボールトアプリが完全に無視している暗号化の特性に依存している:異なる鍵は同じ暗号化データから異なる出力を生成し、平文を調べなければ「正しい」復号と「間違った」復号を区別する方法がないという特性だ。

パターンが異なれば鍵も異なる

Vaultaireの5×5グリッドにパターンを描くと、つないだ点の順序が暗号化ソルトとともに鍵導出関数(PBKDF2)に入力される。このプロセスにより一意の256ビットAES暗号化鍵が生成される。異なるパターン——たった1点だけ違うものでも——は完全に異なる鍵を生成する。少し異なる鍵ではない。完全に異なる鍵だ。パターンの1点を変えるだけで、導出された鍵のすべてのビットが予測不可能に変わる。

各鍵は自分のブロブを復号する

Vaultaireは暗号化データを不透明なブロブとして保存する。パターンを描くと、アプリは鍵を導出してデータの復号を試みる。鍵が既存のボールトに一致すれば、認証付き復号(AES-256-GCM)が成功し、認証タグが検証され、ファイルが表示される。鍵がどのボールトにも一致しなければ、復号はサイレントに失敗するか無意味な出力を生成する。いずれの場合も、アプリはエラーを表示しない。そのパターンで新しいボールトを作成するか尋ねるだけだ。

マスターインデックスなし

これが「デコイモード」を提供するだけのアプリからVaultaireを分ける重要な設計上の決断だ。ボールトIDを一覧するデータベーステーブルはない。ボールトがいくつ存在するかを数える設定ファイルはない。追加の暗号化コンテナの存在を明らかにする可能性のあるメタデータ構造はない。ディスク上に置かれた暗号化ブロブは互いに区別できず、ランダムデータとも区別できない。Vaultaire自身でさえ、ユーザーが作成したボールト数を列挙できない。

もっともらしい否認可能性フロー
パターン A
本物のパターン
鍵 A
導出された鍵
ボールト A
プライベートなファイル
パターン B
デコイパターン
鍵 B
別の鍵
ボールト B
無害なファイル

どちらのボールトも等しく本物だ。どちらも同じアルゴリズムで暗号化されている。どちらも同じ種類の暗号化出力を生成する。一方を「本物」、他方を「デコイ」とラベル付けするフラグも、マーカーも、メタデータもない。数学的に見れば、両者は同一だ。

デコイボールト戦略

もっともらしい否認可能性が機能するためには、見せるものが必要だ。空のボールトは不審だ。守る価値のあるものが明らかに入っていないボールトも不審だ。最も強力な防御は、誰かが見つけることを期待するものとまったく同じように見えるボールトだ。

デコイを準備する

第二のパターンを選ぶ——プレッシャー下でも素早く自然に描けるものを。そのパターンでボールトを作成する。ボールトアプリを使う人にとって自然なコンテンツで埋める:センシティブではないがプライベートにしておきたい個人的な写真、いくつかの財務書類、メモなど。コンテンツは信憑性があって少し恥ずかしいくらいのもの——スマートフォンを探る人が「見つけた」と思うくらいのものがよい。

説得力を持たせる

優れたデコイボールトにはいくつかの特徴がある。適切な数のファイルが入っていること——少なすぎず(不審に空)、多すぎず(なぜそれほど平凡なコンテンツを守る?)。ファイルは実際に使用していることを示すほど最近のものであること。そして理想的には、コンテンツがそもそもボールトアプリをインストールした理由として説得力のあるものであること。

デコイボールトを見つけて個人写真、税務書類、プライベートなメモを目にした人は、すべてを見つけたと結論づけるだろう。追加のボールトが存在することを疑う理由はない。アプリ自体がそれを示す表示を一切しないからだ。ディスク上のストレージには、表示されているボールトで完全に説明できる暗号化ブロブが表示される——より正確に言えば、ブロブが完全に説明されているかどうかを技術的に判断する方法がない。

プレッシャー下で

デバイスのロック解除を強制されたとき、デコイパターンを描く。ボールトが開く。ファイルが表示される。スマートフォンを渡す。見つかるものは何もなく、調べるものもなく、発見すべき隠しメニューもない。スマートフォンを持つ相手は、ロックが解除されたボールトアプリを見る。以上だ。

本物のボールト——実際に重要なファイルが入っているもの——は見えないまま残る。メニューの後ろに隠れているのではない。第二の認証レイヤーで守られているのでもない。正しいパターンが描かれない限り、単純に現れないのだ。そして誰も、存在を知らないパターンを描くよう強制することはできない。

なぜ数学的に証明可能なのか

これはマーケティング上の主張ではない。Vaultaireのもっともらしい否認可能性のセキュリティは、現代暗号学の十分に理解された特性に根ざしている。どれほど高度なフォレンジック分析でも、追加のボールトの存在を証明できない理由がここにある。

0
ボールト数を明らかにするメタデータ
2256
パターンごとの可能な鍵数
100%
ランダムノイズと区別不能

暗号化データはランダムノイズのように見える

AES-256-GCM暗号化は、ランダムデータと計算上区別できない出力を生成する。これは大まかな近似ではない——暗号方式の形式的な特性だ。暗号化データのブロックが与えられたとき、それが意味のある暗号化コンテンツか本当にランダムなバイトかを判断できるアルゴリズムはない。つまり、ディスク上に置かれた暗号化ボールトデータは、正しい鍵なしには「ボールトデータ」として識別できない。

ボールトレジストリなし

ボールトがいくつ存在するか、またはどのパターンに対応するかを記録するファイル、データベース、データ構造はない。フォレンジック調査官はVaultaireがインストールされていることと暗号化データが存在することを確認できる。そのデータがいくつのボールトを表しているかは判断できない。一つかもしれない。十かもしれない。データ自体が答えを提供しない。

識別オラクルなし

暗号学において、「オラクル」とは暗号化データについての質問に答えるものすべてを指す。ほとんどのパスワードシステムはオラクルを含む:パスワードを入力すると、システムがそれが正しいかどうかを教えてくれる。Vaultaireにはそのようなオラクルがない。すべてのパターンが鍵を生成する。すべての鍵が復号を試みる。特定のパターンが既存のボールトに対応するかどうかを確認または否定する「アクセス拒否」応答はない。ランダムなパターンを試す攻撃者は、「暖かくなっている」かどうかさえ知ることができない。

情報理論的な論拠

形式的に述べると:ディスク上の観察可能なデータ(暗号化ブロブ)と一つの有効な復号(デコイボールト)が与えられたとき、追加の有効な復号が存在するかどうかについて攻撃者が得られる情報はゼロだ。これは攻撃者が無限の計算能力を持っていても成立する。より激しく長く計算する問題ではない。その情報は単純に存在しないのだ。

法的に重要な理由

多くの法域では、パスワードの提供やデバイスのロック解除を強制される場合がある。しかし、存在を証明できないものを開示するよう強制することはできない。裁判所や当局がボールトへのアクセスを要求し、ボールトへのアクセスを提供した場合、追加のボールトが存在することを証明する負担は相手側にある。Vaultaireでは、その証明を数学的に生成することは不可能だ

もっともらしい否認可能性が必要な人

もっともらしい否認可能性はスパイや内部告発者のためだけのものと思うかもしれない。実際には、何百万人もの普通の人々が、強制下で情報を守る能力が贅沢ではなく必要不可欠な状況に直面している。

ジャーナリストと情報源

調査報道ジャーナリストは機密性の高い素材を持ち歩くことが多い:情報源の身元、流出文書、インタビューの録音。多くの国で、ジャーナリストは国境、検問所、または捜索中に日常的に拘留され、デバイスを捜索される。無害なメモと公開された写真が入ったデコイボールトが隠れ蓑になり、本物のボールトが匿名性に命がかかっているかもしれない情報源を守る。

活動家とオーガナイザー

政治活動家、労働組合オーガナイザー、人権活動家は、スマートフォンが監視対象となる環境で活動する。会員リスト、戦略的なコミュニケーション、abuse(虐待)の文書化は、窃盗だけでなく強制的な開示からも守られなければならない。もっともらしい否認可能性とは、没収されたスマートフォンが説明のつかないものを何も明かさないということだ。

虐待的な状況にある人

家庭内暴力の被害者は、デバイスを監視されながら生活しながら、証拠を記録する必要があることが多い——負傷の写真、脅迫の録音、法律家やシェルターとのコミュニケーション。加害者がボールトアプリの中身を見せるよう要求しても、デコイボールトは警戒を要するものを何も表示しない。証拠ボールトは見えないまま残り、記録と当事者の安全の両方を守る。

国境を越える旅行者

増加する数の国々で、国境警備官が旅行者にデバイスのロックを解除して検査のために渡すよう要求できる。拒否すれば入国拒否、拘留、あるいはそれ以上の事態になりうる。Vaultaireを使えば、完全かつ誠実に従うことができる——ボールトを開いて係官が検査し、他のボールト内のプライベートデータは完全に検知不可能なままだ。

プライバシーを大切にするすべての人

プライバシーを守るために危険にさらされている必要はない。プライベートな日記をつけているかもしれない。誰にも見られたくない医療情報があるかもしれない。デジタルライフのすべての部分が、スマートフォンを拾った誰にでもアクセスできるべきではないと単純に信じているかもしれない。もっともらしい否認可能性は最も強力なプライバシーの形態だ。なぜならアクセスを妨げるだけでなく、問いかけ自体をなくすからだ。

他のボールトアプリとの比較

市場のほとんどのボールトアプリは、セキュリティをアクセス制御の問題として扱う:パスワードを設定し、パスワードがファイルへのアクセスを制限する。「偽のPIN」や「デコイモード」を提供するものもある。しかし実装は表面的であり、知識のある調査官にはすぐに見透かされる。

単一ボールトの問題

ボールトアプリの大多数——Private Photo Vault、Keepsafe、Calculator#——は単一のパスワードで守られた単一のボールトを持つ。強制的に開けさせられれば、すべてが見える。第二のレイヤーもなく、代替ビューもなく、一部のファイルを表示しながら他を隠す方法もない。唯一の選択肢はロック解除を拒否することだが、多くの状況でそれは選択肢にならない。

見せかけのデコイモード

一部のアプリは、第二のコードを入力すると制限されたまたは空のボールトを表示する「偽パスワード」機能を提供する。実装を考えるまでは賢いように聞こえる。これらのアプリは通常、デコイモードが存在することを示すフラグを設定に保存する。フォレンジックツール——あるいは中程度の技術知識を持つ人——がアプリのデータディレクトリを調べ、フラグを見つけ、隠しモードがあることを知ることができる。デコイモードはセキュリティの見せかけだ。

Vaultaireのアプローチはアーキテクチャ的に異なる

Vaultaireはもっともらしい否認可能性を従来のボールトアーキテクチャに後付けしない。基盤に組み込まれている。パターンから鍵への導出、ボールトレジストリの不在、他の鍵について何も明かさない認証付き暗号化の使用——これらはオン・オフを切り替えられる機能ではない。暗号化スキーム自体の特性だ。見つけるべきフラグがないのは、フラグが存在しないからだ。デコイモードがないのは、すべてのボールトが本物だからだ。

これは、ボールトを隠そうとするシステムと、「隠す」という概念が適用されないシステムの違いだ。Vaultaireはボールトを隠さない。正しいパターンを持たない誰にとっても、暗号学的に存在しないものにする。

よくある質問

ボールトはいくつ作れるか?

人為的な制限はない。描く一意のパターンごとに、独自の暗号化鍵を持つ別々のボールトが作成される。2つでも20でも持てる。レジストリも数もどこにも保存されていないため、持っているボールドの数はあなただけが知っている。

フォレンジック調査官はボールトの数を特定できるか?

できない。ディスク上の暗号化データはランダムノイズと区別できない。ボールトがいくつ存在するかを明かすメタデータ、インデックス、構造的な痕跡はない。フォレンジック調査官はVaultaireがインストールされていることと暗号化データが存在することを確認できるが、そのデータが何個の異なるボールトを表しているかは判断できない。

Vaultaireのもっともらしい否認可能性の仕組みを知っている人がいたら?

それがこの設計の美しさだ。システムの仕組みを正確に知っていても——このページを読んでいても——追加のボールトの存在を証明することはできない。セキュリティは不透明さに依存しない。数学に依存する。鍵なしではアルゴリズムを知っても役に立たず、どれほどの分析でも追加の鍵が存在するかどうかを明らかにすることはできない。

複数のボールトを持つとストレージやパフォーマンスに影響するか?

各ボールトは含むファイルに比例したストレージを消費する。暗号化と復号のオーバーヘッドは、ボールドが1つでも複数でも同じだ。アプリは描いたパターンに対応するボールトだけを復号するため、他のボールトの存在によってパフォーマンスは影響を受けない。

ソフトウェアアップデートでVaultaireがすべてのボールトを開示するよう強制できるか?

できない。アーキテクチャが理論上もこれを不可能にしている。開示すべきボールトリストが存在しない。ソフトウェアアップデートはボールトのリストを作成できない。アプリ自体がその情報を持っていないからだ。ボールトを発見する唯一の方法は、その鍵を導出したパターンを提供することだ。これはアプリではなく暗号化の特性だ。

すでに使用しているパターンで誤ってボールトを作成したらどうなるか?

既存のボールトに一致するパターンを描けば、アプリはそのボールトを開く。誤って複製を作成することはできない。鍵導出が決定論的だからだ:同じパターンは常に同じ鍵を生成する。既存のボールトのパターンを描けば単純にそれが開く。

最も大切なものを守れ

最初のデコイボールトを1分以内に設定できる。本当のセキュリティとは、隠すものが何もないということ——たとえあったとしても。

Vaultaireを無料ダウンロード