JWT密钥-不对称和对称

JWT密钥-不对称和对称,jwt,signature,encryption-asymmetric,Jwt,Signature,Encryption Asymmetric,我理解对称密钥和非对称密钥之间的区别。我知道密钥用于计算签名,然后进行验证。然而,再深入一点,我想了解更多一点,我在网上很难找到 是否向消费者提供了验证内容的密钥?如果使用对称密钥,这难道不会让消费者能够更改JWT内容吗 使用非对称密钥时,签名是使用私钥还是公钥计算的?消费者是否获得了公钥/私钥?对称密钥只能以对等方式使用,因此接收者修改只有他和发送者拥有共享密钥的JWT(并且他是预期的接收者)是毫无意义的 非对称密钥签名(在JWTs中以及一般情况下)由发送方使用私钥生成,并由接收方使用公钥进行

我理解对称密钥和非对称密钥之间的区别。我知道密钥用于计算签名,然后进行验证。然而,再深入一点,我想了解更多一点,我在网上很难找到

是否向消费者提供了验证内容的密钥?如果使用对称密钥,这难道不会让消费者能够更改JWT内容吗


使用非对称密钥时,签名是使用私钥还是公钥计算的?消费者是否获得了公钥/私钥?

对称密钥只能以对等方式使用,因此接收者修改只有他和发送者拥有共享密钥的JWT(并且他是预期的接收者)是毫无意义的

非对称密钥签名(在JWTs中以及一般情况下)由发送方使用私钥生成,并由接收方使用公钥进行验证。消费者/接收者仅获得发生在频带外的公钥(即,通过除用于交换安全数据的通信方式之外的另一种通信方式)。

对于使用发送者私钥签名的非对称JWT(JW),令牌的接收者基本上是在接收有效载荷(报头/声明)在明文中的其他正在进行base64编码的。这就是为什么它们需要在安全套接字层(SSL)环境中传输。为了验证接收到的签名,接收方使用公钥重新计算接收到的有效载荷的签名。如果接收到的签名和计算出的签名这两个签名不匹配,那么有效负载就不能被信任——它是无效的 因此,这种非对称JWS将不是一种很好的方法,可以包含敏感的“声明”,例如社会保险号,因为有效载荷的内容没有加密。
将这些敏感数据包含在JWT中可以使用Json Web令牌加密的JWE。在JWE中,整个有效负载都是加密的

没有人会加密JWT的有效负载。都是关于签名的! RSA或ECDSA(均为非对称)签名只需一个可验证密钥即可验证,对于对称签名,您将需要身份验证服务

最常见的JWT签名算法:

HMAC + SHA256
RSASSA-PKCS1-v1_5 + SHA256
ECDSA + P-256 + SHA256

查看更多

谢谢,汉斯。我已经接受了你的回答,因为它解释了我关于非对称键的q。你能详细说明一下你所说的对称密钥只能以点对点的方式使用吗?你的意思是说它们应该在你拥有的服务器和完全控制的服务器之间使用吗?不,我的意思是你只在两方之间使用它们,不同于你可以在一对多关系中使用的a对称密钥。明白了。使用对称密钥时,谁生成密钥?即使收件人是预期的目标,他们不能更改JWT的内容以增加他们的权限或模仿其他人吗?JWT的收件人是目标环境,因此它甚至不需要JWT来模仿或增加权限。我仍然不明白,答案是,客户端可以使用公钥验证内容。但是,使用对称签名,客户机是否仍然可以完全访问内容,以及如何访问?或者只有密钥所有者才能验证令牌的一致性,例如服务器?@simUser user3594395刚刚说JWS(签名令牌)的有效负载没有加密,如果需要加密,可以使用JWE(加密JWT)。那句话没有错。我不明白你为什么写那封信,即使是作为额外的答复。OP没有问这个问题。我只是回顾了我过去发布的答案。JWS和JWE都是优雅而优秀的数学解决方案。两者都可以用于身份验证。但是,如果原始签名者想在身份验证令牌中隐藏一些秘密,比如过期的信用卡,而不在乎谁截取了密钥。我会的。工作JWT的使用不限于身份验证。它们是将受保护数据保存在可能被破坏的地方的绝佳代币。这是一个JWT,里面有我的信用卡和到期数据2.在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,某一方面,在某一方面,在某一方面,在某一方面,在某一方面,在某一方面,某一方面,在某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,在某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某一方面,某NT1JAYBBQ16YTDJFGZ_qUJVfZVZxsHCU5mW0Q21GVImje_x2;ux2celyoc3JB9I8W010er8T8JpYMF5QMD4FRSWTxD5OfAF1BPD3XCxTloxA0QapsmuiqessSfBD3Ybdoy5Iv5S_flt9C81IvRs和WfWSffoCr-RBxTi8uF-SKWO0GND8QZYEU1B3ZYU3ZYOf0D4ZYOf0DNBxBbBbBbhd.3GxZYlRxZU2K2KZZZZU2KZZZZZZZZZYOf7W7TbW7