在HTTPS出现以前,全部请求都是以明文方式送出的,那么若是有人在传输途中偷听或者抓包的话,你的全部通讯内容都会泄漏。
比较安全的方法是将通讯内容加密在发送给对方。加密方法有两种,对称加密和非对称加密。web
对称加密指的是加密和解密用同一个密钥。
可是在通讯以前,客户端和服务端是不会有这样同一把密钥的。须要其中一方将密钥发送给对方。
在整个传输过程没有任何验证操做,因此黑客也能够截取到这把密钥从而破译出加密的内容。
因此纯对称加密是不安全的。浏览器
非对称加密指的是加密和解密用不一样的密钥。能够是用私钥加密,公钥解密,也能够是用公钥加密,私钥解密。
可是会有这种状况。 服务端拥有私钥和公钥,将公钥发给客户端。
既然客户端能够得到公钥,黑客也能够得到公钥。那么服务端发送给客户端的全部内容黑客也是能够解读的。
客户端用公钥加密发送给服务端不受影响,由于黑客手上没有服务器的私钥。
因此纯非对称加密也是不安全的。安全
HTTPS采用对称加密来加密通讯内容,所用的密钥称为A。用非对称加密来加密密钥A再发送给对方(有点绕)。只要密钥A不落入他人手中,那传输的数据就不会被别人破译。服务器
那么问题来了,要如何安全的将这把密钥送到对方手上呢?ide
咱们来看密钥的传输过程 web安全
HTTPS是可靠的,由于它解决了三个问题。网站
最后让咱们再来回顾一下每一把密钥的做用 加密
参考资料
【web安全3】【硬核】HTTPS原理全解析操作系统