信息传输过程

https是基于http和SSL/TLS(标准,几乎指代同一种加密方式)实现的一个协议,他可以保证在网络上传输的数据都是加密的,从而保证数据安全。 http协议是不安全的 在https诞生之前,所以网站都是用的http协议,而http协议在数据传输的过程中都是明文,所以可能存在数据泄露和篡改。 image.png

image.png

建立安全连接

image.png

加密信息传输

image.png

使用对称密匙进行数据加密

为了防止数据泄露和篡改,我们对数据进行加密,如:生成一个对称密码【DKUFHNAF897123F】,将对称密匙分别交给浏览器和服务器,它们之间传输的数据都使用对称密匙进行加密和解密。 image.png **

  • 客户端使用对称密匙对请求进行加密,并发送给服务端。
  • 服务端接收密文之后,使用对称密匙对密文进行解密,然后处理请求,最后在使用对称密匙把要返回的内容再次加密,返回给客户端。
  • 客户端接收到密文后,使用对称密匙进行解密,并获取最终的响应内容。
  • 如此一来,数据传输都是密文,解决了明文传输数据的问题,但是,这么干有bug。
    • 浏览器如何获取对称密匙?
    • 每个客户端的对称密匙相同,浏览器能拿到对称密匙,那么黑客也可以拿到,所以数据加密也就没有意义了。
  • 动态对称密匙和非对称密匙
    • 为了解决对称密匙动态性以及让客户端和服务端安全的获取对称密匙,可以引入非对称密匙机制。

image.png

如此一来,解决了对称动态密匙和数据加密的问题,因为每个用户的对称密匙都是随机生成且传输的过程中都是用公钥加密(公钥加密的数据只有私钥能解密),所以黑客无法截获对称密钥。而数据传输时通过对称密钥加密过的,所以黑客记事能获取数据也无法去解密看到真实的内容,看似无懈可击,但是还是有bug。 如果黑客在上图【步骤2】劫持,黑客把自己的公匙返回给客户端,那么客户端会使用黑客的公匙来加密对称密匙,黑客在【步骤6】截获请求,使用自己的私匙获取对称密匙,后面过程全都完蛋…

CA证书的应用

使用CA证书可以解决黑客劫持的问题。

  • image.png