与对称密钥相比,用对称密钥签名JWT会更有用吗?

问题描述 投票:3回答:1

在我看来,JWT的主要优点是任何客户都可以阅读索赔并验证您是提出索赔的人。但是,如果您使用对称密钥来计算签名,则客户端必须知道您的签名密钥以验证JWT,此时客户端可以生成他们想要的任何声明。为什么有人会选择对称算法而不是非对称算法?

[一个用户的answer在另一个问题上说:

对称密钥仅以对等方式使用,因此,接收者修改仅由他和发送者拥有共享密钥的JWT毫无意义

如果通信是对等的,那么他们一定在某个时候使用了安全协议来交换密钥,那么在这种情况下,JWT的用途是什么?

之所以这样问,是因为我看到的用于在ASP.Net中实现基于JWT的安全性的大多数示例都使用对称密钥。

encryption jwt
1个回答
0
投票

令牌不一定总是必须由客户端验证。

作为示例,在基本的Asp.Net应用程序中,服务器同时充当身份验证服务器授权服务器:

  • 服务器创建令牌并在用户登录时将其提供给用户
  • 用户随每个请求将该令牌发送回服务器
  • 服务器验证令牌,并授权用户

在此示例中,如果客户端通过单独的方式(例如TLS / SSL)来验证服务器的真实性,则客户端不需要验证服务器返回的令牌。在这种情况下,使用对称加密算法的服务器没有问题。

© www.soinside.com 2019 - 2024. All rights reserved.