簡體   English   中英

加密文件或字符串安全android

[英]encrypt file or string secure android

我目前在我的應用程序中堅持使用安全性。 我的應用程序每10分鍾記錄一次用戶的GPS位置,12小時后將數據發送到服務器。 我目前正將用戶的位置保存在內部存儲器的* .txt文件中。 現在,我需要保護此文件,以便它只能編輯我的應用程序,以便用戶無法破解它並更改記錄的gps位置。

我已經閱讀過有關加密字符串或文件本身的內容,但這是我的問題。 即使使用代碼混淆,所有stackoverflow人員也不建議對密碼進行硬編碼。 我怎么能保護這個文件的數據? 單獨使用ProGuard +代碼混淆(位移,數學運算等)還不足以在我的代碼中保存密碼? 任何評論都贊賞,我需要這是安全的,因為數據必須保持不變。 謝謝!!

如果密碼在內存中,即使是未加密/混淆的,如果用戶知道他們在做什么,也可以恢復和/或濫用密碼。

要解決此問題,您應該讓應用程序從服務器請求密鑰以用於加密。 密鑰本身應使用SSL加密/簽名,以便您可以保證服務器發送密鑰,並且密鑰在此過程中無法被截獲。 立即從內存中清除密鑰,使其不會保留在設備上。

這個解決方案仍然不是萬無一失的。 用戶可以對應用程序進行反向工程,並告訴它使用任何舊密鑰。 只要您將坐標存儲在設備上,它們就會以某種方式受到攻擊。 使用我剛才描述的技術,攻擊者仍然可以欺騙GPS源,或者使用重放攻擊。 為了防止這種情況,您需要為每個保存使用不同的密鑰,並在服務器上跟蹤應用密鑰的順序。

更安全的方法只是根本不存儲設備上的位置。 一旦可用,就使用加密/簽名SSL方法上傳它們以防止篡改。 Sanity在服務器上檢查它們以排除壞的欺騙性工作。 當信任來自設備的數據(例如GPS坐標)時,您有可能被聰明的攻擊者操縱。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM