• HTTP与HTTPS


    一、HTTP的缺点

    1. 通信使用明文(不加密),内容可能会被窃听
    2. 不验证通信方的身份,因此有可能遭遇伪装
    3. 无法证明报文的完整性,所以有可能已遭篡改
    1.加密处理防止被窃听
    通过和 SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用,加密 HTTP 的通信内容
    
    2.内容的加密
    将参与通信的内容本身加密的方式
    
    
    

    1. 验证通信方的身份就可能遭遇伪装

    HTTP 协议中的请求和响应不会对通信方进行确认。也就是说存在“服务器是否就是发送请求中 URI 真正指定的主机,返回的响应是否真的返回到实际提出请求的客户端”等类似问题。

    1.任何人都可发起请求 (会存在以下各种隐患)
    
        (1) 无法确定请求发送至目标的 Web 服务器是否是按真实意图返回响应的那台服务器。有可能是已伪装的 Web 服务器。
        
        (2) 无法确定响应返回到的客户端是否是按真实意图接收响应的那个客户端。有可能是已伪装的客户端。
        
        (3)无法确定正在通信的对方是否具备访问权限。因为某些Web 服务器上保存着重要的信息,只想发给特定用户通信的权限。
    
        (4)无法判定请求是来自何方、出自谁手
    
        (5)即使是无意义的请求也会照单全收。无法阻止海量请求下的 DoS 攻击(Denial of Service,拒绝服务攻击)
    
    2.查明对手的证书
      (1)虽然使用 HTTP 协议无法确定通信方,但如果使用 SSL 则可以。SSL 不仅提供加密处理,而且还使用了一种被称为证书的手段,可用于确定方
    
    

    2. 无法证明报文完整性,可能已遭篡改

    1. 接收到的内容可能有误
      没有任何办法确认,发出的请求 / 响应和接收到的请求 / 响应是前后相同的
    
    2. 如何防止篡改
    其中常用的是 MD5 和 SHA-1 等散列值校验的方法,以及用来确认文件的数字签名方法
    
    PGP 是用来证明创建文件的数字签名,MD5 是由单向函数生成的散列值。不论使用哪一种方法,都需要操纵客户端的用户本人亲自检查验证下载的文件是否就是原来服务器上的文件。浏览器无法自动帮用户检查
    
    用这些方法也依然无法百分百保证确认结果正确。因为 PGP 和 MD5 本身被改写的话,用户是没有办法意识到的。
    
    
    

    二、HTTP+ 加密 + 认证 + 完整性保护=HTTPS

    2.1 HTTP 加上加密处理和认证以及完整性保护后即是HTTPS

    2.2 HTTPS 是身披 SSL 外壳的 HTTP

    在采用 SSL 后,HTTP 就拥有了 HTTPS 的加密、证书和完整性保护这些功能。
    SSL 是独立于 HTTP 的协议,所以不光是 HTTP 协议,其他运行在应用层的 SMTP 和 Telnet 等协议均可配合 SSL 协议使用。可以说 SSL 是当今世界上应用最为广泛的网络安全技术
    

    2.3 相互交换密钥的公开密钥加密技术

    1. SSL 采用一种叫做公开密钥加密(Public-key cryptography)的加密处理方式
    2. 近代的加密方法中加密算法是公开的,而密钥却是保密的。通过这种方式得以保持加密方法的安全性
    3. 加密和解密都会用到密钥。没有密钥就无法对密码解密,如果密钥被攻击者获得,那加密也就失去了意义
    
    
    1.共享密钥加密的困境
    加密和解密同用一个密钥的方式称为共享密钥加密(Common keycrypto system),也被叫做对称密钥加密
    以共享密钥方式加密时必须将密钥也发给对方。可究竟怎样才能安全地转交?
    
    2.使用两把密钥的公开密钥加密
    公开密钥加密方式很好地解决了共享密钥加密的困难
    公开密钥加密使用一对非对称的密钥。一把叫做私有密钥(private key),另一把叫做公开密钥(public key)
    私有密钥不能让其他任何人知道,而公开密钥则可以随意发布,任何人都可以获得
    发送密文的一方使用对方的公开密钥进行加密处理,对方收到被加密的信息后,再使用自己的私有密钥进行解密
    
    3.HTTPS 采用混合加密机制
    HTTPS 采用共享密钥加密和公开密钥加密两者并用的混合加密机制
    
    4.HTTPS 的安全通信机制
    
    
    
    
    
  • 相关阅读:
    HDU 3336 Count the string (KMP next数组运用——统计前缀出现次数)
    HDU 2594 Simpsons’ Hidden Talents (KMP——前缀后缀最长公共串)
    2015 Multi-University Training Contest 7 1011(DP)
    2015 Multi-University Training Contest 7 1005
    2015 Multi-University Training Contest 7 1007(DP)
    poj 2342 Anniversary party (树形dp)
    POJ 1611 The Suspects (并查集)
    poj 2236 Wireless Network(并查集)
    hdu 3591 The trouble of Xiaoqian(多重背包)
    hdu 2079 选课时间(母函数)
  • 原文地址:https://www.cnblogs.com/kgwei520blog/p/13862929.html
Copyright © 2020-2023  润新知