web-dev-qa-db-ja.com

Androidユーザー資格情報のキーチェーン

AndroidにiOSのキーチェーンに相当するものはありますか?

Preferences APIの私の理解は、暗号化されていないということです。私のアプリケーションでは、これらの資格情報がデバイス間で保持されるかどうかは関係ありません(つまり、 AndroidのiPhoneのようなキーチェーン? )とは異なるユースケースです)

また、KeyStore APIを見ましたが、ユーザー資格情報の実際のストレージはアプリケーション開発者に任せているようです。

ご協力いただきありがとうございます!

67
FXbeckers

簡単に言えば、ありません。しかし、ファイルシステムは安全であると期待できます。

各アプリは異なるユーザーの下で動作し、アプリのデータを保存するために使用されるファイルシステムは、通常のUNIXユーザー権限によって保護されています。そのため、各アプリのファイルアクセスはデフォルトでサンドボックス化されています。ファイルシステムも暗号化されている場合があります。

開発者のサイトのこのページでは、より適切に説明されています。 http://developer.Android.com/guide/topics/security/security.html

8
nmr

@DJPlayerの答えを展開する:

いくつかの関連記事。 3番目には、キーストアプロバイダーを使用してキーを生成し、文字列を暗号化するgithubアプリが含まれています。

暗号化されたパスワードを保存する方法については、 Android Storage Options も参照してください-私の推奨事項は、共有設定です。

ルートアクセスとアプリがキーストアを使用する方法に関する少しの知識(apkの逆コンパイルから取得可能)に関する2番目の記事によれば、秘密鍵をハイジャックして暗号化された素材を復号化するために使用できることに注意してください(例:永続的なパスワード)

4
Stan Kurdziel

実際にあります:

Smart Lock for PasswordsをAndroidアプリに統合すると、保存した資格情報を使用してユーザーをアプリに自動的にサインインできます。ユーザーは、ユーザー名とパスワードの資格情報とフェデレーションIDプロバイダーの資格情報の両方を保存できます。

Credentials APIを使用して、サインイン時に保存された資格情報を取得することにより、Smart Lock for Passwordsをアプリに統合します。正常に取得された資格情報を使用してユーザーをサインインするか、資格情報APIを使用して、アプリのサインインまたはサインアップフォームを部分的に完了することにより、新しいユーザーを迅速にオンボードします。サインインまたはサインアップ後に、将来の自動認証のために資格情報を保存するようユーザーに要求します。

https://developers.google.com/identity/smartlock-passwords/Android/

4
neteinstein