亚马逊休息服务认证和安全性

时间:2012-08-31 13:26:56

标签: web-services security authentication amazon-s3 hmac

我正在阅读亚马逊的身份验证流程,他们使用自定义流程来签署每个请求。

  • 我仍然不明白每次请求的签名是如何停止的,因为每个看到请求并看到签名的人都可以再次发出相同的请求。

  • 如果有人分享一些关于安全或亚马逊网络服务或网络服务的参考书目,我也会感到沮丧。

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

谢谢!

1 个答案:

答案 0 :(得分:7)

以下是documentation所说的内容。基本上它归结为时间戳,并且为了减轻重放攻击,他们建议using SSL

  

验证请求

     

通过验证包含的信息来验证对AWS的请求   在请求中。该验证使用   下表中的信息。

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

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

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

第二个链接提供:

  

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