HTTP学习笔记1——HTTPS加密过程
HTTPS
https
即http over tls
,是一种在加密信道进行HTTP
内容传输的协议,TLS
早期的版本叫SSL
。
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
前期确定对称密码的过程,整个过程先利用来非对称加密来交换数据,最后确定对称**!