SpringCloud微服务安全(二)API安全 2-1 API安全概述

问题:

  1. 什么是API?
  2. API安全的要素有哪些?
  3. API安全基本机制

1. 什么是API

百度百科:API(Application Programming Interface,应用程序接口)是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。 [1]  目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节。

通俗的讲:API就是你为客服提供服务的一种方式。

2. API安全包含哪些方面

API安全主要包含3方面内容:

  信息安全:信息在整个生命周期里(信息从创建、存储、转换 、备份、销毁),数据是受到保护的,是安全的。

       网络安全:数据在通过网络进行传输的时候是安全的,不会被人盗取或篡改,也应该保证在网络上,不会被未授权的访问接触到你的信息。

      应用安全:应用程序本身的安全。从设计上要抵挡各种各样的攻击,防范各种风险。

这3个方面综合起来,才可以说你的API是安全的。

3. API 安全的目标: CIA

 机密性(Confientiality)。确保信息只被预期的读者访问

完整性(Integrity)。防止未授权的创建,修改和删除

可用性(Availability)。当用户需要访问API时,API总是可用的

4.常见的API风险:STRIDE

Spoofing:欺骗。伪装成某人。 如:伪装成系统管理员修改系统数据。

Tampering: 干预。将不希望被修改的数据、信息或设置该表。

Repudiation:否认。拒绝承认做过的事。如:用户收货却拒绝承认。

Information disclosure:信息泄露。将你希望保密的信息披露出来。如:泄露客户信息,导致被对手抢去。

Denial of service: 拒绝服务。组织用户访问信息和服务。如:未登录用户对订单、支付接口进行DDos攻击

Elevation of privilege:越权。做了你不希望他能做的事。如:用户修改了商品的价格,这是不允许的。

5.风险与安全机制的对应关系

(1)认证:(欺骗)。确保你的用户或客户端真的是他(它)们自己

(2)授权:(信息泄露)、(干预)、(越权) 确保每个针对API的访问都是经过授权的

(3)审计:(否认)。确保所有的操作都被记录,以便追溯和监控

(4)流控:(拒绝服务)。防止用户请求淹没你的API

(5)加密:(信息泄露)。确保出入API的数据是私密的

6.安全机制图解

绿色部分就是我们要在用户请求到业务逻辑API之间要加入的安全机制。

1,流控(流量控制)在所有安全机制的最前面,通过流控把一些请求挡调之后,后边的处理是不需要做的。

2,认证,在流控后面,确保用户就是他声名的身份。

3,审计,记录谁什么时候做了什么。

4,授权,决定一个请求是否可以被执行。

5,加密,是贯穿在整个请求的过程中的。从用户的设备到服务器的请求, 本身就应该是加密的,如用https;在请求中携带的数据,比如用户密码或者他敏感信息,在整个过程中,也应该都是加密的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值