Amazon web services aws如何验证使用访问密钥创建的签名?
我搜索了很多,所有页面都在讨论如何使用aws访问密钥签署请求。但我没有发现aws是如何验证这些签名的 例如,这个官方文档讨论了aws提供的各种身份验证方法。它讨论了aws如何使用密钥对的公钥来验证签名。 但是它没有提到aws如何验证使用访问密钥签名的请求。 我发现aws访问密钥非常混乱。有什么帮助吗?请参阅: 向AWS发送请求时,您发送:Amazon web services aws如何验证使用访问密钥创建的签名?,amazon-web-services,security,cryptography,aws-cli,Amazon Web Services,Security,Cryptography,Aws Cli,我搜索了很多,所有页面都在讨论如何使用aws访问密钥签署请求。但我没有发现aws是如何验证这些签名的 例如,这个官方文档讨论了aws提供的各种身份验证方法。它讨论了aws如何使用密钥对的公钥来验证签名。 但是它没有提到aws如何验证使用访问密钥签名的请求。 我发现aws访问密钥非常混乱。有什么帮助吗?请参阅: 向AWS发送请求时,您发送: 带参数的API请求等 您的访问密钥(以AK开头) 使用访问密钥的相应密钥生成的签名 AWS验证签名: 获取请求中传递的访问密钥的密钥 签署您的请求,并
- 带参数的API请求等
- 您的访问密钥(以AK开头)
- 使用访问密钥的相应
生成的签名密钥
- 获取请求中传递的访问密钥的密钥
- 签署您的请求,并将其与您提供的签名进行比较
- 通过检查请求的时间戳是否在签名后5分钟内,确保MIM不会重播该请求
我早就猜到了。但是您的答案中的这一部分没有出现在任何文档中——“获取请求中传递的访问密钥的密钥”。这就像是说,aws同时拥有访问和秘密访问密钥的知识。然后,它可能会滥用访问权限,并代表您生成请求。这与ec2密钥对不同,ec2密钥对中的实例仅配置有公钥。私有部分只保留给用户。@ManojkumarKhotele当然AWS知道访问密钥和相应的密钥。但是AWS不知道EC2密钥对的私钥。谢谢@helloV。我接受这个答案。无法使用任何其他方式验证签名。