HTTPS协议简述

news2025/1/23 16:58:04

HTTPS 协议简介

HTTPS 是 HTTP + Security 的组合,即在 HTTP 的基础上加入了安全性机制,主要通过加密传输、身份认证和数据完整性保护来确保通信的安全性。

为了实现这一目标,HTTPS 引入了 加密技术,包括对称加密、非对称加密和数字证书机制。


1. 对称加密

概念

对称加密是一种加密方式,服务器和客户端共用一个密钥。信息通过密钥进行加密和解密,密钥本身也需要在双方之间传递。

优点
  • 算法简单,效率高。
缺陷
  • 密钥分发问题:服务器需要将密钥发送给客户端。如果密钥以明文形式传输,可能被黑客劫持,导致通信内容被篡改或窃取。

2. 非对称加密

概念

非对称加密使用一对公钥和私钥,其中:

  • 公钥:可公开,用于加密数据。
  • 私钥:仅自己保管,用于解密数据。
工作流程
  1. 服务器生成一对公钥和私钥,并将公钥发送给客户端。
  2. 客户端随机生成一个对称加密的密钥,并用服务器的公钥对其加密。
  3. 加密后的对称加密密钥传回服务器,服务器用私钥解密,获取该密钥。
  4. 后续通信使用该对称加密密钥进行加密和解密,提升效率。
优点
  • 解决了密钥明文传输的问题,确保密钥的安全性。
缺陷
  • 中间人攻击
    如果黑客拦截了服务器的公钥,并伪造一对公钥和私钥传递给客户端,那么客户端会用伪造的公钥加密数据,黑客可以解密这些数据,窃取或篡改后再传给服务器。
    核心问题在于:客户端无法确认公钥的真实来源。

3. CA 机构与数字证书

概念

CA(Certificate Authority)是数字证书认证机构,用于解决公钥来源不明的问题。
服务器的公钥需要由 CA 进行签名,生成 数字证书,数字证书可以帮助客户端验证公钥的真实性。

工作流程
  1. 服务器生成证书申请
    • 服务器将自己的公钥和其他信息(如域名)提交给 CA 机构,申请签名。
  2. CA 签名
    • CA 使用自己的私钥对服务器提交的信息进行签名,并生成数字证书。
    • 数字证书包含服务器的公钥、域名信息、有效期,以及 CA 的签名。
  3. 客户端验证证书
    • 客户端收到服务器的数字证书后,会用 CA 的公钥验证签名是否有效。
    • 如果验证成功,则说明服务器的公钥是可信的;否则,提示用户证书异常。
优点
  • 确保公钥的来源可信,防止中间人攻击。
缺陷
  • CA 机构可能被人为控制,若 CA 对黑客签发虚假证书,也可能导致安全问题。

4. HTTPS 的完整工作流程

  1. 客户端发起 HTTPS 请求,服务器返回数字证书。
  2. 客户端验证证书:检查证书的合法性,包括签名有效性和域名匹配。
  3. 验证通过后,客户端生成对称加密密钥,用服务器公钥加密后发送给服务器。
  4. 服务器用私钥解密,获取对称加密密钥。
  5. 后续通信使用对称加密进行加密和解密。

5. 补充机制:签名服务器

签名服务器可以进一步增强安全性,避免 CA 单点故障或人为控制的问题。具体原理较复杂,常结合区块链技术,实现分布式的可信签名。

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

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

相关文章

初阶5 排序

本章重点 排序的概念常见排序的算法思想和实现排序算法的复杂度以及稳定性分析 1.排序的概念 排序: 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性: 假定在待排序的记录序列中&#xff0…

【优选算法】6----查找总价格为目标值的两个商品

这道题相对于前寄到算法题较为容易~ 同样也是使用了双指针的算法哦~ ----------------------------------------begin-------------------------------------- 题目解析: 题目也是很简单地一句话,但是意图还是很明确~ 讲解算法原理: 同样的&…

windows11关闭系统更新详细操作步骤

文章目录 1.打开注册表2.修改注册表内容2.1 新建文件2.2 修改值 3.修改设置 1.打开注册表 winR输入regedit(如下图所示) 2.修改注册表内容 进HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings 2.1 新建文件 右侧界面右键即可 2.2 修改值 重命名为如下…

HTML5使用favicon.ico图标

目录 1. 使用favicon.ico图标 1. 使用favicon.ico图标 favicon.ico一般用于作为网站标志,它显示在浏览器的地址栏或者标签上 制作favicon图标 选择一个png转ico的在线网站,这里以https://www.bitbug.net/为例。上传图片,目标尺寸选择48x48&a…

C++打字模拟

改进于 文宇炽筱_潜水 c版的打字效果_c自动打字-CSDN博客https://blog.csdn.net/2401_84159494/article/details/141023898?ops_request_misc%257B%2522request%255Fid%2522%253A%25227f97863ddc9d1b2ae9526f45765b1744%2522%252C%2522scm%2522%253A%252220140713.1301023…

