Android开发安全注意事项

官方指南

官方文档: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

网络安全

  1. https中间人攻击
  • 应用中内置证书并进行校验
  • 证书锁定
  1. WebView安全:
  • Javascript接口安全
  • file跨域,可能泄漏本地敏感数据
  • 白名单校验

3.流量挟持

  • 使用HttpDNS

参考资料

https://developer.android.com/training/articles/security-tips?hl=zh-cn
https://www.diycode.cc/topics/501
https://zhuanlan.zhihu.com/p/21787366

你可能感兴趣的:(Android开发安全注意事项)