如果把AppID和AppKey明文写在Java文件或资源文件里,apk反编译的话就能够看到了,然后就可以任意访问到服务器端的数据了。有没有什么好办法保证安全性? 当然保存在so文件里也是一种方法,但是稍略显麻烦,Java端调用的自己写的方法,别人也可以调用。其实,担心的是被反编译修改逻辑代码后再次签名再发布依旧能够通过服务器验证,这样没办法保证安全性了。
天蓬老师2017-04-17 11:49:47
首先要考慮一下假如你不用 AVOS Cloud,自己寫伺服器端會怎麼保證安全。讓客戶端發一個固定的密碼過來肯定是不行的,你會建立一個帳號體系,根據目前登入的使用者來決定某個操作是否可以被允許。使用AVOS Cloud 也是完全一樣的,我們透過ACL 提供對使用者權限的管理,你可以針對每個物件或每個類別來控制使用者或使用者群組的權限:https://cn.avoscloud.com/docs/data_security .html#%E5%AE%89%E5%85%A8%E6%80%A7
當然這是假設你有帳號體系的情況下。如果你沒有帳號體系,那麼無論是自己寫伺服器程序,還是用 AVOS Cloud,都不能防止別人往你的伺服器發送任意請求。在這種情況下可以用 ACL 把所有類別設為唯讀,用雲端程式碼或 master key 從自己完全控制的程式寫入資料。這種情況一般只適用於沒有 UGC 的資訊類應用。
總而言之,AppID 和 AppKey 主要是起到應用程式識別的作用,不應該依賴 AppID 和 AppKey 的保密來確保安全性。這和如果你自己寫伺服器,不會用一個寫死在客戶端的密碼來確保安全性道理是一樣的。
高洛峰2017-04-17 11:49:47
關於這個問題,一直討論的都比較多,具體可以參看知乎上的如下回覆:
http://www.zhihu.com/question/23145495/answer/24061566
另外,我們也增加了應用選項設置,可以更好地保護你的資料:
http://blog.avoscloud.com/657/
大家讲道理2017-04-17 11:49:47
愛加密是採用給apk加殼的技術, 加殼的程式可以有效阻止對程式的反組譯分析,不會破壞,修改原始程式。同時提供的全面的安全服務,包括渠道監測 、安全檢測、app加密、法務支援等。且的APK原始碼安全保護是對DEX、RES、SO函式庫等主要檔案的加密保護,能有效防止APK被破解和反編譯! ! !
詳細你可以去:www.ijiami.cn
愛加密目前提出三層加密保護:DEX加殼保護,DEX指令動態載入保護,高級混淆保護,可以確保APP的動態安全和靜態安全,這樣將沒有機會進行任何破解。愛加密推出了SO庫保護,C/C++層面的程式碼得到了專業保護,愛加密是有客製化服務的,具體的價格根據開發者的需求而定!