深入解析 https

news2024/10/2 10:44:14

我的主页:2的n次方_      

在这里插入图片描述

1. 背景介绍

在使用 http 协议的时候是不安全的,可能会出现运营商劫持等安全问题,运营商通过劫持 http 流量,篡改返回的网页内容,例如广告业务,可能会通过 Referer 字段 来统计是从哪个页面转接进来的,但是运营商就可能把信息改为自己的,也就是从运营商点击的广告,从而侵害原厂商的的利益,出了这个案例,还可能会篡改其他的信息,使得用户在访问一些界面时强制跳转广告或者下载某个应用时,点击下载却下载了其他应用等等,这些问题都是由于 http 是明文传输的,所以就引入了 https

HTTPS 其实就是 HTTP 的安全版本, HTTPS通过加密、认证和完整性保护,确保通信内容不会被第三方窃听或篡改

先来介绍几个概念:

明文:要传输的原始数据

密文:把明文进行加密之后的数据

密钥:进行加密和解密的重要数据(辅助工具)

公钥:可以公开的密钥,通常可以广泛的分发给任何需要的人

私钥:严格保密的密钥,只有密钥所有者才知道,与公钥成对出现,用于解密由客户端使用服务器公钥加密后的数据

对称加密:不论是加密还是解密,都使用同一个密钥

非对称加密:使用公钥对数据进行加密,使用私钥对数据进行解密,例如,A 要向 B 发送机密信息,A 可以使用 B 的公钥对信息进行加密,B 收到加密信息后,使用自己的私钥进行解密。

为了防止上述的数据被篡改的安全问题,就需要把数据进行加密传输

2. 引入对称加密

一般情况下都是多个客户端对应一个服务器,这些客户端在连接上服务器之后需要自己生成一个随机的对称密钥给服务器,服务器拿到这个密钥之后才能解密,如果多个客户端使用同一个密钥,那么黑客登录一个客户端就之后密钥是什么了

但是上面的过程还是存在一个问题的:

使用对称加密的话,这其实和不加密也没什么区别

3. 引入非对称加密

这里是在之前使用对称加密的基础上引入了非对称加密,对对称加密的密钥进行加密,那为什么不都使用非对称加密呢?非对称加密的的解密过程其实是比较消耗时间的,所以进行一次非对称加密,后续的进行对称加密既保证了数据的安全性,也保证了传输效率

客户端通过服务器的公钥对后续的对称加密的密钥进行加密,服务器通过私钥进行解密:

在上面的过程中,被黑客入侵的中间设备由于没有私钥,所以不能解析客户端使用公钥加密的数据,后续再进行对称加密就保证了数据的安全性

不过呢,上面的还是有缺陷的,通过中间人攻击就可以破解

4. 中间人攻击

被黑客入侵的设备在客户端面前假扮服务器,在服务器面前假扮客户端,就能够骗过双方

就像上面的过程那样,客户端并不知道当前的公钥是黑客伪造的,中间设备劫持上面的数据之后,使用 自己的私钥 pri2 就知道了对称密钥的内容,信息就会被泄露篡改了

5. 证书机制

其实上面问题的关键是客户端无法区分拿到的公钥是否是正常的,通过引入证书机制就可以解决上述的中间人攻击问题,如果想要搭建服务器使用 HTTPS 就需要在公证机构里申请证书(包括证书发布机构,证书有效期,证书所有者,公钥,签名等),服务器申请到证书之后,客户端除了从服务器获取公钥之外还会获取对应的证书。

证书中的签名包括校验和 + 加密,原始数据相同,计算的校验和也就相同,校验和不同就说明被篡改过了,这里的加密采用的是非对称加密,公证机构自己也会有一对公钥和私钥,公钥分发给各种客户端,公正机构用私钥对校验和进行加密,就得到了数字签名

之后的过程就是,客户端验证数字签名

  1. 客户端吧证书中的各个字段再计算一次校验和,得到 checksum1
  2. 客户端使用公证机构的公钥对数字签名进行解密,得到 checksum2(公钥加密只有对应的私钥才能解密,私钥加密,对应的公钥才能解密)
  3. 对比两次的校验和,如果相等就表明得到的证书和服务器发过来的是同一个证书,如果不相等就意味着证书上的内容被篡改过了,就会弹出警告的信息

