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

相关推荐

  • 抖音粉丝哪里买,哪里有专门卖抖音粉丝的

    技术抖音粉丝哪里买,哪里有专门卖抖音粉丝的抖音是否能够刷粉,网站即可刷到粉丝,现如今抖音粉丝是大家比较关注的问题,只要在代刷网刷粉想要多少可以刷多少,粉丝都是活跃粉丝,都是真人粉丝。
    抖音在短视频app中是最大人流量之一

    测评 2021年10月20日
  • 怎么进行Nginx配置文件引用

    技术怎么进行Nginx配置文件引用怎么进行Nginx配置文件引用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Nginx配置文件有很多需要我们注意很多问

    攻略 2021年11月25日
  • 如何解决jvm内存溢出java.lang.OutOfMemoryError: GC overhead limit exceeded问题

    技术如何解决jvm内存溢出java.lang.OutOfMemoryError: GC overhead limit exceeded问题如何解决jvm内存溢出java.lang.OutOfMemoryError: GC

    攻略 2021年10月23日
  • SpringBoot如何实现文件上传功能

    技术SpringBoot如何实现文件上传功能这篇文章主要介绍了SpringBoot如何实现文件上传功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。经典的

    攻略 2021年11月14日
  • Oracle数据库的内存结构是什么

    技术Oracle数据库的内存结构是什么这篇文章主要介绍“Oracle数据库的内存结构是什么”,在日常操作中,相信很多人在Oracle数据库的内存结构是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望

    攻略 2021年11月4日
  • 如何减压,怎样做才会解压的最好办法

    技术如何减压,怎样做才会解压的最好办法缓解压力的方法有很多。其实每个人都会有压力如何减压,怎么对待压力,关系的确很重要。且看下面是我从网上找的,希望对你有所帮助。我想这些专家说的应该比我说的对你的帮助要大的多,希望你也能

    生活 2021年10月25日