HTTPS

news2024/10/2 10:31:57

一、HTTPS是什么

HTTPS也是一个应用层协议,是在HTTP协议的基础上引入了一个加密层。

由于HTTP协议内容一般都是本文方式明文传输的,这就导致它在传输过程中会出现被篡改的情况。

经典案例就是万恶的“运营商劫持”!

除了运营商可以劫持,一些黑客也可以通过类似的手段进行劫持,从而窃取用户隐私信息,或者篡改内容,为了解决这些问题,于是就引入了HTTPS协议。

HTTPS就是在HTTP的基础上进行加密来保证用户的信息安全。

加密的相关概念

明文:要传输的信息。

密文:对明文进行某些加密算法后产生的文字。

加密:就是把明文通过一系列变换后生成密文。

解密:把密文还原为明文

密钥:在加密或者解密的过程中,往往需要一个或多个中间的数据来辅助进行这个过程,这样的数据被称为密钥。

加密的方式有很多,整体可以分为对称加密和非对称加密。

对称加密:通过一个密钥进行加密和解密,最简单的对称加密方式就是进行异或操作。

非对称加密:通过一个“公钥”和一个“私钥”进行加密和解密。非对称加密虽然更安全,但它最大的缺点是运算速度比较慢。

二、HTTPS的工作过程

1、引入对称加密

引入对称加密后,即使请求被黑客截获,黑客没有密钥,也无法知道请求的真实内容。

但一个服务器要服务很多个客户端,每个客户端的密钥都必须是不同的(如果每个客户端的密钥都一样,那么黑客也就能拿到密钥了) ,这样一来,服务器就需要维护每个客户端和其对应密钥的关联关系,这样做会比较麻烦。

更好的做法是,在客户端和服务器建立连接的时候,双方约定好这次的密钥是什么。

但如果直接明文传输密钥,那么黑客也能拿到密钥,后续的操作也就没有意义了。

因此密钥的传输也需要进行加密,如果一直这样加密下去的话就变成了“先有鸡还是先有蛋”的问题了。

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

2、引入非对称加密

非对称加密的公钥是所有人都能拿到的,但是私钥只是服务器才持有的。

通过公钥对明文进行加密得到密文,而只有通过私钥对密文进行解密才能得到明文。

但是道高一尺,魔高一丈,黑客又想出了“中间人攻击”的方式:

黑客相对应客户端来说,把自己伪装成服务器;相对于服务器来说,把自己伪装成客户端,从而获取到每次请求和响应的真实内容并进行篡改。 

3、引入证书

破解“中间人攻击”的方式就是识别出服务器返回的公钥是否是被黑客伪造的公钥,于是就有了“证书”。

在客户端和服务器刚建立连接的时候,服务器返回给客户端一个证书,证书中包含了公钥和网站的身份信息,当客户端获取到证书后,就会对证书进行校验,防止证书是黑客伪造的。

(证书自身有一些校验机制,黑客想要篡改证书,很容易被浏览器识别出来)

浏览器如果发现证书有问题,就会弹窗提示该网站证书不完全,阻止用户继续访问。

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

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

相关文章

如何快速从零开始搭建一个前端项目

2022 年了,如何快速从零开始搭建一个合适的前端项目? 准备工作 首先本地需要安装好 node 环境以及包管理工具,推荐直接使用 pnpm,也可以通过 pnpm 来直接管理 nodejs 版本。 pnpm 安装: # Mac or Linux curl -fsSL…

SpringMVC 环境配置

文章目录引入1、MVC的概念2、Spring MVC基本原理一、导入坐标(导包)导入Spring MVC所需要的jar包二、新建springmvc-config.xml文件三、配置web.xml四、 创建Controller五、配置SpringMVC配置文件六、配置页面其他引入 Spring Web MVC是一种基于Java的实…

cv算法工程师学习教程

前言一,计算机系统 1.1,计算机系统书籍1.2,设计模式教程 二,编程语言 2.1,C 学习资料2.2,Python 学习资料 三,数据结构与算法 3.1,数据结构与算法课程3.2,算法题解 四&am…

数字信号处理及python实现(三)

数字信号处理及python实现三抽样引起的混叠抽样的频域视图样本重建信号拟合正弦波线性与多项式内插理想低通滤波器这是参考知乎的数字信号处理及matlab实现的python实现版本,参考连接 上一期:数字信号处理及python实现(二) 项目文件结构 test为测试文件&#xff…

【Vue】Vue开发实战之我的笔记(ch18-ch27)--20221115

参考https://blog.csdn.net/yfm120750310/article/details/111353963 18 | 为什么需要Vuex 18.1 为什么需要Vuex provide和inject虽然能够实现层层传递的数据管理,但对于一个大的管理系统而言会显得有些繁琐,我们需要一个大型的状态管理系统。 Vuex不…

甘特图是什么?如何快速搭建?

