为什么我不需要私钥来解码我的amazonJWT



我读到,当使用Amazon Cognito进行验证和JWT令牌时,我只需要解码公钥。然而,如果这是真的,我认为这会降低安全性,因为有人可以更改他们的jwt,然后更改签名,而我在API端的解码将不知道区别,因为我不知道私钥,而公钥是公共的,可以用来生成签名。

有人能帮忙澄清一下吗?

由于使用非对称加密(使用私钥/公钥对(,任何人都不能修改令牌并向其添加签名,该签名由使用原始发件人公钥的人接受。

令牌中的内容是公共的,任何拥有它的人都可以访问,这就是为什么你不应该在其中存储GDPR敏感数据。但是,如果没有私钥的副本,任何人都无法生成新的令牌。

定期轮换密钥也是明智的,即定期用新密钥替换私钥。

最新更新