HTTPS协议之SSL/TLS详解(下)
目录
前言:
SSL/TLS详解
HTTP协议传输安全性分析
对称加密
非对称加密
证书
小结:
前言:
在网络世界中,存在着运营商劫持和一些黑客的攻击。如果明文传输数据是很危险的操作,因为我们不清楚中间传输过程中就被哪个服务器偷梁换柱了。
现在网络中大多数使用的都是HTTPS协议。HTTP协议没有加密的概念,就意味着将会进行明文传输,数据很容易就被劫持了。HTTPS协议是HTTP协议的加强版本(S就是SSL或者TLS),引入了证书的概念,很大程度上保证了数据的安全性。
SSL/TLS详解
HTTP协议传输安全性分析

注意:
明文传输,当数据经过中间黑客控制的服务器时,数据就可以直接被篡改。服务器得到的请求就是篡改后的请求。当响应经过黑客服务器时同样也可以被篡改,那么客户端和服务器所得到的数据就是黑客说了算。就不存在安全性可言。
对称加密
所谓对称加密就是:同一个密钥既可以加密也可以解密。
a(明文) + key = b(密文)
b(密文) + key = a(明文)
不同的客户端肯定要使用不同的对称密钥来对数据进行加密。那么当客户端生成对称密钥后,就需要将对称密钥和数据一起传输到服务器,服务器才能解密数据。
问题:
这次传输当经过中间黑客控制的服务器时,那么黑客也可以劫持到密钥,对数据解密进行篡改。那么我们只要解决对称密钥的传输数据就是安全的。
非对称加密
生成一对密钥,公钥和私钥。用公钥加密,私钥解密(公钥是公开的,密钥是私有的)。
明文 + 公钥 = 密文
密文 + 私钥 = 明文

注意:
服务器生成一对非对称密钥,公钥是公开的,密钥只有自己知道。客户端使用公钥对对称密钥加密传输到服务器。由于黑客控制的服务器不知道私钥,就没有办法解密。当服务器得到数据后,用私钥解密得到对称密钥。那么以后的传输就可以直接使用对称密钥对数据进行加密了。
为什么有非对称加密还要使用对称加密呢?
答:非对称加密是比较耗时,而对称加密效率高。如果每次都使用非对称加密,效率会很低。使用非对称加密将对称密钥传输到服务器后,就可以使用对称加密了。效率会有显著提升。
问题:
中间人攻击,黑客模仿服务器也生成一对公钥和密钥,发给客户端(偷梁换柱得到明文)。由于客户端的公钥也是服务器生成好传输过去的。
注意:
客户端需要发起请求得到服务器生成的公钥。服务器返回响应时说:公钥是pub1。经过黑客控制的服务器时,黑客保存pub1。并且自己也生成一对非对称密钥(pub2,pri2)。然后返回响应说:公钥是pub2。
客户端用pub2对对称密钥加密。黑客服务器收到后,使用pri2解密得到对称密钥。然后又使用之前保存的pub1加密,传输到服务器。服务器任然可以使用pri1解密。黑客神不知鬼不觉黑客就得到了对称密钥。
证书
解决中间人攻击的核心方法就是:让客户端能够辨别得到的公钥是否为服务器发来的公钥。引入一个“证书”(本质上是第三方的公证机构)。
服务器(网站)在设立之初,需要向公证机构申请证书,服务器生成的公钥也就包含在证书中。客户端向服务器不在是请求公钥了,而是把整个证书都请求过来。
客户端拿到证书后,就会对证书进行校验。验证一下证书是否是被篡改过的(证书中存在一个加密的签名)。如果证书是无效的,浏览器就会直接弹窗告警。


