【linux】HTTPS 协议原理

1. 了解 HTTPS 协议原理

(一)认识 HTTPS

HTTPS 也是一种应用层协议,是在 HTTP 协议的基础上引入了一个加密层

因为 HTTP协议的内容都是按照文本的方式进行传输的,这个过程中,可能会出现一些篡改的情况

(二)认识 "加密" , "解密"

加密:把明文(在网络上要传输的数据)进行一系列操作,生成密文(处理过后的数据)的过程

解密:把密文再进行一系列操作,还原成明文的过程

在这个加密和解密过程中,往往需要一个或者多个中间数据,来辅助这个过程,这样的数据叫做密钥

(三)常见的加密方式

1. 对称加密

采用单密码的加密方法,同一个密钥可以同时用作信息的加密和解密

特征:

加密和解密所使用的密钥都是相同的

特点:

算法公开,计算小,加密速度快,加密效率高

2. 非对称加密

需要两个密钥来进行加密和解密,这两个密钥一个是公开密钥(一般来说,是服务器交给客户端的),一个是私有密钥(一般来说,是服务器私有的,不会交给别人)

特点:

算法强度复杂,安全性高,但是效率低,速度慢

注意:

公有密钥和私有密钥是配对的,可以通过 公有密钥 解开 私有密钥的加密,也可以通过 私有密钥 解开 公有密钥的加密

(四)数据摘要(数据指纹)

数据摘要(数据指纹):基本原理是利用单向散列函数(hash表)对信息进行运算,生成一串固定的长度的字符串,它不是一种加密,但是可以判断数据是否发生篡改

摘要常见算法:MD5,SHA1 ........,算法只能尽可能减少数据冲突,确保唯一性

(五)数字签名

摘要经过加密,就得到数字签名

2. HTTPS 数据安全的探讨

要确保数据安全,只要是在于加密过程是否安全可靠,而加密主要分为两大类:对称加密和非对称加密

(一)方案1 ---- 只使用 对称加密

(二)方案2 ---- 只使用 非对称加密

(三)方案3 ---- 双方都采用 非对称加密

(四)方案4 ---- 非对称加密 + 对称加密

针对方案3,4共同拥有的安全缺陷问题

中间人是有可能获取所有在网络传输中的数据

以上方案都存在⼀个问题,如果最开始,中间⼈就已经开始攻击,从而造成不安全

最直接的原因是:客户端无法识别公钥是不是服务端的 (这里需要引入一个概念:证书)

(五)⽅案 5 ---- ⾮对称加密 + 对称加密 + 证书认证

在客户端和服务器刚⼀建⽴连接的时候, 客户端给服务端发送请求,服务器给客户端返回一个证书,证书包含了之前服务端的公钥, 也包含了⽹站的⾝份信息

3. 证书

(一)CA认证

服务端在使⽤HTTPS前,需要向CA机构申领⼀份数字证书,数字证书⾥含有证书申请者信息、公钥信

息等。服务器把证书传输给浏览器,浏览器从证书⾥获取公钥就⾏了,证书就如⾝份证,证明服务端

公钥的权威性

这里还有一些细节:如,签名是什么,如何保证证书的内容不会被中间人修改

(二)理解数据签名

签名的形成是基于⾮对称加密算法的

把证书里面的明文信息变成数据摘要,再通过加密(CA 机构自身的私有密钥进行加密),得到数据签名

(三)验证证书

客户端进行认证:

  • 当客户端获取到这个证书之后, 会对证书进⾏校验(防⽌证书是伪造的).
  • 判定证书的有效期是否过期
  • 判定证书的发布机构是否受信任(操作系统中已内置的受信任的证书发布机构)

查看浏览器的受信任证书发布机构:

设置 -- 安全 -- 管理证书

  • 验证证书是否被篡改

判断是否发生篡改,如图:

4. 常见问题

  • 为什么签名不直接加密,⽽是要先形成数据摘要?

