HTTP学习笔记1——HTTPS加密过程

HTTPS

httpshttp over tls,是一种在加密信道进行HTTP内容传输的协议,TLS早期的版本叫SSL

HTTPS加密过程

加密过程如下图:
HTTP学习笔记1——HTTPS加密过程
加密过程详解:
第一步:C发送一个client hello消息到S,消息中同时包含TLS版本、可用加密算法、压缩算法

第二三步:S返回一个server hello消息,消息总包含S的TLS版本、所选择的加密算法、压缩算法、服务端公钥,C会在接下来的过程中使用该公钥加密握手过程,直到生成新的对称**

第四五步:C验证CA是否可信,证书是否到期,域名是否匹配等。验证通过之后,C会生成一串随机数,并用该公钥进行加密。这串随机数用于生成新的对称**,C和S根据事先确定好的算法自己生成!

第六步:S用自己的私钥解密得到随机数,并用随机数生成对称**。

第七步:S用对称**加密数据发送给C

第八步:C解密

注意:

  • 在第六步之间,C发送一个Finshed消息给S,使用对称**加密的一个hash值。S解密C发送的消息,和自己的hash值对比,如果相等,就向C发送一个finished消息。
  • 对称**由C和S各自生成。因为C和S都约定好了加密算法、随机数大家也是都直到的

从现在开始,接下来的整个TLS会话都使用对称**进行加密,传输HTTP内容来。enjoy!

总结

以上就是https前期确定对称密码的过程,整个过程先利用来非对称加密来交换数据,最后确定对称**!