HTTPS初步理解

相关概念:SSL、TLS、证书。

SSL或TLS运行在传输层和应用层之间。(早期称为SSL,后期称为TLS)。用户网络加密通讯。

HTTPS可以看作HTTP+TLS,包括两个部分:握手协议+记录协议。

链接流程(握手协议)主要流程:

  1. 客户端HELLO(发送支持的TLS版本)
  2. 服务器HELLO(选择TLS版本,发送服务器证书)
  3. 客户端检查证书,生成主密钥(随机数)并使用服务器证书加密
  4. 服务器解密后对主密钥加密并发回(类似Diffie Hellman交换)
  5. 客户端验证主密钥,使用主密钥得到交换密钥用于非对称加密
  6. 服务器验证客户端(可选)

主要概念:使用服务器的公钥加密一个信息,服务器使用公钥解密后将该信息以客户端公钥加密后发回。用户客户端和服务器之间的验证。

记录协议中将应用层数据分段、压缩、添加下层首部(HTTP)、对称加密、添加TLS头部并发送。

证书包括公钥内容和私钥拥有者的信息。属于可信第三方(公钥基础设施PKI),用于证明公钥内容正确性。

通常由CA机构使用自己的私钥为服务器的证书请求添加数字签名。拿到证书以后,客户端通过使用CA的公钥解密得到证书内部的服务器公钥。CA使用层次签名,顶级CA的证书使用自签名,其公钥在全网公开。

Lei Yang
Lei Yang
PhD candidate

My research interests include visual speech recognition and semantics segmentation.