在我的android应用程序中,我需要安全地存储RSA,ECDH,AES和其他密钥。它们将通过使用用户输入的密码进行加密/解密。我的选择是:android密钥库,充气城堡UBER密钥库,加密并存储在共享首选项中。 Android密钥存储不是一个选项,因为它不使用自定义密码加密密钥。 UBER似乎是一个很好的解决方案,但是我在那里存储我的密钥时遇到了一些问题,所以我想仅仅用AES GCM对它们进行加密并放入共享偏好,这样会不太安全?或者甚至可能更安全,因为AES GCM比充气城堡使用的Twofish更好?是否将密钥存储在Bouncy Castle密钥库中比将密钥存储在共享首选项中更加安全?
1
A
回答
0
在GCM模式下使用AES-256进行加密,然后存储在共享首选项中应该没问题。 AES-256是NSA Suite B规范的一部分,与对称加密相比,AES-256的性能大致相当。 (https://en.wikipedia.org/wiki/NSA_Suite_B_Cryptography)该链接指出NSA期望很快发布一个新的套件建议来解决加密上的量子攻击这一事实 - 但在接近(3-5年)的期限内,这种攻击几乎不可行。
相关问题
- 1. 在DefaultConfiguration中存储加密密钥是否安全?
- 2. 在mongodb中存储公共SSH rsa密钥是否安全?
- 3. 存储密钥
- 4. 如何在android中安全地存储加密密钥?
- 5. 如何在C++中安全地存储AES加密密钥?
- 6. 如何安全地在.Net中存储加密密钥?
- 7. 如何在java中安全地存储加密密钥?
- 8. 将会话密钥存储在localstorage中
- 9. 解密存储Java密钥存储
- 10. ECDSA密钥存储
- 11. 存储AES密钥
- 12. 是否可以将加密凭证存储在PKCS12密钥库中?
- 13. 在pkcs11密钥库中存储证书
- 14. 在Android上存储密钥
- 15. 将公钥和私钥存储在数据库或密钥库中
- 16. 如何安全地存储密钥?
- 17. Android的安全存储密钥
- 18. Android的密钥存储提供商 - 如何存储密钥
- 19. oracle存储过程加密密钥
- 20. AES加密和密钥存储?
- 21. 如何将私钥存储在密钥容器中?
- 22. 如何在JSONStore中存储加密密钥/密码
- 23. 在.NET中存储加密/解密密钥
- 24. 将javax.crypto用于文件加密/解密的密钥存储区
- 25. 在github上存储ssh密钥是否安全?
- 26. Bouncy Castle NTRU加密出口公钥
- 27. RSA密钥对生成并存储到密钥库
- 28. 将用户名保存在密钥中,并在存在密钥时加载密钥
- 29. 将公共密钥存储在sharedPreferences中,并检索它
- 30. 上传私钥到rundeck密钥存储
您能解释一下“Android密钥存储(...)不使用_custom_密码加密密钥”是什么意思?我刚刚偶然发现[this](https://stackoverflow.com/questions/43891059/storing-keystore-password-for-certificate-pinning-in-android),那里有建议可以存储由密码保护的密钥,但我不知道我们是否在这里的同一页 – Antek