特徴
Mac用の暗号化バックアップリポジトリ
Azivaultは、Mac上のフォルダーの内容、Photosリソース、および機密性の高いメタデータを、リポジトリオブジェクトがローカル、ネットワーク、外部、またはS3対応ストレージに書き込まれる前に暗号化します。
技術的に最終レビューされた日:。
暗号化されたバックアップリポジトリが保護するもの
バックアップリポジトリには、ファイルペイロード以上のものが含まれています。ファイルの内容が暗号化されている場合でも、名前、ディレクトリ階層構造、タイムスタンプ、実行記録、および宛先メタデータは、機密情報を明らかにする可能性があります。
Azivaultがサポートするリポジトリ形式は、ファイルペイロードと現在の相対パスメタデータを保護します。ファイルの内容は認証されたチャンクで圧縮され、セーリングされます。カタログ行およびチェックポイントマナフェスト内のファイルおよびディレクトリパスは暗号化されます。キー付きパス識別子は、明文名をインデックスキーとして保存することなく、照合と差分比較を可能にします。
リポジトリの履歴は、意図的に、プレーンテキストの認証情報、復元パスワード、リポジトリキー、セキュリティ範囲のブックマーク、ベアラートークン、ローカル絶対パスを除外しています。
写真リソースとメタデータ
フォトスナップショットは、同じリポジトリキーと認証済みBLOBモデルを使用します。Azivaultは、PhotoKitが公開するリソースを暗号化されたチャンクにストリームします。暗号化されたPhotos manifestは、サポートされているメタデータとユーザーが作成したアルバムの関係を保存します。
公開されているphotos/index.jsonファイルには、カウント、暗号化されたマニフェスト参照、非機密のカバーリングフラグが含まれています。ファイル名、PhotoKit識別子、アルバム名、場所、タイトル、キャプション、キーワード、その他のユーザーメタデータは公開されていません。
ファイル暗号化の仕組み
Azivaultは、AppleのCryptoKit APIを介してAES-256-GCM認証暗号化を使用します。ファイルコンテンツは制限されたチャンクで処理されるため、大ファイルが完全にメモリに存在する必要はありません。各チャンクは暗号化前に圧縮され、チャンクインデックスや最終チャンクマーカーなどの構造フィールドは追加データとして認証されます。
認証暗号化は重要です。なぜならプライバシーだけでは不十分だからです。復元と検証は、変更されたヘッダー、破損した暗号文、不正な認証タグ、または期待されるリポジトリのアイデンティティと一致しなくなったオブジェクトも検出する必要があります。
リポジトリキーと復旧パスワード
リポジトリキーはリポジトリコンテンツを暗号化します。復旧パスワードはファイル暗号化キーとして直接使用されません。代わりに、AzivaultはPBKDF2-HMAC-SHA256を使用してパスワードキーの材料を生成し、それをリポジトリキーをAES-256-GCMで暗号化するために使用します。
この分離により、アプリは通常の動作中にキーチェーンを通じてリポジトリキーを取得できるようにし、リポジトリメタデータにポータブルなパスワードベースの復元パスを保持します。リポジトリは、暗号化されたキーとアルゴリズムパラメータを保存し、明文のリポジトリキーやパスワードは保存しません。
新しい設定では、強力なリカバリパスワードが生成され、iCloudキーチェーンを通じてリポジトリキーを同期するデフォルト設定が適用されますが、ローカルのみオプションを明示的に選択することもできます。リカバリパスワードは、Macをバックアップせずにアクセスできる場所に保管してください。
iCloudキーチェーンは必要ですか?
いいえ。iCloudキーチェーンは、リポジトリ形式ではなく、便利さと復旧ルートです。ローカルのみのキーチェーンストレージを選択し、復旧パスワードを別途保持できます。
同期されたキーチェーンアイテムにアクセスできる別のMacの場合、Azivaultはパスワードを要求することなく、インポートされたリポジトリをアンロックする可能性があります。キーチェーンにアクセスできない場合は、復旧パスワードが同じリポジトリキーを解凍します。
ファイル名とフォルダ名は暗号化されていますか?
はい。現在のリポジトリカタログの行とチェックポイントマニフェストは相対パスを暗号化します。これにより、ストレージプロバイダーや外部ディスクを保有している人物が、リポジトリメタデータからプロジェクト名、クライアント名、フォルダ階層を簡単に読み取ることが防ぎられます。
リポジトリのフォーマットバージョン、暗号化アルゴリズム、オブジェクトレイアウト、およびリポジトリオブジェクトを特定するために必要な識別子など、一部の運用メタデータは必ずしも表示される必要があります。暗号化はコンテンツや機密性の高い名前を保護しますが、リポジトリの存在や概算サイズを秘密にするものではありません。
ローカル、NAS、クラウドの保存先での暗号化
同じリポジトリ形式がフォルダおよびS3互換先のすべての場所で使用されます。Azivaultは、データがオフサイトに移動した際に、プロバイダー固有のバックアップ形式に切り替えることはありません。
- ローカルまたは外部のディスクは、暗号化されたブルートレースと暗号化されたパスメタデータを受け取ります。
- マウントされたNASフォルダーは、同じリポジトリオブジェクトモデルを受け取ります。
- S3対応ストレージは、リモートリポジトリ契約を通じて書き込まれた暗号化されたオブジェクトを受け取ります。
- Finderの復元は、リポジトリの暗号化されたコンテンツを直接公開するのではなく、アプリが所有する復元サービスを通じてリクエストされたコンテンツを復元して解密します。
保存先のセキュリティは依然として重要です。プロバイダーのMFA、スケーリング可能な認証情報、信頼できるストレージ、アクセス制御を使用してください。暗号化はストレージ所有権が明らかにする範囲を制限しますが、削除権を持つ攻撃者がオブジェクトを破棄するのを防ぐことはできません。
暗号化されたバックアップは検証できますか?
はい、しかし意味のある検証には復元資料が必要です。暗号化されたファイルが存在しているだけを確認しても、その認証タグと暗号化されたコンテンツが読み取れることを証明することはできません。
azi CLIは、暗号化されたBLOBやチェックポイントの検証、暗号化されたパスのリスト化、暗号化されたパスの検索、選択されたファイルの復元、または完了した実行のエクスポートに使用されるリカバリ資料を受け付けます。リカバリパスワードをシェル履歴に直接入力する代わりに、パスワードファイルまたは環境変数を優先してください。
アプリが利用できない場合はどうなりますか?
Azivaultは、リポジトリ形式とCLIをリカバリ契約の一部として扱います。文書化された形式は、アルゴリズム、オブジェクトレイアウト、カタログの動作、リカバリラッピングを特定します。CLIはメインのグラフィカルインターフェースに依存せずに、検査、検証、検索、復元、エクスポートを行うことができます。
これはすべての依存関係を排除するものではありません:まだ互換性のあるリカバリソフトウェア、リポジトリへのアクセス、そして正しいリカバリ材料が必要です。ただし、一つのUIと一つのMacインストールへの依存を減らすことはできます。
暗号化が解決できないもの
暗号化は、欠落したオブジェクト、期限切れのプロバイダーアカウント、パスワードの忘れ方、不適切な保持期間、または完了したことがないバックアップを修復できません。また、プロバイダーレベルのオブジェクトロックも提供しません。Azivaultは現在、Arqなどの成熟した製品が互換性のあるストレージで利用できる不可変バックアップレコードサポートを欠いています。
完全な設計は、暗号化と独立した認証情報、監視されたバックアップ実行、ストレージの耐久性、意図的な保持、定期的な復元テストを組み合わせます。
暗号化されたリカバリパスをテストする
- 最初のバックアップ実行を完了します。
- Finderで実行を解き明かし、一時フォルダに1つのファイルを復元します。
- 復元されたファイルが開いて、期待されるバージョンと一致していることを確認します。
- 復元パスワードが保護されたMacの外に保存されていることを確認します。
- リカバリ用資料と
azi verifyを使用して、独立したリポジトリのチェックを行います。
関連情報
よくある質問
Azivaultのバックアップはデフォルトで暗号化されていますか?
はい。アプリによって作成されたサポートされているAzivaultリポジトリには、暗号化が必須です。
Azivaultバックアップではファイル名は暗号化されていますか?
はい。現在のリポジトリカタログの行とチェックポイントマニフェストは、明文の名前ではなく、暗号化されたファイルとディレクトリのパスを保存しています。
リカバリパスワードを紛失した場合にどうなりますか?
キーチェーンに装着されているリポジトリキーでも、バックアップを解除できます。リポジトリキーと復元パスワードのすべてのコピーが紛失した場合、暗号化されたリポジトリは復元できません。
ファイルを手動で暗号化解除せずに、暗号化されたリポジトリを確認できますか?
はい。Azivaultとazi CLIは、有効な復旧資料が提供されると、認証済みの暗号化されたリポジトリオブジェクトを検証できます。