【问题标题】:I Still don't get HMAC or how Signing a request works我仍然没有得到 HMAC 或签署请求的工作原理
【发布时间】:2012-10-08 15:28:23
【问题描述】:

我在 ASP.NET 上工作,只是从亚马逊目录 http://docs.amazonwebservices.com/AmazonS3/latest/dev/RESTAuthentication.html 中读到它

非正式地,我们称这个过程为“签署请求”,我们称 HMAC 算法的输出是“签名”,因为它模拟 真实签名的安全属性。最后,你添加这个 签名作为请求的参数,使用中描述的语法 本节。

当系统收到经过身份验证的请求时,它会获取 AWS 您声称拥有的秘密访问密钥,并以相同的方式使用它 计算它收到的消息的“签名”。然后比较 它根据提交的签名计算的签名 请求者。

但我认为这两个请求不会是相同的。请求已签名(太好了!!)但是来自客户端浏览器的响应的 HMAC 会有所不同,因为它包含额外的数据,对吗?那么即使它们是有效的,为什么请求也可以验证

【问题讨论】:

    标签: asp.net security hmac


    【解决方案1】:

    您需要阅读您引用的所有段落。就在你引用的那篇文章之前,它说:

    要对请求进行身份验证,您首先要连接请求的选定元素以形成一个字符串。然后,您使用您的 AWS 秘密访问密钥来计算该字符串的 HMAC。

    因此,您根据这些选定元素计算 HMAC,当您提交请求时,服务器会根据这些相同元素计算 HMAC,然后将它们进行比较。

    【讨论】:

    • 我认为是这样,但恐怕我不确定。我对密钥身份验证了解一点,但对 ASP.NET 了解不多。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多