缩⼩签名密⽂的⻓度,加快数字签名的验证签名的运算速度

  • 如何成为中间⼈?

1. ARP欺骗:在局域⽹中,hacker经过收到ARP Request⼴播包,能够偷听到其它节点的 (IP, MAC)地址。例, ⿊客收到两个主机A, B的地址,告诉B (受害者) ,⾃⼰是A,使得B在发送给A 的数据包都被⿊客截取

2. ICMP攻击:由于ICMP协议中有重定向的报⽂类型,那么我们就可以伪造⼀个ICMP信息然后发送给局域⽹中的客⼾端,并伪装⾃⼰是⼀个更好的路由通路。从⽽导致⽬标所有的上⽹流量都会发送到我们指定的接⼝上,达到和ARP欺骗同样的效果

3. 假wifi && 假⽹站等

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

labview学习总结

labview学习总结 安装labview的特点一、图形化编程范式二、并行执行机制三、硬件集成能力四、应用领域优势五、开发效率六、系统集成能力**labview基本组成示意图****常用程序结构图解**结语 基础知识介绍界面前后面板的概念平铺式和层叠式 帧的概念结构类型顺序结构for循环whi…

PostgreSQL技术内幕17:PG分区表

文章目录 0.简介1.概念介绍2.分区表技术产生的背景3.分区类型及使用方式4.实现原理4.1 分区表创建4.2 分区表查询4.3 分区表写入4.4 分区表删除 0.简介 本文主要介绍PG中分区表的概念,产生分区表技术的原因,使用方式和其内部实现原理,旨在能…

RHCSA课后练习3(网络与磁盘)

1、配置网络:为网卡添加一个本网段IPV4地址,x.x.x.123 涉及的知识点 配置网络: ens160:en---表示以太网 wl---表示无线局域网 ww---表示无线广域网 注意:一个网络接口,可以有多个网络连接,但…

开发人员需要知道的 20个Git命令行技巧

前言 大多数开发人员每天都会使用 Git,但许多人只是对其功能略知一二。 学习一些 git 命令行技巧可以改变游戏规则,让你更高效、更有成效,对版本控制更有信心。 那么,让我们深入了解每个开发人员工具包中都应该有的 20 个 Git …

第十一章 综合案例--“精品课程网站“开发

1.网站的开发流程 网站开发流程通常分为几个关键阶段,每个阶段都有其特定的任务和目标。以下是一个典型的网站开发流程: 1. 需求分析 目标设定:明确网站的目标和目的。 受众研究:确定目标用户,了解他们的需求和偏好。…

VSCode 1.82之后的vscode server离线安装

概述 因为今天在公司开发项目的时候,需要离线配置vscode远程开发环境, 根据参考链接1配置了一遍,不管怎么重启,VSCODE都还是提示下载vscode server,后面在官方issue上找到了解决方案 解决方案 修改Remote SSH的配置…

Linux和,FreeRTOS 任务调度原理,r0-r15寄存器,以及移植freertos(一)

目录、 1、r0-r15寄存器,保护现场,任务切换的原理 2、freertos移植 3、freertos的任务管理。 一、前言 写这篇文章的目的,是之前面试官,刚好问到我,移植FreeRTOS 到mcu,需要做哪些步骤,当时回…

「Mac畅玩鸿蒙与硬件28」UI互动应用篇5 - 滑动选择器实现

本篇将带你实现一个滑动选择器应用,用户可以通过滑动条选择不同的数值,并实时查看选定的值和提示。这是一个学习如何使用 Slider 组件、状态管理和动态文本更新的良好实践。 关键词 UI互动应用Slider 组件状态管理动态数值更新用户交互 一、功能说明 在…

云服务器防火墙设置方法

云服务器防火墙设置方法通常包括:第一步:登录控制台,第二步:配置安全组规则,第三步:添加和编辑规则,第四步:启用或停用规则,第五步:保存并应用配置。云服务器…

数据中台一键大解析!

