HTTPS

HTTP协议安全上存在以下三个风险:完整性 可用性 保密性

  • 窃听风险,比如通信链路上可以获取通信内容,用户号容易没。

  • 篡改风险,比如强制植入垃圾广告,视觉污染,用户眼容易瞎。

  • 冒充风险,比如冒充淘宝网站,用户钱容易没。

HTTPS 在 HTTP 与 TCP 层之间加入了 TLS 协议,来解决上述的风险。

TLS 协议是如何解决 HTTP 的风险的呢?

TLS能够加密交互信息,如果信息泄露被篡改则会有警告提示,并且拥有身份证书证明发送端非伪造。

TLS 握手

上述每个框都是一个记录,多个记录可组合为一个tcp包,通常四个包就可以完成TCP握手

因为需要先完成TCP连接,然后通过TLS握手才建立安全通信链接,所以可以发现HTTPS是应用层协议。

密钥交换算法

因为在传输过程中想要保证加密密钥的安全性,所以采用了非对称加密的方法来保护对称加密的加密密钥。

RSA密钥协商握手过程

TLS 第一次握手

客户端发起握手请求(ClientHello)

客户端向服务器发送第一个消息,包含以下关键信息:

  • 支持的 TLS 版本(如 TLS 1.2)。
  • 支持的加密套件列表(需包含以 RSA 为密钥交换方式的套件,如TLS_RSA_WITH_AES_256_CBC_SHA)。
  • 客户端生成的随机数(Client Random):16 字节,用于后续密钥计算。
  • 其他可选信息(如压缩方法、扩展字段等)。

TLS 第二次握手

服务器回应(ServerHello)

服务器根据客户端的请求,选择合适的配置并返回消息:

  • 确认使用的 TLS 版本和加密套件(必须是客户端支持的 RSA 类套件)。
  • 服务器生成的随机数(Server Random):16 字节,同样用于密钥计算。
  • (可选)会话 ID:用于复用已有会话,减少握手次数。

客户端验证证书

服务器发送证书及相关信息(Certificate + ServerHelloDone)
  • Certificate 消息:服务器向客户端发送自己的数字证书(包含服务器 RSA 公钥),证书链可能包含多级 CA 证书(从服务器证书到根 CA 证书)。
  • (可选)CertificateRequest:若服务器需要验证客户端身份(如双向认证),会请求客户端证书。
  • ServerHelloDone 消息:表示服务器已完成初始消息发送,等待客户端回应。

TLS 第三次握手

客户端发送加密的预主密钥(ClientKeyExchange)

客户端将加密后的 PMS 通过ClientKeyExchange 消息发送给服务器。由于 PMS 用服务器公钥加密,中途被窃听也无法解密。

客户端和服务器计算会话密钥(Master Secret + Session Keys)
  • 服务器解密 PMS:服务器收到加密的 PMS 后,用自己的RSA 私钥解密,得到原始的 Pre-Master Secret。
  • 计算主密钥(Master Secret):客户端和服务器分别使用相同的算法,结合以下三个参数计算 Master Secret:

    plaintext

    Master Secret = PRF(Pre-Master Secret, "master secret", Client Random + Server Random)
    


    其中,PRF是伪随机函数(Pseudorandom Function),用于将输入转换为固定长度的密钥材料。
  • 生成会话密钥:再用 Master Secret、Client Random、Server Random 通过 PRF 生成用于实际通信的对称密钥(如 AES 密钥、HMAC 密钥等),包括:
    • 客户端加密密钥、服务器加密密钥(对称加密,用于数据加密)。
    • 客户端 MAC 密钥、服务器 MAC 密钥(用于数据完整性校验)。
客户端验证握手完整性(Finished 消息)
  • 客户端用生成的会话密钥,对之前握手过程中的所有消息(ClientHello 到 ClientKeyExchange)计算摘要(通过 MAC 算法),并加密后通过Finished 消息发送给服务器。
  • 目的:证明客户端已正确生成会话密钥,且握手过程未被篡改。

TLS 第四次握手

服务器验证握手完整性并回应(Finished 消息)
  • 服务器用自己生成的会话密钥,对相同的握手消息计算摘要,与客户端发送的 Finished 消息解密后的值对比,验证客户端是否正确生成密钥。
  • 验证通过后,服务器同样生成Finished 消息(加密握手消息摘要)并发送给客户端,证明服务器也已正确生成密钥。
握手完成,开始加密通信

