网络安全基础——浅谈HTTPS协议

简介

HTTPS,安全的HTTP,也被称为HTTP over TLS,TLS的前身是SSL。HTTPS的安全基础是SSL。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。

SSL协议:

SSL记录协议–建立在可靠的传输协议之上,为高层协议提供数据封装,压缩、加密等基本功能。

SSL握手协议–建立在SSL记录协议之上,用户在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密秘钥。

  • HTTPS协议需要到证书颁发机构CA申请证书。
  • 客户端无法内置所有证书,所以需要服务端将证书发送给客户端
  • 证书包含:
  • 证书信息:过期时间和序列号
  • 所有者信息:姓名等
  • 所有者公钥
  • 客户端放着证书伪造,所以在服务端发送证书到客户端后,客户端需要验证接收到的证书
  • 客户端通过数字签名验证证书有效性

HTTPS基本原理

HTTPS其实是由两部分组成:HTTP + SSL/TLS,在HTTP上加以一层处理加密信息的模块。

  • 客户端发起HTTPS请求,连接到服务端的443端口
  • 服务端配置。采用HTTPS协议的服务器必须有一套数字证书,可以自己制作或者向组织申请。自己制作的需要客户端验证通过才可以访问。这套证书其实就是公钥和私钥。
  • 服务端向客户端发送证书,这个证书其实就是公钥,包含证书的办法机构、过期时间等信息
  • 客户端验证公钥是否有效,有异常则弹框提示,没问题则生成一个随机值,然后用证书对该随机值进行加密
  • 客户端将上一步骤生成的加密后的随机值发送给服务端,以后客户端和服务端就用这个随机值来进行加密解密。
  • 服务端用私钥解密客户端发送过来的加密随机值,这个随机值就是客服端和服务端之间的私钥。服务端把响应内容通过该值就行对称加密。
  • 服务端将对称加密后的数据发送给客户端。
  • 客户端用之前生成的私钥(随机值)解密服务端传过来的信息。

HTTPS缺点

  • HTTPS协议握手阶段比较费时
  • 连接缓存不如HTTP高效
  • SSL证书需要花钱
  • SSL证书需要绑定IP,不能再同一IP上绑定多个域名,IPv4资源无法支撑
  • HTTPS协议的加密范围有限,无法保证绝对的安全

猜你喜欢

转载自blog.csdn.net/qq_41679358/article/details/107203330