您的位置:首页 > 移动开发

APP开发实战9-API接口安全方案

2016-05-11 22:06 309 查看

3.2安全方案

3.2.1 数据加密

最简单的是使用HTTPS对APP和服务器的交互数据加密。

使用HTTP协议,但自己设计加密方案,加密方式有对称加密和非对称加密:

对称(AES和DES)

非对称(RSA和ECC)

对称加密是加密解密用同样的“钥匙”,非对称加密加密解密用不同的“钥匙”,建议采用更安全的非对称加密方式。

3.2.2 APP访问鉴权

可以设计一个初始化请求命令,发送这个请求的时候,可以把APPCode或APPKey和发送请求的时间戳发送给服务器。

在每次启动APP连接服务器的时候,首先向服务器发送这个请求,服务器根据其中的APPCode或APPKey鉴权是否是合法的APP请求,只有鉴权通过了,服务器在接受APP后续发送的请求,且可以把服务器端的配置参数返回给APP。

APPCode和APPKey也可以用做判断是iOS APP或Android APP向服务器发送请求。

3.2.3 HTTP命令的使用

APP和服务器交互通常是使用HTTP协议,常用的命令是GET和POST:

GET命令的参数暴露在发送给服务器的URL里,且参数长度有限制。

POST命令的参数在HTTP请求的BODY体里,安全且长度没有限制。

从安全角度考虑,只要是带参数的请求,都应该使用POST命令。

APP向服务器发送的URL请求通常是如下格式:
http://+域名+/+其它+/+方法名
有比较极端的方法是把方法名也作为参数,加到BODY体里。

3.2.4 密码的处理

APP向服务器发送密码的时候,应先对密码进行加密,然后再发送,之前已经提过需要对传输过程加密,这样相当于对密码进行了两次加密。

存储在本地或服务器端的密码也都是要加密后再存储。

3.2.5 数据的存储

一些比较重要的数据,如支付宝和微信支付都会用到密钥文件,这类文件最好存储在服务器端,不要存储在APP端。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: