【发布时间】:2022-01-24 23:00:43
【问题描述】:
因为由于 CSRF 或 XSS 攻击而将 JWT 保存在本地存储中是不安全的,所以我想知道是否有可能例如创建一个可以散列 JWT 的散列函数并将散列版本(无用)保留在本地贮存?我们还创建了一个解码函数来解码散列的 JWT,并在我们需要使用它时返回正确的 JWT。 对我来说似乎是可以管理的,是否存在与此技术相关的任何可能的缺陷或问题?
【问题讨论】:
-
一般来说,大多数模式不涉及存储 JWT,这在很大程度上违背了使用 JWT 的目的。您可能在这里遇到了设计问题。
-
如果哈希版本可以解码,CSRF或XSS攻击也可以解码。
-
哈希函数的明确目的是,它是一种方式,因此您无法从哈希值中获取原始数据。任何可逆的函数也可以被攻击者尊崇。
-
请注意您使用的条款。当您加密某些东西时,它可以被解密,(使用密钥)当您对某些东西进行编码时,它可以被解码,而当您对某些东西进行散列时,就没有回头路了。你不能散列然后解码,这没有任何意义。
标签: jwt web-deployment