fbpx
维基百科

HTTP摘要认证

摘要访问认证是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法。它在密码发出前,先对其应用哈希函数,这相对于HTTP基本认证发送明文而言,更安全。

从技术上讲,摘要认证是使用随机数来阻止进行密码分析MD5加密哈希函数应用。它使用HTTP协议。

概述 编辑

摘要访问认证最初由 RFC 2069 (HTTP的一个扩展:摘要访问认证)中被定义。RFC 2069 大致定义了一个传统的由服务器生成随机数来维护安全性的摘要认证架构。认证响应由下列组成(HA1、HA2、A1、及A2为字符串变量的名称):

 
 
 

RFC 2069 随后被 RFC 2617 (HTTP 认证:基本及摘要访问认证)取代。RFC 2617 引入了一系列安全增强的选项;“保护质量”(qop)、随机数计数器由客户端增加、以及客户生成的随机数。这些增强为了防止如选择明文攻击密码分析

 

如果 qop 值为“auth”或未指定,那么 HA2 为

 

如果 qop 值为“auth-int”,那么 HA2 为

 

如果 qop 值为“auth”或“auth-int”,那么如下计算 response:

 

如果 qop 未指定,那么如下计算 response:

 

上面所述的这种当 qop 未指定的情况,也就是遵循简化的 RFC 2069 标准。

MD5 安全问题对摘要认证的影响 编辑

在 HTTP 摘要认证中使用 MD5 加密是为了达成"不可逆的",也就是说,当输出已知的时候,确定原始的输入应该是相当困难的。如果密码本身太过简单,也许可以通过尝试所有可能的输入来找到对应的输出(穷举攻击),甚至可以通过字典或者适当的查找表加快查找速度。

HTTP 构架由Phillip Hallam-Baker于1993年在CERN设计成的,并且没有吸收后续认证系统的改进,如基于密钥的雜湊訊息驗證碼HMAC的发展。虽然所使用的密码结构是基于MD5雜湊函數的,在2004年,通常认为冲突攻击不会影响明文(如密码)未被得知的应用。[1][來源請求] 但是,在2006年的声明 (Kim, Biryukov2, Preneel, Hong, ) 导致了一些包括关于 MD5 应用的疑虑。不过,至今为止,MD5 冲突攻击没有被视为对摘要认证的威胁,并且 RFC 2617 允许服务器实现一些机制来检测冲突以及重放攻击

HTTP摘要认证的考虑 编辑

优势 编辑