自从互联玩企业掀起了数据中台风,数据中台这个点马上就火起来了,短短几年数据中台就得到了极高的热度,一大堆企业也在跟风做数据中台,都把数据中台作为企业数字化转型的救命稻草,可是如果我告诉你数据中台并不是万能钥…

【第一个qt项目的实现和介绍以及程序分析】【正点原子】嵌入式Qt5 C++开发视频

qt项目的实现和介绍 1.第一个qt项目  (1).创建qt工程    [1].创建一个存放qt的目录    [2].新建一个qt工程    [3].编译第一个工程    发生错误时的解决方式 二.QT文件介绍  (1).工程中文件简单介绍  (2).项目文件代码流程介绍    [1].添…

计算机网络:网络层 —— 网络地址转换 NAT

文章目录 网络地址转换 NAT 概述最基本的 NAT 方法NAT 转换表的作用 网络地址与端口号转换 NAPTNAT 和 NAPT 的缺陷 网络地址转换 NAT 概述 尽管因特网采用了无分类编址方法来减缓 IPv4 地址空间耗尽的速度,但由于因特网用户数量的急剧增长,特别是大量小…

【算法】【优选算法】双指针(下)

目录 一、611.有效三⻆形的个数1.1 左右指针解法1.2 暴力解法 二、LCR 179.查找总价格为目标值的两个商品2.1 左右指针解法2.2 暴力解法 三、15.三数之和3.1 左右指针解法3.2 暴力解法 四、18.四数之和4.1 左右指针解法4.2 暴力解法 一、611.有效三⻆形的个数 题目链接&#x…

面试题分享11月1日

1、过滤器和拦截器的区别 过滤器是基于spring的 拦截器是基于Java Web的 2、session 和 cookie 的区别、关系 cookie session 存储位置 保存在浏览器 (客户端) 保存在服务器 存储数据大小 限制大小,存储数据约为4KB 不限制大小&…

VR 创业之路:从《I Expect You To Die》到未来展望

今年是 Reality Labs 成立 10 周年,Meta 每周都会与不同的 XR 先驱进行交流,探讨他们在行业中的经历、经验教训以及对未来的展望。本次,他们与游戏设计师、作家兼 Schell Games CEO Jesse Schell 进行了深入交谈,了解了他的个人故…

【大数据学习 | kafka】简述kafka的消费者consumer

1. 消费者的结构 能够在kafka中拉取数据进行消费的组件或者程序都叫做消费者。 这里面要涉及到一个动作叫做拉取。 首先我们要知道kafka这个消息队列主要的功能就是起到缓冲的作用,比如flume采集数据然后交给spark或者flink进行计算分析,但是flume采用的…

​Controlnet作者新作IC-light V2:基于FLUX训练,支持处理风格化图像,细节远高于SD1.5。

大家好!今天我要向大家介绍一个超级有趣的话题——Controlnet作者的新作IC-light V2!这个工具基于FLUX训练,能够支持处理风格化图像,并且细节表现远高于SD1.5。 想象一下,你有一个强大的AI助手,它能够根据…

危机来临前---- 力扣: 876

危机即将来临 – 链表的中间节点 描述: 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 示例: 何解? 1、遍历找到中间节点 : 这个之在回文链表中找…

【AI绘画】ComfyUI - AnimateDiff基础教程和使用心得

AnimateDiff是什么? AnimateDiff 是一个能够将个性化的文本转换为图像的扩展模型,它可以在无需特定调整的情况下实现动画效果。通过这个项目,用户可以将他们的想象力以高质量图像的形式展现出来,同时以合理的成本实现这一目标。随…

【docker】docker 环境配置及安装

本文介绍基于 官方存储库 docker 的环境配置、安装、代理配置、卸载等相关内容。 官方安装文档说明:https://docs.docker.com/engine/install/ubuntu/ 主机环境 宿主机环境 Ubuntu 20.04.6 LTS 安装步骤 添加相关依赖 sudo apt-get update sudo apt-get install…