【网络编程】揭秘 HTTPS 数据安全:加密方案与证书体系的协同防护 - 详解

news/2025/10/21 14:03:05/文章来源:https://www.cnblogs.com/yxysuanfa/p/19154881

请添加图片描述


半桔:个人主页

个人专栏: 《网络编程》《手撕面试算法》《C++从入门到入土》

消极的情绪往往来源于对过去的回忆或对未来的恐惧,专注于当下是解决问题的关键。 -埃克哈特·托利-

文章目录

  • 前言
  • 一. 基础知识
    • 1.1 加密方式
    • 1.2 数据摘要 && 数据指纹
  • 方案一:只使用对称加密
  • 方案二:只利用非对称加密
  • 方案三:双方采用非对称加密
  • 方案四:对称加密 + 非对称加密
  • 五. 中间人攻击
  • 六. CA证书
    • 6.1 签名是什么
  • 最终方案:证书 + 对称加密 + 非对称加密

前言

在互联网蓬勃发展的今天,应用层协议的通信可靠性与安全性,直接关系到用户数据隐私、业务交互可信度等核心问题。

传统的 HTTP 协议作为应用层基础通信协议,采用明文传输模式 —— 这意味着数据在网络链路中毫无 “隐藏” 地传递,面临着三大致命风险:

  • 窃听风险:第三方可轻易捕获并读取 HTTP 传输的敏感信息(如账号密码、支付订单、个人隐私材料);
  • 篡改风险:恶意主体能对传输内容进行非法修改(比如植入恶意代码、篡改交易金额),却难以被察觉;
  • 伪造风险:通信双方的身份可能被冒充,导致 “和假网站 / 假服务器通信” 却浑然不知。

为解决 HTTP 的安全缺陷,HTTPS 协议(HTTP Secure)应运而生。它作为 HTTP 的 “安全增强版”,通过一系列加密技术身份认证机制,为应用层通信构建起可靠的安全保障体系。

本文将围绕 HTTPS 保障应用层通信可靠性的核心逻辑展开,分为三大板块:

  1. 加密解密的方式,以及数据指纹概念;
  2. HTTPS加密过程中遇到的问题;
  3. HTTPS如何处理这些问题。

接下来先解释一下有哪些加密的方式:

一. 基础知识

1.1 加密方式

加密方式分为两种:

  1. 对称加密:只采用一个密钥进行加密,速度快;
  2. 非对称加密:加密和解密运用不同的密钥进行;比如有两个密钥A和B,使用A进行加密后的密文可以通过B来解密,但不能通过A来解密;同样应用B加密的密文可能凭借A来进行解密。非对称密钥两个密钥,其中有一个是公开的,被称为公钥,另一个不进行公开,被称为私钥

1.2 数据摘要 && 数据指纹

“数据摘要”,可以把它类比为资料的 “数字指纹”—— 它是借助特定算法对原始数据(比如材料、文本、图片等)进行处理后,生成的一段固定长度、唯一对应原始数据的字符串。

百度网盘凭借这个原理来对文件进行筛选

接下来根据上面的知识,我们就许可开始自己设计一套方案来看能不能保证数据传输的稳定。

方案一:只使用对称加密

服务端与客户端进行通信的时候,先将资料进行对称加密,再发送到网络中,这种方案行不行???

首先有一个挑战:每个客户端与服务端是否采用相同的对称加密方案,即采用一个密钥???

  • 不行的,如果采用一个密钥,如果报文被黑客拿走了,他也能进行解密。就是当然

因此得每个客户端之间使用不同的密钥进行对称加密与服务端进行通信。

启用什么方式进行加密的???就是那么又有一个挑战:服务端怎么知道客户端

因为每个客户端使用不同的密钥进行加密,当服务端收到一个请求的时候并不知道使用哪一个密钥进行解密,那这怎么办???

