台州聚瑞科技安卓APP开发

251次 2016-01-07

  安卓APP作为移动智能终端的主力军,其拥有大量的应用开发人员。目前国内的话大概有230万的移动应用开发人员,其中安卓的APP开发人员就占比46.4%,其开发人员何其的庞大,但是一般的开发人员在安全意识方面还是比较薄弱的,都是重功能而轻安全。

  台州聚瑞科技介绍,从安卓APP几个最常见问题点来谈谈安全开发最佳实践。

  一认证和授权

  认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但是有些APP出于性能提升或用户体验等原因,将其做在客户端完成,由此导致客户端绕过等问题。

  最佳实践:

  在客户端做认证和授权是很难保证安全的,所以应该把认证和授权做在服务器端;

  尽可能避免在设备上存储用户名和密码,可以使用登录认证后获得的token进行鉴权(同时注意控制token的有效期)。

  二加密和解密

  开发人员在移动应用中通常会对敏感数据进行加密处理,但是使用不当有可能让其保护强度削弱,甚至大打折扣,因此,正确的选择加解密算法显得非常重要。

  最佳实践:

  在不需要还原用户明文密码的场景使用哈希算法,在需要还原用户明文密码的场景下使用对称加密算法,并且始终优先选择使用哈希算法;

  使用目前主流的安全加密算法,比如哈希算法可以使用sha256,对称加密算法可以使用AES128/256,不使用过时的不安全算法,比如RC4、RC5、MD5和SHA1。

  密文和密钥不要放在同一文件或同一目录内,应分开存放,在一些安全度要求高的情况下,密钥最好碎片化存储。

  密钥不可硬编码在代码里面