API 安全
申明:本笔记引用了https://coding.imooc.com/class/379.html 的一些内容,并结合自己的理解与思考,欢迎指正。
1. 概念
1.1 什么是api安全
Api是系统提供服务的接口,外部(web、mobile、server等)请求api,经过一些业务逻辑后,返回响应。api安全主要涉及网络安全、应用安全、信息安全。
1.1.1 API 安全目标
API安全目标:机密性、完整性、可用性;
1.1.2 API 风险
API风险:STRIDE,欺骗、干预(不希望被修改的数据、消息或设置被改掉)、否认、信息泄露、拒绝服务、越权(做了你不希望他能做的事)。
1.1.3 风险与安全机制对应关系
- 认证(欺骗):确保用户与客户端真的是他们自己。
- 授权(信息泄露/干预/越权):确保每个针对API的访问都是经过授权的。
- 审计(否认):确保所有操作都被记录,以便追溯和监控;
- 流控(拒绝服务):防止用户请求淹没API;
- 加密(信息泄露):确保出入API的数据都是私密的。
1.1.4 安全机制与流程
用户发起一个请求,会经过“流控”,拒绝多余的请求,接着进行“认证”,确保用户是他声明的身份,接着“审计”,记录谁什么时候做了什么,接着“授权”,决定一个请求是否可以被执行,最后进入业务逻辑。其中还有”加密“是在请求开始到业务逻辑就贯穿前后。
加密
流控-> 认证 -> 审计-> 授权-> 业务逻辑