我们必须告诉服务端使用什么密钥进行加密,如何告诉,两种方案:

  1. 不可行的,源于如果不对该信息进行加密,别人也能拿到;就是直接告诉服务端使用那种密钥进行加密,对该信息不进行加密。毫无疑问,这种方案
  2. 告诉服务端使用那种密钥进行加密,并对该信息进行加密。此种方案可不可行?也不行因为你对该信息进行加密后,服务端都还没拿到密钥,怎么对这段信息进行解密。

综上所述:方案一是不可行的。

方案二:只使用非对称加密

双方进行通信的时候采用非对称加密的方式进行通信

如果双方采用非对称加密的方式进行通信,用一个公钥P,所有客户端都有,还有一个私钥P ′ P\primeP。当用户发送消息之前,先用公钥P进行加密,服务端用私钥P ′ P\primeP进行解密,能不能行???

客户端发送的消息,如果被黑客拿到,黑客人没有私钥P ′ P\primeP不能进行解密;但是当服务端返回对应的响应的时候,黑客有公钥P行进行解密,因此此方案不行。

方案三:双方采用非对称加密

双方在进行通信是使用两次非对称加密

意思就是:

  1. 客户端自己创建一个公钥C和私钥C ′ C\primeC
  2. 客户端将自己的请求用服务端的公钥P进行加密,并且我们在请求中将自己创建的一个公钥C传递给服务端;
  3. 服务端在进行响应的时候,使用客户端的公钥C进行加密,客户端收到后用自己创建的私钥C ′ C\primeC 进行解密。

通过此种方式是不是黑客就算是拿到了报文,也没有私钥不能进行解密。

是的,确实这种方式好像可以,但是存在两个问题:

  1. 使用私钥进行加密和解密效率太低;
  2. 依旧存在安全问题,在方案四后统一解释。

方案四:对称加密 + 非对称加密

通过对方案三能够进行优化:让客户端直接创建一个对称解密就行了。

  1. 客户端自己创建一个对称加密的密钥C;
  2. 客户端将自己的请求用服务端的公钥P进行加密,并且大家在请求中将自己创建的一个密钥C传递给服务端;
  3. 服务端在进行响应的时候,使用客户端的密钥C进行加密,客户端收到后用自己创建的密钥C 进行解密。

在此期间黑客并不能拿到密钥C,所以以上也是安全的。

但是,以上四种方法都存在一个同一个安全难题。

五. 中间人攻击

以上所有假设都是在用户拿到服务器提供的公钥的情况下进行推导的,那么如果用户本身拿到的就不是一个真实的公钥怎么办。下面以方案三为例:

请添加图片描述

整个过程的流程图,下面进行意义介绍:就是上面

  1. 客户端向服务端请求公钥,服务端也返回公钥,但是在这个过程中,中间人自己生成了一个公钥M和私钥M’,中间人将服务端的公钥S保留,把自己的公钥M给客户端;
  2. 客户端拿到的是公钥M,此时客户端像往常一样,也生成一个公钥C,和私钥C’;之后发送信息给服务端,信息中具备自己的公钥C,并且整个信息启用公钥M进行加密;
  3. 中间人将客户端的数据用自己的私钥M‘进行解密,再将内部的公钥C换成自己的公钥M,随后使用服务端的公钥S进行加密,发给服务端;
  4. 服务端解密后,在进行响应的时候,材料使用的是公钥M进行加密,中间人将数据解密,再用公钥C进行加密,给客户端。

整个过程,客户端和服务端都拿到了数据,同时中间人也拿到了数据

因此现在问题就转化为了,如何保证客户端拿到的公钥是服务端的???

六. CA证书

CA证书就是来保证客户端人验证拿到的是服务端的公钥。

以下是CA证书申请的整个流程:
请添加图片描述

下面大家对CA证书中的内容做详细介绍:

请添加图片描述

包含服务端的公钥,以及一个签名。就是其中比较重要的就

什么就是6.1 签名

一种基于就是数字签名(Digital Signature)非对称加密技术的安全机制,用于验证电子文档、数据或消息的完整性(未被篡改)、真实性(确实来自声称的发送方)和不可否认性

如何实现的:就是下面详细介绍一下他

流程图如下:
请添加图片描述

