Https详解

news2025/3/9 10:54:54

文章目录

      • 一. 什么是 Https
        • 1. "加密"是什么?
        • 2. 对称加密
        • 3. 非对称加密
        • 4. "中间人攻击"
      • 二. 引入证书
        • 理解签名
        • 黑客能否伪造证书?
        • 黑客能否替换公钥?
        • 黑客能否篡改签名?
        • 如何查看证书?

一. 什么是 Https

https 就是 http + 安全层(SSL)–> 用来加密的协议 SSL/TLS

SSL(security scoket layer) 加密套接字协议层.

至于为什么会推出安全层 , 是因为臭名昭著的"运营商劫持"

可以看到 天天动听 的下载链接被替换为 QQ浏览器.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3uvi0iJM-1681867522807)(C:/Users/86178/AppData/Roaming/Typora/typora-user-images/image-20230404191948248.png)]

如果避免这种情况呢?

出现这种情况的主要原因是在互联网上明文传输非常危险, 不光是运营商劫持 , 黑客窃取支付密码也是常见的事 , 因此需要加密.

1. "加密"是什么?

  • 加密就是把 明文 (要传输的信息)进行一系列的变换 , 生成密文.

  • 解密就是将 密文 进行一系列变换 , 还原成明文.

在这个过程中 , 往往需要一个或多个中间数据 , 辅助这个过程 , 这样的数据称为密钥.

2. 对称加密

进行安全传输的核心就是加密 , 最简单高效的一种加密方法叫做"对称加密"

image-20230404193928996

同一个密钥 , 既可以用来加密 , 也可以用来解密–>对称密钥

但使用的前提是 , 密钥不能被黑客知道.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hkJ69HWS-1681867522808)(https://gitee.com/liu-xuixui/clouding/raw/master/img/image-20230404194922320.png)]

客户端生成密钥发送给服务器 , 此时密钥刚刚生成 , 服务器还不知道 , 此处的密钥只能明文传输 , 密钥可能被黑客劫持.

因此 , 就需要引入非对称加密,

3. 非对称加密

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fFNNBq6h-1681867522809)(https://gitee.com/liu-xuixui/clouding/raw/master/img/image-20230404201002803.png)]

类似于邮差送信 , 邮差手中的锁相当于公钥 , 客户手中的钥匙相当于私钥. 邮差用公钥加密 , 客户用私钥解密.
在这里插入图片描述

服务器生成一对 公钥私钥 , 客户群持有公钥 , 服务器持有私钥.

虽然客户端的公钥从服务器拿 , 黑客也能知道公钥 , 但黑客不知道私钥 , 私钥是服务器自己才有的.

客户端使用公钥 , 来对对称密文加密 , 传输给服务器 , 服务器就可以拿着私钥解密获取对称密文.

本质就是对称加密和非对称加密结合使用 , 非对称加密传递密钥. 对称加密传输信息 , 这时因为非对称加密需要大量计算 , 比对称加密慢很多 , 结合使用就能提高整体速度.

上述理论看似天衣无缝 , 但还是存在瑕疵 :

  • 如果黑客模拟客户端给服务器发送请求 , 那么整个体系就暴露了 , 这就是"中间人攻击".
  • 客户端如何获取公钥?

4. “中间人攻击”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xQAtGgXw-1681867522809)(https://gitee.com/liu-xuixui/clouding/raw/master/img/image-20230405135559611.png)]


二. 引入证书

为了解决"中间人攻击" , 我们需要引入证书这个概念.

解决"中间人攻击"的关键 , 就是让客户端能够辨别 , 当前这个响应(公钥)是服务器真实的公钥. 引入"证书"本质上就是引入第三方的公正机构.

eg: 我们去网吧/宾馆 , 需要刷身份证 , 那么网吧/旅馆为什么会信任你的身份 , 因为就公安局这样的第三方机构给你背书.

服务器(网站) 在设立之初 , 就需要去专门的认证机构 , 申请证书 , 审核通过就会给你颁发证书. 服务器生成的公钥 , 也包含在这个证书中. 客户端向服务器请求公钥的时候 , 此时就不是单单请求一个公钥 , 而是把整个证书申请过来.

客户端拿到证书之后 , 就可以对证书进行校验 , 如果发现证书是无效的 , 浏览器会直接弹窗警告.

理解签名

客户端拿到证书后 , 就可以对证书进行校验 , 证书上带有一个特定的字段 , 叫做证书签名.

签名就是被认证机构用私钥加密的公钥(服务器发给认证机构的) , 客户端可以使用服务器提供的 公钥 进行解密 , 解密之后 , 得到的结果相当于是一个 hash 值. 不同的数据生成的"签名"差别很大. 使用这样的签名就可以一定程度上区分不同的数据.

  1. 服务器将公钥给 CA 认证机构
  2. CA 用自己的私钥 给公钥 加密 , 生成数字签名
  3. CA 把 公钥 , 数字签名 , 附加一些服务信息整合在一起 , 生成证书 , 发给服务器.

常见生成签名的算法有: MD5 和 SHA 系列

以 MD5 为例:

  • 定长: 无论多长的字符串 , 计算出的 MD5 值都是固定的(16 字节版本 或 32 字节版本)
  • 分散: 源字符串只要改变一点点 , 最终得到的 MD5 值都会差别很大.
  • 不可逆性: 通过源字符串生成 MD5 很容易 , 但通过 MD5 还原成源字符串理论上是不可能的.

正是因为 MD5 有这样的特性 , 我们可以认为如果两个字符串的 MD5 值相同 , 则认为这两个字符串相同.

黑客能否伪造证书?

假如我们的签名就是一个简单的字符串 hello , 服务器把字符串 hello 和 hello 的 hash值(MD5) BC4B2A76B9719D91 返回给客户端 , 客户端只需要使用相同的 hash 算法 , 看看签名是不是 BC4B2A76B9719D91 即可.

如果黑客把 hello 篡改了 , 那么客户端解析出的 hash 值会和服务器传输过来的差别很大. 但还有个问题 , 如果黑客把字符串 hello 和 hash 值都改了该怎么办?

因此传输的 hash 值不能明文传输 , 需要传输密文 , 该 hash 值在服务器通过另一个私钥加密(这个私钥是申请证书的时候 , 证书发给服务器的 , 不是客户端和服务器之间传输的对称密钥的私钥). 然后客户端通过证书发布机构的公钥进行解密 , 还原出原始的 hash 值 , 再进行校验. 黑客虽然能获取到认证机构发布的公钥 , 解密出 hash 值 , 但黑客没有认证机构的私钥 , 没法对篡改后的内容加密.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QsfL7U0n-1681867522809)(C:/Users/86178/AppData/Roaming/Typora/typora-user-images/image-20230405122029709.png)]

