android - 如何在 Android 中存储安全字符串?

标签 android security passwords keystore

在 Android 中使用 KeyStore 有什么可以理解的例子吗?

我真的不明白如何保护我在 ROOTED 设备的 Android 应用程序中的密码/ token /任何东西不被对设备有物理访问权限的黑客使用。

我知道我可以用一些 ALIAS 生成 KeyPair,例如使用它的私钥作为数据库密码,但我感兴趣的是:任何黑客都可以从我的反编译 apk 中读取这个 ALIAS(因为我不能混淆别名字符串) 并构建另一个使用相同 ALIAS 从 android KeyStore 获取 privateKey 的应用程序?

有什么解决办法吗?

最佳答案

I can't really understand how do I have to protect my password/token/anything_else in Android application in ROOTED device from being used by hackers who have physical access to the device.

你不能。 Client Authenticity is Not the Server's Problem .

假设您在应用中存储了一个加密值,而不是直接存储该值。解密这个值的 key 在哪里?该应用程序必然需要解密此值。现在,黑客需要做的就是下载您的 .apk,将其插入 Lobotomy,他们很快就会弄清楚发生了什么。

如果您想对运行您软件的人隐藏敏感信息,最好不要将敏感信息放在设备本身上。

关于android - 如何在 Android 中存储安全字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36888381/

相关文章:

android - 尝试从 android 外部构建 webkit

Android - 'sensorPortrait' 方向不工作

关于密码验证的 C 程序不起作用

c# - 如何将默认密码嵌入到每次安装都不同的 C# 应用程序中?

安卓 onBackPressed() 不工作

android - 无法在 Android Oreo 上将通知优先级设置为低

security - 如何防止在 Joomla 2.5 中访问 c​​omponent/users/?view=registration?

c# - 用户主体安全。禁用不需要的智能卡提示?

amazon-web-services - 禁用 AWS S3 管理控制台

encryption - 如何设计系统以允许加密迁移?