アプリにおけるプラウジブルデナイアビリティ:概要と重要性

アプリにおけるプラウジブルデナイアビリティ:概要と重要性

プラウジブルデナイアビリティとは、隠されたデータの存在を証明できないことを意味します。


暗号化における妥当な否認は、ユーザーが別のデータ セットの存在を証明する構造的アーティファクトを残さずに 1 つのデータ セットを開示できるようにするストレージ プロパティです。主張では、その脅威モデルに名前を付ける必要があります。適切にパディングされた暗号化ストアの静的イメージは、ライブの侵害されたデバイス、クラウド サービスのメタデータ、または他の場所に保持されているコピーとは異なります。これは単なる非表示機能ではありません。それは、暗号化、レイアウト、パディング、運用設計の連携に依存します。

このガイドでは、アプリにおけるプラウジブルデナイアビリティの仕組み、本物の暗号化デナイアビリティと表面的なデコイモードの違い、それが重要な現実世界のシナリオ、デナイアビリティの主張を評価する方法を説明します。

暗号化におけるプラウジブルデナイアビリティとは

日常用語では、もっともらしい否定とは、何かを確実に否定できることを意味します。ストレージ暗号化では、有用な対象はさらに狭くなります。暗号化されたストアの検査者は、指定された脅威モデル内で隠蔽されたコンテンツと未使用の埋め込みスペースを区別できてはなりません。すでに開かれているボールト、記録された入力、外部コピー、またはあらゆる形式のデバイス侵害にその約束を拡張するアプリはありません。

この概念はディスク暗号化に起源があります。TrueCrypt(およびその後継VeraCrypt)は隠しボリュームを開拓しました:別の暗号化ボリューム内の暗号化ボリュームです。1つのパスワードは無害なファイルを含む外部ボリュームを明らかにします。別のパスワードは機密ファイルを含む内部隠しボリュームを明らかにします。外部ボリュームの未使用スペースは、暗号化データと区別できないランダムデータで埋められているため、フォレンジック検査官は隠しボリュームが存在するかどうかを特定できません。

アプリにとって、プラウジブルデナイアビリティとは、異なる認証情報(パスワード、PIN、パターン)が異なるデータセットを開き、追加のデータセットの存在を明らかにするメタデータ、レジストリ、設定フラグ、または構造的アーティファクトが存在しないことを意味します。

本物のデナイアビリティ vs 表面的なデコイモード

これがほとんどのアプリが間違える重要な区別です。

表面的なデコイモード(本物のデナイアビリティではない)

多くのボルトアプリは「デコイ」または「フェイクPIN」機能を提供しています。異なる写真を含む別のスペースを開くセカンダリPINを設定します。問題は、これらのアプリが通常、デコイモードが存在して設定されていることを示すブール値フラグ、データベースエントリ、または設定ファイルを保存することです。

アプリを理解するフォレンジック検査官はこのフラグを見つけられます。設定されたデコイモードを見つけることで、隠されたデータが存在することが証明されます。デナイアビリティは表面的であり、カジュアルなのぞき見には機能しますが、フォレンジック調査では失敗します。

表面的なデナイアビリティのサイン:

  • アプリの設定に「デコイモード」トグルがある
  • 設定ファイルがデコイモードが有効かどうかを保存する
  • データベーステーブルがタイプインジケータ(プライマリ/デコイ)とともにボルトIDをリストする
  • デコイモードがオンになるとアプリのストレージ構造が変わる
  • デコイモードが設定されていたときにアプリをアンインストールして再インストールすると異なる動作が明らかになる

本物の暗号化デナイアビリティ

本物のデナイアビリティはアーキテクチャ的特性であり、機能トグルではありません。暗号化ストレージは次のように設計されなければなりません:

  1. 代替資格情報は、独自のデータセットのみを開示します。 システムは、1 つの資格情報をカモフラージュとして識別する別のおとりフラグを保持しません。無効な認証情報は失敗する可能性がありますが、その失敗によって未公開のデータ セットが存在するかどうかが明らかになってはなりません。

  2. ボルトレジストリが存在しない。アプリはいくつのボルトが存在するかを列挙できません。カウント、インデックス、ボルトIDのリストはありません。アプリのストレージにアクセスできるフォレンジック検査官は、ボルト境界を示す構造的マーカーのない暗号化データの未分化プールを見つけます。

  3. 設定フラグが隠しボルトを明らかにしない。追加のボルトが存在するかどうか、または特定のパターンが使用されたかどうかを示すブール値、データベースエントリ、設定ファイルはありません。

  4. ストレージがパディングされている。消費される総ストレージはボルト数やファイル数に関係なく変化しません。パディングなしでは、検査官は可視コンテンツと比較した総暗号化データサイズからボルト数を推定できます。

  5. 暗号化データはランダムなノイズと区別できない。ファイル境界、ヘッダー、または1つのボルトのデータが終わりどこで別のボルトが始まるかを明らかにする構造的マーカーはありません。

