如何理解RESTful API的安全性

技术如何理解RESTful API的安全性如何理解RESTful API的安全性,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。保证RESTf

如何理解RESTful API的安全性,很多新手对此不是很清楚。为了帮助大家解决这个问题,下面小编就给大家详细讲解一下。有这种需求的可以借鉴,希望你能有所收获。

保证RESTfulAPI的安全性主要包括三个方面:

a)验证客户端

b)加密敏感数据并防止篡改。

c)认证后的授权

有几种常见的客户端身份验证方法:

向请求添加签名参数

1.为每个访问方分配一个密钥,并指定签名计算方法。要求必须将签名参数添加到访问方的请求中。这种方法最简单,但需要保证访问方密钥的安全存储,同时也要防范重放攻击。其优点是易于理解和实现,但缺点是需要承担安全保管密钥和定期更新密钥的负担,不够灵活,难以更新密钥和升级签名算法。

使用标准的HTTP身份验证机制。

HTTPBasic身份验证安全性较低,必须与HTTPS一起使用。HTTPDigest身份验证可以单独使用,安全性适中。

HTTPDigest认证机制还支持插入用户自定义的加密算法,可以进一步提高API的安全性。然而,在面向互联网的应用编程接口中,插入自定义加密算法并不常用。

这种方式需要保证访问方“安全域-用户名-密码”三重信息的安全存储,并注意防止重放攻击。

优点:基于标准,得到广泛支持(大量HTTP服务器端和客户端库)。服务器端HTTP认证的责任可以由WebServer(比如Nginx)、AppServer(比如Tomcat)和安全框架(比如SpringSecurity)来承担,这对应用开发者来说是透明的。HTTP认证机制(RFC2617)很好地体现了“分离关注点”的设计原则,保持了操作语义的可见性。

2.缺点:这种基于简单用户名的密码机制的安全性不可能高于基于非对称密钥的(如数字证书)。

使用OAuth协议进行身份验证

OAuth协议适用于授权外部应用程序访问本网站的资源。与HTTPDigest认证相比,的加密机制更加安全。需要注意的是,OAuth认证和HTTPDigest认证并不是相互替代的,它们的应用场景是不同的。OAuth协议更适合为面向终端用户的API提供授权,比如获取属于用户的微博信息等等。如果应用编程接口不面向最终用户维度,例如像七头牛云存储这样的存储服务,这不是OAuth协议的典型场景。

3.加密敏感数据并防止篡改。常见做法包括:

部署了SSL基础设施(HTTPS),所有敏感数据传输都基于SSL。

只对一些敏感数据(如预付卡的卡号、密码)进行加密,并加入一些随机数作为加密盐,防止数据被篡改。

身份认证后的授权主要由应用控制。通常应该实现一些基于角色用户组的授权机制,这方面的框架很多(比如SpringSecurity),但是大多数开发团队更喜欢自己实现相关的功能。

阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/86588.html

(0)

相关推荐

  • 以太坊公链的路线(以太坊如何销毁简单解释)

    技术以太坊如何将自定义数据写入到区块链中小编给大家分享一下以太坊如何将自定义数据写入到区块链中,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

    攻略 2021年12月25日
  • Hibernate中Criteria有什么用

    技术Hibernate中Criteria有什么用这篇文章主要介绍Hibernate中Criteria有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!现在对Hibernate Criteria

    攻略 2021年12月8日
  • MySQL该怎么学习

    技术MySQL该怎么学习MySQL该怎么学习,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SQL是一种结构化查询语言,是通用地使用关系型数据

    攻略 2021年11月4日
  • thinkphp api开发教程(thinkphp怎么设置api)

    技术ThinkPHP如何搭建API服务这篇文章将为大家详细讲解有关ThinkPHP如何搭建API服务,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 下载ComposerCompose

    攻略 2021年12月20日
  • vuejs服务器安装教程学习(vue.js下载和引入的基本步骤)

    技术vue.js的安装方式有哪些这篇文章主要介绍了vue.js的安装方式有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

    攻略 2021年12月20日
  • 1到10的立方,1~10的立方各是多少

    技术1到10的立方,1~10的立方各是多少1、1到10的平方是:11到10的立方,4,9,16,25,36,49,64,81,100;2、1到10的立方是:1,8,27,64,125,216,343,512,729,10

    生活 2021年10月20日