Android 上是否有相当于 iOS 钥匙串的用户凭据?

发布于 2024-10-15 14:46:26 字数 309 浏览 5 评论 0原文

Android 上有类似 iOS 钥匙串的东西吗?

我对Preferences API的理解是它没有加密。对于我的应用程序来说,这些凭据是否跨设备保留并不重要(即与 Android 中类似 iPhone 的钥匙串?

我还研究了 KeyStore API,但它似乎将用户凭据的实际存储留给了应用程序开发人员。

Is there an equivalent to iOS's Keychain on Android?

My understanding of the Preferences API is that it is not encrypted. For my application it doesn't matter whether these credentials are persisted across devices (i.e. a different use-case to iPhone-like Keychain in Android?)

I also looked at the KeyStore API but it seems to leave the actual storage of user credentials up to the application developer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

话少心凉 2024-10-22 14:46:27

扩展@DJPlayer 的答案:

一些相关文章。第三个包括一个 github 应用程序,演示如何使用密钥库提供程序生成密钥,然后加密字符串。

另请参阅 Android 存储选项 有关存储加密密码的方法 - 我的建议是共享首选项。

请注意,根据具有 root 访问权限的第二篇文章,并且了解您的应用程序如何使用密钥库(可以通过反编译您的 apk 获得),可以劫持私钥并使用它来解密加密材料(例如:保留的密码)

Expanding upon @DJPlayer's answer:

Some relevant articles. The third includes a github app that demonstrates using the keystore provider to generate keys and then encrypt strings.

Also see Android Storage Options for ways to store the encrypted password - my recommendation is Shared Preferences.

Note that according to the second article with root access and a bit of knowledge of how your app uses the keystore (which might be obtainable from decompiling your apk), it's possible to hijack the private key and use it to decrypt encrypted material (ex: the persisted password)

拥醉 2024-10-22 14:46:26

简短的回答,没有。但您可以期望文件系统是安全的。

每个应用程序在不同的用户下运行,用于存储应用程序数据的文件系统受到普通 UNIX 用户权限的保护。因此,每个应用程序的文件访问默认情况下都是沙盒的。文件系统也可以被加密。

开发人员网站的此页面对此进行了更好的解释: http://developer.android.com /guide/topics/security/security.html

Short answer, there isn't one. But you can expect the filesystem to be secure.

Each app operates under a different user, and the filesystem used to store app data is secured by normal UNIX user permissions. So each app's file access is sandboxed by default. The filesystem also may be encrypted.

This page from the developer's site explains it better: http://developer.android.com/guide/topics/security/security.html

你曾走过我的故事 2024-10-22 14:46:26

其实有:

通过将 Smart Lock for Passwords 集成到您的 Android 应用程序中,您可以
使用用户的凭据自动将用户登录到您的应用程序
已保存。用户可以保存用户名密码凭据和
联合身份提供商凭据。

使用 Smart Lock for Passwords 将 Smart Lock for Passwords 集成到您的应用程序中
用于在登录时检索保存的凭据的凭据 API。使用
成功检索到用户登录凭据,或使用
凭证 API 通过部分完成快速加入新用户
您的应用的登录或注册表单。登录后提示用户或
注册以存储其凭据以供将来自动使用
身份验证。

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

Actually there is:

By integrating Smart Lock for Passwords into your Android app, you can
automatically sign users in to your app using the credentials they
have saved. Users can save both username-password credentials and
federated identity provider credentials.

Integrate Smart Lock for Passwords into your app by using the
Credentials API to retrieve saved credentials on sign-in. Use
successfully retrieved credentials to sign the user in, or use the
Credentials API to rapidly on-board new users by partially completing
your app's sign in or sign up form. Prompt users after sign-in or
sign-up to store their credentials for future automatic
authentication.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文