- iPhoneでアプリを削除しても、キーチェーンに保存された認証情報は端末に残ります。
- キーチェーンはAppleが用意したパスワード専用の保管領域で、アプリの通常データとは独立しています。
- そのため再インストール後にログイン画面でアカウント候補が表示され、タップだけで認証が完了します。
- 認証情報を完全に消すには、「パスワード」アプリからXのアカウントを手動で削除する必要があります。
1. Xの再インストールとログイン
「Xを再インストールしたのに、パスワードを入力なしにログインできました。なぜですか?」という質問がありました。
Xのアプリをいったん削除したのに、パスワード入力なしでログインできた。
不審に思うのは自然なことです。
しかし、よく確認してみると、乗っ取りでも不具合でもなく、iOSの設計による動作でした1。
2. アプリを削除しても消えないデータがある
iPhoneでアプリを削除すると、そのアプリが保存していたデータはすべて消える、と思うのは自然です。
たしかに、メッセージのテキストや設定など、アプリが通常の領域に保存したデータは消えます。
ただし、「キーチェーン」に保存されたデータは別です。
3. ログイン画面にアカウントの候補がある?
実は、今回の質問では、パスワードの入力はなかったものの、Xのログイン画面は表示されていました。
アカウントの候補が表示され、タップするだけでログインできた状態になっていたのです。
これは、Xのサーバー側ではセッションがログアウト済みになっていても、再ログインに必要な認証情報がキーチェーンに残っていたため。
キーチェーンに保存されているパスワードは、自分でパスワードを入力することなしにスムーズに認証されます。
キーチェーンは、パスワードやログイントークンなどの認証情報を安全に保管するためにAppleが用意した仕組みです。
iOSが管理するセキュリティを高めるための特別な保管場所で、通常のアプリデータとは独立した領域に存在します。
また、データは暗号化されて保存され、同じアプリ以外からはアクセスできません2。
そのため、アプリを削除しても、キーチェーンに入っているデータはそのまま端末に残る設計になっています3。
4. 気になる方向け:キーチェーンの認証情報を削除する方法
とくにセキュリティ上の問題がある状態ではないですが、端末に認証情報を残るのが気になる場合には、iOSのパスワードアプリから削除することもできます。
ホーム画面の「パスワード」アプリを直接開来ます。
Face IDまたはパスコードで認証したあと、一覧からXのアカウントを探して削除すると、キーチェーンに保存されていた認証情報が消えます4。
そうすれば、次にXを再インストールしたときは、パスワードの入力が求められます。
- 「全セッションからログアウト」はXのサーバー側で発行済みのセッショントークンをすべて無効化する操作です。端末上のキーチェーンに保存されたデータには直接影響しません。 – IOS Tips: Using keychain to store password, access token On iOS App
- キーチェーンはAES-256-GCMで暗号化されており、Secure Enclaveと連携して保護されます。パスワードだけでなく、ログイン後に発行されるセッショントークンやアクセストークンも保管対象です。 – Keychain data protection – Apple Support
- アプリのキーチェーンデータはアンインストール後も残り、ユーザーが削除する手段はなく、端末を初期化しない限り残り続けます。 – IOS Saves Credentials for Deleted Apps – Apple Community
- iOSのパスワードアプリはiOS 18およびmacOS Sequoiaで独立したアプリとして提供されました。それ以前のバージョンでは「設定」内の「パスワード」から同様の操作が可能です。 – Keychain (software) – Wikipedia