https基础概念

news2024/10/10 0:25:41

目录

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.coloradmin.cn/o/1863103.html

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

相关文章

昇思25天学习打卡营第一天|快速入门

背景 华为组织了昇思25天学习营,从基础开始,提供算力支持,还是体验蛮好的。推荐大家报名参加。 学习内容 今天的内容是快速入门,很简单,当是复习基础内容了。 下载数据集》模型组网》模型训练》保存模型&#xff0c…

oracle 11g rac创建实例时发现只给一节点创建了实例 二节点没创建的处理方法

由于操作失误没有在二节点创建实例 删除数据库重新dbca建库 [oracleracdg1-1 dbs]$ dbca -silent -deleteDatabase -sourceDB rac11dg1 -sysDBAUserName sys -sysDBAPassword oracle_4U Connecting to database 4% complete 9% complete 14% complete 19% complete 23% …

electron+vue3+vite

1.创建工程 开源的electron构建脚手架:GitHub - electron-vite/electron-vite-vue: 🥳 Really simple Electron Vite Vue boilerplate. 1.使用命令创建工程(node版本在16上) npm create electron-vite 2.项目目录结构 2.安装依…

如何成为专业的 .NET 开发人员

如今,网上有大量信息,找到正确的信息并非易事。当你开始编程之旅并希望获得全面的指南时,最好寻找一个可以指导你完成整个过程的指南。 本文将帮助您制定一份路线图,告诉您什么是重要的以及什么是需要学习的. 一.一切从软件基础…

感谢我的辅导员—敬爱的罗老师

前言:快毕业了,想在毕业季感谢给予我帮助的老师,我的辅导员-罗老师是我最想感谢的大学老师。我不知道应该以什么样的方式去表达罗老师对我大学阶段的帮助,如果是直接发邮件,微信信息留言,可能在之后我和老师…

虚拟与现实的四种交互方式:复刻、增强、虚拟与混合。

经常有小伙伴搞不清楚这些概念,这次我就用极其浅显的语言和示例来说明这个问题。 "复刻现实"、"虚拟现实"、"增强现实"和"混合现实"是四种不同的技术概念,它们代表着不同的虚拟现实交互方式: 1. 复…

如何给小语种视频生成字幕

目前我们常看的有视频有中、英、日、韩这四种语言,如果我们想给其他的不常用的语言生成字幕怎么办?今天教大家如何给其他语言生成视频字幕文件 打开智游剪辑(zyjj.cc)搜索字幕生成,选择多语种那个就可以了 然后上传我们…

密码学及其应用 —— Java中的安全性

1. 简介 Java是一种广泛使用的编程语言,特别是在企业级解决方案中,比如使用J2EE、JavaBeans等技术。在Web开发领域,Java也有其应用,如客户端的applet和服务器端的Servlets/JSP。 1.1 Java的特点 面向对象:Java是一种面…

Keil 5编译出现misc.c(90): error: no member named ‘IP‘ in ‘NVIC_Type‘

no member named ‘IP’ in ‘NVIC_Type’ 我们在使用Keil 5编译器的AC6进行代码编译的使用,出现如下的错误; 当前的环境 编译器版本 Keil uVision5,V5.31.0.0; CMSIS-Core 版本V6…1.0; 采用GD32F407VK主芯片&…

[吃瓜教程]南瓜书第3章对数几率回归

第三章 对数几率回归 3.1 算法原理 对数几率回归(Logistic Regression)是一种统计方法,主要用于二分类问题。它通过拟合一个对数几率函数(logit function),即对数几率(log-odds)与…

微信小程序传统开发登录和云开发登录的区别

1. 传统开发登录流程 1. 用户端调用wx.login从微信服务器获取code; 2. 用户端用wx.request将获取的code传递给后端服务器; 3. 后端服务器将拿到的code传给微信服务器,换取openid和session_key; 4. 后端服务器将获取到的信息返回给用户端&#xff1b…

添加阈值滞后以实现平滑的欠压/过压锁定

电阻分压器将高压衰减到低压电路可以承受的水平,而不会过驱动或损坏。在电源路径控制电路中,电阻分压器有助于设置电源欠压和过压锁定阈值。这种电源电压鉴定电路存在于汽车系统、电池供电的便携式仪器以及数据处理和通信板中。 欠压锁定 (UVLO) 可防止…

Talking Web

1. curl 1.1 http curl http://127.0.0.1:80 向目标主机端口发送http请求 1.2 httphead curl -H “Host: 18ed3df584cd48328b5839443aa7b42b” http://127.0.0.1:80 1.3 httppath curl http://127.0.0.1:80/853c64cd218f80d0a59665666fb2ab80 1.4 URL编码路径 &#xff0…

论文 | WebGPT: Browser-assisted question-answering with human feedback

什么是WebGPT? WebGPT是对GPT-3微调后得出的模型,它可以像人类一样在线搜索问题的答案,并添加引用来源,更加准确地回答开放式问题。 在回答问题时,WebGPT可以通过浏览器进行搜索,在不同链接中寻找相关答案&#xff…

第5讲:建立自己的C函数库,js调用自己写的C/C++函数,并包含依赖C/C++第三方静态库。

在javascript中,Array有很多内置的功能,比如Array.map,Array.filter,Array.find等等,能用内置的功能就用内置的功能,最好不要自己实现一套,因为底层调用的可能压根就不是js语言本身,…

windows 安装 Kubernetes(k8s)

windows 安装 docker 详情见: https://blog.csdn.net/sinat_32502451/article/details/133026301 minikube Minikube 是一种轻量级的Kubernetes 实现,可在本地计算机上创建VM 并部署仅包含一个节点的简单集群。 下载地址:https://github.…

SSM 美食食谱分享推荐系统【附源码】

SSM 美食食谱分享推荐系统 本科毕业论文(设计)学术诚信声明 本人郑重声明:所呈交的毕业论文(设计),是本人在导师的指导下,独立进行 研究工作所取得的成果。除文中已经注明引用的内容外&#xf…

嵌入式应用开发ADC学习笔记(立创STMF4开发板)

目录 #ADC #ADC学习相关涉及概念介绍 #ADC相关概念介绍 #软件实现 #常用结构体配置介绍 #常用函数介绍 #软件编写,完成效果。 #ADC #ADC学习相关涉及概念介绍 数字信号(Digital Signal):数字信号用最为常见的二进制数来表示的信号&#x…

k8s部署mongodb副本集

1.什么mongodb? MongoDB 是一个基于分布式文件存储的数据库,由 C 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富&#xff…

excel实现下拉筛选(超简单)

excel实现下拉筛选 引言1、需求:预警状态下的列 实现下拉筛选2、实现2.1、数据验证2.2、下拉筛选内容2.3、去掉预警状态单元格的下拉筛选 引言 通常,我们会单独新建一张sheet表 专门存每个列的下拉内容。下面我将专门建立一张名为代码表的sheet表来存放…