springboot-接口安全设计
1.用https保证通道安全:对传输内容进行证书加密,保证内容安全。
2.发token,无token用户不能使用服务:防止非法用户调用,可以配置在gateway中,使配置更简单,不用在分布式中的每个服务中都进行配置。免得加大维护难度。
3.token设置过期时间,不被长时间劫持
4.签名:
- 将参数A(参数中加上时间戳)进行字典排序,得到B,
- B+密钥(服务端)得到C。
- 将C 使用sha2加密,得到D,(MD5可以碰撞,目前sha1加密已经不安全了,被攻破了,参考:https://www.wanbizu.com/xinbi/20200108157020.html)
- UI 传递参数,包含时间戳,以及UI 加密后的D'
- 判断两个D和D'是否相等。
5.时间戳