图像处理基础(3):均值滤波器及其变种

均值滤波器可以归为低通滤波器,是一种线性滤波器,其输出为邻域模板内的像素的简单平均值,主要用于图像的模糊和降噪。 均值滤波器的概念非常的直观,使用滤波器窗口内的像素的平均灰度值代替图像中的像素值,这样的结果就…

《2024年度网络安全漏洞威胁态势研究报告》

2024年,全球网络安全领域继续面对日益严峻的挑战。在数字化转型的大背景下,漏洞利用成为网络攻击的重中之重。根据统计,全球新增漏洞数量再创新高,漏洞的复杂性加剧,修复周期也在不断缩短。然而,攻击者的手…

备赛蓝桥杯之第十五届职业院校组省赛第二题:分享点滴

提示:本篇文章仅仅是作者自己目前在备赛蓝桥杯中,自己学习与刷题的学习笔记,写的不好,欢迎大家批评与建议 由于个别题目代码量与题目量偏大,请大家自己去蓝桥杯官网【连接高校和企业 - 蓝桥云课】去寻找原题&#xff0…

winfrom项目,引用EPPlus.dll实现将DataTable 中的数据保存到Excel文件

最近研究不安装office也可以保存Excel文件,在网上查询资料找到这个方法。 第一步:下载EPPlus.dll文件(自行去网上搜索下载) 第二步:引用到需要用的项目中,如图所示: 第三步:写代码…

失业ing

零零碎碎记一下unity相关的东西备忘 渲染: https://github.com/festivities/PrimoToon 仿原神的卡通渲染, 参照这种文档: Unity Built-in Shader转URP Shader 接口查询对照表之类的 自己强行改api到urp可用,改了三四天&…

Linux——多线程的控制

Linux——线程的慨念及控制-CSDN博客 文章目录 目录 文章目录 前言 一、线程函数的认识 1、基本函数的回顾 1、线程的创建pthread_create 2、线程阻塞pthread_join 3、线程退出pthread_exit 2、线程的分离pthread_detach 3、互斥锁初始化函数:pthread_mutex_init 4、…

“AI教学培训信息资源综合管理系统:让教学更精准、更高效

大家好,作为一名资深产品经理,今天我就跟大家聊聊AI教学培训信息资源综合管理系统。在这个信息爆炸的时代,如何高效地管理教学培训信息资源,成为了教育行业的一大痛点。而AI技术的融入,无疑为解决这个问题提供了强有力…

Net Core微服务入门全纪录(三)——Consul-服务注册与发现(下)

系列文章目录 1、.Net Core微服务入门系列(一)——项目搭建 2、.Net Core微服务入门全纪录(二)——Consul-服务注册与发现(上) 3、.Net Core微服务入门全纪录(三)——Consul-服务注…

vue3+webOffice合集

1、webOffice 初始化 1)officeType: 文档位置:https://solution.wps.cn/docs/web/quick-start.html#officetype 2)appId: 前端使用appId 后端需要用到AppSecret 3)fileId: 由后端返回,前端无法生成,与上传文…

Python - itertools- pairwise函数的详解

前言: 最近在leetcode刷题时用到了重叠对pairwise,这里就讲解一下迭代工具函数pairwise,既介绍给大家,同时也提醒一下自己,这个pairwise其实在刷题中十分有用,相信能帮助到你。 参考官方讲解:itertools --- 为高效循…

【优选算法】5----有效三角形个数

又是一篇算法题,今天早上刚做的热乎的~ 其实我是想写博客但不知道写些什么(就水一下啦) -------------------------------------begin----------------------------------------- 题目解析: 这道题的题目算是最近几道算法题里面题目最短的&a…

C语言中 指针类型的意义

对于初学者也包括我来说指针不就是来存放地址的吗 应该会有一个疑惑 为什么还有那么多类型char* int*等等不都能存放一个地址无论是整形还是字符 那这个指针类型能有什么意义呢 有的有的兄弟 他的真正意义就在于解引用上面*p 指针类型决定了 指针进行解引用操作时 一次能访问…

easyexcel读取写入excel easyexceldemo

1.新建springboot项目 2.添加pom依赖 <name>excel</name> <description>excelspringboot例子</description><parent> <groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId&…

数据结构(精讲)----栈 stack

什么是栈 栈是只能在一端进行插入和删除操作的线性表(又称为堆栈)&#xff0c;进行插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。 特点&#xff1a;栈是先进后出FILO(First In Last Out) (LIFO(Last In First Out)) 顺序栈 特性 逻辑结构&#xff1a;线性结构…

Hexo + NexT + Github搭建个人博客

文章目录 一、 安装二、配置相关项NexT config更新主题主题样式本地实时预览常用命令 三、主题设置1.侧边栏2.页脚3.帖子发布字数统计 4.自定义自定义页面Hexo 的默认页面自定义 404 页自定义样式 5.杂项搜索服务 四、第三方插件NexT 自带插件评论系统阅读和访问人数统计 五、部…