我的應用裡面有一些敏感數據。我用了很多方法加強應用安全,數據加密,SSL,並且沒有把數據設置為永久儲存在設備中。
我想問的是,在一個已經root的設備中運行我的程序能不能保證安全?是不是在root設備中更容易讓別人攻擊程序?
我沒有搜索到“root設備的安全性”這樣的問題,但我知道root設備可以檢測這一點很容易成為攻擊手段。
在root設備中最大的問題有兩個:
1.用戶可以直接訪問你的數據
2.別的應用程序可以訪問你程序裡的數據
所以我有幾條建議:
數據加密算法要獨特,不要采取一猜就能猜到的規律加密,。並且加密和解密都在服務器上完成。
1.最基本的措施:如果你想在設備上存儲數據,弄的隱晦一點,這樣別人都看不懂,比如你想保存一個整數,不要讓數值一目了然,你可以這樣:savedValue = ((((realValue*10)+1)/365*23)*50)+1;
呵呵,這樣就算黑客能反編譯你的應用,但是也很難編輯你保存的值。
2.在設備上還是少存儲敏感的數據,下載的時候也要用盡量安全的鏈接方法,然後顯示和刪除的時候從RAM中刪除;
3.加密技術要高級一些。由於其他應用程序也可以訪問在root設備中的數據,所以你的數據有可能會被發送到其他的服務器中,服務器的處理能力比手機強多了。所以加密技術要盡量高級。