【计算机网络】应用层协议Https

news2025/2/23 22:42:16

文章目录

  • 前言
  • Http
  • 加密方法
    • 对称加密
    • 非对称加密
    • 数据摘要(数据指纹)
    • 数字签名
  • 加密方案
    • 只使用对称加密
    • 只使用非对称加密
    • 双方都使用非对称加密
    • 对称+非对称
  • 证书

前言

上一篇文章中,我们提到http是不安全的,尽管采用了cookie和session的方案,仍然有可能被中途拿走用户信息,针对http不安全的特性,https顺势诞生。

Http

http在传输过程中,完全是明文传送,这样信息很有可能被篡改和盗取,https在http基础上新增了一层加密层,保证数据安全可靠,不被篡改。

由于我们的数据包都会经过运营商/黑客的网络设备,运营商的网络设备就可以解析出我们传输的任何数据,并直接进行篡改。

加密方法

在互联网上明文传输是非常危险的,因此我们最好对数据进行加密。常见的加密方法有以下几种

对称加密

  • 采用单密钥系统的加密,同一个密钥既可以加密和解密
  • 算法公开,计算量小,效率较高

非对称加密

  • 需要两个密钥来进行加密,分别是公钥和私钥
  • 算法强度很高,加密速度非常慢。

公钥对数据加密后,形成密文
私钥对密文解密后,形成明文

私钥对明文加密后,形成密文
公钥对密文解密后,形成明文

数据摘要(数据指纹)

数据指纹(数据摘要):如图字面意思,就是利用单向的哈希函数对信息运算,生成一串固定长度的数字摘要,这个过程是不可逆的。

数据指纹不是一种加密机制,但可以判断数据有没有被篡改,因为任何一点修改都会让数据指纹大幅度变化。

数字签名

将数字摘要进行加密后,就形成了数字签名。

数字摘要也必须要加密,不然中间人完全可以把哈希值重新计算骗过我们。

加密方案

只使用对称加密

只使用方案一是不安全的,因为在交换密钥的时候我们仍然要明文传输,中间人完全有能力拿到这个密钥。同时,服务器需要维护每个客户端对应的密钥关系,也非常麻烦。
在这里插入图片描述

只使用非对称加密

服务器依然要向客户端明文发送自己的公钥,这让中间人有机可乘,偷偷替换为自己的公钥B。
在这里插入图片描述

双方都使用非对称加密

这种方式依然会被中间人劫持,同时还衍生出了效率问题。
在这里插入图片描述

对称+非对称

方案4在3的基础上提高了效率,但依然无法避免安全问题。中间人仍然可以替换公钥A。
在这里插入图片描述

证书

综合上述方案,我们发现,即使后续中间人无法干涉,但我们无法确保客户端收到的公钥一定是客户端发送的!

服务端在使用HTTPS前需要向CA机构申领数字整数,服务器将证书给浏览器,浏览器直接在证书获取公钥,证书必须具有权威性。

CA认证流程:
在这里插入图片描述
签名和验证:
在这里插入图片描述

那CA机构的公钥就不怕被中间人截取了吗?因为CA机构是权威机构,为了保证合法性,一般在浏览器和操作系统内部,出厂下载的时候就内置了CA的公钥。

  • 改变数据会让hash值改变,与正确的散列值不同
  • 改变签名,无法被正确的CA公钥正确解密
  • 无法自己替换证书,因为只有CA具有私钥

综上,对称+非对称+CA认证的证书共同保证了https是一个安全的协议!

公钥私钥生成

其他问题:

  • 为什么哈希值要加密?要防止中间人重新计算哈希值

  • 为什么要哈希,直接对签名加密就好了?为了节省时间。

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

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

相关文章

数字电路 || 逻辑代数基础

逻辑函数和最小项 最大项和最小项 Tips:最小项的反是最大项,最大项的反是最小项。即, 计算题,分清与或式/或与式 转换关系 卡诺图 A是高位,BC是低位 在卡诺图上合并最小项:圈要少、圈最大&#xff0…

【word密码】Word编辑权限,如何设置?

Word文档可以设置加密来保护文件禁止修改,但是在word文档中设置限制编辑功能时对它的作用是否有详细的了解呢?今天为大家介绍word限制编辑功能的作用以及忘记了限制编辑密码该如何解决。 设置限制大家应该都清楚,就是点击工具栏中的审阅 – …

手机录音转文字让你工作更轻松

你是否经常需要把一段重要的录音转换成文字,但又不想手动去打字?现在,有许多手机软件可以帮助你实现这个目标,但面对如此多的选择,你可能会感到不知所措。不要担心,如果你还不知道录音转文字手机软件哪个好…

日常BUG ——乱码

😜作 者:是江迪呀✒️本文关键词:日常BUG、BUG、问题分析☀️每日 一言 :存在错误说明你在进步! 一、问题描述 A系统使用Feign调用B系统时,传递的String字符串,到了B系统中变为了乱…

java 文件/文件夹复制,添加压缩zip