甘特图是什么? 甘特图是一种条状图,直观展示项目进展随时间的走势及联系。其中,项目时间由横轴表示,项目活动由纵轴表示。整体线条表示整个项目期间内,计划和实际的活动完成情况。甘特图起初用于美国胡佛水坝和美国洲…

cpe(通用平台枚举)命名规范及python CPE库实战

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理…

一文看懂Linux 页表、大页与透明大页

一、 内存映射与页表 1. 内存映射 我们通常所说的内存容量,指的是物理内存,只有内核才可以直接访问物理内存,进程并不可以。 Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址空间是连续的。这样,…

如何用Python 快速搭建HTTP服务器

Python具有语法简单、语句清晰的特点,而且Python的兼容性比较好,可以将其他语言制作的模块联结起来,具有强大且丰富的库,封装后可以轻松调用,因此成为编程语言中的“网红“,甚至被称为非计算机从业者的第一语言。 Python在IT就业市场也是最受欢迎、最热门的技术技能…

SpringBoot整合Redis

SpringBoot整合Redis 文章目录SpringBoot整合Redis一 .简介1. redie是什么?2. redie的使用场景?二 . 使用1. 引入依赖2. 配置文件3. 启动redis4. 创建Redis工具类5. 创建测试类6. 查看效果一 .简介 1. redie是什么? Redis是现在最受欢迎的N…

图解计算机的存储器金字塔

本文已收录到 GitHub AndroidFamily,有 Android 进阶知识体系,欢迎 Star。技术和职场问题,请关注公众号 [彭旭锐] 进 Android 面试交流群。 前言 大家好,我是小彭。 在计算机组成原理中的众多概念中,开发者接触得最…

LeetCode-剑指43-1-n整数中出现1的次数

1、逐位统计 我们统计每一位k上面可能出现1的次数:1、对于每一位k上面的出现的1,我们首先统计其出现(n/10k)10k−1(n/10^k)\times10^{k-1}(n/10k)10k−1次的1;2、考虑到存在余数的情况,我们还需要比较剩余余数中出现1的次数&…

浅谈HTTP缓存与CDN缓存的那点事

HTTP缓存与CDN缓存一直是提升web性能的两大利器,合理的缓存配置可以降低带宽成本、减轻服务器压力、提升用户的体验。而不合理的缓存配置会导致资源界面无法及时更新,从而引发一系列的衍生问题。本文将分别将从HTTP缓存与cdn缓存的规则、流程、配置入手&…

XSS挑战之旅1-10关

文章目录前言第1关第2关第3关第4关第5关第6关第7关第8关第9关第10关前言 漏洞介绍:XSS漏洞 参考文章:XSS挑战之旅 游戏规则:触发alert()弹窗,进入下一关 第1关 进入第一关 随便输入一下,观测输出,看源代…

还在为数据库事务一致性检测而苦恼?让Elle帮帮你,以TDSQL为例我们测测 | DB·洞见#7

数据库用户通常依赖隔离级别来确保数据一致性,但很多数据库却并未达到其所表明的级别。主要原因是:一方面,数据库开发者对各个级别的理解有细微差异;另一方面,实现层面没有达到理论上的要求。 用户在使用或开发者在交…

147. SAP UI5 SmartTable 控件的使用介绍

本文来自笔者 SAP 开发技术交流知识星球内一位朋友的提问: smartfilter bar 有个输入框Cost Element绑定了cds实现value help 请问其对应的suggestion功能是通过cds的注解实现的嘛? 要回答这个问题,我们必须首先掌握 SAP UI5 SmartTable 控件的使用方式,然后才能深入探究 …

【Tensorflow】使用Tensorflow自定义模型和训练

Tensorflow的核心与NumPy非常相似,但具有GPU支持;Tensorflow支持分布式计算(跨多个设备和服务器)。 像NumPy一样使用TensorFlow 运算符是在Python 3.5 中添加的,用于矩阵乘法,等效于 tf.matmul() 函数。…

C++数据结构迷宫哈希表二叉树

C数据结构迷宫哈希表二叉树 《数据结构》应用系统设计——迷宫问题 问题描述:设计算法求出并显示从入口点到出口点可沿八个方向前进的一条通路,或显示没有通路 难度:易 基本要求: (1)键盘(或文件)输入迷宫行数m和列数n,计算机随机生成迷宫(或从文件读入…

robots (攻防世界)

前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 进入网址 啥也没有 解题工具: 额...浏览器? (可能还需要百度) 问题解析: 科普时间到 robots协议也称爬虫协议、爬虫规则等, 是指网站建立一个robots.txt文件来告诉搜索引擎哪些…

安卓 手机硬改 工具下载 一键新机 改串 抹机 root隐藏 改串号MEID imei SN信息 工具教程分享

一键新机、模拟机型、一键备份、还原APP数据、ROOT隐藏、修改数据、保护隐私 一键新机 超过3000机型一键模拟、无束缚轻松做注册、激活、留存 安卓/IOS(进行中) 支持目前最流行的机型,安卓全机型兼容,我们坚持领先一步 操作简单 适合脚本作者 群控…