本篇承接上一篇登录安全,如果登录都不安全,需要登录前提的api调用当然也不安全。
登陆后,后端返回token。
调用接口时,前端需要生成签名并通过rsa加密。
1.参数
token通过header传递,其他参数一律url传递,除了接口所需的基本参数,还需要客户端时间戳(精确到秒,服务器设置为上海时区),签名sign(生成后rsa公钥加密,再用base64_encode加密)
2.签名的算法
将除sign本身外所有参数(包括token,timestamp)按参数名升值排序,参数键值对无缝拼接成字符串,并用sha1算法加密
3.rsa秘钥长度至少2048位
2009年12月12日,编号为RSA-768(768 bits, 232 digits)数也被成功分解。这一事件威胁了现通行的1024-bit密钥的安全性,普遍认为用户应尽快升级到2048-bit或以上。
4.后端解密获取明文