接口多重安全验证

在调用一个接口的时候,对其安全设计进行的总结:

  1. 双向https:内容加密 建立一个信息安全通道,来保证数据传输的安全;身份验证 确认网站的真实性;数据完整性 防止内容被第三方冒充或者篡改。
  2. appId+appSecret,相当于程序的用户名密码,这两个值不对应,请求是会被拒绝的。并且appSecret是不明文传递的,只有C/S双方知道,在服务器端,这些参数决定了你有什么权限。
  3. AES加密:通过对称加密算法对传输的内容进行加密,你要获取或修改内容,首先要把密文解出来。而且这个aes密码是每次请求动态生成的。通过rsa非对称算法加密后传递。调用方通过公钥加密,服务器通过私钥解密。破解的话,要知道加密模式,填充模式,公钥,偏移向量等信息。
  4. 加签:通过加签,防止数据被篡改。修改后的数据,签名值是不一样的。
    1. 首先加签的算法你是不知道。虽然常用的就几种,但是你也的猜
    2. 你是不知道那些内容是要加签的,一个接口可能几十个参数,并不是所有参数都需要加签,双方约定好。比如:这个是(加密后的message+appSecret+时间戳+serviceId+channel),这个只有双方知道,并且有些加签的内容比如(appSecret)请求里面是不包含的,重新加签的可能性为很低。
  5. 时间戳、requestID,可以防止重放。比如。我啥都不改。把请求原封不动的多次发送。不行,时间戳和requestID一致,我直接可以忽略掉。
  6. IP白名单:不在白名单里面的IP发起的请求,不响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值