第八章

HTTP使用的认证方式

  1. BASIC认证(基本认证)
  2. DIGEST认证(摘要认证)
  3. SSL客户端认证
  4. FormBase认证(基于表单认证)

BASIC认证及其步骤

  1. 当需要BASIC认证时,服务器随着状态码401 Authorization Required,返回带WWW-Authenticate首部字段的响应。该字段内包含认证的方式(BASIC)即Request-URI安全域字符串(realm)
  2. 接收到状态码401的客户端为了通过BASIC认证,需要将用户ID和密码发送。发送的字符串内容由用户的ID和密码构成,两者之间以冒号链接后,再经过Base64编码处理。加入ID密码均为“guest”,经过Base64编码,最后结果则为Z3V1c3Q6Z3V1c3Q=。将这串字符写入首部字段Authorization后,发送请求。(输入密码账号即为此过程)
  3. 如果验证通过,则返回一条包含Requet-URI资源的响应
    Base64不是解密方式,而是编码方式,可以明文解码。

DIGEST认证
DIGEST认证仍然使用质询响应的方式,但不会像BASIC那样直接发送明文密码
使用了质询响应方式(challenge/response)但不会像BSAIC那样发送明文密码
所谓质询响应方式是指,一开始一方会先发送认证请求给另一方,接着使用从另一方接收到的质询码计算生成响应码。最后将响应码返回给对方进行认证的方法
因为发送给对方的指示响应摘要及由质询码产生的计算结果,密码泄露的可能性就降低了

  1. 请求需要认证的资源时,服务器会随着状态码401 Authorization Required,返回带着WWW-Authenticate首部字段的响应。该字段内包含响应方式认证所需的临时质询码(随机数,nonce)
    首部字段WWW-Authenticate内必须包含realm和nonce这两个字段的信息。客户端就是依靠向服务器回送这两个值进行曲儿
    Nonce是一种每次随401响应生成的任意随机字符串。该字符串通常推荐由Base64编码的十六进制数的组成形式。
  2. 接收到401状态码的客户端,返回的响应中包含DIGEST认证必须的首部字段Authorization信息
    首部字段Authorization内必须包含username,realm,nonce,uri和response的字段信息。其中realm和nonce就是之前从服务器接收到的响应中的字段。
    Username是realm限定范围内可进行认证的用户名,
    Uri即Request-URI的值,但考虑到经过代理转发后的值可能被修改,因此事先会复制一份副本保存在uri中
    response也可以叫做Response-Digest,存放经过MD5运算后的密码字符串,形成响应码。
  3. 接收到包含首部字段Authorization请求的服务器,会确认认证信息的正确性。认证通过后则返回Request-URI资源的响应

SSL客户端认证的认证步骤
需要事先将客户端证书发给客户端,且客户端必须安装证书

  1. 接收到认证资源的请求,服务器会发送certificate request报文,要求客户端提供客户端证书
  2. 用户选择将发送的客户端证书后,客户端会把客户端证书信息以Client Certificate报文方式发送给服务器
  3. 服务器验证客户端证书,验证通过后方可领取证书内客户端的公来密钥,然后开始HTTPS加密通信

SSL客户端认证采用双因素认证
SSL客户端认证不会仅依靠证书完成认证。一般会和机遇表单认证组合形成一种双因素认证来使用。所谓双因素认证指的是,认证过程中不仅需要密码一个因素,还需要申请认证者提供其他持有信息,从而作为另一个因素。
第一个认证因素的SSL客户端证书用来认证客户端计算机,第二个认证因素的密码则用来确定这是用户本人所为。

基于表单的认证
客户端会向服务器上的Web应用程序发送登陆信息,按登陆信息的验证结果认证。
认证多半为基于表单认证

session管理及Cookie应用
基于表单认证的标准规范尚未有定论,一般使用Cookie来管理session(会话)
基于表单认证本身是通过服务器端的web应用,将客户端发送过来的用户ID和密码与之前登陆过的信息做匹配来进行验证
但鉴于HTTP是无状态协议,之前成功登陆的用户组状态无法通过协议层面保存下来,即无法实现状态管理,也无法区分他与其他客户。所以用Cookie来管理session。

