Page 338 - HTTP权威指南
P. 338

(a)普通的请求/质询                         čbĎ预授权



                       客户端                   服务器           客户端                   服务器
                                  请求                                   请求

                                   质询                                  质询


                                                                      请求+授权
                                  请求+授权
                                   成功                              成功+随机数信息

                                   请求                                 请求+授权

                                    质询                             成功+随机数信息

                                  请求+授权

                                   成功                                 请求+授权
                                                                       成功
                                   请求

                                    质询

                                  请求+授权
                                   成功




                 图 13-4 预授权减少了报文的数量
                 预授权对基本认证来说并不重要(而且很常见)。浏览器通常会维护一些客户端数据
                 库以存储用户名和密码。一旦用户与某站点进行了认证,浏览器通常会为后继对那
                 个 URL 的请求发送正确的 Authorization 首部(参见第 12 章)。                                   295

                 由于摘要认证使用了随机数技术来破坏重放攻击,所以对摘要认证来说,预授权要
                 稍微复杂一些。服务器会产生任意的随机数,所以在客户端收到质询之前,不一定
                 总能判定应该发送什么样的 Authorization 首部。

                 摘要认证在保留了很多安全特性的同时,还提供了几种预授权方式。这里列出了三
                 种可选的方式,通过这些方式,客户端无需等待新的 WWW-Authenticate 质询,就
                 可以获得正确的随机数:

                 •   服务器预先在 Authentication-Info 成功首部中发送下一个随机数;

                                                                             摘要认证   |   313
   333   334   335   336   337   338   339   340   341   342   343