问题描述
我在AWS文档上遇到了以下有关保护传输中请求数据的建议:
https://docs.aws.amazon.com/general/latest/gr/signing_aws_api_requests.html
保护传输中的数据 为了防止在传输过程中篡改请求,一些请求元素用于计算请求的哈希值(摘要),并将生成的哈希值包含在请求中。当AWS服务接收到请求时,它将使用相同的信息来计算哈希值,并将其与您请求中的哈希值进行匹配。如果值不匹配,则AWS拒绝该请求。
只是想知道篡改者是否无法根据更改后的值重新计算哈希并将新哈希替换为原始哈希,从而使服务器看不到请求的任何问题?
是否正在使用密钥创建哈希?篡改者将无法正确创建新的哈希?
我确定我在这里遗漏了一些东西。有人可以帮忙吗。
解决方法
那些签名由加密哈希和秘密加密密钥组成。例如https://en.wikipedia.org/wiki/HMAC。这就是为什么您无法调整数据并重新哈希的原因。
,使用密钥创建哈希吗?
是的,这里提到的“哈希”实际上是一个HMAC,创建它需要您的AWS秘密访问密钥。