HTTP摘要认证目的在于比传统摘要认证构架更安全;例如,“明显强于(如)CRAM-MD5……”。 (RFC 2617

一些HTTP摘要认证的安全性增强如下:

  • 密码并非直接在摘要中使用,而是 HA1 = MD5(username:realm:password)。这就允许一些实现(如,JBoss DIGESTAuth(页面存档备份,存于互联网档案馆))仅存储 HA1 而不是明文密码。
  • RFC 2617 中引入了客户端随机数nonce(cnonce),这将使客户端能够防止选择明文攻击,否则像彩虹表(Rainbow table)这类东西就会成为摘要认证构架的威胁。
  • 服务器随机数 nonce 允许包含时间戳。因此服务器可以检查客户端提交的随机数 nonce,以防止重放攻击
  • 服务器也可以维护一个最近发出或使用过的服务器随机数nonce的列表以防止重用。

劣势 编辑

摘要访问认证有意成为一个安全性的折衷。它意图代替非加密的HTTP基本认证。但是,它没有被设计为替换强认证协议,例如公钥密码学Kerberos认证。

在安全性方面,摘要访问认证有几个缺点:

  • RFC 2617 中的许多安全选项都是可选的。如果服务器没有指定保护质量(qop),客户端将以降低安全性的早期的 RFC 2069 的模式操作。
  • 摘要访问认证容易受到中间人攻击。举例而言,一个中间人攻击者可以告知客户端使用基本访问认证或早期的RFC 2069摘要访问认证模式。进一步而言,摘要访问认证没有提供任何机制帮助客户端验证服务器的身份。
  • 一些服务器要求密码以可逆加密算法存储。但是,仅存储用户名、realm、和密码的摘要是可能的。[2]
  • 它阻止了使用强密码哈希函数(如bcrypt)保存密码(因为无论是密码、或者用户名、realm、密码的摘要都要求是可恢复的)。

可替代的认证协议 编辑

一些可以用于Web应用程序的强认证协议包括:

常用的弱明文协议:

使用HTTPS网络加密同时使用这些弱明文协议解决了许多摘要访问认证试图要防止的许多威胁。

示例及说明 编辑

下面的例子出自 RFC 2617,在这里进行了扩展,对每一个请求和响应显示出完整的文本。注意,这里仅仅涵盖了“auth”保护质量的代码,因为在撰写期间,所知道的只有OperaKonqueror网页浏览器支持“auth-int”(带完整性保护的认证)。虽然定义中提到了HTTP 1.1,但是该构架可以像下面所描述的这样添加到1.0的服务器中去。

典型的认证过程包括如下步骤。

  • 客户端请求一个需要认证的页面,但是不提供用户名密码。通常这是由于用户简单的输入了一个地址或者在页面中点击了某个超链接
  • 服务器返回401 "Unauthorized" 响应代码,并提供认证域(realm),以及一个随机生成的、只使用一次的数值,称为密码随机数 nonce。
  • 此时,浏览器会向用户提示认证域(realm)(通常是所访问的计算机或系统的描述),并且提示用户名和密码。用户此时可以选择取消。
  • 一旦提供了用户名和密码,客户端会重新发送同样的请求,但是添加了一个认证头包括了响应代码。
  • 在这个例子中,服务器接受了认证并且返回了请求页面。如果用户名非法和/或密码不正确,服务器将返回"401"响应代码,然后客户端会再次提示用户输入用户名及密码。

注意:客户端可能已经拥有了用户名和密码,因此不需要提示用户,比如以前存储在浏览器里的。


客户端请求 (无认证)
GET /dir/index.html HTTP/1.0 Host: localhost 

(跟随一个新行,形式为一个回车再跟一个換行[3]

服务器响应
HTTP/1.0 401 Unauthorized Server: HTTPd/0.9 Date: Sun, 10 Apr 2005 20:26:47 GMT WWW-Authenticate: Digest realm="testrealm@host.com", qop="auth,auth-int", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41" Content-Type: text/html Content-Length: 311 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd(页面存档备份,存于互联网档案馆)"> <HTML> <HEAD> <TITLE>Error</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1"> </HEAD> <BODY><H1>401 Unauthorized.</H1></BODY> </HTML> 
客户端请求 (用户名 "Mufasa", 密码 "Circle Of Life")
GET /dir/index.html HTTP/1.0 Host: localhost Authorization: Digest username="Mufasa", realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", uri="/dir/index.html", qop=auth, nc=00000001, cnonce="0a4f113b", response="6629fae49393a05397450978507c4ef1", opaque="5ccc069c403ebaf9f0171e9517f40e41" 

(跟随一个新行,形式如前所述).

服务器响应
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页面).


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

  1. 对用户名、认证域(realm)以及密码的合并值计算 MD5 哈希值,结果称为 HA1。
  2. 对HTTP方法以及URI的摘要的合并值计算 MD5 哈希值,例如,"GET""/dir/index.html",结果称为 HA2。
  3. 对 HA1、服务器密码随机数(nonce)、请求计数(nc)、客户端密码随机数(cnonce)、保护质量(qop)以及 HA2 的合并值计算 MD5 哈希值。结果即为客户端提供的 response 值。

因为服务器拥有与客户端同样的信息,因此服务器可以进行同样的计算,以验证客户端提交的 response 值的正确性。在上面给出的例子中,结果是如下计算的。 (MD5()表示用于计算 MD5 哈希值的函数;“\”表示接下一行;引号并不参与计算)

完成 RFC 2617 中所给出的示例,将在每步得出如下结果。

 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。

SIP 摘要认证 编辑

SIP基本上使用了同样的摘要认证算法。它由 RFC 3261 定义。

浏览器实现 编辑

大多数浏览器都基本上实现了该协议,除了某些特性,比如检查auth-int、或者MD5-sess算法。如果服务器要求处理这类可选特性,客户端可能无法进行认证(虽然需要注意的是,Apache服务器的mod_auth_digest模块也没有完全实现 RFC 2617)。

参见 编辑

参考 编辑

  1. ^ . (date unidentified) [2010-07-02]. (原始内容存档于2004-09-01).  注意:没有给出具体信息;需要引用该页的准确的版本。
  2. ^ 存档副本. [2012-11-10]. (原始内容于2010-07-04). 
  3. ^ 存档副本. [2012-11-10]. (原始内容于2012-11-06). 
  4. ^ 存档副本. [2012-11-10]. (原始内容于2012-11-11). 

外部链接 编辑

http摘要认证, 摘要访问认证是一种协议规定的web服务器用来同网页浏览器进行认证信息协商的方法, 它在密码发出前, 先对其应用哈希函数, 这相对于http基本认证发送明文而言, 更安全, 从技术上讲, 摘要认证是使用随机数来阻止进行密码分析的md5加密哈希函数应用, 它使用http协议, 目录, 概述, 安全问题对摘要认证的影响, 的考虑, 优势, 劣势, 可替代的认证协议, 示例及说明, 摘要认证, 浏览器实现, 参见, 参考, 外部链接概述, 编辑摘要访问认证最初由, 2069, http的一个扩展, 摘要. 摘要访问认证是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法 它在密码发出前 先对其应用哈希函数 这相对于HTTP基本认证发送明文而言 更安全 从技术上讲 摘要认证是使用随机数来阻止进行密码分析的MD5加密哈希函数应用 它使用HTTP协议 目录 1 概述 2 MD5 安全问题对摘要认证的影响 3 HTTP摘要认证的考虑 3 1 优势 3 2 劣势 3 3 可替代的认证协议 4 示例及说明 5 SIP 摘要认证 6 浏览器实现 7 参见 8 参考 9 外部链接概述 编辑摘要访问认证最初由 RFC 2069 HTTP的一个扩展 摘要访问认证 中被定义 RFC 2069 大致定义了一个传统的由服务器生成随机数来维护安全性的摘要认证架构 认证响应由下列组成 HA1 HA2 A1 及A2为字符串变量的名称 H A 1 M D 5 A 1 M D 5 u s e r n a m e r e a l m p a s s w o r d displaystyle mathrm HA1 mathrm MD5 Big mathrm A1 Big mathrm MD5 Big mathrm username mathrm realm mathrm password Big nbsp H A 2 M D 5 A 2 M D 5 m e t h o d d i g e s t U R I displaystyle mathrm HA2 mathrm MD5 Big mathrm A2 Big mathrm MD5 Big mathrm method mathrm digestURI Big nbsp r e s p o n s e M D 5 H A 1 n o n c e H A 2 displaystyle mathrm response mathrm MD5 Big mathrm HA1 mathrm nonce mathrm HA2 Big nbsp RFC 2069 随后被 RFC 2617 HTTP 认证 基本及摘要访问认证 取代 RFC 2617 引入了一系列安全增强的选项 保护质量 qop 随机数计数器由客户端增加 以及客户生成的随机数 这些增强为了防止如选择明文攻击的密码分析 H A 1 M D 5 A 1 M D 5 u s e r n a m e r e a l m p a s s w o r d displaystyle mathrm HA1 mathrm MD5 Big mathrm A1 Big mathrm MD5 Big mathrm username mathrm realm mathrm password Big nbsp 如果 qop 值为 auth 或未指定 那么 HA2 为 H A 2 M D 5 A 2 M D 5 m e t h o d d i g e s t U R I displaystyle mathrm HA2 mathrm MD5 Big mathrm A2 Big mathrm MD5 Big mathrm method mathrm digestURI Big nbsp 如果 qop 值为 auth int 那么 HA2 为 H A 2 M D 5 A 2 M D 5 m e t h o d d i g e s t U R I M D 5 e n t i t y B o d y displaystyle mathrm HA2 mathrm MD5 Big mathrm A2 Big mathrm MD5 Big mathrm method mathrm digestURI mathrm MD5 entityBody Big nbsp 如果 qop 值为 auth 或 auth int 那么如下计算 response r e s p o n s e M D 5 H A 1 n o n c e n o n c e C o u n t c l i e n t N o n c e q o p H A 2 displaystyle mathrm response mathrm MD5 Big mathrm HA1 mathrm nonce mathrm nonceCount mathrm clientNonce mathrm qop mathrm HA2 Big nbsp 如果 qop 未指定 那么如下计算 response r e s p o n s e M D 5 H A 1 n o n c e H A 2 displaystyle mathrm response mathrm MD5 Big mathrm HA1 mathrm nonce mathrm HA2 Big nbsp 上面所述的这种当 qop 未指定的情况 也就是遵循简化的 RFC 2069 标准 MD5 安全问题对摘要认证的影响 编辑在 HTTP 摘要认证中使用 MD5 加密是为了达成 不可逆的 也就是说 当输出已知的时候 确定原始的输入应该是相当困难的 如果密码本身太过简单 也许可以通过尝试所有可能的输入来找到对应的输出 穷举攻击 甚至可以通过字典或者适当的查找表加快查找速度 HTTP 构架由Phillip Hallam Baker于1993年在CERN设计成的 并且没有吸收后续认证系统的改进 如基于密钥的雜湊訊息驗證碼HMAC的发展 虽然所使用的密码结构是基于MD5雜湊函數的 在2004年 通常认为冲突攻击不会影响明文 如密码 未被得知的应用 1 來源請求 但是 在2006年的声明 Kim Biryukov2 Preneel Hong On the Security of HMAC and NMAC Based on HAVAL MD4 MD5 SHA 0 and SHA 1 导致了一些包括关于 MD5 应用的疑虑 不过 至今为止 MD5 冲突攻击没有被视为对摘要认证的威胁 并且 RFC 2617 允许服务器实现一些机制来检测冲突以及重放攻击 HTTP摘要认证的考虑 编辑优势 编辑 HTTP摘要认证目的在于比传统摘要认证构架更安全 例如 明显强于 如 CRAM MD5 RFC 2617 一些HTTP摘要认证的安全性增强如下 密码并非直接在摘要中使用 而是 HA1 MD5 username realm password 这就允许一些实现 如 JBoss DIGESTAuth 页面存档备份 存于互联网档案馆 仅存储 HA1 而不是明文密码 在 RFC 2617 中引入了客户端随机数nonce cnonce 这将使客户端能够防止选择明文攻击 否则像彩虹表 Rainbow table 这类东西就会成为摘要认证构架的威胁 服务器随机数 nonce 允许包含时间戳 因此服务器可以检查客户端提交的随机数 nonce 以防止重放攻击 服务器也可以维护一个最近发出或使用过的服务器随机数nonce的列表以防止重用 劣势 编辑 摘要访问认证有意成为一个安全性的折衷 它意图代替非加密的HTTP基本认证 但是 它没有被设计为替换强认证协议 例如公钥密码学或Kerberos认证 在安全性方面 摘要访问认证有几个缺点 RFC 2617 中的许多安全选项都是可选的 如果服务器没有指定保护质量 qop 客户端将以降低安全性的早期的 RFC 2069 的模式操作 摘要访问认证容易受到中间人攻击 举例而言 一个中间人攻击者可以告知客户端使用基本访问认证或早期的RFC 2069摘要访问认证模式 进一步而言 摘要访问认证没有提供任何机制帮助客户端验证服务器的身份 一些服务器要求密码以可逆加密算法存储 但是 仅存储用户名 realm 和密码的摘要是可能的 2 它阻止了使用强密码哈希函数 如bcrypt 保存密码 因为无论是密码 或者用户名 realm 密码的摘要都要求是可恢复的 可替代的认证协议 编辑 一些可以用于Web应用程序的强认证协议包括 公钥密码学认证 通常随 HTTPS SSL客户端整数一起实现 Kerberos或SPNEGO认证 主要是在配置为Integrated Windows Authentication IWA 的微软的IIS使用 Secure Remote Password protocol 适用于HTTPS TLS层 常用的弱明文协议 HTTP基本认证构架 HTTP HTML表单认证使用HTTPS网络加密同时使用这些弱明文协议解决了许多摘要访问认证试图要防止的许多威胁 示例及说明 编辑下面的例子出自 RFC 2617 在这里进行了扩展 对每一个请求和响应显示出完整的文本 注意 这里仅仅涵盖了 auth 保护质量的代码 因为在撰写期间 所知道的只有Opera和Konqueror网页浏览器支持 auth int 带完整性保护的认证 虽然定义中提到了HTTP 1 1 但是该构架可以像下面所描述的这样添加到1 0的服务器中去 典型的认证过程包括如下步骤 客户端请求一个需要认证的页面 但是不提供用户名和密码 通常这是由于用户简单的输入了一个地址或者在页面中点击了某个超链接 服务器返回401 Unauthorized 响应代码 并提供认证域 realm 以及一个随机生成的 只使用一次的数值 称为密码随机数 nonce 此时 浏览器会向用户提示认证域 realm 通常是所访问的计算机或系统的描述 并且提示用户名和密码 用户此时可以选择取消 一旦提供了用户名和密码 客户端会重新发送同样的请求 但是添加了一个认证头包括了响应代码 在这个例子中 服务器接受了认证并且返回了请求页面 如果用户名非法和 或密码不正确 服务器将返回 401 响应代码 然后客户端会再次提示用户输入用户名及密码 注意 客户端可能已经拥有了用户名和密码 因此不需要提示用户 比如以前存储在浏览器里的 客户端请求 无认证 GET dir index html HTTP 1 0 Host localhost 跟随一个新行 形式为一个回车再跟一个換行 3 服务器响应HTTP 1 0 401 Unauthorized Server HTTPd 0 9 Date Sun 10 Apr 2005 20 26 47 GMT WWW Authenticate Digest realm testrealm host com qop auth auth int nonce dcd98b7102dd2f0e8b11d0f600bfb0c093 opaque 5ccc069c403ebaf9f0171e9517f40e41 Content Type text html Content Length 311 lt DOCTYPE HTML PUBLIC W3C DTD HTML 4 01 Transitional EN http www w3 org TR 1999 REC html401 19991224 loose dtd 页面存档备份 存于互联网档案馆 gt lt HTML gt lt HEAD gt lt TITLE gt Error lt TITLE gt lt META HTTP EQUIV Content Type CONTENT text html charset ISO 8859 1 gt lt HEAD gt lt BODY gt lt H1 gt 401 Unauthorized lt H1 gt lt BODY gt lt HTML gt 客户端请求 用户名 Mufasa 密码 Circle Of Life GET dir index html HTTP 1 0 Host localhost Authorization Digest username Mufasa realm testrealm host com nonce dcd98b7102dd2f0e8b11d0f600bfb0c093 uri dir index html qop auth nc 00000001 cnonce 0a4f113b response 6629fae49393a05397450978507c4ef1 opaque 5ccc069c403ebaf9f0171e9517f40e41 跟随一个新行 形式如前所述 服务器响应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页面 如下所述 response 值由三步计算而成 当多个数值合并的时候 使用冒号作为分割符 对用户名 认证域 realm 以及密码的合并值计算 MD5 哈希值 结果称为 HA1 对HTTP方法以及URI的摘要的合并值计算 MD5 哈希值 例如 GET 和 dir index html 结果称为 HA2 对 HA1 服务器密码随机数 nonce 请求计数 nc 客户端密码随机数 cnonce 保护质量 qop 以及 HA2 的合并值计算 MD5 哈希值 结果即为客户端提供的 response 值 因为服务器拥有与客户端同样的信息 因此服务器可以进行同样的计算 以验证客户端提交的 response 值的正确性 在上面给出的例子中 结果是如下计算的 MD5 表示用于计算 MD5 哈希值的函数 表示接下一行 引号并不参与计算 完成 RFC 2617 中所给出的示例 将在每步得出如下结果 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 SIP 摘要认证 编辑SIP基本上使用了同样的摘要认证算法 它由 RFC 3261 定义 浏览器实现 编辑大多数浏览器都基本上实现了该协议 除了某些特性 比如检查auth int 或者MD5 sess算法 如果服务器要求处理这类可选特性 客户端可能无法进行认证 虽然需要注意的是 Apache服务器的mod auth digest模块也没有完全实现 RFC 2617 Amaya 基于Gecko 不包括 auth int 1 Mozilla Application Suite Mozilla Firefox Netscape 7 iCab 3 0 3 基于KHTML 及 WebKit 不包括 auth int 2 页面存档备份 存于互联网档案馆 iCab 4 Konqueror Google Chrome Safari 基于Tasman Internet Explorer for Mac Trident based Internet Explorer 7 4 不包括 auth int 基于Presto Opera Opera Mobile Opera Mini Nintendo DS 浏览器 Nokia 770 浏览器 Sony Mylo 1 的浏览器 Wii Internet Channel 浏览器参见 编辑认证和密钥协商协议 HTTP基本认证参考 编辑 Hash Collision Q amp A date unidentified 2010 07 02 原始内容存档于2004 09 01 请检查 date 中的日期值 帮助 注意 没有给出具体信息 需要引用该页的准确的版本 存档副本 2012 11 10 原始内容存档于2010 07 04 存档副本 2012 11 10 原始内容存档于2012 11 06 存档副本 2012 11 10 原始内容存档于2012 11 11 外部链接 编辑RFC 2617 RFC 2069 废弃的 取自 https zh wikipedia org w index php title HTTP摘要认证 amp oldid 63128112, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。