実務的な比較
Android は、Keystore が鍵素材を書き出し不可のまま保持でき、対応端末ではセキュアなハードウェアに結び付けられると説明しています。Apple は Keychain を、小さな機微データのための暗号化されたデータベースとして説明しています。Android Keystore の文書と Apple Keychain Services の概要をお読みください。
例:ある保管庫が、暗号化した写真ファイルをアプリのプライベートストレージに保存し、保管庫の鍵を取り出すためにプラットフォームが保護する素材を使っています。暗号文だけを別の端末にコピーしても、元の端末の保護された鍵の文脈が自動的に再現されることはないはずです。したがって、持ち出し可能なバックアップには、別個に意図して設計された復旧経路が必要です。
- 項目 — Android Keystore — Apple Keychain
- 主な役割 — プラットフォームのポリシーのもとでアプリの暗号鍵を生成・保存・使用する — 小さな秘密情報、鍵、証明書、識別情報を保存する
- ハードウェアによる保護 — 対応する端末と構成で利用できる — 端末のセキュリティと Secure Enclave の統合は、項目と API の設計による
- 写真ライブラリ全体を保存する — しない — しない
- 認証付きファイル暗号化を置き換える — 置き換えない — 置き換えない
- アンインストール、初期化、移行のすべてを乗り越える — 普遍的な保証はない — アクセス可能性と移行に関する属性による
保管庫に両方の層が必要な理由
プラットフォームのサービスは、小さな鍵素材を保護し、端末のポリシーを強制します。認証付き暗号化は、はるかに大きなコンテンツとメタデータを保護します。鍵導出は人間のパターンを扱います。バックアップの設計は端末の紛失に対処します。どれか1つの層をシステム全体だと考えると、すき間が残ります。
NullVault での提供状況
Android 版 NullVault は、ローカルの保管庫へのアクセスの一部として、Android Keystore が保護する鍵素材を使います。リリース済みの iOS アプリは、Apple CryptoKit と libsodium を、暗号化されたアプリのプライベートストレージとあわせて使います。これらはプラットフォーム固有の信頼境界であり、同一の実装として説明すべきではありません。
限界
プラットフォームの鍵保管は、正当にロック解除された画面を見ている人物を止められません。root 化、脱獄、デバッグ、その他の方法で侵害された稼働中の端末は、通常の想定を超え得ます。また、ハードウェアによる裏付けはバックアップを作りません。別個の復旧設計なしに端末に紐づいた素材を失えば、暗号文は永久にアクセスできなくなり得ます。
ガイド確認日:2026年8月28日。
Priya はまず、機微でないデータでテストします。「Android Keystore と Apple Keychain の比較を検討するにあたり、まず機微でない項目を1つ使う」。次に Priya は2つ目の確認手順に従います。「該当するアプリまたは端末をロックし、新しいセッションから結果を確認する」。この架空のシナリオは判断の流れを示すものであり、製品テストの報告ではありません。
- 「Android Keystore と Apple Keychain の比較」で説明した結果は、エクスポート済み、共有済み、キャッシュ済み、クラウド同期済みのコピーを自動的には対象としません。
- 認証情報の紛失、アプリコンテナの削除、端末の初期化、未検証のバックアップにより、保護されたデータが利用できなくなることがあります。
Keystore と Keychain は同じものですか?
いいえ。Android Keystore はプラットフォームのポリシーのもとで暗号鍵を生成・保存・使用します。Apple Keychain は小さな秘密情報、鍵、証明書、識別情報を保存します。役割は重なりますが、同等ではありません。
これらは写真ライブラリを暗号化しますか?
いいえ。これらは小さな秘密情報と鍵素材を保護します。大量のコンテンツの暗号化は、これらのシステムが保護を助ける鍵を使って、アプリケーションが行います。