《图解HTTP》笔记-HTTPS

HTTP的不足

    通信使用明文(不加密),内容可能会被窃听

       

        通信加密通过和SSL或TLS组合使用进行通信加密(HTTPS)
            内容加密对通信内容(报文主体)进行加密,有被篡改风险

    不验证通信方的身份,因此有可能遭遇伪装(照单全收)

           

                查明对手的证书:使用SSL加密处理,利用证书来指明通信双方真实可靠

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

        MD5和SHA-1等散列值校验:如果MD5等本身被修改,也不是百分百可靠

        HTTPS:SSL提供认证和加密处理及摘要功能

HTTPS(加密+认证+完整性保护)

        HTTP先和SSL通信,经过加密,认证,完整性保护处理后,再到TCP通信

加密

    共享密匙(对称密匙加密):加密解密使用相同的密匙,需要通信双方都有该密匙,在传递密匙中可能被窃取

    公开密匙(非对称密匙加密):加密用公开密匙,解密用私有密匙,只需要将公开密匙传递出去,不用担心密匙窃取问题(窃取也无法解密),速度相比慢些,所以HTTPS混合加密,用公开密匙来交换共享密匙,保证传递安全性。但传递公开密匙时可能被替换,因此需要用到证书

证书(解决公开密匙传递安全性问题)

HTTPS通信机制

  1. 客户端发送 Client Hello 报文开始 SSL通信。报文中包含客户端支持的 SSL的指定版本、加密组件(Cipher Suite)列(所使用的加密算法及密钥长度等)
  2. 服务器以 Server Hello 报文作为应答。和客户端一样,在报文中包含 SSL版本以及加密组件。
  3. 服务器发送Certificate 报文,报文中包含公开密钥证书
  4. 服务器发送 Server Hello Done 报文通知客户端,最初阶段的 SSL握手协商部分结束
  5. 客户端发送Client Key Exchange 报文作为回应。报文中包含通信加密中使用的一种被称为 Pre-mastersecret 的随机密码串。
  6. 客户端继续发送 Change Cipher Spec 报文。该报文会提示服务器,在此报文之后的通信会采用 Pre-master secret 密钥加密
  7. 客户端发送 Finished 报文。该报文包含连接至今全部报文的整体校验值。这次握手协商是否能够成功,要以服务器是否能够正确解密该报文作为判定标准。
  8. 服务器同样发送 Change Cipher Spec 报文
  9. 服务器同样发送 Finished 报文
  10. SSL连接就算建立完成。当然,通信会受到 SSL的保护。从处开始进行应用层协议的通信,即发送 HTTP 请求

使用SSL/TLS时的问题

    耗内存,CPU,需要加密解密处理

    通信慢,增加了SSL通信

    购买证书需要开销

所以主要还是用于需要登录信息,收付款等需要安全性较高的地方


    

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值