用户名/密码与不记名令牌之间的区别是什么?

问题描述

根据RFC-6750定义的安全令牌,拥有该令牌的任何一方(“承载者”)都可以以任何其他拥有它的一方可以的方式使用该令牌(不进行证明)拥有一个加密密钥)

  • Q1)此定义是否也不适用于用户名密码,因为拥有用户名密码的任何人都可以以与其他任何一方相同的方式使用它(可能会盗用用户名密码)可以拥有吗?在两种情况下(不表示拥有 加密密钥)。是否因为令牌已包含权限? 非常感谢

解决方法

如您所说,这两种方法都可以被盗用的人使用,但是有关访问令牌的关键点在于:

  • 与密码不同,它们寿命短(〜60分钟)
  • 它们仅代表特定应用程序所需的一部分用户权限

窃取访问令牌

访问令牌也不容易被盗。攻击者可能可以获取用于他们自己的登录的访问令牌,但是,如果您的UI和API安全编码,则这将不允许他们以任何方式提升特权。

密码管理

密码被盗比令牌被盗要严重得多,因为密码代表了用户可能在许多应用程序中可以做的任何事情。

由于上述原因,OAuth技术使密码无法进入应用程序。您的应用永远都不会看到用户的密码,并且对任何密码漏洞概不负责。

相反,密码由专业的Identity Provider软件维护。大多数公司会使用低成本的云解决方案,其中密码管理是由安全专家开发的。