Android Keychain для пользовательских учетных данных

Есть ли эквивалент iOS keychain на Android?

Мое понимание API Предпочтения заключается в том, что он не зашифрован. Для моего приложения не имеет значения, сохраняются ли эти учетные данные на разных устройствах (например, в случае использования iPhone-типа Keychain в Android?)

Я также посмотрел на KeyStore API, но, похоже, он оставил фактическое хранилище учетных данных пользователя до разработчика приложения.

Спасибо за вашу помощь!

Ответ 1

Короткий ответ, его нет. Но вы можете ожидать, что файловая система будет безопасной.

Каждое приложение работает под другим пользователем, а файловая система, используемая для хранения данных приложения, обеспечивается обычными разрешениями пользователя UNIX. Таким образом, каждый доступ к файлам приложений по умолчанию изолирован песочницей. Файловая система также может быть зашифрована.

Эта страница с сайта разработчика объясняет это лучше: http://developer.android.com/guide/topics/security/security.html

Ответ 2

Расширение ответа @DJPlayer:

Некоторые соответствующие статьи. Третий включает приложение github, которое демонстрирует использование поставщика хранилища ключей для генерации ключей, а затем шифрования строк.

Также см. Параметры хранилища Android для способов хранения зашифрованного пароля - моя рекомендация - это общие настройки.

Обратите внимание, что согласно второй статье с правами доступа root и небольшим знанием того, как ваше приложение использует хранилище ключей (которое может быть доступно для декомпиляции вашего apk), можно захватить закрытый ключ и использовать его для дешифрования зашифрованного материала (например: сохраненный пароль)

Ответ 3

На самом деле есть:

Интегрируя Smart Lock для паролей в свое Android-приложение, вы можете автоматически подписывайте пользователей в своем приложении, используя учетные данные, которые они сохранены. Пользователи могут сохранять учетные данные пользователя и пароля и учетные данные федеративного удостоверения личности.

Интеграция Smart Lock для паролей в ваше приложение с помощью API учетных данных для получения сохраненных учетных данных при входе в систему. использование успешно получить учетные данные, чтобы подписать пользователя или использовать API учетных данных для быстрого внедрения новых пользователей путем частичного завершения ваше приложение зарегистрировалось или зарегистрировалось. Подскажите пользователям после входа или зарегистрироваться для сохранения своих учетных данных для будущих автоматических аутентификации.

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