HTTPS在HTTP基础上做了哪些升级?TLS的一般过程

HTTP与HTTPS

HTTP在TCP三次握手之后进行HTTP的报文传输,而HTTPS在TCP三次握手之后进行SSL/TLS握手过程,进入加密报文传输,并且HTTPS协议要向CA申请数字证书,来验证服务器可信

HTTPS是如何解决(窃听,篡改,冒充)风险的
  • 混合加密实现信息机密性
  • 摘要算法实现信息完整性,为数据生成指纹校验信息完整
  • 将服务器公钥放入数字证书,解决冒充风险
  1. 混合加密

    对称加密和非对称加密结合:在通信建立前采用非对称加密交换会话密钥,通信过程中使用对称加密的会话密钥加密明文数据

    • 对称加密使用一个密钥,密钥必须保密,无法安全的密钥交换
    • 非对称加密使用两个密钥,公钥和私钥
  2. 摘要算法+数字签名

    摘要算法(哈希函数)

    数字签名:私钥加密,公钥解密(私钥加密内容的哈希值)

    • 公钥加密,私钥解密:保证内容传输安全,公钥加密的内容只能被持有私钥的人解读
    • 私钥加密,公钥解密:保证消息不被冒充,私钥不可被泄露,可被公钥解密,证明持有私钥身份
  3. 数字证书

    由CA颁布证书,将服务器公钥存放在数字证书中,证书可信,公钥可信

HTTPS如何建立连接

SSL/TLS协议基本流程

  • 客户端向服务器索要并验证服务器公钥
  • 双方协商生产会话密钥
  • 双方采用会话密钥进行加密通信

TLS的握手阶段涉及四次通信,主要有两种密钥交换算法:RSA算法,ECDHE算法

TLS四次握手:

  1. ClientHello

    客户端向度的服务器端发起加密通信请求,发送以下信息:

    (1)客户端支持的TLS协议版本

    (2)客户端生产的随机数,作为生成会话密钥的条件之一

    (3)客户端支持的密码套件列表,如RSA加密算法

  2. ServerHello

    服务器收到请求后,向客户端响应

    (1)确认TLS协议版本,如果浏览器不支持,关闭加密通信

    (2)服务器生产随机数,用于生产会话密钥的材料

    (3)确认密码套件列表

    (4)服务器数字证书

  3. 客户端回应

    客户端收到服务器端回应之后,通过浏览器或操作系统中的CA公钥,确认服务器数字证书真实性,如果证书无误,从数字证书中取出服务器公钥,使用其加密报文,向服务器发送如下信息:

    (1)一个随机数,被服务器公钥加密

    (2)加密通信算法改变通知,表示之后的信息由会话密钥加密通信

    (3)客户端握手结束通知,表示客户端的握手阶段已结束,同时将之前所有内容发生的数据做摘要,供服务器校验

    上述第一项的随机数会发送给服务端,有了三个随机数,用双方协商的加密算法生成本次会话密钥

  4. 服务器最后响应

    服务器接收第三个随机数,通过协商的加密算法,计算本次的会话密钥

    发送给客户端最后信息:

    (1)加密通信算法改变通知,表示随后信息通过会话密钥加密通信

    (2)服务器握手结束通知,表示服务器的握手阶段结束,把之前一切内容发生的数据做个摘要供客户端校验

    至此TLS四次握手全结束,客户端与服务器进行加密通信,就是HTTP通信,使用会话密钥加密内容
    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值