复制文件夹,并压缩成zip 需求:创建A文件夹,把B文件夹复制到A文件夹。然后把A文件夹压缩成zip包 public static void main(String[] args) throws Exception {try {String A "D:\\dev\\program";String B "D:\\program";// 创建临…

记录一下shardingsphere-jdbc查询分表使用union all的低级错误

使用shardingsphere-jdbc查询犯的低级错误,union all 字段没对齐,导致分片值有空值或数据不对,分片结果不对 有个数据同步的功能,对应的表使用到了shardingsphere-jdbc进行分表,所以想着是用shardingsphere-jdbc取数据…

华为Mate30报名鸿蒙 HarmonyOS 4.0.0.108 系统更新

华为 Mate 30 系列于 2019 年 11 月 1 日上市,包括 Mate 30 4G / 5G、Mate 30 Pro 4G / 5G、保时捷设计版 Mate30 共五款机型。华为 Mate 30 系列 5G 版搭载麒麟 990 5G 处理器,同时支持 SA 及 NSA 5G 双模,适配三大运营商的 5G / 4G / 3G / …

Vue3 :组合式写法入门

Vue3 :组合式写法入门 Date: May 11, 2023 Sum: 使用create-vue搭建Vue3项目、组合式API - setup、reactive和ref、computed、watch、生命周期函数、父子通信、模版引用、provide/inject 认识Vue3 1. Vue3组合式API体验 通过 Counter 案例 体验Vue3新引入的组合式…

回顾5款实用小软件,希望大家能够喜欢

我喜欢分享好软件,这就像与老友聊天一样让我感到快乐。在这个过程中,我可以回顾这些实用的小工具,也希望它们可以帮助到更多人。 稍后阅读工具——Pocket Pocket是一个非常好用的文章保存工具,它可以让你保存感兴趣的文章或网页,稍后在任何设备上进行离线阅读。无论你在电脑或…

活动预告|聊聊Moonbeam治理和生态Grants

为Web3设计良好的治理机制是一项具有挑战性的任务。去中心化治理系统对于Web3的发展至关重要。高效运行的治理机制有助于项目的稳定运行,同时又能提升社区用户的参与度,Web3开发者的凝聚力和活跃度,甚至促进更多创新的商业应用在公链生态落地…

pycharm中配置conda

安装好pycharm和conda后,打开pycharm:

mac电脑 node 基本操作命令

1. 查看node的版本 node -v2. 查看可安装的node版本 sudo npm view node versions3. 安装指定版本的node sudo n 18.9.04. 安装最新版本node sudo n latest5. 安装最新稳定版 sudo n stable6. 清楚node缓存 sudo npm cache clean -f7. 列举已经安装的node版本 n ls 8. 在…

【脚踢数据结构】深入理解栈

(꒪ꇴ꒪ ),Hello我是祐言QAQ我的博客主页:C/C语言,Linux基础,ARM开发板,软件配置等领域博主🌍快上🚘,一起学习,让我们成为一个强大的攻城狮!送给自己和读者的一句鸡汤🤔&…

哨兵2号在SNAP中去云处理后

1.Fmask软件需要对1C级产品进行处理 软件下载,链接到github地址 我下载的是4.5版本,无脑安装即可。 双击打开软件(需要等一会),长这样 路径选择E:\S2\S2A_MSIL1C_20220806T032531_N0400_R018_T49RBQ_20220806T054540\S2A_MSIL1…

每天一道leetcode:剑指 Offer 12. 矩阵中的路径(中等DFS深度优先遍历)

今日份题目: 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元…

一文讲述什么是数字孪生?

当前世界正处于百年未有之大变局,数字经济在各国已成为经济发展的重点。数字经济也是我国社会经济发展的必经之路。 近些年,大数据、人工智能、数字孪生等技术的发展促使技术与国内各产业进一步融合,从而推动了各产业在智能化、数字化等方面…

雷军写的代码上热搜了!

就在昨天,「雷军写的代码」相关话题先后上了一波热搜和热榜。 出于好奇,第一时间点进去围观了一波。 原来雷总马上要在8月14日举办他的2023年度演讲了,并且也放出了对应的演讲海报。 这个海报可以说暗藏玄机,放大后仔细一看&#…

前端部署流程详解

部署流程 1.打包前端项目成一个dist文件夹 命令: npm run build作用:用vue-cli内部集成的webpack,把 .vue, .less, .js 等打包成浏览器可直接执行的代码 html,css,js。 结果:会在项目根目录下创建 /dist目录&…

UEFI+win7+多系统安装

物理主机先安装的Windows10,同时需要安装Windows7的双系统 1.在https://next.itellyou.cn/下载Windows 7 ISO 2.使用Rufus制作U盘安装盘 注意一定要选择FAT32格式,否则安装过程会卡住 3.由于官方纯净的安装镜像默认不支持UEFI安装,有两种解决…

github的issue最大支持的字符数为65536 characters

Issue templates and forms are currently unavailable. Please try again later. Comment is too long (maximum is 65536 characters) There was an error creating your Issue: body is too long (maximum is 65536 characters). 所以不能存储内容过大的markdown笔记&…