HTTPS协议—加密算法和中间攻击人的博弈

news2025/3/25 15:10:50

活动发起人@小虚竹 想对你说:

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你参加为期14天的创作挑战赛!

提醒:在发布作品前,请将不需要的内容删除。

各位看官,大家早安午安晚安呀~~~

如果您觉得这篇文章对您有帮助的话

欢迎您一键三连,小编尽全力做到更好
欢迎您分享给更多人哦

今天我们来学习HTTPS协议—加密算法和中间攻击人的博弈

         HTTPS不仅是一种安全的通信协议,更是一场加密算法与中间人攻击者的精彩博弈。在这场博弈中,加密算法就像是一把坚固的锁,而中间人攻击者则试图找到这把锁的弱点。今天,我们就来深入探讨HTTPS协议中的加密算法,以及它们如何与中间人攻击者展开这场没有硝烟的战争!

       一段数据需要经过一段路程到达目的地,我们如果想要这个数据安全的到达终点,不仅需要护送人实力强大,还需要这个数据本身就具有安全性(如何数据更安全呢?)

我们直接想到的办法就是对这个数据进行加密!

举个例子:

 83 版 <<火烧圆明园>> , 有人要谋反干掉慈禧太后. 恭亲王奕䜣给慈禧递的折子. 折子内容只是扯

一扯家常, 套上一张挖了洞的纸就能看到真实要表达的意思.

明文: "当心肃顺, 端华, 戴恒" (这几个人都是当时的权臣, 后来被慈禧一锅端).

密文: 奏折全文

密钥: 挖了洞的纸.

在密码学中,使用密钥加密,主要有两种方式

1.对称加密

加密和解密使用的密钥是同一个密钥,如果只是单纯的对称加密,安全性不能保证。

2.非对称加密

有两个密钥:公钥和私钥(一对),公钥(可以公开的)私钥自己拿好。用其中一个钥匙加密,就只能用另一个钥匙进行解密。

对称加密算法的效率要比非对称算法的效率更高!!!

对称加密算法的加密和解密速度非常快。由于算法的简单性和高效的数学运算,对称加密可以在短时间内完成大量的数据加密和解密。

1.HTTPS的加密过程

    在加密的过程中,我们还要考虑到算法的效率,不能单纯因为加密的事情,搞得程序变得效率低下,这样就未免得不偿失了

目前我们知道 对称加密算法效率很高,但不是很安全;非对称反之。

因此我们很容易就能得出我们需要的加密方法需要二者的结合~(如果还是不行的话,还需要再加上一些其他的机制——证书的使用)

1.1.为何对称加密不安全的呢?

首先我们知道对称加密是客户端和服务器公用一个密钥,那么这里就分成两种情况了。

  1. 所有的客户端密钥都一样(这样的想都不要想,黑客也和你的密钥一样,几乎没什么作用)
  2. 不同的客户端的密钥不一样

第一种明显是不科学的,那第二种呢?

我先给出的解释:

如果不一样的客户端秘钥不一样,但是传输密文的时候需要把密钥发送给服务器然后黑客就能中间拿到了这个秘钥。

问题:

为什么服务器不维护一个数据库,通过辨别客户端的身份然后识别出这个客户端的密钥是什么?这样密钥就不通过网络传输了,不就安全了?

解释:

这里存在着很多问题:首先辨识就是一个复杂的过程,根据什么来辨识?在我卡那里主要的矛盾在于——服务器维护成本高:如果服务器需要维护一个包含每个客户端密钥的数据库,这将带来巨大的管理成本(特别是处理大量的请求时,频繁地访问数据库无疑是一个巨大的开销)。

这就给我们带来思考:要是随时生成的密钥能安全传输就好了(这样的密钥肯定要传输的呀,不然另一方不知道)(一旦传输就又要泄露,所以我们要给这个密钥再加密)。

故:我们要解决的问题:给密钥再进行加密。

这个时候我们就可以引出随时生成的公钥和私钥了

1.2.非对称加密解决对称加密的不安全问题(但是还会有中间人攻击的问题)

图解:

大家可以看到,上面的步骤看似很好的解决了问题。

但是黑客凭什么要把公钥给你(黑客为什么不进行掉包?)

1.3.中间人攻击的问题

这里的问题就是:
黑客根本就不会把pub1(服务器生成的是私钥返回给客户端),而是把自己pub2返回给了客户端,但是客户端完全不知道这个公钥(pub2)是错误的

客户端使用pub2对密钥进行加密,黑客拿到这个数据,用自己的pri2把密钥拿出来。在用pub1加密发给服务器(天衣无缝)

这里主要的问题就是客户端无法分辨这里的公钥是否正确,如果自己手里面有一个确定的东西可以验证这个公钥是否正确,这个问题就解决了

1.4.公正机构的证书解决公钥是否正确的问题