那么客户端怎么确定拿到的公钥是公证机构的而不是黑客篡改过的?

客户端拿到公证机构的公钥主要通过操作系统或浏览器内置的方式获得,并不是通过网络传输获得的

一般情况下黑客获得不了公证机构的私钥,如果说黑客自己去生成一个私钥,客户端的公证机构的公钥也解密不了,所以通过引入证书机制就使得传输过程更加的安全了


Fiddler 等抓包工具为什么可以解析 HTTPS 加密的数据?

抓包工具也会提供一个证书,客户端同意信任之后就能够拿到客户端的对称密钥,大概是下面的过程:

当服务器发送的证书被 Fiddler 抓到之后,就会篡改证书中的内容,变成自己的证书,然后把整数中服务器的公钥替换成自己的公钥,根据新生成的证书重新计算得到校验和,并且使用自己的私钥来加密,得到数字签名,由于已经信任了 Fiddler 的证书,也就拿到了 Fiddler 的公钥 ,之后也是使用这个公钥进行加密和对称密钥的加密

在这里插入图片描述

 

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

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

相关文章

k8s的控制节点不能访问node节点容器的ip地址

master控制node服务器添加容器后,访问不了该node服务器容器的ip,只能在node服务器访问 排查后发现是k8s的master服务器和node节点的网址网段和k8s初始化时提示的ip网段不一致 我之前是192.168.137.50, 实际上master主机期望的是192.168.1.50 解决方案: 1.删除服务器后重建ma…

网络原理-TCP协议

回顾上文 上一篇博客中详细描述了UDP的报文格式及特点 UDP报头 UDP载荷(应用层数据报),源端口,目的端口,报文长度,校验和无连接,不可靠传输,面向数据报,全双工 这一篇…

新160个crackme - 071-Rith.1

运行分析 需要破解Name和Serial点击Check It!按钮没反应 PE分析 C程序,32位,无壳 静态分析&动态调试 ida搜索字符串,双击进入关键函数 进行动态调试,逻辑如下:1、Name长度为5~20,Serial长度…

算法笔记(三)——前缀和算法

文章目录 一维前缀和二维前缀和寻找数组的中心下标除自身以外数组的乘积和为 K 的子数组和可被 K 整除的子数组连续数组矩阵区域和 前缀和算法是一种用空间换时间的算法,他常常用于解决某些题目或者作为某些高级算法的组成部分 一维前缀和 题目链接:DP3…

【最新】微信小程序连接onenet——stm32+esp8266+onenet实现查看温湿度,控制单片机

微信小程序——stm32esp8266onenet实现查看温湿度,控制单片机 (最新已验证)stm32 新版 onenet dht11esp8266/01s mqtt物联网上报温湿度和控制单片机(保姆级教程) :↓↓👇 👇 👇 &#x1f447…

【Linux】进程优先级、调度、命令行参数:从理论到实践(二)

🌈 个人主页:Zfox_ 🔥 系列专栏:Linux 目录 🚀 前言一: 🔥 进程优先级 🍵 基本概念🍵 查看系统进程🍵 PRI and NI🍵 PRI vs NI🍵 用to…

【Java SE 题库】移除元素(暴力解法)--力扣

🔥博客主页🔥:【 坊钰_CSDN博客 】 欢迎各位点赞👍评论✍收藏⭐ 目录 1. 题目 2. 解法(快慢“指针”) 3. 源码 4. 小结 1. 题目 给你一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素。元素的顺…

Pre-trained Models for Natural Language Processing: A Survey

前言 预训练模型给下游任务带来的效果不言而喻,有了预训练模型,我们可以使用它来加速解决问题的过程。正如论文中所说的那样,预训练模型(PTMs)的出现将自然语言处理(NLP)带入了一个新时代。本篇…

各种饺子的做法

