我幾乎沒有使用Android應用程序開發的經驗,在iOS上幾乎沒有。我正在編寫一個必須存儲某個「密鑰」的應用程序,我希望這個密鑰以安全的方式存儲。儘可能安全,合理的開發工作。密鑰必須被存儲:整個觀點是用戶不需要在線從服務器獲取它。在移動平臺上安全地存儲密鑰真的很難嗎?
我不確定哪個是兩個平臺的最佳解決方案。我已經讀了一些關於Android中的Keystore和iOS中的Keychain的內容,但我不太清楚它們的安全性。許多人說,他們中的任何一個都不是真正安全的,因爲攻擊者可以逆向設計應用程序,查找文件,訪問......但最終人們已經將密碼和密鑰存儲在個人電腦上幾十年,沒有任何方法是100%安全的,所以我無法理解,在移動應用方面它是否只是偏執狂(當然,比平常更偏執狂),或者移動平臺真的很不安全。
假設Keystore和Keychain能夠提供儘可能多的安全性,以保護密鑰免受不太高級(或昂貴的)攻擊,是否合理安全?
PS不要誤解我的意思,我非常重視安全性,我總是爲此而努力。但是看完一個應用程序將是「不安全」,「因爲手機可能被盜」提示我懷疑我們是否應該不惜一切:)
要用的關鍵是什麼? – Michael
另外,你的威脅載體是什麼?你想捍衛這個關鍵是誰? – CommonsWare
鑰匙在哪裏產生?它是由應用程序生成還是隻有一個密鑰與應用程序一起分發? – Paulw11