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

Posted 鮀城小帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;在请求中携带的数据,比如用户密码或者他敏感信息,在整个过程中,也应该都是加密的。

 

以上是关于SpringCloud微服务安全API安全 2-1 API安全概述的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud微服务安全API安全 2-2 注入攻击防护

SpringCloud微服务安全实战API安全 3-9 总结

SpringCloud微服务安全API安全 2-7 授权

SpringCloud微服务安全API安全 2-6 审计

SpringCloud微服务安全实战API安全 3-5 认证

SpringCloud微服务安全API安全 2-8 授权