官方指南
官方文档:https://developer.android.com/training/articles/security-tips?hl=zh-cn
代码混淆,APK加壳
敏感数据加密
1.运行时数据(例如用户token)需要使用随机秘钥加密。
- 随机秘钥生成:需要为秘钥生成器提供可靠的初始化参数(安全随机数),避免离线攻击。
- 随机秘钥应该存放于Android KeyStore,最大限度防止被非法读取。官方文档:https://developer.android.com/training/articles/keystore?hl=zh-CN
2.静态数据(例如 API key / secret )需要用固定秘钥加密。
- 固定秘钥存放:so库中。
- 防止非法读取:在 so 库的 C 代码里 JNI_OnLoad() 方法对 APK 签名进行验证,如果签名不对,直接 crash。
详细参考:https://www.diycode.cc/topics/501
网络安全
- https中间人攻击
- 应用中内置证书并进行校验
- WebView安全:
参考资料
https://developer.android.com/training/articles/security-tips?hl=zh-cn
https://www.diycode.cc/topics/501](https://www.diycode.cc/topics/501
https://zhuanlan.zhihu.com/p/21787366](https://zhuanlan.zhihu.com/p/21787366