众所周知,在网络世界中,HTTP不安全,要使用HTTPS,那么HTTPS是如何保证信息的安全交互的呢?
先跟着图中步骤,一步步的看下去,看完就会对整个流程有一定的了解了。
HTTPS整体用最简单的话来说
1、 提供网络服务的公司,在自家服务器上生成了公私钥匙对,把公钥给数字机构认证下(给个签名)发个证书
2、 公司服务器与浏览器交互过程中,把认证机构给的证书,发给浏览器,浏览器通过内置的机构公钥向认证机构求证这个证书是不是你发的。
3、确认通过后,浏览器选择一种算法并生成对称密钥,使用服务器的公钥对对称密钥加密,然后把加密后的对称密钥、算法、对称加密的一段密文 发给服务器,
4、服务器用私钥解密获得明文对称密钥,用相同的算法解密密文成功,服务器通知浏览器,我使用你的密钥解密成功了。这样。浏览器和服务器就可以使用对称密钥尽心通信了。
补充说明:
- 步骤8中,客户端浏览器使用的认证机构的公开密钥,一般都是提前内置在浏览器中。所以不需要去验证自己使用公开密钥证书,是不是数字机构的。
- HTTPS对比与HTTP,就是在HTTP与TCP中间,多了一个SSL。数据流转从 HTTP——>TCP,变成了HTTP——>SSL——>TCP。SSL负责数据的加密与解密。
- 为什么不一直使用非对称加密,因为非对称加密特慢。