LoginSignup
2
1

More than 5 years have passed since last update.

iOS端末の復元とキーチェーンのメモ

Posted at

iOS端末を復元した際にキーチェーンが復元されるかは、バックアップの方法などによって異なります。
キーチェーンでアプリのログイン状態などを制御している場合にはそのあたりを気をつける必要があります。

ちなみに弊社で提供しているEAPでは、code/pinによる復元機能が標準で用意されています。
このように簡単に復元できる仕組みが備わっているアプリであれば、バックアップからの復元後にログイン状態が維持できなくてもはあまり問題にならないかもしれません。

iOSには以下のバックアップの方法がありますが、それぞれ設定値によって復元した際のキーチェーンの状態が変わってきます。

バックアップ方法とキーチェーン復元の有無

iTunesでのバックアップ

バックアップの暗号化 キーチェーンの復元
あり される
なし されない

iCloudでのバックアップ

iCloudキーチェーン キーチェーンの復元
有効 される
無効 されない

基本的に暗号化バックアップでなければキーチェーンは保存されません。
iCloudバックアップは必ず暗号化バックアップになりますが、iCloudキーチェーンが有効でないとキーチェーンは保存されません。

アプリ側の実装

アプリ側の実装でも状況は変わってきます。
アプリからキーチェーンをセットした際に、属性が kSecAttrSynchronizableに設定された項目のみが同期されます。
また、アイテムの種類としてパスワード(kSecClassGenericPassword、kSecClassInternetPassword)は同期されますが、証明書(kSecClassCertificate)や暗号鍵(kSecClassKey)などは同期されないようです。

Only password items can be synchronized. Keychain syncing is not supported for certificates or cryptographic keys.

参考情報

kSecAttrSynchronizable
https://developer.apple.com/documentation/security/ksecattrsynchronizable

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1