客户端和服务器均验证通过后,握手结束。后续所有通信数据均使用协商出的对称密钥进行加密和校验,确保机密性和完整性。

DNS域名解析的过程

DNS解析方式
正向解析:将FQDN----->IP
反向解析:将IP----->FQDN
1、在浏览器中输入www . qq .com 域名,操作系统会先检查自己本地的hosts文件是否有这个网
址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
2、如果hosts里没有这个域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,
如果有,直接返回,完成域名解析。
3、如果hosts与本地DNS解析器缓存都没有相应的网址映射关系,首先会找TCP/IP参数中设置的
首选DNS服务器,在此我们叫它本地DNS服务器,此服务器收到查询时,如果要查询的域名,包
含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。
4、如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则
调用这个IP地址映射,完成域名解析,此解析不具有权威性。
5、如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设
置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至13台根DNS,根DNS服务器收
到请求后会判断这个域名(.com)是谁来授权管理,并会返回一个负责该顶级域名服务器的一个IP。
本地DNS服务器 收到IP信息后,将会联系负责.com域的这台服务器。这台负责.com域的服务器收到请求后,如果 自己无法解析,它就会找一个管理qq.com的DNS服务器地址给本地DNS服务器。当本地DNS服务 器收到这个地址后,就会找qq.com域服务器,重复上面的动作,进行查询,直至找到www . qq .com主机。
6、如果用的是转发模式,本地DNS服务器就会把请求转发至上一级DNS服务器,由上一级服务器
进行解析,上一级服务器如果不能解析,或找根DNS或把请求转至上上级,以此循环。找到最后
把结果返回给本地DNS服务器,由此DNS服务器再返回给客户机。
注:从客户端到本地DNS服务器是属于递归查询,而DNS服务器之间使用的交互查询就是迭代查
询。 114.114.114.114是国内移动、电信和联通通用的DNS,手机和电脑端都可以使用,干净无广告, 解析成功率相对来说更高,国内用户使用的比较多,而且速度相对快、稳定,是国内用户上网常用 的DNS。
8.8.8.8是GOOGLE公司提供的DNS,该地址是全球通用的,相对来说,更适合国外以及访问国外
网站的用户使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/915022.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/915022.shtml
英文地址,请注明出处:http://en.pswp.cn/news/915022.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VisualXML全新升级 | 新增BusLoad计算

VisualXML是一个功能强大的网络总线设计工具,专注于简化汽车电子系统中复杂的网络数据设计操作。该软件支持多种主流总线网络格式的数据编辑(如DBC、LDF、ARXML、HEX等),并能够基于Excel表格的方式生成和转换多种数据库文件。由此…

李天意考研数学精讲课学习笔记(课堂版)

视频链接:【考研数学精讲课李天意】基础强化真题,概念精讲与解题技巧(适用数学一/二/三)_哔哩哔哩_bilibili 讲义:夸克网盘分享 高数6 不定积分

闲庭信步使用图像验证平台加速FPGA的开发:第二十三课——图像直方图和灰度图像叠加的FPGA实现