特性 表面的なデコイ 本物のデナイアビリティ
認証情報ごとの別データ はい はい
ボルトレジストリなし いいえ(データベースがボルトを追跡) はい
設定フラグなし いいえ(デコイトグルが保存される) はい
ストレージパディング まれ はい
代替ストレージを静的イメージに隠します いいえ はい、記載されたストレージ脅威モデルの範囲内で
アーキテクチャ的 vs 機能的 機能トグル アーキテクチャ的特性

これが重要な現実世界のシナリオ

プラウジブルデナイアビリティは理論的な懸念ではありません。記録に残る繰り返す現実世界の状況に対処します。

国境越え

国境検問所では、検査官がデバイスを検査し、資格情報を求めることがあります。設計が実際にストレージレベルの否認可能性を提供する場合、静止画像には隠蔽されたコンテンツとパディングを区別する構造マーカーが欠けている一方で、1 つの資格情報で無害なデータセットが開示される可能性があります。 Vaultaire の現在の Vault ごとに 1 つのインデックス ファイルのレイアウトでは、審査官がアプリ コンテナにアクセスできるという保証はありません。

家庭内虐待と強制関係

虐待的な関係にある人は、虐待者が監視するデバイスに証拠(怪我の写真、脅迫メッセージ、法的書類)を保存する必要があるかもしれません。虐待者がボルトを見るよう要求した場合、ユーザーは非機密コンテンツを含むボルトを開けます。本物のデナイアビリティなしでは、アプリの設定にある「デコイモード」フラグが隠されたコンテンツの存在を明らかにするでしょう。

デバイス盗難

技術的なスキルを持つ泥棒は、盗まれた携帯電話からデータを抽出しようとする可能性があります。適切にパディングされた拒否可能ストアは、合計割り当て、デバイス状態、バックアップ、および操作トレースが依然として脅威モデルに属しているにもかかわらず、プールを占有しているデータ セットの数を隠すことを目的としています。現在、Vaultaire はコンテンツを暗号化していますが、構成された Vault ごとに 1 つのカウント可能なローカル インデックスを公開しています。

法的・ジャーナリスティックな保護

情報源を保護するジャーナリスト、クライアントファイルを保護する弁護士、権威主義的な体制の活動家は、デバイスの内容を強制されるシナリオに直面します。本物のデナイアビリティはデータ押収に対する信頼できる防御を提供します。

Vaultaire が現在実装しているもの

ヴォルテール パターンで区切られたアクセスと、ボールト リストが表示されない通常のインターフェイスを実装します。これらのプロパティは通常のアプリの使用には役立ちますが、上記の本物の否認可能性チェックリストのすべての要件を満たしているわけではありません。

構成されたパターンは、別の暗号化されたボールトを開きます。 PBKDF2 パターンとデバイス全体のソルトからボールト キーを導出します。構成されたキーは、その暗号化されたインデックスを認証し、ランダムなマスターキーをアンラップします。未構成のパターンは、「不正なパターン」メッセージではなく、空の状態を示します。

ローカル形式は列挙可能です。 Vaultaire は 1 つを保管します vault_index_<fingerprint>.bin ボールトごとのファイル。フィンガープリントからパターンやボールト名は明らかになりませんが、アプリコンテナへのアクセス権を持つユーザーはインデックス ファイルをカウントできます。 AES-GCM 認証と決定的なファイル名は、候補のボールト キーのオフライン テストも提供します。

ローカル ストレージは固定サイズではありません。 ファイルのコンテンツとメタデータは暗号化され、クラウド バックアップ チャンクではサイズ パディングとデコイ レコードが使用されます。ローカル アプリ コンテナーは、実際のボールト スロットとダミーのボールト スロットの固定プールを予約しないため、合計ストレージとインデックス数によって構造が公開される可能性があります。

回復と強迫状態が存在します。 Vaultaire はリカバリ情報を保管します。 AES-GCM 暗号化された Keychain データベース。 強迫モード 非強制ボールトのローカル インデックスとリカバリ マッピングを削除し、そのデバイスを同期から分離します。クラウド バックアップ、ピア デバイス上のコピー、またはすべての共有暗号化 BLOB は消去されず、完了時間は実行されたローカル作業によって異なります。

したがって、Vaultaire は、追加のボールトが存在しないことを情報理論的に証明するものではなく、インターフェイスの区分化と暗号化されたストレージを提供します。将来的には、オフラインのアプリコンテナのスナップショットからローカルのボールト数を隠すために、本物のスロットとダミーのスロットを区別できない固定容量のカタログが必要になります。

