在做开放接口安全管理的时候先要想明白几点,为什么要做安全,有哪些地方要做安全
1.数据加密是否有必要
攻击者利用网络监听或其他方式截取A发送给B的报文,并把由A加密的报文发送给B,使B误以为入侵者就是A,然后主机B向伪装成A的攻击者发送应当发送给A的报文,调用方将调用方身份信息和密码通过明文的方式传递过来,这个过程会被第三方截取获取到appKey和password,第三方可以根据获取到的信息伪装成已认证的调用方去调用服务方服务获取接口信息,对服务方服务的稳定性、安全性造成威胁。这就是“重放攻击”
解决方式:
(1)优化方式一:数据加密
调用方将调用方身份信息和密码通过明文的方式传递过来,这个过程会被第三方截取获取到appKey和password,第三方可以根据获取到的信息伪装成已认证的调用方去调用服务方服务获取接口信息,对服务方服务的稳定性、安全性造成威胁。这就是“重放攻击”。
解决办法:
对数据进行加密。
调用方将调用的接口名 + appKey + 密码 拼在一起,通过加密算法对其加密生成一个token值,然后再将token值拼接在原调用的url后发送至服务方,如:http://localhost:8080/user?getUserInfo?userId=1234&appKey=abc&token=dasadjij21oijiooodsadaodjaosnd
服务方接收到调用方发送的请求后,解析获取到appKey、token值,根据appKey从服务方存储地获取到对应password值&