(本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程…

C++并发编程-14. 利用栅栏实现同步

前文我们通过原子操作实战实现了无锁队列,今天完善一下无锁的原子操作剩余的知识,包括Relaese和Acquire内存序在什么情况下是存在危险的,以及我们可以利用栅栏机制实现同步等等。 线程可见顺序 我们提到过除了memory_order_seq_cst顺序&#…

如何选择旅游科技行业云ERP?Oracle NetSuite助力汇智国际数智化升级

2025年4月21日,汇智国际旅游发展有限公司(以下简称汇智国际)携手 Oracle NetSuite与Hitpoint Cloud ,共同参与了汇智国际 Oracle NetSuite 云ERP 项目启动会。 本次会议标志着汇智国际在数字化转型道路上迈出了坚实而关键的一步&…

深度学习零基础入门(3)-图像与神经网络

好久不见~我又回来了 这一节我们来讲一讲图像在计算机中的本质,以及全连接神经网络的缺陷,进而引出卷积神经网络一、图像在计算机中的本质 不知道你有没有学过数据结构,在讲这一部分的时候对数组进行了扩展,讲到了广义表和压缩矩阵…

http性能测试命令ab

在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求,从而 评估服务器的 负载能力和 响应时间其中&#…

从0开始学习R语言--Day50--ROC曲线

对于已经拟合好的生存模型,我们一般会直接用ROC去评判一下整体的水平,因为很多时候阈值都是我们人为根据实际情况去设定的,这种微调的细节都是在整体模型的拟合程度确定下来后再做的工作。ROC曲线可以提供给我们模型对于二分类变量的区分能力…

从Hyperliquid到AILiquid:一场从极致性能到策略智能的迭代

在Hyperliquid以极致性能引爆链上衍生品交易热潮之后,DeFi市场正迎来新一轮的范式转变。作为AI原生的下一代交易平台,AILiquid正式上线并引发市场广泛关注。该平台不仅保留了高频低延迟的交易体验,更通过AI撮合引擎与链上风险控制系统&#x…

磁悬浮轴承转子不平衡质量控制:陷波滤波器深度解析

在磁悬浮轴承高速旋转的世界里,不平衡质量如同一个无形的幽灵,引发危险的同步振动,而陷波滤波器,正是精准捕获并消除这个幽灵的“电磁猎手”。本文将深入剖析其核心原理与实战设计。引言:同步振动的致命诱惑磁悬浮轴承…

Oracle 数据库常见等待事件参数详解

在 Oracle 数据库的性能诊断与优化中,等待事件是重要的分析依据,而理解等待事件的参数则是深入排查问题的基础。本文将结合 Oracle 官方文档,对数据库中常见的等待事件参数进行详细解析,帮助数据库管理员和开发人员更好地解读等待…

STM32中的CAN总线详解:从原理到实战

前言:为什么CAN总线是嵌入式通信的"硬通货"? 在嵌入式通信领域,CAN(Controller Area Network)总线凭借其高可靠性、实时性和多节点通信能力,成为汽车电子、工业控制、智能设备等领域的"标配…

【鸿蒙HarmonyOS】鸿蒙app开发入门到实战教程(二):封装自定义可复用组件

组件的可复用性,对我们开发的app质量影响很大,看看鸿蒙中如何封装这种组件 实现效果代码实现 局部封装 Builder titleBuilder(title:string 默认标题) {// Builder装饰此函数,使其能以链式调用的方式配置并构建Text组件Row(){Text(title).fo…

Volo-HTTP 0.4.0发布:正式支持 HTTP/2,客户端易用性大幅提升!

🤖 VOLO简介 Volo 是由字节跳动服务框架团队开源的一款高性能、易用的 Rust RPC 框架。 Volo 框架自身开销极低,并提供了命令行工具与灵活的中间件设计,让开发者可以轻松上手,享受 Rust 带来的开发乐趣。 本文介绍自 Volo-HTTP 0…

HTTP相关知识

文章目录一、基础特性与规范二、页面元素与布局三、交互与表单四、网络通信基础流程(以浏览器访问网页为例)五、配套技术与工具六、知识关联图(简化版)一、基础特性与规范 技术定位:HTML 是前端技术栈的核心标记语言&…

机器人-组成结构

目录 一、发展历程 二、软件硬件算法深读耦合 感知 - 决策 - 执行 1.机械系统: 2.驱动系统: 3.感知系统: 4.控制系统: 5.决策/智能系统: 6.电源系统: 7.总结 一、发展历程 国际标准化组织(ISO)对…

pycharm结构查看器

v表示整个文件中定义的变量,c是类灰色部分是继承的父类的,明亮的是定义的,其中m表示定义的函数,f表示

AdsPower 功能详解 | 应用中心使用指南:插件统一管理更高效、更安全!

当你使用 AdsPower 管理多个浏览器环境时,插件的统一配置就变得尤为重要。而「应用中心」正是帮助你集中管理浏览器插件的功能入口,搭配浏览器环境使用,可以让账号操作更便捷、团队协作更高效。这篇教程将带你快速上手 AdsPower 应用中心的核…

回归预测 | MATLAB实现DBO-BP蜣螂算法优化BP神经网络多输入单输出回归预测

回归预测 | MATLAB实现DBO-BP蜣螂算法优化BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现DBO-BP蜣螂算法优化BP神经网络多输入单输出回归预测 预测效果 基本介绍 主要功能 逻辑关联与算法流程 1. 数据准备 2. DBO优化BP参数 3. BP神经网络构建 4. 预测与评估 运行…

Lsposed/Xposed

1.环境 1.1 xposed: 安卓8以下使用 下载并安装xposed installer,模拟器需勾选设置-共享磁盘。 若提示未激活,需要下载sdk sdk下载地址 放置目录 /sdcard/Android/data/de.robv.android.xposed.installer/cache/downloads/framework/文件权限设置 777 …