デナイアビリティの主張を評価する方法

アプリがプラウジブルデナイアビリティを主張している場合、次を確認します:

  1. 「デコイモード」トグルはありますか?あれば表面的です。フォレンジック検査官がトグルを見つけられます。
  2. アプリにボルトリストやデータベースはありますか?あればボルトの存在は証明可能です。
  3. 推測はオフラインでも検証できますか? 認証された暗号文は、別のパスワード ハッシュを使用せずに候補キーを検証できます。推定コストを制限するものは何か、またストレージ レイアウトでより安価なキー フィンガープリントが提供されるかどうかを尋ねます。
  4. ストレージ消費はボルト数によって変化しますか?変化すれば、ディスク分析でボルト数を推定できます。
  5. アプリはボルトを列挙できますか?アプリがボルトのリストを表示できれば、そのリストはデバイス上に存在し、発見可能です。

よくある質問

プラウジブルデナイアビリティは合法ですか?

プラウジブルデナイアビリティを持つ暗号化の使用は、ほとんどの民主主義国で合法です。その存在を証明できない暗号化データをデバイスに持つことを禁じる法律はありません。一部の管轄区域(RIPAに基づく英国、支援・アクセス法に基づくオーストラリア)では、当局は暗号化鍵の開示を強制できます。法的な問題は、その存在が証明できない鍵へのデータの開示を強制することが執行可能かどうかです。これは発展途上の法的領域です。

フォレンジックツールはプラウジブルデナイアビリティを検出できますか?

Vaultaire のアプリ コンテナを入手した審査官は、暗号化されたストレージを検出し、カウントすることができます。 vault_index_*.bin ファイル。ファイルはボールト名や平文の内容を開示していませんが、その数からローカルの暗号化されたインデックスの数が明らかになります。したがって、現在の設計では、保管庫をすべてのフォレンジック検査からではなく、通常のナビゲーションから隠します。

プラウジブルデナイアビリティは決意した国家レベルのアクターに対して機能しますか?

AES-256-GCM キー、ナンス、実装が適切である場合、強力なコンテンツ暗号化境界を提供します。だからといって、Vaultaire の現在のストレージ レイアウトが国家審査官に否定されるわけではありません。ローカルのインデックス数は表示されたままであり、Vault が開いている間にライブ侵害がパターン、キー、プレビュー、またはエクスポートをターゲットにする可能性があります。現在の機能は、インターフェイスで開くさまざまなパターンを分離します。決心した審査官が追加のローカルインデックスの存在を証明できないという保証はありません。

プラウジブルデナイアビリティと隠しボルトの違いは何ですか?

非表示のボールトは、アプリの通常のインターフェイスでは表示されないボールトです。強力な暗号拒否可能性は、隠されたデータを未使用の埋め込みストレージと区別できないという別の特性です。 Vaultaire は現在、最初の物件を提供しています。ボールトごとに 1 つのインデックス ファイルという形式では、審査官にアプリ コンテナーへのアクセス権を与えることはできません。

クラウドバックアップでプラウジブルデナイアビリティを使用できますか?

Vaultaire は、暗号化されたバックアップ マニフェストと埋め込まれた暗号化されたファイル チャンクをユーザーのプライベート ファイルに書き込みます。 CloudKit データベース。ランダムなレコード名、統一されたレコード タイプ、10 MB のチャンク パディング、およびデコイ レコードにより、直接的なコンテンツの開示が減少します。レコード数、総量、タイミング、更新パターンはサービス メタデータとして表示されたままであるため、クラウド バックアップでは情報理論的に否定可能な一定サイズのストアは作成されません。

まとめ

強力なストレージ否認の目的は、検査官が静的暗号化ストア内の埋め込まれた空き領域と隠蔽データを区別できないようにすることです。この機能を主張するほとんどのアプリは、検出可能な構成フラグを備えた装飾的なデコイ モードを提供します。より強力な定義を満たすには、正確な脅威モデル、カウント可能なボールト レジストリなし、構成フラグを明らかにしないこと、安定したパディング、およびどのスロットが本物であるかを明らかにしない暗号化されたレコードが必要です。

ヴォルテール 構成されたパターンを使用して暗号化されたボールトを分離し、ボールトの名前と内容がロックされたインターフェイスに表示されないようにします。現在のストレージ レイアウトでは、暗号化されたインデックス数が依然としてアプリコンテナ検査にさらされています。これを、追加のボールトが存在しないことの証明としてではなく、認証された暗号化に裏付けられたインターフェイス レベルの隠蔽として扱います。