与对称密钥相比,用对称密钥签名JWT会更有用吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了与对称密钥相比,用对称密钥签名JWT会更有用吗?相关的知识,希望对你有一定的参考价值。
在我看来,JWT的主要优点是任何客户都可以阅读索赔并验证您是提出索赔的人。但是,如果您使用对称密钥来计算签名,则客户端必须知道您的签名密钥以验证JWT,此时客户端可以生成他们想要的任何声明。为什么有人会选择对称算法而不是非对称算法?
[一个用户的answer在另一个问题上说:
对称密钥仅以对等方式使用,因此,接收者修改仅由他和发送者拥有共享密钥的JWT毫无意义
如果通信是对等的,那么他们一定在某个时候使用了安全协议来交换密钥,那么在这种情况下,JWT的用途是什么?
之所以这样问,是因为我看到的用于在ASP.Net中实现基于JWT的安全性的大多数示例都使用对称密钥。
答案
令牌不一定总是必须由客户端验证。
作为示例,在基本的Asp.Net应用程序中,服务器同时充当身份验证服务器和授权服务器:
- 服务器创建令牌并在用户登录时将其提供给用户
- 用户随每个请求将该令牌发送回服务器
- 服务器验证令牌,并授权用户
在此示例中,如果客户端通过单独的方式(例如TLS / SSL)来验证服务器的真实性,则客户端不需要验证服务器返回的令牌。在这种情况下,使用对称加密算法的服务器没有问题。
以上是关于与对称密钥相比,用对称密钥签名JWT会更有用吗?的主要内容,如果未能解决你的问题,请参考以下文章