【羊肉馅水饺】 材料:羊肉1000克、洋葱2个、香油3汤匙、盐适量、姜2片、料酒1汤匙、白胡椒粉、十三香1茶匙、 做法: 1.把羊肉剁成肉馅,羊肉选用带一些肥肉的,味道比较香,如果羊肉比较瘦,可以放一些猪的肥肉一起剁成馅…

【Python】探索自然语言处理的利器:THULAC 中文词法分析库详解

THULAC(THU Lexical Analyzer for Chinese)是清华大学开发的一款中文词法分析工具,集成了分词和词性标注两大功能。THULAC 拥有强大的分词能力和高效的词性标注,适用于多种中文文本处理场景。该工具能够在保证高准确率的同时保持较…

修复OpenSSH远程代码执行漏洞:版本升级到9.9p1

目录 前言1. 备份配置文件2. 下载 OpenSSH 最新版本3. 编译安装 OpenSSH4. 替换旧版 OpenSSH 并创建符号链接5. 重启 SSH 服务6. 验证安装结果结语参考文章 前言 OpenSSH 是一种广泛使用的远程登录协议,它确保了服务器和客户端之间的安全通信。然而,随着…

Linux驱动开发(速记版)--设备树

第五十二章 初识设备树 52.1 设备树介绍 设备树(Device Tree)是嵌入式系统和Linux内核中用于描述硬件的一种机制。 设备树概述 目的:描述硬件设备的特性、连接关系和配置信息。 优势:与平台无关,提高系统可移植性和可…

【linux进程】进程优先级命令行参数环境变量

目录 一,进程切换二,进程优先级1. 什么是优先级2. 权限 vs 优先级3. 为什么要有优先级4. 优先级的查看方式 三,命令行参数1. 什么是命令行参数2. 为什么要有命令行参数3. 是谁做的 四,环境变量1. 基本概念2. 常见环境变量3. 查看环…

电商店铺多开自动回复软件

在电商平台上开设多个店铺,即店铺多开,是一种扩展业务和增加销售额的策略。然而,店铺多开需要谨慎规划和执行,以避免违反平台规定和管理上的混乱。以下是如何实现店铺多开的详细步骤和注意事项。 1. 确定多开目标 在决定多开店铺…

[云] Getting Started with Kubernetes - Environment setup 环境配置

启动一个 EC2 实例, 请按照以下步骤操作: 登录 AWS 控制台: 打开浏览器,访问 AWS Management Console 并登录到您的账户。 选择 EC2 服务: 在 AWS 控制台的“服务”菜单中找到并点击“EC2”进入 EC2 Dashboard。 启…

Spark SQL分析层优化

导读:本期是《深入浅出Apache Spark》系列分享的第四期分享,第一期分享了Spark core的概念、原理和架构,第二期分享了Spark SQL的概念和原理,第三期则为Spark SQL解析层的原理和优化案例。本次分享内容主要是Spark SQL分析层的原理…

国内车牌号检测数据集 7800张 车牌识别 带标注 voc yolo

车牌号检测数据集 7800张 车牌识别 带标注 voc yolo 车牌号码检测数据集 名称 车牌号码检测数据集 (License Plate Detection Dataset) 规模 图像数量:7800张图像。类别:无分类,主要针对车牌区域的定位。标注个数:10,000多个标…

Windows 11 的 24H2 更新將帶來全新 Copilot+ AI PC 功能

10 月起率先向 Insider 推出。 微軟今日宣布 Windows 11 的 24H2 更新將從 10 月起陸續開放給不同用戶,其中將包括多項全新 Copilot AI PC 功能。首先是回爐重造的 Recall 回顧,官方在聽取社群意見後對安全性做了進一步加強。現在用戶可以自己選擇是否保…

从小IPD到大IPD

IPD体系实施或变革是一个长期的系统工程,需要坚持“总体规划、分步实施”的原则,业界经常有从“小IPD”到“大IPD”的说法。 像华为当年就是从“产品开发流程”开始推行,就是小范围的“小IPD”,后面逐步扩大为“大IPD”&#xff0…

Ubuntu22.04之mpv播放器高频快捷键(二百七十)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【…