HTTPS请求过程图解

一、HTTPS加密过程

概念
  1. HTTP 协议(HyperText Transfer Protocol,超文本传输协议):是客户端浏览器或其他程序与Web服务器之间的应用层通信协议 。
  2. HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):可以理解为HTTP+SSL/TLS, 即 HTTP 下加入 SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL,用于安全的 HTTP 数据传输。
  3. CA(Certificate Authority)证书授权中心:CA证书授权中心,作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任,CA中心会给每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥有证书中列出的公开密钥,CA机构的数字签名使得攻击者不能伪造和篡改证书。
加密过程图解

HTTPS请求过程图解_第1张图片

加密过程说明
  • 1、【浏览器】向服务器发送https请求
  • 2、【服务器】向CA机构获取证书
  • 3、【服务器】向浏览器发送数字证书(包含public key)
  • 4、【浏览器】用预置的CA列表验证证书,生成随机对称秘钥【key】,并使用公钥加密,如有问题会提示风险,
  • 5、【浏览器】加密后的【key】,发送给【服务器】,作为接下来请求的秘钥
  • 6、【服务器】用自己的private key解密得到对称秘钥key
  • 7、【浏览器】使用随机码key进行解密数据
  • 8、【浏览器】【服务器】使用该秘钥进行通信
HTTP与HTTPS区别
  • 1、http明文传输,https密文传输协议
  • 2、默认端口http:80端口,https:443端口
  • 3、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用
  • 4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全

你可能感兴趣的:(python,https,http,ssl)