【问题标题】:Why do I not need a private key to decode my amazon JWT?为什么我不需要私钥来解码我的亚马逊 JWT?
【发布时间】:2022-01-11 18:26:42
【问题描述】:

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

谁能帮忙澄清一下?

【问题讨论】:

  • 公钥用于验证(不解码)签名,但没有私钥就无法创建(生成)有效签名,应保留私钥私有的,这就是为什么它首先被命名为私有密钥,这可以防止其他任何人为伪造数据创建签名。参见例如en.wikipedia.org/wiki/Digital_signature

标签: jwt rsa amazon-cognito


【解决方案1】:

由于使用Asymmetric encryption(带有私钥/公钥对),任何人都无法修改令牌并为其添加签名,该签名被使用原始发件人的公钥的人接受。

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

定期进行密钥轮换也是明智之举,您可以定期用新密钥替换私钥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2021-12-07
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 2016-06-01
    • 2012-12-08
    相关资源
    最近更新 更多