注意:
服务器在建立时向认证机构申请证书(提交一些信息,包含公钥),认证机构就会向服务器颁发证书,包含认证机构用自己私钥加密的签名。客户端向服务器请求证书就会获得证书(包含公钥)。
客户端用认证机构提供的公钥解密签名进行校验(校验的过程类似tcp/udp校验和)。签名是根据证书中内容来生成的,客户端得到数据后,重新根据数据计算一次签名,与之前的签名进行对比。辨别数据是否被篡改。
黑客如果把证书中的公钥篡改了,客户端计算的签名就会和证书中的签名不一致。黑客根据自己的算法重新生成签名(把签名篡改了)。由于黑客不知道认证机构的私钥,就算生成了也无法加密。黑客直接模仿认证机构重新生成证书,也由于黑客不知道认证机构的私钥,无法生成。
整个过程就类似于我们使用身份证来证明身份,警察局就是第三方认证机构。这个身份证无法被别人生成,别人就可以通过身份证来辨别我们的身份。
小结:
理解HTTPS协议的加密过程,当我们使用其协议时就会比较得心应手了。
相关文章:
HTTPS协议之SSL/TLS详解(下)
目录 前言: SSL/TLS详解 HTTP协议传输安全性分析 对称加密 非对称加密 证书 小结: 前言: 在网络世界中,存在着运营商劫持和一些黑客的攻击。如果明文传输数据是很危险的操作,因为我们不清楚中间传输过程中就被哪…...
OLE对象是什么?为什么要在CAD图形中插入OLE对象?
OLE对象是什么?OLE对象的意思是指对象连接与嵌入。那为什么要在CAD图形中插入OLE对象?一般情况下,在CAD图形中插入OLE对象,是为了将不同应用程序的数据合并到一个文档中。本节内容小编就来给大家分享一下在CAD图形中插入OLE对象的…...
【微信小程序】-- 自定义组件 -- 数据、方法和属性(三十三)
💌 所属专栏:【微信小程序开发教程】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &…...
【Spring 深入学习】AOP的前世今生之代理模式
AOP的前世今生之代理模式1. 概述 什么是代理模式呢??? 在不修改原有代码 或是 无法修改原有代码的情况下,增强对象功能,替代原来的对象去完成功能,从而达成了拓展的目的。 先给大家看下 JavaScript中实现方…...
操作系统复试
2017软学 给出操作系统的定义,分别从资源管理,任务调度,用户接口等三个方面论述操作系统的职能 操作系统是位于硬件层之上、所有其他系统软件层之下的一个系统软件,使得管理系统中的各种软件和硬件资源得以充分利用,方…...
藏经阁(五)温湿度传感器 SHT3x-DIS 手册 解析
文章目录芯片特性芯片内部框图芯片引脚定义芯片温湿度范围芯片寄存器以及时序讲解信号转换公式芯片特性 湿度和温度传感器完全校准,线性化温度补偿数字输出供电电压范围宽,从2.4 V到5.5 VI2C接口通讯速度可达1MHz和两个用户可选地址典型精度 2% RH和 0.…...
PCB焊盘设计基本原则
SMT的组装质量与PCB焊盘设计有直接的关系,焊盘的大小比例十分重要。如果PCB焊盘设计正确,贴装时少量的歪斜可以再次回流焊纠正(称为自定位或自校正效应),相反,如果PCB焊盘设计不正确,即使贴装位置十分准确,…...
mysql锁分类大全
前言 为什么会出现锁 MySQL中的锁是为了保证并发操作的正确性和一致性而存在的。 当多个用户同时对同一份数据进行操作时,如果不加控制地进行读写操作,就可能导致数据不一致的问题。例如,当多个用户同时对同一行数据进行写操作时ÿ…...
推荐几款主流好用的远程终端连接管理软件
一、介绍 远程终端连接管理软件是管理服务器、虚拟机等远程计算机系统不可或缺的工具之一,它可以通过网络连接到另一台计算机,以执行命令、编辑文件或进行其他管理任务,下面我将为大家介绍几款主流好用的远程终端连接管理软件,并…...
描述性统计
参考文献 威廉 M 门登霍尔 《统计学》 文章目录定性数据的描述方法条形图饼图帕累托图定量数据点图茎叶图频数分布直方图MINITAB 工具在威廉《统计学》一书将统计学分为描述统计学和推断统计学,他们的定义分别如下:描述统计学:致力于数据集的…...
第十四届蓝桥杯三月真题刷题训练——第 7 天
目录 第 1 题:三角回文数 问题描述 答案提交 运行限制 代码: 第 2 题:数数 问题描述 答案提交 运行限制 代码: 第 3 题:倍数问题_同余定理_分情况讨论 题目描述 输入描述 输出描述 输入输出样例 运行限…...
剑指 Offer 57. 和为s的两个数字
一、题目 输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例 1: 输入:nums [2,7,11,15], target 9 输出:[2,7] 或者 [7…...
PDF转word在线转换方法!操作简单又高效
相信很多已经工作的人都知道,PDF文件格式的优点在于兼容性强、安全性高,而且查看和传输给他人都很方便。但是,这种格式的文件也有不太方便的地方,那就是不能对文件内容进行编辑和修改。对于许多人来说,如果想要编辑修改…...
Jquery项目中使用vue.js
大家在工作的情况中,可能会遇到之前的老项目采用jq书写,或者修改或者新增功能在jq中,原始jq的项目,代码可维护性很差,一个页面几千行jq,可维护性很差,工作量巨大,所以这个时候大家可以引入vue.js。 第一步:引入vue.js…...
蓝桥杯 删除字符
题目描述 给定一个单词,请问在单词中删除 t 个字母后,能得到的字典序最小的单词是什么? 输入描述 输入的第一行包含一个单词,由大写英文字母组成。 第二行包含一个正整数 t。 其中,单词长度不超过 100,…...
析构函数 对象数组 对象指针
🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章 🔥座右铭:“不要等到什么都没有了,才下定决心去做” …...
Vue对Axios网络请求进行封装
一、为什么要对网络请求进行封装? 因为网络请求的使用率实在是太高了,我们有的时候为了程序的一个可维护性,会把同样的东西放在一起,后期找起来会很方便,这就是封装的主要意义。 二、如何进行封装? 1、将…...
Android framework HAL(HIDL)
简述 当你在Android系统中使用不同的硬件设备(例如摄像头、传感器、音频设备等)时,你需要与硬件抽象层(HAL)进行通信。 HAL是一个中间层,它充当了硬件和应用程序之间的桥梁。但是,由于硬件设备…...
QML 模型(ListModel)
LIstModel(列表模型) ListModel 是ListElement定义的简单容器,每个定义都包含数据角色。内容可以在 QML 中动态定义或显式定义。 属性: count模型中数据条目的数量dynamic动态角色,默认情况下,角色的类型…...
你还在调戏AI,有的公司已经用ChatGPT开展业务了
近日,OpenAI 正式宣布开放 ChatGPT 和 Whisper 两个模型的 API,API 版本的ChatGPT 不仅功能更多、性能更强,而且还更便宜一一相当于目前 GPT-3 模型价格打一折!划重点OpenAl正式开放 ChatGPT 和 Whisper 模型的 API,目前 SnapChat…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
