dan*_*rvt 4 security authentication web-services amazon-s3 hmac
我正在阅读亚马逊的身份验证过程,他们使用自定义流程来签署每个请求.
我仍然不明白每个请求的签名是如何停止的,因为每个看到请求并看到签名的人都可以再次发出相同的请求.
如果有人分享一些关于安全性或亚马逊网络服务或一般网络服务的参考书目,我也会感到沮丧.
SSL在这种情况下如何提供帮助?
谢谢!
这是文档所说的内容.基本上它归结为时间戳,并且为了减轻重放攻击,他们建议使用SSL.
验证请求
通过验证请求中包含的信息来验证对AWS的请求.使用下表中的信息执行此验证.
AWSAccessKeyId 发件人的AWS账户由访问密钥ID标识.访问密钥ID用于查找秘密访问密钥.
签名 对需要经过身份验证的请求的Web服务的每个请求都必须包含有效的请求签名,否则请求将被拒绝.使用AWS分配给开发人员帐户的秘密访问密钥计算请求签名,这是AWS和开发人员只知道的共享密钥.
时间戳 创建请求的日期和时间,表示为UTC格式的字符串.此参数的值的格式必须与XML Schema dateTime数据类型的格式匹配.
第二个链接提供:
防御重放攻击的最佳机制是确保所有请求都通过SSL连接进行.如果您无法使用SSL,则可用于防止重放攻击的机制是签名版本2中的Expires参数.这要求您的客户端与原子时间同步(使用NTP或类似的同步协议).如果您不使用Expires参数,并且仅依赖timestamp参数,则您的请求将受到请求有效期的限制,该期限因服务而异,但可能长达15分钟.