HTML5技术

HTTP认证 - 妙音天女(3)

字号+ 作者:H5之家 来源:H5之家 2017-03-27 17:00 我要评论( )

服务器响应: HTTP/1.0 200 OK Server: HTTPd/0.9 Date: Sun, 10 Apr 2005 20:27:03 GMT Content-Type: text/html Content-Length: 7984 (随后是一个空行,然后是所请求受限制的HTML页面) 3. response 的计算 respo

服务器响应:
HTTP/1.0 200 OK
Server: HTTPd/0.9
Date: Sun, 10 Apr 2005 20:27:03 GMT
Content-Type: text/html
Content-Length: 7984
(随后是一个空行,然后是所请求受限制的HTML页面)

   

3. response的计算

  • response 值由三步计算而成。当多个数值合并的时候,使用冒号作为分割符:

  • 用户名、认证域(realm)以及密码的合并值计算 MD5 哈希值,结果称为 HA1。
  • 对HTTP方法以及URI的摘要的合并值计算 MD5 哈希值,例如,"GET" 和 "/dir/index.html",结果称为 HA2。
  • 对HA1、服务器密码随机数(nonce)、请求计数(nc = nonceCount)、客户端密码随机数(cnonce = clientNonce)、保护质量(qop)以及 HA2 的合并值计算 MD5 哈希值。结果即为客户端提供的 response 值。
  • 因为服务器拥有与客户端同样的信息,因此服务器可以进行同样的计算,以验证客户端提交的 response 值的正确性。
  • 在上面给出的例子中,结果是如下计算的。 

    (MD5()表示用于计算MD5哈希值的函数;"\"表示接下一行;引号并不参与计算)

    HA1 = MD5( "Mufasa:testrealm@host.com:Circle Of Life" )

           = 939e7578ed9e3c518a452acee763bce9

    HA2 = MD5( "GET:/dir/index.html" )

           = 39aff3a2bab6126f332b942af96d3366

    Response = MD5( "939e7578ed9e3c518a452acee763bce9:\

                             dcd98b7102dd2f0e8b11d0f600bfb0c093:\

                             00000001:0a4f113b:auth:\

                             39aff3a2bab6126f332b942af96d3366" )

                     = 6629fae49393a05397450978507c4ef1

  • 此时客户端可以提交一个新的请求,重复使用服务器密码随机数(nonce)(服务器仅在每次"401"响应后发行新的nonce),但是提供新的客户端密码随机数(cnonce)。在后续的请求中,十六进制请求计数器(nc)必须比前一次使用的时候要大,否则攻击者可以简单的使用同样的认证信息重放老的请求。由服务器来确保在每个发出的密码随机数nonce时,计数器是在增加的,并拒绝掉任何错误的请求。显然,改变HTTP方法和/或计数器数值都会导致不同的 response值。

    服务器应当记住最近所生成的服务器密码随机数nonce的值。也可以在发行每一个密码随机数nonce后,记住过一段时间让它们过期。如果客户端使用了一个过期的值,服务器应该响应"401"状态号,并且在认证头中添加stale=TRUE,表明客户端应当使用新提供的服务器密码随机数nonce重发请求,而不必提示用户其它用户名和口令。

    服务器不需要保存任何过期的密码随机数,它可以简单的认为所有不认识的数值都是过期的。服务器也可以只允许每一个服务器密码随机数nonce使用一次,当然,这样就会迫使客户端在发送每个请求的时候重复认证过程。需要注意的是,在生成后立刻过期服务器密码随机数nonce是不行的,因为客户端将没有任何机会来使用这个nonce。

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • URL解析 - 妙音天女

      URL解析 - 妙音天女

      2017-03-27 16:02

    • URL相关Web APIs - 妙音天女

      URL相关Web APIs - 妙音天女

      2017-03-26 18:02

    • URL编码参考手册 - 妙音天女

      URL编码参考手册 - 妙音天女

      2017-03-26 18:01

    • HTTP状态码 - 妙音天女

      HTTP状态码 - 妙音天女

      2017-03-25 13:01

    网友点评
    y