Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services Amazon rest服务身份验证和安全性_Web Services_Security_Authentication_Amazon S3_Hmac - Fatal编程技术网

Web services Amazon rest服务身份验证和安全性

Web services Amazon rest服务身份验证和安全性,web-services,security,authentication,amazon-s3,hmac,Web Services,Security,Authentication,Amazon S3,Hmac,我读到了亚马逊的认证过程,他们使用一个定制的过程来签署每个请求 我仍然不明白为什么每个请求的签名都会从中间的一个人那里停止,因为每个看到请求和签名的人都可以再次发出相同的请求 如果有人分享一些关于安全性、amazon web服务或一般web服务的参考书目,我也会非常感激 SSL如何在这种情况下提供帮助 谢谢 以下是该公司必须说的话。他们建议,基本上可以归结为时间戳,以减轻重播攻击 验证请求 对AWS的请求通过验证包含的信息进行验证 在请求范围内。此验证使用 信息见下表 AWSAccessKe

我读到了亚马逊的认证过程,他们使用一个定制的过程来签署每个请求

  • 我仍然不明白为什么每个请求的签名都会从中间的一个人那里停止,因为每个看到请求和签名的人都可以再次发出相同的请求

  • 如果有人分享一些关于安全性、amazon web服务或一般web服务的参考书目,我也会非常感激

  • SSL如何在这种情况下提供帮助

谢谢

以下是该公司必须说的话。他们建议,基本上可以归结为时间戳,以减轻重播攻击

验证请求

对AWS的请求通过验证包含的信息进行验证 在请求范围内。此验证使用 信息见下表

AWSAccessKeyId发件人的AWS帐户由访问密钥ID标识。访问密钥ID用于查找机密访问密钥

签名对需要经过身份验证的请求的web服务的每个请求必须包含有效的请求签名,否则请求将被拒绝。请求签名为 使用AWS分配给开发人员帐户的秘密访问密钥计算,该密钥是只有AWS和开发人员知道的共享密钥

时间戳创建请求的日期和时间,以UTC的字符串表示。此参数值的格式必须与XML架构日期时间数据类型的格式匹配

第二个链接提供以下功能:

防御重放攻击的最佳机制是确保 您的所有请求都是通过SSL连接发出的。如果你不能使用 SSL,然后是可用于防止重播的机制 攻击是签名版本2中的Expires参数。这需要 您的客户端将被同步到原子时(使用NTP或类似的 同步协议)。如果不使用Expires参数, 并且仅依赖于timestamp参数,您的请求将受到 请求过期期限,因服务而异,但可以是 长达15分钟


因此,为了完全确保我受到了中间人攻击的保护,我必须使用SSL?SSL是抵御MITM攻击的一种很好的防御方法。如果签名是在URL上传递的,而不是在请求头中传递,又如何?