我将从Github等各个网站存储用户的OAuth2.0令牌。如果我的数据库泄漏(我希望它不会泄漏),这对用户有多糟糕?攻击者是否可以完全访问其帐户?撤销所有访问令牌将是我的第一步,但我只是想知道。
答案 0 :(得分:0)
定义不好!
攻击者通常无法完全访问帐户,因为令牌通常只提供有限(范围)的访问量。
你提到了访问令牌。您通常不会长期存储访问令牌,因为它们应该是短暂的。您可以存储刷新令牌,因为它们是您在不需要用户的情况下获取未来访问令牌的方法。
访问令牌。
如果您正在存储访问令牌并且有人获得对它们的访问权限,则意味着他们可以在其生命周期内使用任何令牌(通常很长时间 - 通常是一两个小时)所以它&#39在任何人都可以使用它们的意义上是不好的(如果它们是大多数的持有人令牌)。
如果持有人令牌是引用令牌或加密值令牌,那么攻击者可能无法在其到期之前知道如何使用它们。 (即他们可能不知道令牌的目标受众)。
如果访问令牌很长并且攻击者知道它的目的是哪个资源服务器,则攻击者可能会使用该令牌,在某些情况下,无论如何都无法撤销令牌,因此#39;非常糟糕。
刷新令牌。
他们自己在错误的手中刷新令牌是不可用的。但是,如果攻击者能够找到您的客户端ID和秘密,那么他们可能会创建新的令牌。如果可以的话,你肯定想撤销刷新令牌。