我知道这个问题并不是什么新鲜事,可能已经在互联网上讨论过了。
我是新手,但经过一些研究后,我同意这是安全的,因为匿名者可以嗅到令牌,但无法在其上附加任何内容。我打算将JWT存储在HTML5Storage中,并对有效负载进行解码以获取一些敏感信息:DisplayName,email_address和role_info等。
这是我的问题,匿名嗅闻我的JWT令牌并代表我行事? 如果可能,我该如何避免?
答案 0 :(得分:5)
简而言之,JWT本身并不安全,它只是明确的文字。 JWT的基本术语是如何定义信息的标准协议,也称为在各方之间传递的索赔。结合JWS(签名)和JWE(encyption)将使其安全。对此的主题是JOSE - Javascript对象签名和加密。除了阅读您自己应该参考的RFC本身之外,还有大量的在线信息,而不是说明显而且侮辱您的搜索能力。查看http://jose.readthedocs.io/en/latest/(包括RFC的参考链接)
因此,如果使用行业安全标准(通过电话)和静止(即:数据库)进行签名和加密,则回答您的问题是的,这是安全的。
在欺骗方面,您需要在会议顶升和/或令牌顶升区域进行预警,并防止彩虹桌等事情发生。
JOSE真的只是一个标准,无论标准是什么,你真正要问的是关于安全措施的最佳实践,你也应该参考OWASP https://www.owasp.org/
这有助于澄清您的问题吗?