API安全基础理论
1.什么是API
2.API的分类
接口 | 协议 | 说明 |
HTTP接口 | HTTP | 当发起Http请求时,Http会通过TCP建立起一个到服务器的连接通道,在请求需要的数据完毕后,Http会立即将TCP连接断开,Http连接是一种短连接、无状态的连接。 |
RPC接口 | HTTP、TCP、UDP、自定义协议 | RPC远程过程调用协议,它本质上是一种Client/Server模式,就相当于调用本地接口一样调用远程服务的接口,支持多种数据传输方式,如Json、XML、Binary等。 |
WebService接口 | SOAP协议通过XML封装数据,Http协议传输数据 | WebService是一个应用程序向外界暴露出一个能通过Web进行调用的API,也就是系统对外的接口,使用XML来封装数据,不依赖于语言,不依赖于平台。 |
RESTFUL | HTTP | RESTFUL一种设计准则,而不是一种规范,用不同的HTTP动词(如:GET、POST、DELETE、PUT)来表达不同的请求,降低开发的复杂性,提高系统的可伸缩性。 |
WebSocket | TCP、UDP | WebSocket是一个持久化的双向通信协议,可实现客户端和服务器端之间即时通讯。在WebSocket中,客户端和服务器只需要完成一次握手,就可以创建持久性的连接,并进行双向数据传输。 |
FTP | TCP/IP协议组中的协议之一 | FTP是文件传输协议,FTP协议包括两个组成部分,其一为FTP服务器(存储文件),其二为FTP客户端。 |
访问形式 | 说明 | 应用 |
使用用户令牌,通过Web API接口进行数据访问 | 可以有效识别用户的身份,为用户接口返回用户相关的数据。 | 用户信息维护、密码修改、用户管理等与用户信息相关的数据 |
使用安全签名进行数据提交 | 这种方式提交的数据,URL连接的签名参数是经过安全一定规则的加密的,服务器收到数据后也经过同样规则的安全加密,确认数据没有被中途篡改后,再进行数据修改处理。可以为不同接入方式(Web/APP/Winfrom等),指定不同的加密秘钥,秘钥是双方约定的,并不在网络连接上传输,连接传输的一般是这个接入的AppID,服务器通过这个AppID来进行签名参数的加密对比,微信后台的回调处理机制就类似于这种处理方式。 | 获取令牌、用户注册、处理业务数据等 |
提供公开的接口调用,不需要传入用户令牌、或者对参数进行加密签名 | 这种接口一般较少,只是提供一些很常规的数据显示而已。 | 查询系统版本、时间、天气等数据 |
3.API安全
API安全基于多种安全规则的交叉,如下图所示。
API安全的目标(CIA):
常见的API风险(STRIDE):
风险与安全机制的对应关系:
4.API安全威胁
5.API协议
往期推荐
E
N
D
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章