1.HTTP的缺点

  1.1. HTTP缺点:

  1、  明文传输,内容不加密,可能被窃听;

  2、  不验证通信方的身份,可能遭遇伪装;

  3、  报文完整性无法保证。

  1.2 现状与解决

  使用HTTP协议,无论是否加密,网络中都可以被监听到报文信息,唯一的区别在于报文内容是否直接可被理解。

   

  通过加密方式解决:

         1、通信的加密:通过与SSL或TLS组合使用,加密通信内容。

    

   2、内容的加密:将报文信息本身加密后再传输,但是由于无法保证通信线路的加密性,所以报文在传输过程中可能被修改。

    

  1.3 不安全的具体原因:

   1.3.1不验证通信方的身份就可能遭遇伪装

    任何人都可以发送请求,服务器不会确认通信方身份,所以服务器对任何一个请求都会返回一个响应(但也仅限于发送端的IP地址和端口没有被Web服务器设定限制访问的

  前提)。

     

      隐患:  无法确定服务器的真实身份,是否为伪装过的服务器;

          无法确定客户端的身份;

          无法确定通信的对方是否具备访问权限;

          无法判定请求来自何方,出自谁手;

         任何请求都响应,有Dos(拒绝服务攻击)攻击风险。   

      查明对手证书:SSL提供加密和证书手段来保证通信安全。

    

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

      完整性:信息的准确度。

      问题:接收到的内容可能有误。

      

    中间人攻击:请求和响应传输途中,遭攻击者拦截并篡改内容的攻击。

     

  如何防止篡改?

  

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

  2.1 HTTPS简介

  

  

  

  

  2.2、加密技术

    2.2.1 共享密钥加密:加密和解密用同一个密钥的方式,也称对称密钥加密。

  

  

  2.2.2  公开密钥加密

    使用一对非对称的密钥,一把叫做私有密钥,另一把叫做公开密钥,公开密钥只能用于报文加密,无法用于解密,因为解密是对离散对数进行求值,这并非轻

  而易举就能办到。

  

  2.2.3  HTTPS采用混合加密机制:采用共享密钥加密和公开加密两者并用的混合加密机制。

  

  2.3 证明公开密钥正确性的证书

   数字证书认证:由客户端和服务器双方都可信赖的第三方机构,对服务器提交的公开密钥(服务器方申请者身份已经确认)进行数字签名,然后分配这个已经签名的公开密钥,并将该公开密钥放入公钥证书后绑定在一起。

  认证机关的公开密钥必须安全地转交给客户端,如何安全呢?目前多数浏览器开发商发布版时,会事先在内部植入常用认证机关的公开密钥。

  

  

  

  

  

  效率对比:

            

   HTTPS比HTTP要慢2到100倍。

   HTTPS慢的原因

    1、  通信慢:ssl通信,加密和解密的过程会使得线路上处理的通信量大大增加;

    2、  SSL必须进行加密处理,服务器和客户端都要进行大量计算,会消耗更多的硬件资源,导致负载增强。

   解决办法:使用SSL加速器这种硬件来改善该问题。 

  HTTPS不一直使用的原因

    1、  加密通信消耗更多CPU和内存资源,使得平均一台计算机上,能够处理的请求数量必定也会随之减少;

    2、  证书申请和使用需要一定的费用。

            

posted on 2019-07-16 20:30  探路_先锋  阅读(260)  评论(0编辑  收藏  举报
……