《HTTP权威指南》学习笔记(三)

《HTTP权威指南》学习笔记(三)




第三部分 识别、认证与安全(一套用于追踪身份、增强安全性以及控制内容访问的技术和技巧)


第11章 客户端识别与Cookie机制
内容:
        承载用户身份信息的HTTP首部
        客户端IP地址跟踪,通过用户的IP地址对其进行识别
        用户登录,用认证方式来识别用户
        胖URL,一种在URL中嵌入识别信息的技术
        cookie,一种功能强大且高效的持久身份识别技术
        
        cookie是当前识别用户,实现持久会话的最好方式。
        cookie分类:会话cookie(一种临时cookie,记录了用户访问站点时的设置和偏好。用户退出浏览器时,会话cookie被删除)  
                             持久cookie(存储在硬盘上,浏览器退出,计算机重启时仍然存在。)
        
        cookie的工作原理:cookie中可包含任意信息,但它们通常只包含一个服务器为了进行跟踪而产生的独特的识别码。
        cookie的基本思想:让浏览器积累一组服务器特有的信息,每次访问服务器时都将这些信息提供给它。因为浏览器要负责存储cookie信息,
                                       所以此系统被称为客户端侧状态。

        
    
                                            图1 用会话Cookie跟踪用户

第12章 基本认证机制
内容:
        认证就是要给出一些身份证明
        HTTP的质询/响应认证框架:
图2  质询、响应、认证框架


        HTTP定义了两个官方的认证协议:基本认证和摘要认证。
        
        基本认证:在基本认证中,WEB服务器可以拒绝一个事务,质询客户端,请用户提供有效的用户名和密码。服务器会返回401状态码,
                         而不是200状态码来初始化认证质询,并用WWW-Authenticate响应首部指定要访问的安全域。浏览器收到质询时,会打开
                         一个对话框,请求用户输入这个域的用户名和密码。然后将用户名和密码稍加扰码,再用Authorization请求首部回送给服务器。
                         HTTP基本认证将用户名和密码打包在一起,并用Base-64编码方式对其进行编码。
        
        基本认证的缺陷: 1.用户名和密码是以明文形式传输的,任何人都可以读取并将其捕获。
                                     2.无法解决重放攻击问题(P327)。
                                     3.密码社工。
                                     4.无法防御中间人。
                                     5.假冒服务器。

 
第13章 摘要认证
内容:
        摘要认证: 基本认证的缺陷:极不安全。用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改。
                           安全的使用基本认证的唯一方式就是将其与SSL配合使用。
        
        摘要认证是另一种HTTP认证协议,它试图修复基本认证协议的严重缺陷。具体来说,摘要认证进行了如下改进:
               永远不会以明文方式在网络上发送密码;
               可以防止恶意用户捕获并重放认证的握手过程;
               可以有选择地防止对报文内容的篡改;
               防范其他几种常见的攻击方式;

      摘要认证并不是最安全的协议。摘要认证并不能满足安全HTTP事务的很多需求。对这些需求来说,使用传输层安全(TLS)和安全HTTP协议更合适
      摘要认证遵循“绝不通过网络发送密码。”客户端不会发送密码,而是会发送一个“指纹”或密码的“摘要”,这是密码的不可逆扰码。
      客户端和服务器都知道这个密码,因此服务器可以验证所提供的摘要是否与密码相匹配。只拿到摘要的话,除了将所有的密码都拿来试试之外,
      没有其他方法可以找出摘要是来自哪个密码。
      
      摘要认证的工作原理--图
      
      单向摘要:摘要是“对信息主体的浓缩。”摘要是一种单向函数,主要用于将无限的输入值转换为有限的浓缩输出值。
                       常见的摘要函数MD5,会将任意长度的字节序列转换为一个128位的摘要。

        对这些摘要来说,最重要的是如果不知道密码的话,要想正确地猜出发送给服务器的摘要将是非常困难的。同样,如果有摘要,想要判断
        出它是由无数输入值中的哪一个产生的,也是非常困难的。
        
        MD5输出的128位的摘要通常会被写成32个十六进制的字符,每个字符表示4位。
        摘要-->加密的校验和、单向散列函数或指纹函数。                                 
        
        “截获摘要,并一遍遍地重放给服务器。摘要和密码一样好用。”为防止此类重放攻击的发生,服务器可向客户端发送一个称为“随机数”的特殊
        令牌。客户端在计算摘要前要先将这个随机数令牌附加到密码上。
        
        摘要认证的握手机制--图
        
        安全性考虑:首部篡改、重放攻击、多重认证机制、词典攻击、恶意代理攻击和中间人攻击、选择明文攻击、存储密码;
 
第14章 安全HTTP
内容:
        HTTP安全技术能够提供如下功能: 服务器认证、客户端认证、完整性、加密、效率、普适性、管理的可扩展性、适应性、在社会上的可行性。
        HTTPS 是最流行的HTTP安全形式。HTTPS方案的URL以https://开头。
        
        数字加密:
                密码学是对报文进行编、解码的机制与技巧。  密码学基于一种名为密码的秘密代码。密码是一套编码方案-- 一种特殊的报文编码方式和一种解码方式的结合体。
图3  加密原理
        
        
        对称密钥加密技术:在编码时使用的密钥值和解码时一样。 流行的对称密钥加密算法:DES、Triple、RC2、RC4
        
        RSA算法(公开密钥加密系统)  数字签名  数字证书
        HTTP 和 HTTPS事务
        SSL握手
        OpenSSL 是SSL和TLS的最常见的开源实现。http://www.openssl.org








扩展阅读及思考




注:
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

流浪动物_小光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值