前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringCloud安全实战(一)-API及其安全机制

SpringCloud安全实战(一)-API及其安全机制

作者头像
JavaEdge
发布2020-05-27 11:04:45
1.2K0
发布2020-05-27 11:04:45
举报
文章被收录于专栏:JavaEdge

0 前言

全是干货的技术殿堂

文章收录在我的 GitHub 仓库,欢迎Star/fork: Java-Interview-Tutorial https://github.com/Wasabi1234/Java-Interview-Tutorial

1 API安全

1.1 何为API?

与因特网相连的端系统提供了一个应用程序接口(英语:Application Programming Interface,缩写:API;又称为应用程序编程接口)是软件系统不同组成部分衔接的约定。

API规定了运行在一个端系统上的软件请求因特网基础设施向运行在另一个端系统上的特定目的地软件交付数据的方式。 比方说:Alice使用邮政服务向Bob发一封信,邮政服务要求Alice将信放进信封中;在信封的中央写上Bob的全名、地址和邮政编码;封上信封;在信封的右上角贴上邮票;最后将信封丢进邮箱里;邮政服务有自己的“邮政服务API”或一套规则,Alice必须这么遵循,邮政服务才能把信寄给Bob;同理,因特网也有一个发送数据的程序必须遵循的API,使因特网向接收数据的程序交付数据。

由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。

1.2 API安全的要素

1.3 API安全的目标

  • 机密性( Confientiality )。确保信息只被预期的读者访问
  • 完整性( Integrity )。防止未授权的创建,修改和删除
  • 可用性( Availability )。当用户需要访问API时, API总是可用的

1.4 常见的API风险

  • Spoofing :欺骗。伪装成系统管理员
  • Tampering :干预。将不希望被修改的数据、消息或设置改掉
  • Repudiation :否认。拒绝承认做过的事
  • Information disclosure :信息泄露。将你希望保密的信息披露出来
  • Denial of service :拒绝服务。阻止用户访问信息和服务
  • Elevation of privilege :越权。做了你不希望他能做的事。

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

认证: (欺骗)。确保你的用户或客户端真的是他(它)们自己 授权:(信息泄漏)/(干预)/(越权) 确保每个针对API的访问都是经过授权的 审计: (否认)。确保所有的操作都被记录,以便追溯和监控 流控: (拒绝服务)。防止用户请求淹没你的API。 加密: (信息泄漏)。确保出入API的数据是私密的。

常见的安全机制

  • 注入攻击最为常见

登录安全

基于Token的身份认证

Java最常见实现方式基于cookie和session实现

参考

  • 《计算机网络-自顶向下学习法》
  • https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
  • Spring cloud微服务安全实战
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/03/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0 前言
  • 1 API安全
    • 1.1 何为API?
      • 1.2 API安全的要素
        • 1.3 API安全的目标
          • 1.4 常见的API风险
            • 风险与安全机制的对应关系
              • 常见的安全机制
              • 登录安全
                • 基于Token的身份认证
                • 参考
                相关产品与服务
                微服务引擎 TSE
                微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档