CA机构有一对自己的公钥和私钥,并且浏览器中内置了公钥

  1. 首先CA机构会根据除签名外的所有信息进行散列函数,类似于数据指纹,形成一串散列值,之后用CA机构的私钥对该散列值进行加密
  2. 将加密后的签名填写到对应的证书上。

当客户端向服务端请求公钥的时候,服务端会将整个证书都给客户端。

此时客户端拿到证书之后,要进行检查,保证证书没有被中间人修改

  • 此时客户端将证书上的素材与签名进行分离,对数据进行散列函数,求出散列值;同时再使用CA的公钥对签名进行解密;比较散列值和解密后的前面是否正确,就能够判断证书是否被修改。

如果数据被修改:形成的散列值不能进行匹配,客户端不会利用上面的公钥;
如果签名被修改:中间人有CA的公钥允许对签名进行解码,只是中间人没有CA的私钥,所以也不能再形成证书的签名了。

通过CA证书,有效的保证了获取到的服务端公钥是没有被篡改的。

最终方案:证书 + 对称加密 + 非对称加密

  1. 客户端自己创建一个对称加密的密钥C;
  2. 客户端将自己的请求用服务端的公钥P进行加密,并且我们在请求中将自己创建的一个密钥C传递给服务端;
  3. 服务端在进行响应的时候,使用客户端的密钥C进行加密,客户端收到后用自己创建的密钥C 进行解密。

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

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

相关文章

照片墙

body { background: url("https://img.zcool.com.cn/2021/03/15/604e5b5e7c7d3.jpg") repeat; min-height: 100vh; margin: 0; font-family: "Kalam", sans-serif; color: rgba(68, 34, 0, 1) } .…

KDE connection to the service lost

robert@moonriver / $ sudo systemctl --user restart wireplumber pipewire pipewire-pulse Password: Failed to connect to user scope bus via local transport: $DBUS_SESSION_BUS_ADDRESS and $XDG_RUNTIME_DIR…

CallbackData错误原因分析

