API接口安全机制设计学习笔记

课程概要:

  • API网关接口实现
  • 接口安全的业务需求
  • 基于API网关实现安全机制

1 API网关接口实现

1.1 API网关概念

API网关是一个轻量的 java http 接口组件,可以无缝的将普通的 Serive 方法转换成 http 接口,并从以下几点来达到提高开发效率与保证接口质量的目的。

1.去掉mvc控制器,将http请求直接无缝接入Java 服务接口

2.统一出/入参格式

3.统一异常规范

4.自动检测服务接口规范

1.2 API网关与普通Http接口实现流程对比

普通 Http 接口实现流程
这里写图片描述

API网关接口实现流程
这里写图片描述

1.3 网关实现流程与技术

详细流程图如下:
这里写图片描述

请求参数:
String method; // f方法名称
json parameter; // 业务参数
long timestamp; // 请求时间戳

实现技术:
1.java servlet
2.spring IOC
3.Json 转换工具的使用

2 接口安全的业务需求

2.1 接口安全级别分组

1.白名单组

2.黑名单组

3.黑白名单组

2.2 基于Token安全机制认证需求

1.登陆鉴权

2.防止业务参数串改

3.保护用户敏感信息

4.防签名伪造

2.3 Token 认证机制整体架构

整体架构分为Token生成与认证两部分:

  1. Token生成指在登陆成功之后生成 Token 和密钥,并其与用户隐私信息、客户端信息一起存储至Token表,同时返回Token 与Secret 至客户端。

  2. Token认证指客户端请求黑名单接口时,认证中心基于Token生成签名
    3.

签名规则:
1.已指定顺序拼接字符串 secret+method+param+token+timestamp+secret

2.使用MD5进行加密,在转化成大写

签名的目的:
1.防窜改
2.防伪造
3.防重复使用签名

服务端签名验证的具体流程:
这里写图片描述

3 基于API网关实现安全机制

签名认证与API网关的整体认证流程如下:
这里写图片描述

主要包括两个流程:

1、Token生成

登录成功后插,生成token与secret 保存至数据库。具体实现忽略

2、Token 认证相关解决方案:
1.接口如何标识黑白名单?
2.签名具体验证流程?
3.用户ID等信息如何传递给业务实现接口?



猜你喜欢

转载自blog.csdn.net/zhouxukun123/article/details/80153256