在我的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. 如何在Java密鑰庫中存儲Bouncy Castle PGP密鑰?
- 2. 使用Bouncy Castle加密和存儲私鑰+公鑰
- 3. 在DefaultConfiguration中存儲加密密鑰是否安全?
- 4. 安全存儲AES密鑰
- 5. 使用存儲在Windows密鑰存儲區中的密鑰作爲OpenSSL中的預共享密鑰
- 6. 在mongodb中存儲公共SSH rsa密鑰是否安全?
- 7. RSA加密,密鑰存儲
- 8. 加密密鑰存儲
- 9. 存儲密鑰
- 10. 存儲密鑰
- 11. 將facebook App密鑰存儲在mysql數據庫中安全嗎?
- 12. 如何安全地在.Net中存儲加密密鑰?
- 13. 如何在C++中安全地存儲AES加密密鑰?
- 14. 如何在android中安全地存儲加密密鑰?
- 15. 在PHP文件中存儲加密密鑰的安全性
- 16. 如何在java中安全地存儲加密密鑰?
- 17. 將會話密鑰存儲在localstorage中
- 18. 將密鑰存儲在servlet中
- 19. 如何在Silverlight 4中安全地存儲密鑰或私鑰?
- 20. 解密存儲Java密鑰存儲
- 21. 存儲AES_ENCRYPT密鑰
- 22. ECDSA密鑰存儲
- 23. 存儲AES密鑰
- 24. 是否可以將加密憑證存儲在PKCS12密鑰庫中?
- 25. 在pkcs11密鑰庫中存儲證書
- 26. 將加密密鑰存儲在Java代碼中?
- 27. 在Android上存儲密鑰
- 28. 將公鑰和私鑰存儲在數據庫或密鑰庫中
- 29. 如何安全地存儲密鑰?
- 30. Android的安全存儲密鑰
您能解釋一下「Android密鑰存儲(...)不使用_custom_密碼加密密鑰」是什麼意思?我剛剛偶然發現[this](https://stackoverflow.com/questions/43891059/storing-keystore-password-for-certificate-pinning-in-android),那裏有建議可以存儲由密碼保護的密鑰,但我不知道我們是否在這裏的同一頁 – Antek