https基础概念

目录

1.什么是https

1.1.https概念

1.2.一些术语

2.https如何加密

2.1.使用对称加密

2.2.使用非对称加密


1.什么是https

首先,https不是http的复数形式

1.1.https概念

(1)产生背景

为什么会出现https,是因为http协议在传输数据的时候,数据容易被窃取和篡改,为了安全性,就产生了https协议,也就是在http协议的基础上加上一个加密层。

最重要的原因是:由于万恶的运营商,篡改里面的一些重要数据,成为运营商劫持。

(2)https是什么?

https是http协议加上一个加密层即可,剩下的和http协议一样,没有区别。

要学习https,就需要先学习http协议,在此基础上,只需要学习加密的过程即可

1.2.一些术语

既然需要加密,那就需要去了解关于加密的一些术语,来自《密码学》

把情书用木箱保护起来,送给女神,女神再用打开木箱,拿到情书。

(1)明文

表示真正要传输的数据,不做任何的掩饰或者加密

(2)密文

就是经过掩饰或者加密后的数据

(3)密钥

用来对明文进行加密的道具或者数据

(4)加密

将明文变成密文的过程称为加密

(5)解密

将密文变成明文的过程称为解密

(6)对称加密

加密和解密,使用同一个密钥

优缺点:加密解密速度快,但是安全性较低

(7)非对称加密

加密和加密,使用不同的密钥。其中分为公钥和私钥,都可以进行加密或者解密

优缺点:加密解密的过程较慢,但是安全性高

2.https如何加密

2.1.使用对称加密

https假设采用对称加密的方式

步骤:

(1)每个客户端向服务器发送自己采取的对称加密的密钥(明文传输)

(2)后续发送的数据都采取密文传输

缺点:

(1)密钥采取明文传输,黑客很容易获取到,信息从而被泄漏

(2)所以,都是采取非对称加密的方式

2.2.使用非对称加密

引入非对称加密,并不是直接对数据进行加密,而是在对称加密的基础上,对“对称密钥”的传输进行加密。

(1)普通非对称加密

原理:当客户端连接上服务器后,服务器就会告诉客户端自己的公钥(私钥由自己保存),客户端就可以使用服务器的公钥对自己的“对称密钥”进行加密发送给服务器,服务器就可以拿着自己的私钥知道客户端的对称密钥是啥;后续客户端使用对称密钥对数据进行加密,服务器也可以解密。

这里即使黑客获取到了中间的数据,也是无法解密的。

(2)存在中间人攻击

上述的过程却存在一个问题,也就是存在中间人攻击问题。

问题介绍:

当客户端向服务器询问公钥,服务器并且返回时,中间人就会截获并篡改。将服务器返回的公钥替换成自己的;当客户端收到后,就会拿着中间人的公钥对自己的对称密钥进行加密发送出去,中间人就可以拿着自己的私钥而拿到对称密钥,再把对称密钥使用服务器的公钥发送给服务器;后续客户端发送给服务器的加密数据,中间人都可以解密了。

中间人要拿着服务器的公钥加密的原因就是为了隐藏自己的存在,发送这一切的问题就是客户端没有办法鉴别公钥是否为服务器的。

(3)解决方法

上述的问题也是有解决方案的,那就是引入公证机构,那么中间人就无法伪造公钥了。

解决方案:服务器会向公证机构申请一个“证书”(类似一个字符串),后续客户端第一次连接上服务器时,就不是询问公钥是啥,而是询问证书是啥?从而可以解决问题。

证书是啥:

证书里面会包含这些内容

 

其中:第六项“数字签名”是由:前面五项内容计算出来的校验和,并且使用公证机构自己的私钥进行加密而成。

客户端拿到证书后如何验证真假:

客户端拿到证书后,就会拿着证书的前五项数据进行计算校验和,得到校验和1;再拿着数字签名使用公证机构的公钥进行解密,得到校验和2,比较两个校验和,如果相等,说明是正确的,否是是假的。(原因:数字签名是公证机构的私钥对校验和1加密得到的,拿着对应的公钥解密就可以得到对应的校验和)

上述做法真正做到安全的原因:

1)如果黑客修改的是证书中服务器的公钥,而不修改数字签名?

在客户端拿着自己计算出来校验和1和自己对数字签名解密出来的校验和2进行对比,就会发送不一致,从而发现证书非法

2)如果黑客修改了证书中服务器的公钥,并且重新计算校验和再得到数字签名是否可以?

黑客无法拿到公证机构的私钥,只能使用其他的私钥进行加密;当客户端使用公证机构的公钥进行加密,就会解密失败,从而判断证书非法

为了保证下载证书的安全性,一般所有公证机构的证书都会直接安装在电脑硬盘上了。

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

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

相关文章

如何通过有效的跟进,吸引国外客户回复?

相信很多外贸业务员都知道,想要走到最终达成订单成交的那一步,首要前提就是客户愿意和你继续谈。第一次询价就买的这种客户属于刚需,可遇而不可求,大部分的客户都需要通过我们坚持不懈的跟进最后达成交易。 所以如何通过有效的跟…

小白学python(第二天)

哈喽,各位小伙伴们我们又见面了,昨天的文章吸收得如何?可有不懂否?如有不懂可以在品论区留言哦,废话不多说,开始今天的内容。 字符及字符串的续讲 字符:英文字母,阿拉伯数字&#x…

大数据面试题之Hive(2)

目录 Hive的join操作原理,leftjoin、right join、inner join、outer join的异同? Hive如何优化join操作 Hive的mapjoin Hive语句的运行机制,例如包含where、having、group by、orderby,整个的执行过程? Hive使用的时候会将数据同步到HD…

Laravel 响应对象深度解析:构建动态 HTTP 响应

