如何理解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)

相关推荐

  • redis的五种数据类型以及用途(redis 有哪些数据类型)

    技术Redis中的特殊数据类型有哪些这篇文章将为大家详细讲解有关Redis中的特殊数据类型有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis除了5种基础数据类型,还有三种特

    攻略 2021年12月22日
  • 如何解决BufferedReader读取文件指定字符集问题

    技术如何解决BufferedReader读取文件指定字符集问题小编给大家分享一下如何解决BufferedReader读取文件指定字符集问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!BufferedR

    攻略 2021年12月10日
  • 科目一考什么,驾照科目一考试技巧与口诀

    技术科目一考什么,驾照科目一考试技巧与口诀1科目一考什么、题目里有“口”的选50米,有“站”的选30米,叫“口五站三 剩下的全选150米,没有150的选最大。判断题全对。 2、有关公里的题目:城市街道选50公里,其余有3

    生活 2021年10月23日
  • 如何Python代码快速解析、整理上万份数据文件

    技术如何Python代码快速解析、整理上万份数据文件如何Python代码快速解析、整理上万份数据文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所

    攻略 2021年12月4日
  • 立体长方形怎么折,立体长方形用纸板怎么做

    技术立体长方形怎么折,立体长方形用纸板怎么做准备一张长方形纸立体长方形怎么折,折完是这样的。;将长方形纸长边折出8等份,打开,上下边再分别折出8个小正方形折印,打开;右上边对齐第3格边线,折出第4格小正方形的对角线,即第

    生活 2021年10月19日
  • Web of Science数据库与SCI论文的辩证关系是什么

    技术Web of Science数据库与SCI论文的辩证关系是什么Web of Science数据库与SCI论文的辩证关系是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴

    攻略 2021年12月2日