您的位置:首页 > 理论基础 > 计算机网络

HTTPS工作流程浅谈

2019-06-17 22:06 190 查看

https ,就是Hyper Text Transfer Protocol over Secure Socket Layer 或 Hypertext Transfer Protocol Secure,超文本传输安全协议,其实就是数据加密后的http协议,在Http底层加入了SSL,安全基础为SSL,因此加密的详细内容就需要SSL,使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)

https与http两者之间的差异在于

  • http为明文传输,攻击者一旦截取Web浏览器与网站服务器之间的传输报文,即可立刻获取报文中的所有显式信息,比如用户个人信息等.不适合传输敏感信息的传输,而https则是具有安全性的ssl加密传输协议
  • http与https连接方式不一致,端口也不一样,前者是80端口,后者为443端口
  • http连接简单,无状态 ,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议

SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等,主要提供

  • 认证用户与服务器,确保数据 在正确的用户以及服务器之间传输
  • 数据完整性的维护
  • 传输数据的加密

正常第一次访问网站时候的Https的工作流程 ,如有不对的地方望大神们指点小弟一下

  1. 客户端向服务器发送一个请求,服务端收到请求,将已有的公钥以及其他能作为认证的信息返回给客户端
  2. 客户端信息后开始认证,也就是对服务器上的证书进行一系列认证,认证通过,使用服务器传输的公钥进行加密,加密的内容作为后期两端会话的秘钥,将加密的内容发送给服务器
  3. 服务器使用私钥对加密的内容进行解密,将解密后的信息作为对称加密的秘钥 , 使用该秘钥对数据进行加密返回客户端
  4. 客户端 使用对称加密的秘钥进行数据解密,获取服务端返回的信息 ,此时两端完成正确的连接,后续客户端与服务端使用会话秘钥进行数据加解密

对称秘钥与非对称秘钥

  • 对称加密算法: 数据加解密使用同一个秘钥
  • 非对称加密算法 : https的加密算法即为非对称加密算法,加密使用公钥加密,公钥是公开的,而解密使用私钥进行解密,私钥为服务端所有

上个图吧 ,清晰一点

下面几种情况会导致证书认证失败

  • 证书已过期
  • 发行服务器证书的CA 无效
  • 服务器证书上的域名和服务器的实际域名不相符
  • 发行者证书的公钥无法正确解开服务器证书的“发行者的数字签名”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: