2021,2022,2023年1-8月看了很多技术书籍,现在想来忘了很多,用到的也不多,但是因为提前接触过,所以很多新东西,接受起来,比预想的要容易些。最近突然想要回忆下HTTPS,居然回忆不起来了,哎。在此记录下。

HTTPS通信过程:

例如:打开https://www.csdn.net/ 的首页

1. 客户端发起请求(ClientHello)

在打开一个https网址时先由客户端发起请求。
内容:客户端自身支持的SSL/TLS(Secure Sockets Layer安全套接层/Transport Layer Security传输层安全)版本,
加密套件列表(如TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256)、随机数(Client Random)。
目的:与服务端协商加密参数,启动安全连接。

2. 服务器响应(ServerHello + Certificate)

内容:
1:ServerHello:服务端选择协议版本,加密套件,生成随机数(Server Random)
2:Certificate:发送数字证书(含公钥,数字签名),证明自身身份。可选:可选ServerKeyExchange:若使用ECDHE等算法,发送额外密钥交换参数。客户端会使用此证书内的公钥加密http的内容与服务端通信,而只有作为与公钥配
对的私钥才能解密通信内容,所以全世界只有此服务器可以知道你们的通信内容。除
非密钥泄露,或被破解。

3 客户端验证证书

证书链校验:验证服务器证书是否由可信CA签发,逐级追溯至根证书。有效期检查:确保证书未过期。域名匹配:检查证书中的域名(如SAN字段)与访问地址一致。吊销检查:通过CRL(证书吊销列表)或OCSP(在线证书状态协议)确认证书未被吊销。失败处理:若验证失败(如证书过期、域名不匹配),浏览器会警告用户。

4. 密钥交换(ClientKeyExchange)

非对称加密通信阶段:客户端生成预主密钥(Pre-Master Secret),用服务器公钥加密后发送。服务器用私钥解密,获取预主密钥。
会话密钥生成:
双方基于预主密钥、Client Random、Server Random,通过为随机数函数
(PRF)生成对称加密密钥(Master Secret)非对称加密安全性高,但是加密性能差,所以用在协商对称加密密钥的阶段。
对称加密密钥协商完毕后,双方切换致基于此密钥的对称加密算法通信。

5. 加密通信开始

    ChangeCipherSpec:双方通知对方切换至协商好的加密算法。Finished消息:发送加密的握手完成消息,验证密钥正确性。数据传输:使用会话密钥进行AES等对称加密,确保高效安全通信。

PKI(公钥基础设施)之余HTTPS的主要作用:

1:数据加密
2:完整性保护:确保数据完整、未被篡改
3:不可抵赖性、不可否认性
4:身份认证
5:数字证书管理:CA/RA负责证书的签发、更新、吊销及CRL发布。PKI除了用在HTTPS中,还可以用于:电子邮件、虚拟专用通道、数字文档签名盖章、软件保护、加密狗等领域

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

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

相关文章

SVG 在 VSCode 中的使用与优势

SVG 在 VSCode 中的使用与优势 引言 SVG(可缩放矢量图形)是一种基于可扩展标记语言的图形图像格式,与传统的位图格式(如 JPEG 或 PNG)相比,SVG 图像具有更高的灵活性和可缩放性。随着前端开发领域的不断发展,SVG 在网页设计中的应用越来越广泛。本文将介绍 SVG 在 Vis…

Ubuntu开放mysql 3306端口

Ubuntu开放mysql 3306端口 1. 检查 UFW 防火墙规则2. 检查 iptables 规则 1. 检查 UFW 防火墙规则 sudo ufw status verbose | grep 3306若输出包含 3306/tcp ALLOW,表示端口已开放(如下) ubuntuUbuntu2404:~$ sudo ufw status verbose | grep 3306 3306/tcp …

CentOS 卸载docker

1、停止docker服务 systemctl stop docker.socket systemctl stop docker systemctl stop containerd 2、列出已安装的docker包 yum list installed | grep -i docker 输出如下: containerd.io.x86_64 1.6.33-3.1.el7 docker-ce-stab…

MySQL数据库----DML语句

