台州聚瑞科技安卓APP开发
安卓APP作为移动智能终端的主力军,其拥有大量的应用开发人员。目前国内的话大概有230万的移动应用开发人员,其中安卓的APP开发人员就占比46.4%,其开发人员何其的庞大,但是一般的开发人员在安全意识方面还是比较薄弱的,都是重功能而轻安全。
台州聚瑞科技介绍,从安卓APP几个最常见问题点来谈谈安全开发最佳实践。
一认证和授权
认证是用来证明用户身份合法性的过程,授权是用来证明用户可以合法地做哪些事的过程,这两个过程一般是在服务器端执行的,但是有些APP出于性能提升或用户体验等原因,将其做在客户端完成,由此导致客户端绕过等问题。
最佳实践:
在客户端做认证和授权是很难保证安全的,所以应该把认证和授权做在服务器端;
尽可能避免在设备上存储用户名和密码,可以使用登录认证后获得的token进行鉴权(同时注意控制token的有效期)。
二加密和解密
开发人员在移动应用中通常会对敏感数据进行加密处理,但是使用不当有可能让其保护强度削弱,甚至大打折扣,因此,正确的选择加解密算法显得非常重要。
最佳实践:
在不需要还原用户明文密码的场景使用哈希算法,在需要还原用户明文密码的场景下使用对称加密算法,并且始终优先选择使用哈希算法;
使用目前主流的安全加密算法,比如哈希算法可以使用sha256,对称加密算法可以使用AES128/256,不使用过时的不安全算法,比如RC4、RC5、MD5和SHA1。
密文和密钥不要放在同一文件或同一目录内,应分开存放,在一些安全度要求高的情况下,密钥最好碎片化存储。
密钥不可硬编码在代码里面