黑客能否替换公钥?

如果黑客把证书中的公钥替换了 , 意味着客户端算的 hash2 和签名解出的 hash1 对不上 , 客户端就知道无效.

黑客能否篡改签名?

由于黑客不知道认证机构的私钥 , 即使黑客用 hash 算法将签名解析出来 , 并生成一个新的 hash 值 , 也无法加密生成签名.

如何查看证书?

Chrom 浏览器 , 点击右上角 : 选择"设置" , 搜索"证书管理" , 即可查看到以下界面.

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

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

相关文章

黑马在线教育数仓实战6

6. 意向用户主题看板_增量流程 6.1 数据采集(拉链表) 7. hive的索引 ​ 索引的作用: 加快查询的效率 为什么索引可以提升查询效率呢? hive索引是在 分区 分桶优化基础上, 又提供一种新的优化手段, 如果分区 和分桶受限, 可以尝试使用索引的方式来优化处理 hive提供了三种索…

VMware ESXi 8.0U1 macOS Unlocker OEM BIOS (标准版和厂商定制版)

ESXi 8.0U1 标准版,Dell HPE 联想 浪潮 定制版 请访问原文链接: https://sysin.org/blog/vmware-esxi-8-u1-oem/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 2023-04-18, VMware vSphere 8.0U1 发布…

家用洗地机实用吗?家用洗地机款式推荐

要说现在家居清洁用什么单品更省心,洗地机必须要算一项。虽然这在国际上也不是什么新鲜的概念了,但是在国内兴起也只是这几年的事,关于家用洗地机什么牌子最好之类的问题也是很多人都比较关心的问题。我个人也是不喜欢做家务的,家…

C++算法:排序、查找

排序 排序是一个非常经典的问题,它以一定的顺序对一个数组(或一个列表)中的项进行重新排序 有许多不同的排序算法,每个都有其自身的优点和局限性。 时间复杂度:对排序数据的总的操作次数。反映当n变化时,操…

SQL之SQL优化