公证机构(Certificate Authority,简称CA):是数字证书的颁发机构(会生成一对公钥和私钥,公钥往往会内置在每个系统中(大家都有),私钥绝不泄露

关于公正机构的注释:

网站的开发人员,想要搭建一个服务器的时候,就需要像公证机构提交申请(提交一些材料,像域名,服务器自己的公钥(一份就好了,不必每个客户端都不一样,主要是密钥不一样并且安全传输就行了),厂商…………)

然后公证机构就会对这些材料进行审批,审核通过就会颁发一个数字证书(里面包含里服务器的域名,公钥,证书时间范围,数字签名………)

什么是数字签名呢?

数字签名是 CA 对证书内容的一个加密哈希值(我们下面姑且称这个哈希值为校验和),由以下步骤生成:

  1. 计算哈希值
    CA 对证书的明文信息(域名、公钥、有效期等)使用哈希算法(如 SHA-256)生成一个唯一的哈希值

  2. 加密哈希值
    CA 使用自己的私钥对这个哈希值进行加密,加密后的结果就是数字签名

  3. 将签名附加到证书
    签名和证书的其他信息(明文)一起发送给服务器。

具体过程实现:

再来一个问题哈哈:

黑客能否自己也申请一个证书,把服务器的证书替换掉(直接在服务器申请材料的时候把服务器的公钥换成自己的?)

妈呀,这个黑客也忒狠了!!!

在申请数字证书时,证书颁发机构(CA)会对申请者的身份进行严格验证!!!这包括验证申请者的身份信息(如公司注册信息、个人身份证明等)以及申请者对所申请域名的所有权。黑客无法通过这些验证,因为他们无法提供合法的身份证明和域名所有权证明。(如果这也行,那真没啥办法了哈哈哈)

2.总结:

总的来说,我们最终实现HTTPS的加密过程如下:

虽然我的文章结束了,但是加密算法和中间攻击人的博弈故事还在继续!!!

写完真的很激动——哈哈哈

上述就是HTTPS协议—加密算法和中间攻击人的博弈的全部内容啦~~~

能看到这里相信您一定对小编的文章有了一定的认可。

有什么问题欢迎各位大佬指出
欢迎各位大佬评论区留言修正~~

您的支持就是我最大的动力​​​!!!

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

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

相关文章

【大模型理论篇】CogVLM:多模态预训练语言模型

1. 模型背景 前两天我们在《Skywork R1V: Pioneering Multimodal Reasoning with Chain-of-Thought》中介绍了将ViT与推理模型结合构造多模态推理模型的案例&#xff0c;其中提到了VLM的应用。追溯起来就是两篇前期工作&#xff1a;Vision LLM以及CogVLM。 今天准备回顾一下Cog…

AI知识补全(一):tokens是什么?

名人说&#xff1a;苔花如米小&#xff0c;也学牡丹开。——袁枚《苔》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是Tokens&#xff1f;二、为什么Tokens如此重要&#xff1f;1.模型的输入输出限制2.…

【LC插件开发】基于Java实现FSRS(自由间隔重复调度算法)

&#x1f60a;你好&#xff0c;我是小航&#xff0c;一个正在变秃、变强的文艺倾年。 &#x1f514;本文讲解【LC插件开发】基于Java实现FSRS&#xff08;自由间隔重复调度算法&#xff09;&#xff0c;期待与你一同探索、学习、进步&#xff0c;一起卷起来叭&#xff01; 目录…

AI比人脑更强,因为被植入思维模型【17】万物联系思维模型

万物联系,万物,并不孤立。 定义 万物联系思维模型是一种强调世界上所有事物都相互关联、相互影响的思维方式。它认为任何事物都不是孤立存在的,而是与周围的环境、其他事物以及整个宇宙构成一个有机的整体。这种联系不仅包括直接的因果关系,还涵盖了间接的、潜在的、动态的…

【MySQL篇】复合查询

目录 前言&#xff1a; 1&#xff0c;多表查询 2&#xff0c;自连接 3&#xff0c;子查询 3.1&#xff0c;单行子查询 3.2&#xff0c;多行子查询 3.3&#xff0c;多列子查询 3.3&#xff0c;在from子句中使用子查询 4&#xff0c;合并查询 4.1&#xff0c;union …

unsloth微调QwQ32B(4bit)

unsloth微调QwQ32B(4bit) GPU: 3090 24G unsloth安装部署 pip 安装 pip install unsloth --index https://pypi.mirrors.usrc.edu.cn/simplesource /etc/network_turbopip install --force-reinstall --no-cache-dir --no-deps githttps://github.com/unslothai/unsloth.git​…

基于腾讯云大模型知识引擎×DeepSeek的高等职业学校单独招生二级学院考前咨询系统

1、主要思路 通过大模型知识引擎DeepSeek搭建高等职业学校单独招生二级学院考前咨询专有问答&#xff0c;使得专业老师能够更好的服务考试学生&#xff0c;有利于二级学院能够更好的进行考试宣传&#xff0c;招来优秀学子&#xff01; 2、创作过程 2.1、本地部署大模型的缺陷…

【Linux】线程库

一、线程库管理 tid其实是一个地址 void* start(void* args) {const char* name (const char *)args;while(true){printf("我是新线程 %s &#xff0c;我的地址&#xff1a;0x%lx\n",name,pthread_self());sleep(1);}return nullptr; }int main() {pthread_t tid…

物化视图详解:数据库性能优化的利器

物化视图&#xff08;Materialized View&#xff09;作为数据库性能优化的核心手段&#xff0c;通过预计算和存储查询结果&#xff0c;显著提升了复杂查询的效率。本文将深入剖析物化视图的工作原理、应用场景及最佳实践&#xff0c;帮助企业在合适的场景中充分发挥其性能优势。…

蓝桥杯备考-》单词接龙

很明显&#xff0c;这道题是可以用DFS来做的&#xff0c;我们直接暴力搜索&#xff0c;但是这里有很多点是我们需要注意的。 1.我们如何确定两个单词能接上&#xff1f; 比如touch和choose 应该合成为touchoose 就是这样两个单词&#xff0c;我们让一个指针指着第一个字符串…

计算机视觉yolov8模型应用-学习笔记

计算机视觉yolov8模型应用-学习笔记 YOLOv8是由Ultralytics公司在‌2023年1月10日‌发布的一款深度学习模型。它是YOLOv5的重大更新版本&#xff0c;支持图像分类、物体检测和实例分割任务。这一版本在发布前就受到了广泛关注&#xff0c;并在发布后迅速成为目标检测领域的热门…

【网络层协议】NAT技术内网穿透

IP地址数量限制 我们知道&#xff0c;IP地址&#xff08;IPv4&#xff09;是一个4字节32位的整数&#xff0c;那么一共只有2^32也就是接近43亿个IP地址&#xff0c;而TCP/IP协议栈规定&#xff0c;每台主机只能有一个IP地址&#xff0c;这就意味着&#xff0c;一共只有不到43亿…

深入理解 C++11 智能指针:独占、共享与弱引用的完美管理

文章目录 std::unique_ptr&#xff08;独占式智能指针&#xff09;std::shared_ptr&#xff08;共享式智能指针&#xff09;std::weak_ptr&#xff08;弱引用智能指针&#xff09;示例展示&#xff1a;智能指针的原理内存泄漏**什么是内存泄漏&#xff0c;内存泄漏的危害****如…

AI Agent开发大全第四课-提示语工程:从简单命令到AI对话的“魔法”公式

什么是提示语工程?一个让AI“听话”的秘密 如果你曾经尝试过用ChatGPT或者其他大语言模型完成任务,那么你一定遇到过这样的情况:明明你的问题是清晰的,但答案却离题万里;或者你认为自己提供的信息足够详尽,可结果还是不理想。问题出在哪?很多时候并不是因为AI不够聪明,…

大模型架构记录 【综述-文字版】

名词解释&#xff1a; Prompt &#xff1a;提示词&#xff0c;是一个非常关键的概念&#xff0c;它指的是用户输入的文本或指令&#xff0c;用于引导语言模型生成相应的回答或执行特定任务。 Prompt Engineering&#xff1a;&#xff08;提示工程&#xff09; 是一种通过设计…

【论文笔记】Transformer

Transformer 2017 年&#xff0c;谷歌团队提出 Transformer 结构&#xff0c;Transformer 首先应用在自然语言处理领域中的机器翻译任务上&#xff0c;Transformer 结构完全构建于注意力机制&#xff0c;完全丢弃递归和卷积的结构&#xff0c;这使得 Transformer 结构效率更高…

使用CSS3实现炫酷的3D翻转卡片效果

使用CSS3实现炫酷的3D翻转卡片效果 这里写目录标题 使用CSS3实现炫酷的3D翻转卡片效果项目介绍技术要点分析1. 3D空间设置2. 核心CSS属性3. 布局和定位 实现难点和解决方案1. 3D效果的流畅性2. 卡片内容布局3. 响应式设计 性能优化建议浏览器兼容性总结 项目介绍 在这个项目中…

SpringSecurity——基于角色权限控制和资源权限控制

目录 基于角色权限控制 1.1 自定义 UserDetailsService 1.2 加载用户角色 1.3. 给角色配置能访问的资源&#xff08;使用切面拦截&#xff0c;使用注解&#xff09; 总结 资源权限控制 2.2. 需要有一个用户&#xff1b;&#xff08;从数据库查询用户&#xff09; 2.2 基…

红宝书第十一讲:超易懂版「ES6类与继承」零基础教程:用现实例子+图解实现

红宝书第十一讲&#xff1a;超易懂版「ES6类与继承」零基础教程&#xff1a;用现实例子图解实现 资料取自《JavaScript高级程序设计&#xff08;第5版&#xff09;》。 查看总目录&#xff1a;红宝书学习大纲 一、ES6类的核心语法&#xff1a;把事物抽象成“模板” 想象你要设…

Python为Word文档添加书签并打包成exe

背景简述 由于一些工作场景&#xff0c;需要从多个Word文档中找到出现的关键词&#xff0c;并阅读关键词的上下文内容。文件可能几十个&#xff0c;手动操作太要命了。所以python尝试处理。 目录 背景简述思路第一步、功能实现结果验证 第二步、打包成exe2-1、基础准备2-2、打…