美文网首页
网络协议-HTTPS

网络协议-HTTPS

作者: lieon | 来源:发表于2021-05-21 11:23 被阅读0次

HTTPS

  • HTTPS(Hyper Text Transfer Protocol Secure):超文本传输安全协议
    • 常称为HTTP over TLS, HTTP over SSL, HTTP Secure
  • HTTPS的默认端口是443
  • HTTPS是在HTTP的基础上使用SSL/TLS来加密报文,对窃听和中间人提供合理的防护
  • SSL/TLS也可以用在其他协议上,比如 FTP -> FTPS, SMTP -> SMTPS

SSL/TLS - 工作在哪一层

SSL/TLS - 工作在哪一层
  • SSL / TLS 工作在应用层和传输层之间

HTTPS的通信过程

    1. TCP的3次握手
    1. TLS的连接
    1. HTTP请求和响应

TLS 的连接

TLS 的连接
  • 1.Client Hello,客户端向服务端打招呼(TLS层)发送的数据内容如下

    • TSL的版本号
    • 支持的加密组件(Cipher Suite)列表,加密组件是指所有的加密算法及密钥长度
    • 一个随机数(Client Random)


    1. Server Hello,服务端响应,响应数据如下
    • TLS的版本号
    • 选择的加密组件(是从接收到的客户端加密组件列表中挑选出来的)
    • 一个随机数(Server Random)


    1. 发送证书(Certificate)
    • 服务器的公钥证书(被CA签名过的)


  • Server Key Exchange

    • 用以实现ECDHE算法的其中一个参数(Server Params)
      • ECDHE是一种密钥交换算法
      • 为了防止伪造,Server Params经过了服务器私钥签名


  • 5 Server Hello Done

    • 告知客户端:协商部分结束


    • 目前为止:客户端和服务器之间通过明文共享了 ClientRandom、Server Random、Server Params

    • 而且,客户端已经拿到了服务器的公钥证书,接下来,客户端会验证证书的真实性

    1. Client Key Exchange(用公钥进行了加密)
    • 用以实现ECDHE算法的另一个参数(Client Params)


  • 目前为止。客户端和服务器都用来了ECDHE算法的2个参数:Server Params,Client Params

  • 客户端,服务器都可以

    • 使用ECDHE算法根据ServerParam,Client Params计算出一个新的随机密钥串: Pre-master secret
    • 然后结合Client Random,Server Random,Pre-master secret生成一个主密钥
    • 最后利用主密钥衍生出其他密钥:客户端发送用的会话密钥,服务端发送的用的会话密钥等
    1. Change Cipher Spec
    • 告知服务器:之后的通信采用计算出来的会话密钥进行加密


    1. Finished
    • 包含连接至今全部报文的整体校验值(摘要),加密之后发送给服务器
    • 这次握手协商是否成功,要服务器是否能够正确解密报文作为判定标准
  • 9.Change Cipher Spec

    • 告知客户端:服务端解密没有问题,之后的通信采用计算出来的会话密钥进行加密
    1. Finished
    • 到目前为止,客户端服务器都验证加密解密没问题,握手正式结束
    • 后面开始传输加密的HTTP请求和响应

相关文章

  • 网络协议-HTTPS

    HTTPS HTTPS(Hyper Text Transfer Protocol Secure):超文本传输安全协...

  • 网络协议学习,https

    加密的问题 对称加密 HTTP的通信是明文的, 任何一个人都可以监听上面的通信,截取里面的数据包。最容易想到的解决...

  • TCP、HTTPS网络协议

    内容包括: TCP协议 HTTPS握手过程 HTTP与Socket的区别 一、TCP网络协议 1.1 Socket...

  • HTTPS 浅析

    网络七层协议TCP/IP 五层协议HTTPS 概念HTTPS 优化 网络七层协议 OSI是Open System ...

  • 面试整理

    网络工程总结 传输层使用TCP/IP协议,应用层使用HTTP,HTTPS协议。网络协议[https://www.j...

  • 网络协议补完计划--HTTPS

    目录 前言 HTTPS概述 一些需要提前科普的TLS/SSL协议对称加密非对称加密 客观的理解HTTPS工作的每个...

  • 网络协议HTTP与HTTPS

    HTTP定义:超文本传输协议(HTTP)是用于分布式,协作式和超媒体信息系统的应用协议。作用:Web上数据交换的基...

  • 网络题(HTTP/HTTPS协议 )

    二、HTTP/HTTPS协议1、请问http状态码以1、2、3、4、5开头的分别代表什么意思?1XX临时/信息响应...

  • iOS-网络-HTTPS协议

    上文介绍了HTTP协议,本文介绍一下HTTPS协议。 1. 什么是HTTPS HTTPS(全称:Hyper Tex...

  • http和https网络协议

    上一篇文章,我主要梳理了一下http和https的异同,还有http的请求过程,一些属性的介绍。 这会让我们对网络...

网友评论

      本文标题:网络协议-HTTPS

      本文链接:https://www.haomeiwen.com/subject/rneijltx.html