文章目录 一、插入数据优化insert优化大批量插入数据 二、主键优化数据组织方式页分裂页合并主键设计原则三、order by优化 四、Group By 优化五、limit优化六、count优化count的几种用法 七、update优化总结 一、插入数据优化 insert优化 insert into tb_test values(1, tom…

Linux:centos:系统服务基础控制(systemctl)基础使用 图形化工具ntsysv使用

基础使用的办法为: systemctl控制类型服务名称 控制常用类型为一下几个 start 启动 stop 停止 enable 开机自启 disable 开机不自启 restart 重新启动 reload 重新加载 status 查看服务状态 systemc…

Redis---主从复制

一、redis主从复制 主从复制:是存储数据的服务结构 主服务器:接受客户端连接的服务器 从服务器:自动与主服务器保持数据一致的服务器 配置主从复制 1、环境准备 主服务器 主机名:master IP地址:192.168.11.101/…

在PyCharm中配置Git

防止以后换软件或电脑忘记怎么配置PyCharm,记录一下。 前提 电脑已经安装好了Git工具,安装教程有一个GitHub账号(这不废话嘛…)电脑最好有科学上网工具(要不然拉取、推送等操作总是不成功) PyCharm设置 …

VMware安装苹果系统教程 MAC安装VMware Tools,开启拖拽功能

VMware虚拟机安装苹果系统教程 1 准备工作 安装VM虚拟机、准备Install_macOS_Monterey_12.5 镜像、darwin1012.iso (VMware Tools)、unlocker解锁工具 2 解锁VM虚拟机 默认VM虚拟机是不支持macOS安装的,我们需要对虚拟机进行解锁操作&…

5.java程序员必知必会类库之excel读写库

前言 Excel在数据处理中的重要性自不必说,我们经常会有需求,将数据库中的数据,做过一些处理后,导出一个Excel给运营人员分析。也有需求是将批量的商品数据等,批量录入到我们系统中。直观上可以理解为Excel是客户和系统…

ASP 、PHP 代码加密的安全性逻辑思考

以古董后台语言 asp 为例,为了保证明文代码不被最终使用者修改或抄袭,有多种方法对代码进行编码,执行时再解码。也可以直接将代码全部编译入 COM 组件 ,但是这需要每次都编译,不适合日常使用。 因此,这里考…

【STL十二】适配器——容器适配器

【STL十二】适配器——容器适配器 一、适配器1、适配器简介2、使用适配器的优点3、适配器种类3.1、容器适配器3.2、迭代器适配器3.3、函数适配器(function adapters) 二、容器适配器1、简介2、分类 三、stack适配器1、简介2、构造函数3、成员函数4、demo 三、queue适…

Ubuntu NVIDIA-Docker安装

Ubuntu NVIDIA-Docker安装 Docker简介NVIDIA驱动安装NVIDIA-Docker安装 系统环境: 系统:linux 版本:ubuntu20.04 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#…

WebRTC真实IP泄露

WebRTC真实IP泄露 1.概述2.利用漏洞获取真实IP地址演示3.WebRTC介绍4.WebRTC 泄漏真实IP原理5.防范措施 1.概述 很多人可能误以为使用代理就可以完全隐藏我们的真实IP地址,但实际并不总是这样。事实上,有大量文章指出,WebRTC存在安全风险&am…

零项目零科研,本科排名倒数,一战上岸上海交大电子与通信工程

笔者来自通信考研小马哥23上交819全程班学员 本科就读于哈工大(威海),本科成绩很差,专业排名62/99,没有科研,没有实验室,没有项目,连最基本大家都会参加的科技立项我四年也没有参与…

幽灵空白节点

图片下面为什么会有空白间隙呢&#xff1f;因为内联元素默认都是和 a 的下边缘基线对齐&#xff0c;基线和底部是有一段距离的&#xff0c;所以图片下面有一段间隙。 <style>.container {background-color: red;}img {width: 100px;height: 100px;} </style><d…

误删恢复及备份恢复

误删恢复&#xff0c;及备份恢复 一、误删恢复1.1用losf恢复进程存在的文件1.2恢复EXT类型的文件 二、备份恢复的集中方式2.1用xfsdump&#xff0c;xfsrestore对xfs类型文件进行备份恢复2.2用cpio命令备份恢复2.2.1通过find过滤文件进行备份 一、误删恢复 1.1用losf恢复进程存…

自然语言处理实战项目4-文本相似度的搜索功能,搜索文本内容

大家好&#xff0c;我是微学AI&#xff0c;今天给大家带来自然语言处理实战项目4-文本相似度的搜索功能&#xff0c;搜索文本内容。文本相似度搜索是一种基于自然语言处理技术&#xff0c;用于搜索和匹配文本内容的方法。其主要目的是将用户输入的查询内容与已有的文本数据进行…

c盘满了怎么清理垃圾而不误删?C盘清理,4个方法!

案例&#xff1a;c盘满了怎么清理垃圾而不误删 【我的c盘现在已经爆红了&#xff01;想清理下c盘的文件&#xff0c;但是害怕误删重要的文件&#xff0c;应该怎么做才能清理c盘但不误删重要的文件呀&#xff01;急需答案&#xff01;】 随着时间的推移&#xff0c;c盘可能会因…

游戏服务器如何搭建

无论是游戏公司还是游戏爱好者&#xff0c;游戏服务器都是不可或缺的一部分。游戏服务器承载着游戏的运行和体验&#xff0c;是在所有玩家之间建立连接的纽带。如果你想了解如何搭建游戏服务器以及相关的配置要求&#xff0c;那么本文是无法错过的。在本文中小编将为您介绍如何…