加入收藏 | 设为首页 | 会员中心 | 我要投稿 宁德站长网 (https://www.0593zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 安全 > 正文

管理API访问令牌的最佳安全实行

发布时间:2022-05-24 08:53:21 所属栏目:安全 来源:互联网
导读:如今,无论是基于Web的应用、还是本地原生的各种程序,都需要通过后端的API来实现资源的访问保护。要想得到API的授权,各种访问请求就必须包含相应的访问令牌或密钥。本文将向API提供者和应用程序开发人员重点介绍,我们在管理访问令牌中的各种最佳安全实践
         如今,无论是基于Web的应用、还是本地原生的各种程序,都需要通过后端的API来实现资源的访问保护。要想得到API的授权,各种访问请求就必须包含相应的访问令牌或密钥。本文将向API提供者和应用程序开发人员重点介绍,我们在管理访问令牌中的各种最佳安全实践。
 
         管理API访问令牌
 
一、安全的第一原则
 
         在我们处置安全性时,首先要考虑的一条原则是:不可相信任何人。如果您是一名API提供者,您不能保证正在调用API的应用程序就是您所预期的那个,您无法确信收到的令牌没有被盗,或者客户端和服务器之间的通信没有被截获。特别是在客户端,您无法确认应用程序没有被反编译过(而且已暴露了内嵌在应用程序之中的密码)。当然,您也无法确定应用程序的存储不会受到跨站脚本式攻击(详见https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)),更无法保证您的用户没有在被欺骗的状态下进行伪造请求的提交(详见https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF))。可见,您必须采取适当的措施,来安全地获取、存储和管理那些调用后端API所需的安全令牌。
 
二、获取令牌的API密钥
 
         在使用API​​时,我们通常有两种选择:一种是将一段静态信息与API调用同时进行传递;另一种是在调用API之前,动态地获取一段信息。这段信息通常被称为访问令牌或API密钥。由于一些历史遗留的问题,BasicAuth(译者注:BasicAuth认证方式是在每次请求API时,仅提供用户的username和password)仍在被某些API所使用着,但实际上,它已经不再是主流的认证解决方案了。
 
         因此,在设计API的安全性方面,您必须谨慎地考虑到API使用者将如何去访问它。而在考虑所采用的安全措施时,您需要全面地分析各种风险因素。显然,我们对于咨询天气数据的API、与银行支付类型的API的保护,会采用截然不同控制措施。
 
针对上述缺点,OAuth应运而生,其特点如下:
 
访问资源的应用程序是已知的(用到了客户端应用程序的信任凭据)。
API提供者可以通过定义范围,来限制对某些操作的访问(您可以GET到某个目录条目,但是就算使用的是有效的令牌,您仍然无法PUT新的目录条目)。
令牌具有有限的生命周期。

(编辑:宁德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!