如果把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++层面的代码得到了专业保护,爱加密是有定制服务的,具体的价格根据开发者的需求而定!