目录 DML-介绍SQL-DML-添加数据SQL-DML-修改数据SQL-DML-删除数据 DML-介绍 DML英文全称是 Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增删改操作。 添加数据(INSERT) 修改数据(UPDATE&#xff…

Prompt:提示词工程

前言在LLM大放异彩的今天,一个简单的问题,可能就会引出一个方案,一篇散文,而驱动这一切的,正是输入的“提示词(Prompt)”Prompt工程就是:与大模型打交道时,如何更好地设计…

GSAP 动画库在 Vue3 项目中的使用总结

前言 GSAP(GreenSock Animation Platform)是目前最强大的 JavaScript 动画库之一,以其出色的性能和简洁的API而闻名。本文将基于实际项目经验,详细介绍如何在 Vue3 项目中使用 GSAP 创建流畅、专业的动画效果,包括核心…

【字节跳动】数据挖掘面试题0007:Kmeans原理,何时停止迭代

文章大纲 K-means 原理与迭代停止条件⚙️ 一、K-Means核心思想🔁 二、迭代步骤详解关键数学操作 ⏹️ 三、何时停止迭代?Kmeans 算法实现代码 ⚠️ 四、面试常见扩展问题1. K值如何选择?2. 初始质心影响结果吗?3. 算法缺陷与改进…

209、长度最小的子数组

题目&#xff1a; 解答&#xff1a; 滑动窗口&#xff0c;左右指针指向窗口两端&#xff0c;窗口为[left,right]&#xff0c;leftright时窗口只包含一个元素。 窗口内元素和sum>target时&#xff0c;left,推出左侧一个元素;sum<target时&#xff0c;right&#xff0c;加…

关机精灵——自动化与便利性

文章目录 背景目标实现下载 背景 自动化与便利性&#xff1a; 让电脑在用户无需值守或干预的情况下&#xff0c;在特定时间点&#xff08;倒计时结束&#xff09;或任务完成后自动关闭。节能与环保&#xff1a; 避免电脑在完成工作后或无人使用时继续空耗电力。时间管理与健康…

L2CAP协议详解:分段重组、QoS控制与多协议复用设计(面试宝典)

本文系统解析L2CAP协议的知识图谱&#xff0c;掌握面试核心考点&#xff0c;并通过真题演练提升实战能力。建议配合协议分析工具进行抓包实践&#xff0c;加深对协议机制的理解。 一、L2CAP 在蓝牙协议栈中的核心定位 L2CAP&#xff08;Logical Link Control and Adaptation P…

微软服务器安全问题

微软云服务器安全深度解析&#xff1a;挑战、应对与未来展望——构建韧性“安全之盾”的持续博弈&#xff01; 在当今数字化时代&#xff0c;云计算已成为众多企业和组织运行业务的核心基础设施和“数字生命线”&#xff0c;而微软云&#xff08;Azure&#xff09;作为全球领先…

后台管理系统的诞生 - 利用AI 1天完成整个后台管理系统的微服务后端+前端

AI创作系列(11)&#xff1a;后台管理系统的诞生 - 利用AI 1天完成整个后台管理系统的微服务后端前端 真实记录&#xff1a;我决定为海狸IM添加一个后台管理系统。从早上开始&#xff0c;到晚上结束&#xff0c;仅仅1天时间&#xff0c;我就完成了整个后台管理系统的微服务后端和…

开发自动驾驶系统所需工具

硬件开发平台 传感器系统 环境感知工具包括&#xff1a; 激光雷达&#xff1a;通过发射激光脉冲并接收反射光来测量距离&#xff0c;构建点云数据以描绘周围环境的三维结构。例如&#xff0c;Velodyne的VLP-16激光雷达每秒可发射约30万次激光脉冲&#xff0c;生成高密度的点…

Node.js特训专栏-实战进阶:12. 数据库事务处理与并发控制

🔥 欢迎来到 Node.js 实战专栏!在这里,每一行代码都是解锁高性能应用的钥匙,让我们一起开启 Node.js 的奇妙开发之旅! Node.js 特训专栏主页 专栏内容规划详情 数据库事务处理与并发控制:原理、实践与性能优化 一、事务基础:ACID特性与实现原理 1.1 ACID特性详解 事…

计算机网络(五)数据链路层 MAC和ARP协议

目录一、链路二、MAC地址三、ARP协议ARP工作流程​&#xff1a;​一、链路链路&#xff1a;一个结点到相邻结点的物理线路数据链路&#xff1a;在链路的基础上增加一些必要的软件&#xff08;协议的实现&#xff09;和硬件&#xff08;网络适配器&#xff09;。网络中的主机、路…

DVWA SQL Injection 漏洞分析与利用

前言 Level: Low 漏洞分析 复现步骤 防御措施 Level: Medium 漏洞分析 mysql_real_escape_string()核心作用 示例对比 复现步骤 防御措施 Level: High 漏洞分析 复现步骤 防御措施 Level: Impossible 安全措施分析 防护要点 测试验证 自动化工具使用&#x…

RabbitMQ:消息队列的轻量级王者

&#x1f680; 一句话定位 RabbitMQ是分布式系统的"消息快递员"&#xff0c;负责在系统间可靠传递信息&#xff0c;让服务解耦更高效。 &#x1f31f; 核心应用场景 1. 异步解耦 场景&#xff1a;用户注册后发短信/邮件 用法&#xff1a;注册服务发消息 → Rabbit…

Android系统默认赋予浏览器权限以及Android恶意覆盖导致谷歌浏览器授权失败的解决办法

Android系统默认赋予浏览器权限以及Android恶意覆盖导致谷歌浏览器授权失败的解决办法 一、Android系统默认赋予浏览器权限 只要是设计到默认赋权&#xff0c;就在framework下找这个类&#xff1a;base/services/core/java/com/android/server/pm/permission/DefaultPermissi…

矩阵的秩 线性代数

定义和求法 关于秩的几个重要式子 例题 给出秩&#xff0c;那我们就有三个知识点&#xff0c;一个是用定义&#xff0c;一个是用求法&#xff0c;一个是重要式子。 题目没什么好翻译的&#xff0c;基本就是赤裸裸的跟你坦白了直说了。 接下来就是解法了。用定义的话就是说这个…

【大模型】基于MCP的mysql 服务构建及使用(python语言)

前言 ​ 在之前使用dify来编排AI智能体&#xff0c;有这样的一个场景&#xff0c;希望智能体能自动读取数据库数据&#xff0c;获得统计数据&#xff08;问数&#xff09;&#xff0c;最终生成报告。 ​ 当时实现思路是&#xff0c;通过知识库告诉大模型相关表的字段定义&…