确保web安全的HTTPS

123.jpg

技术出现的背景

因为普遍使用的http有以下缺点:

  • 通讯使用明文(不加密),内容可能遭到窃听。
  • 不验证通讯方身份,因此可能遭到伪装。
  • 无法验证报文的完整性,所以有可能招到篡改。

为了解决以上问题,需要在http的基础上加上加密处理和认证等机制而出现了HTTPS。

什么是HTTPS

https是身披SSL外壳的HTTP,在通讯过程中先用SSL协议,再用TCP/IP协议。
http + 加密 + 认证 + 完整性保护 = https
那什么是SSL协议呢?在讲解SSL协议之前,先来了解加密方法。SSL采用的是一种叫做公开加密的方法。

加密

  • (对称加密)共享加密:加密和解密都是用同一个密钥。


    共享加密
  • (非对称加密)使用两把钥匙的公开密钥加密

公开秘钥加密使用一对非对称的密钥,一把私钥密钥,一把公开密钥。
使用方式:发送密文的一方使用对方的公开密钥进行加密处理, 对方收到被加密的信息后, 再使用自己的私有密钥进行解密。


公开加密
  • https采用混合加密机制

    即使用共享加密(对称加密)和公开加密(非对称加密)这两种机制并用。因为公开加密与共享加密相比,处理速度较慢。
    混合加密

认证

  • 证明公开密钥是正确性的证书
    因为公开密钥加密还存在一些问题,无法验证公开密钥本身是货真价实的公开密钥。
    为了解决这个问题,可以使用由数组证书机构(CA)和其相关机构颁发的公开密钥证书。
    1.第三方机构会对公开密钥进行数字签名,并将这个已签名的公开密钥放入到公钥证书(可以叫数字证书或证书)中绑定在一起。
    2.服务器会将这份公钥证书发送到客户端。
    3.客户端对公钥证书进行校验。
    校验通过,客户端就会明白两件事:1.认证服务器的公开密钥是真实有效的数字证书认证机构。2.服务器的公开密钥是值得信赖的。


    认证

HTTPS的整个通信过程
屏幕快照 2018-10-08 上午11.51.59.png

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容