接口安全设计方案

2021-11-22  本文已影响0人  FisherTige_f2ef

实现接口安全的目的:

1.防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口)

2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容 在传输过程被修改)

3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放)

4.防数据信息泄漏(案例:截获用户登录请求,截获到账号、密码等)

进行安全加密的对象

常见加密手段

关于加密算法的补充说明:

对称加密与非对称加密:

接口加密的方案推荐:

MD5生成签名认证:

1、对请求头:把所有请求参数按照参数名ASCII码从小到大排序(即字典序,或者跟后端约定其他顺序也行,关健是要统一), 使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA,如果参数的值为空则不参与签名,再将stringA拼接上与后端约定好的字符串(即加盐)得到stringB,最后对stringB进行MD5运算等到一个字符串(即签名)

2、对请求体类同上述

RAS生成签名认证

todo

请求头接口参数示例:
参数名 类型 必填 描述
sign string 所有参数加盐生成的签名
userId string 调用方的身份id,接口提供方用此来识别不同的调用者
timestamp string 记录接口发起请求的时间,加入时间戳,1分钟内有效(注意与服务端时间同步,允许一定的误差)
serialNo string 加入流水号,流水号在时间戳有效时间范围内需保证唯一

参考:
https://juejin.cn/post/6844903536916955149

上一篇 下一篇

猜你喜欢

热点阅读