2

我在 AWS 文档中遇到了以下关于保护传输中的请求数据的建议:

https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html

保护传输中的数据 为了防止在传输中篡改请求,一些请求元素用于计算请求的哈希(摘要),并将生成的哈希值作为请求的一部分包含在内。当 AWS 服务收到请求时,它会使用相同的信息来计算哈希并将其与您请求中的哈希值进行匹配。如果值不匹配,AWS 将拒绝该请求。

只是想知道篡改者不可能从更改的值中重新计算散列并用原始散列替换新散列,这样服务器就看不到请求有任何问题吗?

哈希是使用密钥创建的吗?并且篡改者将无法正确创建新的哈希?

我确定我在这里遗漏了一些东西。有人可以帮忙吗。

4

2 回答 2

2

这些签名由加密散列和秘密加密密钥组成。例如https://en.wikipedia.org/wiki/HMAC。这就是为什么你不能对数据进行调整并重新散列。

于 2020-10-16T07:48:04.027 回答
1

哈希是使用密钥创建的吗?

是的,这里提到的“哈希”实际上是一个HMAC,创建它需要您的 AWS 秘密访问密钥。

于 2020-10-16T07:46:38.660 回答