【HTTP API】HTTP API接口安全性设计

一. 简介

HTTP接口是互联网各系统之间对接的重要方式之一,使用HTTP接口开发和调用都很方便,也是被大量采用的方式,它可以让不同系统之间实现数据的交换和共享。
由于HTTP接口开放在互联网上,所以我们就需要有一定的安全措施来保证接口安全。

HTTP API接口安全性演进如下

  1. HTTP + 完全开放 (毫无安全可言)
  2. HTTP + 参数签名 (基本安全)
  3. HTTP + 私钥签名公钥验签 (安全性高)
  4. HTTPS + 参数签名 (安全性更高)
  5. HTTPS + 私钥签名公钥验签 (最安全)

总的来说HTTP接口安全主要靠以下3点

  1. 使用HTTPS代替HTTP,因为HTTP是明文传输,HTTPS使用加密传输,HTTPS代替HTTP一般是通过运维手段来实现
  2. 参数签名,客户端和服务端事先约定好秘钥,客户端使用秘钥签名,服务端使用相同算法计算签名进行校验
  3. 客户端使用私钥签名,服务端使用公钥验证签名

无论是使用参数签名法还是使用私钥签名公钥验签法,都是为了确认请求参数没有被篡改,保证请求是安全的。
这篇文章主要介绍一下这2种方法的简单实现。

二. 参数签名

参数签名一般指的是使用hash算法对请求参数计算得到签名。

客户端计算签名步骤如下

  1. 客户端和服务端事先约定 秘钥secret和盐salt,秘钥和盐一般是16或32位字符串
  2. 客户端计算一个sigTime
  3. 请求所有参数和sigTime,拼接成一个字符串并按字典序排序,记为data
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值