CallbackData DoesNotExist 错误原因深度分析 问题现象 在调用 ticket_update 和 ticket_submit API 时,Celery 出现错误: ERROR: Task pipeline.eri.celery.tasks.schedule raised unexpected: DoesNotExist(Callb…

hash判断两个集合是否完全相同

现有两个无序整数集合 \(a\), \(b\),判断二者是否相同。 可以使用 \(hash\):钦定一个质数 \(P\) 与模数 \(M\),对两个集合分别求: \[(\sum_{i=1}^{n}P^{r_{i}})\space mod \space M \]看结果是否相同即可。 题目:…

2025滑触线实力厂家推荐,无锡宸澳电气多型号防爆安全定制!

2025滑触线实力厂家推荐,无锡宸澳电气多型号防爆安全定制! 技术挑战与行业痛点:数据揭示严峻现实 在工业自动化快速发展的今天,滑触线作为关键的电能传输设备,面临着前所未有的技术挑战。根据行业调研数据显示,传…

Win10 LTSC 安装MSIX软件包

Win10 LTSC 安装MSIX软件包作者: 半堕落↓平民时间:2024-03-07 15:26分类: 使用技巧1. 设置-应用和功能-可选功能-添加功能安装MSIX打包工具驱动程序 2. 下载安装VCLibs下载,访问https://aka.ms/Microsoft.VCLibs.x6…

2025年GEO优化公司推荐:五大实力企业口碑榜,引领AI搜索营销新生态

据艾瑞咨询《2025年中国生成式引擎优化(GEO)行业发展白皮书》显示,2024-2025年国内企业对GEO服务的需求同比激增187%,超68%的中大型企业将GEO优化纳入年度核心营销预算。 随着豆包、DeepSeek、元宝等生成式AI搜索工…

2025微弧氧化加工厂家推荐:常州华源专业表面处理技术供应商

2025微弧氧化加工厂家推荐:常州华源专业表面处理技术供应商 技术挑战与行业现状 微弧氧化技术作为轻金属表面处理的重要工艺,在铝合金、镁合金、钛合金等材料应用中面临着多重技术瓶颈。根据行业统计数据显示,当前微…

084_尚硅谷_多分支应用案例

084_尚硅谷_多分支应用案例1.多分支应用案例2 2.例题三_1 3.例题三_2 4.例题三_3

2025防腐工程厂家推荐:无锡华金喷涂技术领先,定制防腐解决方案

2025防腐工程厂家推荐:无锡华金喷涂技术领先,定制防腐解决方案 在工业制造领域,腐蚀问题一直是困扰企业发展的重大难题。据统计,全球每年因腐蚀造成的经济损失约占各国GDP的3%-4%,其中工业设备腐蚀导致的停机维修…

2025年10月全屋智能家居品牌推荐:盈趣领衔对比评测榜

一、引言 全屋智能已从“锦上添花”升级为“刚需配置”,创业者、精装采购者、高端自装业主的共同痛点集中在三点:系统必须真互联,降低后期扩容成本;质保周期要覆盖装修折旧周期;交互方式需同时照顾老人、儿童与租…

2025码垛机厂家推荐济南金瑞祥,全自动龙门桁架定制实力企业

2025码垛机行业变革:全自动龙门桁架定制引领智能制造新浪潮 行业技术挑战与突破 在当今制造业转型升级的关键时期,码垛机领域面临着前所未有的技术挑战。根据行业数据显示,传统码垛设备的效率瓶颈已成为制约企业产能…

Java 多线程编程详解

Java 多线程编程详解Java 多线程编程是实现并发任务的核心技术,通过充分利用 CPU 多核资源,可显著提升程序的执行效率(如并行处理数据、异步响应请求等)。本文从线程基础、创建方式、同步机制、线程通信到高级工具…

[LangChian] 05.结构化提示词

在跟各种 聊天模型 交互的时候,在构建聊天信息时,不仅仅包含了像上文中的文本内容,也需要与每条消息关联的角色信息。 例如这条信息是由 人类、AI、还是给 chatbot 指定的 system 信息,这种结构化的消息输入有助于…

C#获取文件md5码

C#获取文件md5码代码/// <summary> /// 原文链接:https://blog.csdn.net/makenothing/article/details/39493779 /// </summary> /// <param name="fileName"></param> /// <re…

2025年10月防腐木凉亭厂家对比评测榜:江西纳美领衔五强深度解析

一、引言 防腐木凉亭作为市政园林、地产配套与私家庭院的高频采购单元,其耐候性、结构安全与景观表现力直接决定项目整体品质与后期维护成本。2025年10月,北方进入施工收尾、南方仍处旺季的交叉时段,采购者面临“工…

2025通风天窗实力厂家推荐,正鑫专业制造与定制服务保障

2025通风天窗实力厂家推荐,正鑫专业制造与定制服务保障 当前通风天窗领域的技术挑战与行业现状 工业厂房通风系统作为保障生产环境安全的重要设施,其技术性能直接影响着企业的生产效率和员工健康。在当前的通风天窗、…

2025工业清洗设备实力厂家推荐:无锡瑞仕达精密CNC高压去毛刺清洗机

2025工业清洗设备实力厂家推荐:无锡瑞仕达精密CNC高压去毛刺清洗机 在工业制造领域,清洗环节一直是影响产品质量和生产效率的关键工序。随着制造业向高精度、高质量方向发展,传统清洗方式已难以满足复杂零部件的高清…

2025年10月治鼻炎产品推荐:权威对比评测榜助您精准选购

一、引言 秋季花粉、尘螨浓度在10月达到年度次高峰,鼻炎患者鼻塞、喷嚏、流涕症状集中爆发,创业者若计划布局鼻腔护理赛道、药店采购者欲更新货架、消费者希望快速缓解不适,都面临同一痛点:如何在同质化严重的市场…

git提PR时很多别人的commit,清理多余的commit

在自己的分支上git pull后git push提PR时,有时除了自己的commit,会把很多别人的commit也带进去,因为自己的分支落后主分支太多 如何把提的PR里很多别人的commit清除掉?git checkout mybranch git fetch origin mai…