NullVaultは、ランダムな保管庫のマスターキーと、人が覚えるパターンを分離します。パターンは意図的に計算負荷を高くした鍵導出処理を経て、対応する暗号化保管庫の状態を開くために使われます。内容は認証付き暗号化で保護されます。プラットフォームの鍵保護、暗号化メタデータ、異常時に拒否する解析処理も保護を重ねますが、侵害されたOSが正常なロック解除を観察した後の平文は、どれも保護できません。
提供状況: NullVaultはiPhone、iPad、Androidで利用できます。
パターンから保管庫へ
パターンは、保管庫の永続的なコンテンツ暗号化キーではありません。大まかな流れは次のとおりです。
- NullVaultは、パターンの順序付きの点を正規化されたバイト列に変換します。
- メモリを多く使うパスワード関数が、インストール固有の情報を使ってアクセス素材の候補を導出します。
- プラットフォームの設計上必要な箇所で、そのプラットフォームが保護する鍵素材を適用します。
- NullVaultは、表示可能な保管庫インデックスを先に参照せず、固定形式の認証付きアクセスレコードを検証します。
- 認証に成功すると、その保管庫のランダムキーをアンラップします。
- 別々に導出した鍵で、ヘッダー、メタデータ、コンテンツレコードを保護します。
この分離によって、パターン変更時は全項目を再暗号化せず、変わらない保管庫の鍵へのアクセスをラップし直せます。また、パターンはパスワードのように扱うべきです。よくある形や短い操作は推測されやすくなります。
こちらの パターンでロックする保管庫 に、利用者向けの説明があります。
認証付き暗号化
NullVaultは、管理するコンテンツに認証付き暗号化を使用します。暗号化は機密性を提供し、認証は平文を受け入れる前に改変を検出します。ファイルは個別に認証されるレコードまたはチャンクに分割され、メタデータとアクセス状態には別の認証領域を使用します。
すべてのファイルで1つのコンテンツキーを共有しない設計です。保管庫のマスターキーを基点とし、用途別またはファイル別の鍵によって意図しない鍵の再利用を減らします。永続化形式には明示的なバージョンと厳格な解析処理があり、未知または不正なレコードは拒否されます。
暗号化は、観測できるすべての事実を隠すものではありません。ファイル名と内容が暗号化されていても、暗号文の長さ、割り当ての変化、ファイル数、アクセス時刻、クラウド操作から活動がわかる場合があります。
隠された保管庫の発見
NullVaultは、保管庫を選ぶための全体一覧を表示しません。入力されたパターンは、対応する認証付きアクセスレコードを開こうとします。既存の保管庫にはそのパターンからのみアクセスでき、作成が可能な場合は、条件を満たす新しいパターンで別の保管庫を作成できます。
セキュリティ上の主張は意図的に限定されています。「全体一覧を表示しない」ことは「フォレンジック上の痕跡がない」ことと同じではありません。実行中のプロセスの侵害、アプリコンテナーの履歴、繰り返し取得したスナップショット、割り当て上限の動作、プラットフォームのメタデータから、通常のロック画面では見えない情報がわかる場合があります。
詳しくは、 パターンでアクセスする非表示の保管庫 と 文書化された制限。
Androidで信頼する範囲
公開版のAndroid設計は、次を組み合わせています。
- 保護する保管庫データへのAES-256-GCM認証付き暗号化。
- パターンからの導出に使う、メモリを多く使うArgon2id鍵導出。
- 端末で保護されたAndroid Keystoreの鍵素材。
- アプリ専用ストレージ内の、暗号化されたファイル名、メタデータ、サムネイル、ファイル内容。
- 利用者が明示的に制御する、持ち運び可能な暗号化バックアップ。
NullVaultはパターン自体をアップロードせず、復元可能な文字列として保存もしません。必要な端末キーがない場合、コピーされた暗号化コンテナーだけでは通常の端末内アクセスはできません。ただし、ロック解除時に実行中のアプリやOSを制御する攻撃者から保護するものではありません。
Androidの端末内復元と持ち運び可能なバックアップからの復元は別です。保管庫が元の端末に残っている場合、端末復元フレーズで忘れたパターンを置き換えられます。持ち運び可能なバックアップは専用のバックアップ復元フレーズを使い、有効な暗号化バックアップファイルが必要です。
iOSで信頼する範囲
公開版のiOS設計は、AES-256-GCM認証付き暗号化、メモリを多く使うArgon2idパターン処理、Apple CryptoKit、libsodiumと、暗号化されたアプリ専用ストレージを組み合わせています。各保管庫には固有の24単語のBIP-39復元フレーズがあります。端末内利用にNullVaultアカウントは不要です。
暗号化バックアップは、利用者のiCloudアカウントへ保存する前に端末上で作られます。共有では、固有の24単語の共有フレーズ、有効期限、取り消し、所有者のエクスポート方針で制御する、別の暗号化された読み取り専用レプリカを作成します。これらの制御は、過去のエクスポート、スクリーンショット、写真、対応する手順の外で保持されたコピーを消去しません。
復元と暗号化バックアップ
復元用の認証情報とバックアップは、異なる問題を解決します。
- 端末内の復元 は、端末に残る有効な暗号化状態へのアクセスを変更または復旧します。
- バックアップからの復元 には、復元用の秘密情報が与える権限と、データを含む暗号化バックアップオブジェクトの両方が必要です。
Androidでは、端末内の暗号化状態が利用できる間、同じ端末上での復元で忘れたパターンを置き換えられます。別の場所で復元するには、持ち運び可能な暗号化バックアップと専用のバックアップ復元フレーズが必要です。
iOSでは、保管庫の24単語の復元フレーズが、復元と暗号化iCloudバックアップからの復旧を許可します。フレーズは失われた暗号文を再作成せず、NullVaultもアカウントやサーバー側のマスターキーからフレーズを取得できません。
ご確認ください: 復元フレーズと暗号化バックアップの比較 を読んでから、それぞれの方法に頼ってください。
ロックと平文の存続期間
NullVaultがロックされると、アクティブな鍵へのアプリレベルのアクセスを取り消し、プラットフォームが許す範囲で、導出した素材を管理対象メモリから取り除くべきです。また、管理するコンテンツの処理経路では、永続的な平文の一時ファイルを避けます。
管理されたランタイムや現代のOSでのメモリ消去は、可能な範囲での対応です。使用中に、システム、デバッガー、悪意あるコード、侵害されたカーネルが平文や鍵素材をコピーした可能性があります。ロックは以後の通常のアクセスを保護しますが、すでに観察されたデータは回収できません。
よくある質問
パターンはディスクに保存されますか?
設計上、パターンを復元可能な文字列や再利用可能なヒントとして永続化しません。入力された操作を処理して認証付きアクセスを試みます。ただし、弱いパターン、目撃されたパターン、使い回したパターンは推測される可能性があります。
パターンに加えてランダムな保管庫キーを使う理由は?
ランダムな保管庫キーは、安定した高エントロピーの保護をコンテンツに与えます。パターンはラッピング層を制御するため、パターンを変更しても全項目を再暗号化する必要はありません。
クラウドストレージが暗号化されていれば、クラウドのメタデータもありませんか?
いいえ。NullVaultは暗号化したアプリのデータを送るよう設計されていますが、事業者はサービス運営に必要なアカウント、時刻、サイズ、レコード、端末、ネットワークのメタデータを引き続き処理できます。
復元フレーズだけでファイルを再作成できますか?
対応する復元設計で可能とされ、必要な暗号化データが残っている場合に限ります。Androidの持ち運び可能なバックアップからの復元には、有効な暗号化バックアップファイルと専用フレーズが必要です。iOSの復元には、利用可能な暗号化iCloudバックアップの状態と保管庫の復元フレーズが必要です。
この構成はフォレンジック分析への耐性を保証しますか?
いいえ。このモデルは、暗号化コンテンツと保管庫の発見に対する範囲を限定した保護を説明します。あらゆるフォレンジック技術、繰り返しのスナップショット、侵害されたプラットフォーム、保管庫が開いている間の観察を防ぐとは主張しません。
構成情報の確認日:2026年9月1日。