WebAPI安全与认证授权 学习笔记

摘要:
REST API使用HTTP并支持传输层安全(TLS)加密(HTTPS)。TLS是确保互联网连接隐私的标准。它可以检查两个系统(服务器和服务器或服务器和客户端)之间发送的数据是否已加密且未被篡改。2.SOAP(简单对象访问协议)API安全保护:也称为Web服务安全(WS-security)的内置协议。它们使用XML加密、XML签名和SAML令牌的组合来验证身份和授权。

一,两种类型的防护方式:

1.REST(表述性状态传递) API 安全防护:

  REST API 使用 HTTP 并且支持传输层安全性(TLS)加密(HTTPS)。TLS 是确保互联网连接私密性的一个标准,可以检查两个系统(服务器与服务器或服务器与客户端)之间发送的数据是否受到加密且未被篡改。

2.SOAP(简单对象访问协议) API 安全防护:

  也被称为 Web 服务安全性(WS 安全性)的内置协议。这类协议会定义一套采用保密和身份验证的规则集。SOAP API 支持两大国际标准机构(结构化信息标准促进组织(OASIS)万维网联盟(W3C)制定的标准,它们结合使用 XML 加密、XML 签名和 SAML 令牌来验证身份和授权。通常而言,SOAP API 因具有更加全面的安全措施而受到推崇,但它们也需要更多的管理。因此,处理敏感数据的机构更推荐采用 SOAP API。

二,初步了解加强 API 安全性的方法:

  1.使用令牌。建立可信的身份,再通过使用分配给这些身份的令牌来控制对服务和资源的访问。

  2.使用加密和签名。通过 TLS 等方式(见上文)加密您的数据。要求使用签名,确保只有拥有权限的用户才能解密和修改您的数据。

  3.识别漏洞。确保操作系统、网络、驱动程序和 API 组件保持最新状态。使用嗅探器来检测安全问题并跟踪数据泄露。

  4.使用配额和限流。对 API 的调用频率设置限额,并跟踪其使用记录。如果 API 调用数量增多,表明它可能正被滥用。也可能是编程出了错。

  5.使用 API 网关。API 网关担当主要的 API 流量策略执行点。好的网关既能帮助您验证流量的使用者身份,也能控制和分析您的 API 使用情况。

    a.API 密钥,单一令牌字符串

    b.基础身份验证(APP ID / APP 密钥),双令牌字符串解决方案(即用户名和密码)。

    c.OpenID Connect(OIDC),基于主流 OAuth 框架的简单身份层

 三,API 防护的三个方面:

  信息安全

  网络安全

  应用安全。

四,API网关:

  不是API必须的功能。集成了路由策略、负载均衡、流量管控、API启用时段、黑白名单、认证、授权、日志等一些常见功能,可以自己写或者使用阿里、腾讯等厂商的功能。

  常见网关技术:Ocelot

  常见授权技术:ids4(IdentityServer4)

  常见认证技术:略

  相关技术:REDIS

五,令牌认证示例——JWT(Token)

  

六,授权示例——自定义授权系统 

   

学习文档:

https://www.redhat.com/zh/topics/security/api-security

https://www.cnblogs.com/caofanqi/p/12219241.html

https://www.163.com/dy/article/GMJ6V87U0538F7B5.html

免责声明:文章转载自《WebAPI安全与认证授权 学习笔记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Ubuntu必备软件之搜狗输入法iOS 中关闭键盘方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

RFID 卡片防复制

RFID 卡片防复制 这里的卡指的 MIFARE Classic 系列 或 NTAG 系列的卡。其它的卡没接触过,不了解。 防伪有两层意义: 卡片防复制。比如小区卡被复制,使得出入小区的人员管理更困难了。这是需要防范的事情 卡片数据被破解。比如公交卡或食堂饭卡,如果破解了其中的数据,就可以篡改金额。 复制会产生盗刷问题,需要在第一层解决。而卡内数据加密...

Spring-boot 数据源 事务 多数据源 以及 多数据源事务 问题 简单笔记

<dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-datasource-spring-boot-starter</artifactId> <version>${dynamic.versio...

drf之框架基础

(一)drf基础 全称:django-rest framework 接口:什么是接口、restful接口规范(协议) CBV(基于FBV的基础上形成)、CBV生命周期源码----基于restful规范下的CBV接口 请求生命周期:请求组件、解析组件、响应组件 序列化组件(序列化、反序列化简单来说就是对象转为字符串、字符串转为对象,目的是为传输数据(传给别的...

SSL相关漏洞解决方法

最近用绿盟扫描系统进行内网网系统扫描,有几台设备被扫出了SSL相关漏洞,在此做一个简短的加固方法。 本次涉及漏洞 1.漏洞名称:SSL 3.0 POODLE攻击信息泄露漏洞(CVE-2014-3566)【原理扫描】 2.SSL/TLS 受诫礼(BAR-MITZVAH)攻击漏洞(CVE-2015-2808)【原理扫描】 知识普及1:SSL协议要点 SSL(S...

python dlib学习(六):训练模型

前言前面的博客都是使用dlib官方提供的训练好的模型,进行目标识别。- python dlib学习(一):人脸检测- python dlib学习(二):人脸特征点标定- python dlib学习(三):调用cnn人脸检测- python dlib学习(四):单目标跟踪- python dlib学习(五):比对人脸直接进入主题吧,这次我们要自己训练一个模型...

【深度学习系列】PaddlePaddle可视化之VisualDL

  上篇文章我们讲了如何对模型进行可视化,用的keras手动绘图输出CNN训练的中途结果,本篇文章将讲述如何用PaddlePaddle新开源的VisualDL来进行可视化。在讲VisualDL之前,我们先了解一下常用的Tensorflow的可视化工具---Tensorboard。 Tensorflow的可视化   Tensorboard是Tensorfl...