【问题标题】:AES encryption - storing passwords on AndroidAES 加密 - 在 Android 上存储密码
【发布时间】:2011-12-20 17:10:20
【问题描述】:

我是加密和安卓新手,所以问这个问题。

密码管理器、密码保险箱等应用程序如何处理 AES 加密,他们都声称他们的应用程序是安全的。但我的问题是,如果密码存储在设备数据库中,并且使用的密钥在代码中,那么根本没有办法让它完全安全。因为万一设备被黑客入侵,可以对应用程序进行逆向工程,并且可以轻松获取密钥/代码。即使代码被混淆了,仍然可以从混淆代码中获取密钥,对吧?混淆可能更难,但并非不可能。

或者这些应用程序处理加密的方式是否不同?

我正在制作一个类似的应用程序,所以我真的很想知道什么是好的加密密钥以及存储它的最佳位置/方式。我不想从应用程序远程访问密钥。

提前致谢。

【问题讨论】:

  • 你是对的,如果钥匙在机器上,就可以找到。假装这一点的唯一方法是将密钥从机器上拿开或用密码加密自己,用户必须在应用程序工作之前输入密码。有点像磁盘加密工作。在那里,您的 USB 记忆棒上有您的密钥,或者您知道密码。其他任何东西都不安全。也许在移动设备上,存储是用某种方式加密的(电话卡的密码)。但这只是猜测。
  • 我不确定这个网站是否最适合您的问题,我会查看 security.stackexchange.com 姊妹网站。

标签: android security encryption


【解决方案1】:

密码管理器应该使用一种“主密码”来保护其密钥。通常这是通过使用PBKDF2(基于密码的密钥派生函数)从密码生成加密密钥来完成的。因此,用户必须在应用程序能够解密数据之前输入密码。

如果您的应用程序包含任何形式的密钥,那么它在设计上就是不安全的。

【讨论】:

    猜你喜欢
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-22
    • 2017-04-16
    • 1970-01-01
    • 2016-07-15
    相关资源
    最近更新 更多