图解HTTP读书笔记.第八章相关推荐

  1. 图解HTTP读书笔记(十)

    图解HTTP读书笔记(十) Web的攻击技术 HTTP协议本身并不存在安全性问题,因此协议本身几乎不会成为攻击对象.应用HTTP协议的服务器和客户端,以及运行在服务器上的Web应用资源才是攻击目标. ...

  2. 《算法图解》读书笔记—像小说一样有趣的算法入门书

    前言 学习算法课程的时候,老师推荐了两本算法和数据结构入门书,一本是<算法图解>.一本是<大话数据结构>,<算法图解>这本书最近读完了,读完的最大感受就是对算法不再 ...

  3. 《Microsoft Sql server 2008 Internal》读书笔记--第八章The Query Optimizer(1)

    <Microsoft Sql server 2008 Interna>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397.h ...

  4. 《算法图解》读书笔记

    这是一本很入门的算法书,介绍的东西还算简单明了,大体补充了一些自己没理解的东西. 粗略地看了一下,感觉还是"纸上得来终觉浅,绝知此事要躬行!" <<算法图解>&g ...

  5. 《Microsoft Sql server 2008 Internals》读书笔记--第八章The Query Optimizer(5)

    <Microsoft Sql server 2008 Internals>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397 ...

  6. 红宝书读书笔记 第八章

    对象.类与面向对象编程 属性的类型 内部属性用两个中括号如[ [ Enumerable ] ] 开发者不能直接访问 数据属性 数据属性:数据属性包含一个保存数据值的位置.值会从这个位置读取,也会写入到 ...

  7. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第八章 构建云数据中心端到端安全

    8.1 云数据中心面临的安全挑战 因为云化和SDN化的网络特点(网元出现的位置随意性更大,出现和消失的时间不定): 首先会导致安全业务开通周期长: 其次SDN的自动化能力是现在安全业务所不能达到的,很 ...

  8. [swift 进阶]读书笔记-第八章:错误处理 C8P2 错误和函数参数

    第八章:错误处理 8.2 抛出和捕获 本小节主要讲了概念do catch throws 相关的东西 先想想我们在上一节讲了Result类型 知识点1: swift不会返回一个Result来表示失败,而 ...

  9. 《算法图解》读书笔记(二)

    第六章--图--广度优先搜索 1.解决最短路径问题(shortest-path problem)的算法被称为广度优先搜索(breadth first search). 2.图由节点(node)和边(e ...

最新文章

  1. Linux环境安装phpredis扩展
  2. sql group by 取每组符合条件_从零学SQL-经典面试题
  3. 代练怎么检测出来的_王者荣耀:代练熬夜打上王者,天美发来58个字,不敢收一分钱...
  4. python知识:如何多窗口切换
  5. 我的Serverless实战——引领云计算的下一个十年
  6. 4.openstack之mitaka搭建glance镜像服务
  7. 微软Power BI报表服务器学习总览
  8. URL报错: unknown protocol
  9. [Ext JS 7]ClassRequire错误解决
  10. java 类型通配符_java中泛型之类型通配符(?)
  11. 亚马逊无人超市Amazon Go这次是真的真的开业了
  12. [导入]在asp.net中实现观察者模式,或有更好的方法(续)
  13. 开机选择启动项的快捷键
  14. vb还是python强大-最难学的七大编程语言,VB 第一,Python垫底,看你学的排第几...
  15. 物联网技术体系(一)
  16. 农林牧渔行业S2B2C系统网站提升品牌知名度,提升盈利水平
  17. web第六课:div标签和span标签
  18. 汤姆猫代码python_用树莓派实现会说话的汤姆猫
  19. 动目标检测算法——高斯混合背景建模
  20. 修改Thinkphp-cmf上传视频大小限制

热门文章

  1. 关键路径上找时间,非关键路径上找资源
  2. 运用计算机通过动力方程,计算机技术在地下水动力学课程素材建设中的应用
  3. tomcat定时自动重启设置方法
  4. 同一页面无法显示多个模态框的解决办法
  5. psv文件转换为csv文件
  6. Python–cookbook–1.数据结构与算法
  7. ORA-21561: OID generation failed
  8. TiDB 在海航易建科技与香港航空研发收益支持系统过程中的实践
  9. linux中nobody添加所有权限,LINUX用户权限问题(nobody用户删除文件)
  10. 安全测试工具BurpSuite