API接口安全

320 阅读1分钟

一、API接口存在的安全问题

  1. 数据被抓包窃取
  2. 数据被调包篡改
  3. 数据被爬取泄漏

1.数据加密

  1. 对称加密: DES、AES
  2. 非对称加密:RSA

说明:①私钥只有我自己知道 ②共钥大家都知道 ③ 公钥加密的数据串,只有我能解

https的过程: ①对称加密 传输网络数据--对称加密的传输安全不能保障
②秘钥--会用非对称加密来传输对称秘钥

2.数据加密解决了数据上行的安全,然而黑客,直接抓密文来提交,怎么办?

①rsa加密时,带上时间戳 ②设置过期时间,服务器检验时间戳,与当前时间相减,要求差异不超过2分钟

设置黑名单---客户端生成密文--集合保存起来(这个密文使用过了,不能再使用了)

二、接口验签

通过MD5加盐算法生成签名

三、Token

  1. token + time 上行加密,网络传输的加密串需要变
  2. time有效值,与当前系统时间,时差不能超过5分钟?

身份认证的封装---cookie隐藏携带token

cookie的底层机制--特殊的header

  1. 使用TokenFilter同一处理
  2. 登录成功,服务器直接设置token到cookie中
  3. 客户端请求时,需要送token值的加密串到服务器

总结

  1. rsa加密,带上时间
  2. MD5对接口做签名---加上时间校验
  3. 登录认证,token--加上时间校验
  4. cookie方式隐式传token
  5. 使用filter过滤器,整个api接口加认证过滤