我对Android应用程序开发没什么经验,而且对iOS几乎没有。我正在编写一个必须存储某个“密钥”的应用程序,我希望这个密钥以安全的方式存储。尽可能安全,合理的开发工作。密钥必须存储:整点是用户不需要联机从服务器获取密钥。
我不确定哪个是两个平台中每个平台的最佳解决方案。我已经阅读了一些关于Android中的Keystore和iOS中的Keychain的内容,但我无法确定它们的安全性。许多人说没有一个是真正安全的,因为攻击者可以对应用程序进行逆向工程,找到文件,访问...但最终人们已经在PC上的某个地方存储密码和密钥几十年了,没有办法是100%安全,所以我不明白它是否只是偏执狂*当涉及到移动应用程序(嗯,比平常更偏执)或移动平台真的那么不安全。
假设Keystore和Keychain会给我提供尽可能多的安全性以保护密钥免受不太高级(或昂贵)的攻击,这是否合理安全?
PS 不要误会我的意思,我和任何人一样欣赏安全,而且我一直都在努力。但阅读一个应用程序“不安全”“因为手机可能被盗”会提示我质疑是否应该编写软件:)
答案 0 :(得分:-2)
首先,密钥库用于在将应用程序发送到商店之前对其进行签名,例如,如果您将应用程序发送到paly / apple商店,则使用密钥库/密钥链保护您的应用程序保留安全的恶意软件,因为有人可以下载它,把恶意软件再次发送到商店! 此外,如果您更新旧应用程序的版本,您的客户无法更新旧应用程序,他们将同时安装这两个版本,因为您的应用程序未使用keyStore / Keychain链接,希望我&# 39;明确。
您在看什么:是带有加密信息的存储,在这种情况下,我使用 Realm ,因为Realm文件可以通过传递512位加密存储在磁盘上加密密钥(64字节)。