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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了与对称密钥相比,用对称密钥签名JWT会更有用吗?相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

答案

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

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

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

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

以上是关于与对称密钥相比,用对称密钥签名JWT会更有用吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用对称密钥配置 Microsoft JWT?

如何使用对称密钥配置 Microsoft JWT?

Java加密与解密笔记 非对称加密

对称非对称加密数字签名数字证书的学习

看完秒懂对称加密非对称加密数字签名

非对称加密Rsa数字签名Go实战