【发布时间】:2019-02-12 01:34:15
【问题描述】:
我一直在重构我们的 JWT 签名和验证结构,使其更安全。我以这篇文章为起点(并建议使用 RS256 算法而不是 HS256 算法):https://medium.com/@siddharthac6/json-web-token-jwt-the-right-way-of-implementing-with-node-js-65b8915d550e 并建议使用 512 位密钥
“几乎不可能对 256 位密钥进行暴力搜索”
但是,当我寻找一个 openssl 脚本来生成这个令牌时,我到达了这个默认为 4096 位密钥的页面:https://gist.github.com/ygotthilf/baa58da5c3dd1f69fae9,其中一个用户引用了 RSA,上面写着:
RSA 声称 [...] 2048 位密钥在 2030 年之前就足够了。
感觉好像有相互矛盾的信息。本质上,我的问题是我应该为企业应用程序使用什么 jwt 算法和密钥大小,并且 RS256 + 512 位密钥是否足够(我切换到的)?我有点理解安全性和速度之间的权衡,但我很困惑为什么在中篇文章中建议使用 512 位密钥,但在 github 脚本中甚至没有提到,而且 RSA 说即使是 2048 位密钥也可能在 2030 年过时。
谢谢。
【问题讨论】:
标签: node.js security express authentication jwt