8.2
HTTPS的运作方式
客户端使用HTTPS方式与服务器通信的步骤
(1)客户端发起HTTPS请求
(2)服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥、证书的颁发机构和过期时间等)传送一份给客户端。
(3)客户端解析证书
首先会验证公钥是否有效,比如颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值,然后用证书对该随机值进行加密。
(4)传送加密信息
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了。
(5)服务段解密信息
服务端用私钥解密后,得到了客户端传过来的随机值(私钥),然后把内容通过该值进行对称加密。所谓对称加密就是,将信息和私钥通过某种算法混合在一起,这样除非知道私钥,不然无法获取内容,而正好客户端和服务端都知道这个私钥,所以只要加密算法够彪悍,私钥够复杂,数据就够安全。
(6)传输加密后的信息
这部分信息是服务段用私钥加密后的信息,可以在客户端被还原。
(7)客户端解密信息
客户端用之前生成的私钥解密服务段传过来的信息,于是获取了解密后的内容。整个过程第三方即使监听到了数据,也束手无策。