当前位置: 首页 > 知识库问答 >
问题:

JWT黑名单表和性能问题考虑

陶弘业
2023-03-14

我目前在Spring上有一个RESTful后端。由于RESTful是无状态的,所以我决定使用JWT,因为在我的整个研究过程中,这是每个人都推荐的(至少对于基于REST的应用程序)。

考虑到身份验证阶段的正常流程:

Frontend                                                      Backend
--- Login flow (refresh token request flow). ---

Login details                               ->        Verify login info
                                                      |
                                                      v
Save the refresh token                      <-        Generate JWT refresh token

--- Access token request flow. ---

Request new access token                    ->        Generate a new Access token
                                                      |
                                                      v
Save the access token                       <-        Give back to user
(Repeat when the access token expires)

--- Logout flow ---

Call JWT token invalidating API             ->        Add a refresh token and access token's hashes 
                                                      to blacklist table.
                                                      |
                                                      v
Erase JWT access token and refresh token    <-        Return result to user.
from storage    

现在看看上面的流程,我们需要一个表来存储访问令牌和刷新令牌的黑名单JWT令牌。由于我们不希望用户经常重新登录,因此刷新令牌可能具有多年的有效期。

因此,我的问题是:恶意用户是否能够通过多次注销和重新登录来攻击系统,从而导致一个大的刷新令牌黑名单表(这可能会降低系统性能,甚至低于有状态身份验证)。

是否存在这样的攻击面?如果是,我们将如何缓解?

  • 我正在考虑重用刷新令牌,但我认为这不是一个好主意,至少出于安全目的

我使用的数据库是SQL(PostgreSQL)。

共有1个答案

宋宏毅
2023-03-14

所以我发现在身份验证方面还有很多工作要做

 类似资料:
  • 现在最大的问题是,当我尝试将用户在连接期间必须使用的令牌列入黑名单时,当它断开连接时,这个令牌不再有效,这里的代码I jwtfilter.java 现在,当我尝试使用黑名单令牌或不使用黑名单令牌进行查询时,我会出现以下错误 这是模型 这是JwtBlacklist的存储库

  • 本文向大家介绍php实现ip白名单黑名单功能,包括了php实现ip白名单黑名单功能的使用技巧和注意事项,需要的朋友参考一下 这个是一个检测ip是否非法的php函数,适应于白名单,黑名单功能开发,主要场景应用于:api来源限制,访问限制等. 获取ip地址,这里引用thinkphp内置函数 以上就是本文的全部内容了,希望对大家理解php检测IP有所帮助。

  • 我正在开发一个Android应用程序,充值的手机通过手机的摄像头或从画廊的卡的照片…我使用tesseract库为此目的采取只使用黑名单和白名单的数字…它没有按预期工作 我使用的图片只包含这两行: 41722757649786 我只想识别数字,而不是字母,也不使用cropper..

  • G01的“IP黑白名单”是针对IP是否被允许访问网站的功能。加入黑名单的IP则拒绝其对网站的访问,而加入白名单的IP则不受任何限制。注意:当黑白名单出现交叉时,白名单优先。 由于G01的黑白名单是驱动级,因此当驱动未安装成功时,则不生效(主要为Linux系统环境)。所以当出现将IP加入黑名单后还记录该IP攻击日志时,请对照Linux支持内核版本查看是否支持该系统内核版本。 打开“IP黑白名单”功能

  • 问题内容: 我在Java2D方面表现有些古怪。我知道sun.java2d.opengl VM参数可以为2D启用3D加速,但是即使使用该参数也有一些奇怪的问题。 这是我运行的测试结果: 在JComponent上绘制具有32x32像素图块的25x18地图, 图像1 = .bmp格式,图像2 = .png格式 没有-Dsun.java2d.opengl = true 使用.BMP图像1的120 FPS使

  • 最近,我们将数据库从11g更新为19c。 在新数据库版本中测试应用程序时,我们遇到了一个特定视图的性能问题,该视图工作得非常好,但在19c中会导致性能问题。 在分析计划时,我们看到执行计划发生了巨大变化,这导致了19c中视图的性能非常差。 令人惊讶的是,其他观点的效果很好。 如果你能对这个问题有所了解,那就太好了。 谢谢你,JD