【问题标题】:can we hash the JWT and save the hashed version in local storage since it is not safe to put the jwt in local storage?我们可以散列 JWT 并将散列版本保存在本地存储中,因为将 jwt 放在本地存储中是不安全的吗?
【发布时间】:2022-01-24 23:00:43
【问题描述】:

因为由于 CSRF 或 XSS 攻击而将 JWT 保存在本地存储中是不安全的,所以我想知道是否有可能例如创建一个可以散列 JWT 的散列函数并将散列版本(无用)保留在本地贮存?我们还创建了一个解码函数来解码散列的 JWT,并在我们需要使用它时返回正确的 JWT。 对我来说似乎是可以管理的,是否存在与此技术相关的任何可能的缺陷或问题?

【问题讨论】:

  • 一般来说,大多数模式不涉及存储 JWT,这在很大程度上违背了使用 JWT 的目的。您可能在这里遇到了设计问题。
  • 如果哈希版本可以解码,CSRF或XSS攻击也可以解码。
  • 哈希函数的明确目的是,它是一种方式,因此您无法从哈希值中获取原始数据。任何可逆的函数也可以被攻击者尊崇。
  • 请注意您使用的条款。当您加密某些东西时,它可以被解密,(使用密钥)当您对某些东西进行编码时,它可以被解码,而当您对某些东西进行散列时,就没有回头路了。你不能散列然后解码,这没有任何意义。

标签: jwt web-deployment


【解决方案1】:

对 JWT 进行哈希处理毫无意义。

更好的方法是使用这两个资源中描述的 BFF 模式

【讨论】:

  • 谢谢这些资源很有帮助
  • 如果您喜欢我的回答,或者您希望我进一步改进它,请随时接受我的回答?或者还有其他问题吗?
猜你喜欢
  • 2018-11-05
  • 2018-02-22
  • 2020-10-25
  • 2018-11-12
  • 2022-01-15
  • 2020-08-22
  • 2019-06-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多