在 Laravel 框架中,响应(Response)对象扮演着至关重要的角色,它负责将应用程序的输出发送给客户端。Laravel 的响应系统非常灵活,允许开发者以多种方式构建和自定义响应。本文将深入探讨 Laravel 中响应对象的工作机制…

Keil汇编相关知识

一、汇编的组成 1.汇编指令:在内存中占用内存,执行一条汇编指令会让处理器进行相关运算 分类:数据处理指令,跳转指令,内存读写指令,状态寄存器传送指令,软中断产生指令,协助处理器…

AcWing算法基础课笔记——状态压缩DP:蒙德里安的梦想

状态压缩DP 状态是整数,但把它看成二进制数,二进制中每一位是0或1表示不同的情况。 蒙德里安的梦想 291. 蒙德里安的梦想 - AcWing题库 题目 求把 NM𝑁𝑀 的棋盘分割成若干个 1212 的长方形,有多少种方案。 例如…

electron-builder 打包过慢解决

报错内容如下 > 6-241.0.0 build > electron-builder • electron-builder version24.13.3 os10.0.22631 • loaded configuration filepackage.json ("build" field) • writing effective config filedist\builder-effective-config.yaml • pack…

地下管线管网三维建模系统MagicPipe3D

地下管网是保障城市运行的基础设施和“生命线”。随着实景三维中国建设的推进,构建地下管网三维模型与地上融合的数字孪生场景,对于提升智慧城市管理至关重要!针对现有三维管线建模数据差异大、建模交互弱、模型效果差、缺乏语义信息等缺陷&a…

清科ZF引导基金数据(1990-2023年)

清科ZF引导基金数据,参考经济学家吴超鹏和严泽浩在《经济研究》2023年的研究,通过清科私募通数据库,获取ZF引导基金的管理机构信息。数据涵盖了ZF引导基金的关键信息,如基金名称、管理机构详情、所属层级、发展阶段、地域分布、初…

java学习 - Redis五大数据类型

redis通用命令 命令说明时间复杂度type key判断key的数据类型O(1)keys [pattern]获取数据库中所有符合pattern的keyO(n)dbsize获取数据库的key的数量O(1)exists key判断是否存在key;存在返回1,不存在返回0O(1)del key [key…]删除key;返回删除个数O(1)expire key s…

Batch学习:开启高效学习之旅

Batch学习:开启高效学习之旅 Batch学习是一种学习方法,它将学习内容划分为多个批次进行学习。这种方法有助于学生更好地掌握知识,提高学习效果。本文将详细介绍Batch学习的概念、方法和优势,并探讨如何有效地实施Batch学习。 一…

数据集MNIST手写体识别 pyqt5+Pytorch/TensorFlow

GitHub - LINHYYY/Real-time-handwritten-digit-recognition: VGG16和PyQt5的实时手写数字识别/Real-time handwritten digit recognition for VGG16 and PyQt5 pyqt5Pytorch内容已进行开源,链接如上,请遵守开源协议维护开源环境,如果觉得内…

redis集群简单介绍及其搭建过程

Redis集群 1、哨兵模式 哨兵可以有多个,从服务器也可以有多个,从服务器也可以有多个,在Redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会实现主从切换&#x…

百度大模型安全荣获2024世界智能产业博览会“Find智能科技创新应用典型案例”

6月20日,2024世界智能产业博览会在天津开幕。会议聚焦人工智能、智能网联汽车、智能制造等年度热点议题,由世界智能产业博览会组委会指导,世界智能产业博览会组委会秘书处、中国新一代人工智能战略发展研究院、中国软件行业协会、中国网络空间…

极客之夜 | XCTF国际网络攻防联赛十周年庆典圆满落幕

在数字化浪潮的推动下,网络安全已成为全球关注的焦点。十年磨一剑,XCTF国际网络攻防联赛以其卓越的赛事品质和深远的影响力,成为网络安全领域的一面旗帜。极客之夜,我们齐聚一堂,共同庆祝XCTF的十年辉煌,展…

sheng的学习笔记-AI-高斯混合模型(GMM)

AI目录:sheng的学习笔记-AI目录-CSDN博客 sheng的学习笔记-AI-聚类(Clustering)-CSDN博客需要学习前置知识: 聚类,可参考 sheng的学习笔记-AI-聚类(Clustering)-CSDN博客 EM算法,可参考 sheng的学习笔记-AI-EM算法-CSDN博客 贝…

OVS:网桥的状态:fail_mode模式

目录 1.创建一个普通的ovs网桥不做任何配置 2.检测fail_mode值,默认为空 3.创建netns并配置sto网桥的两个普通端口并配置IP信息 4.默认情况下的两个端口下挂两个虚拟机v3,v4天然通信-ping-ok 5.修改网桥的fail_mode为standalone,原来的通信没有影响 6.修改了…

okcc呼叫中心系统通话声音小有哪几种处理办法?

处理OKCC呼叫中心系统通话声音过小的几种方法包括: 第一种: 1、IP话机:通过话机上的音量调节按钮来进行调节。 2、模拟话机:修改语音网关上的增益来实现。 “ 往IP增益”表示电话呼入的声音调节,主要针对内部分…

伸缩盒模型,flex布局

目录 1、伸缩容器、伸缩项目 2、主轴方向(flex-direction) 3、主轴换行方式(flex-wrap) 4、flex-flow 5、主轴对齐方式(justify-content) 6、侧轴对齐方式_一行(align-items) 7、侧轴对齐方式_多行(align-content) 8、元素水平垂直居中 9、项目在主轴的基准长度(flex-b…

运维.Linux下执行定时任务(中:Cron的常用替代方案)

运维系列 Linux下执行定时任务(中:Cron的常用替代方案) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAd…