Secure EnclaveとAndroid Keystoreは、暗号処理や鍵情報の保護に関わるプラットフォームのセキュリティ機能です。暗号化写真保管庫を指す同義語ではありません。
2つのプラットフォーム、異なる機能
Appleは Secure Enclave を分離されたセキュリティサブシステムと説明しています。Androidの Keystoreドキュメント は鍵の保存、許可された鍵利用、ハードウェアを利用する保護の選択肢を説明します。対応ハードウェアと鍵の性質は、デバイスや設定によって異なります。
アプリがプラットフォームのセキュリティAPIを使っているという説明は、すべてのファイルが別のチップ内に物理保存されていることを意味しません。大きなメディアファイルとその暗号鍵では、保存・処理の要件が異なります。
確認したい質問
どの鍵を保護するのか。書き出せるのか。使用にはどの認証が必要か。デバイスをリセット・交換したらどうなるか。持ち運び可能なバックアップは別の秘密で復元する設計か。これらの質問は、一般的なハードウェアセキュリティの表示より、実際の動作を明確にします。
プラットフォーム保護があっても、解除されたアプリのあらゆる利用が安全になるわけではありません。攻撃者が動作中のOSを制御していれば、特定の鍵を直接取り出せなくても、アプリに表示された平文が漏れる場合があります。
NullVaultの文書化された利用
Androidの構成は、Argon2idと暗号化アプリ保存に加えてKeystore情報を説明します。iOSには独自の暗号・復元設計があります。iPhoneで動くという理由だけで、説明されていないSecure Enclaveへの保存を推定しないでください。参照: NullVaultの構成、 デバイス侵害に関する制限、そして 暗号化保管庫の仕組み。