【网络协议】【http】【https】AES-TLS1.2

news2025/1/18 21:45:42

【网络协议】【http】【https】AES-TLS1.2

https并不是一个协议 而是在传输层之间添加了SSL/TLS协议TLS
TLS 协议用于应用层协议(如 HTTP)和传输层(如 TCP)之间,增加了一层安全性来解决 HTTP 存在的问题,HTTPS 就是使用 TLS 加密的 HTTP,确保数据在客户端和服务器之间的安全传输。

(这几个后面详细说一下)

TLS解决了HTTP存在的问题就解决方式
明文传输数据存在窃听风险混合加密
无法证明数据完整性,数据可能被篡改。数字签名+摘要
验证数据传输者身份CA数字证书

TLS 的主要特点:
加密:TLS 确保数据在传输过程中被加密,防止被未授权的第三方窃取或篡改。
数据完整性:TLS 使用数字签名摘要(哈希算法)来验证数据在传输过程中未被篡改。
身份认证:TLS 使用证书认证机制,保证连接的服务器是合法的,避免中间人攻击

TLS 握手过程:建立安全连接的过程涉及多个步骤:
客户端向服务器发送支持的 TLS 版本和密码套件(加密算法)。
服务器响应客户端,选择一种密码套件并返回自己的公钥,通常会嵌入在由 CA(证书授权中心)签名的证书中,客户端用这个公钥来验证服务器身份,并交换加密密钥。
客户端和服务器进一步交换加密消息,建立共享的密钥,这个密钥会在会话中用来加密通信。

握手的阶段:
在不同版本的 TLS 中,握手过程的步骤数量不同:
TLS 1.2 通常包含多个步骤,过程较为复杂。
TLS 1.3 通过简化握手过程,减少了握手的步骤,使其更加高效,只有两个主要阶段。
安全元素:

基于AES的TLS1.2

1.客户端发起请求
首先,客户端向服务器发送一个 “ClientHello” 消息,这个消息中包括:
TLS 版本:客户端支持的最大 TLS 版本。
密码套件密钥交换算法(非对称加密)+签名算法(非对称加密且私钥加密公钥解密)+对称加密算法(后续数据传输)+摘要算法(hash)
客户端随机数:一个由客户端生成的随机数,用于后续生成会话密钥。

2.服务器响应
服务器收到 “ClientHello” 后,会返回一个 “ServerHello” 消息,其中包括:
TLS 版本:服务器选择的 TLS 版本。
密码套件密钥交换算法+签名算法+对称加密算法+摘要算法
服务器随机数:服务器生成的随机数。
服务器证书与签名:服务器随后会发送自己的证书(通常是由一个受信任的证书颁发机构 CA 签名的),这个证书中包含了服务器的公钥证明服务器的身份并,服务器还会向客户端发送数字签名确保数据完整性

客户端验证服务器:客户端使用 CA 的公钥来验证服务器证书的有效性,并检查数字签名
(服务器会使用其私钥对一些重要的 TLS 握手消息(如 “ServerHello”)进行数字签名。)客户端收到这些签名后,会使用服务器证书中的公钥解密签名,得到哈希值(TLS 握手消息先摘要再使用私钥加密 此时使用公钥解密)。
客户端重新计算收到的消息的哈希值(摘要),并与解密后的哈希值进行比对。如果两个哈希值一致,说明消息在传输过程中没有被修改,确保了数据的完整性。(这里就是验证数据完整性 数字签名+摘要)

3.客户端
生成一个“预主密钥”,并使用服务器的公钥对其进行加密,然后发送给服务器。生成会话密钥。这个会话密钥将用于加密接下来的通信。

4.服务器
解密这个预主密钥,生成会话密钥:客户端和服务器使用之前交换的随机数(客户端随机数和服务器随机数)以及预主密钥来生成会话密钥。这个会话密钥将用于加密接下来的通信。

如何验证CA证书可信

首先,客户端会从服务器获取证书链。证书链通常包括服务器证书、一个或多个中间证书。
客户端首先会检查服务器证书的有效性,包括证书的有效期、证书的颁发机构等。
然后,客户端会使用 中间证书的公钥 来验证服务器证书的签名(如上图:证书签名验证)。
接着,客户端会检查中间证书的有效性,并使用根证书的公钥来验证中间证书的签名。
最后,客户端会检查根证书的有效性。由于根证书是自我签名的,所以客户端会使用根证书的公钥来验证根证书的签名。
如果所有的证书都通过了验证,那么证书链就被认为是有效的。如果任何一个证书没有通过验证,那么证书链就被认为是无效的。在这里插入图片描述
部分转自https://i-blog.csdnimg.cn/direct/ab9d5a5d087f42a18da1453774c0032e.png

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

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

相关文章

数智化转型 | 星环科技Defensor 助力某银行数据分类分级

在数据驱动的金融时代,数据安全和隐私保护的重要性日益凸显。某银行作为数字化转型的先行者,面临着一项艰巨的任务:如何高效、准确地对分布在多个业务系统、业务库与数仓数湖中的约80万个字段进行数据分类和分级。该银行借助星环科技数据安全…

微信小程序:播放音频

在小程序开发中,音频播放是一个重要的功能。本文将详细介绍小程序音频播放的相关知识点,帮助开发者更好地掌握小程序音频播放的实现方法。 一、小程序音频播放的基本流程 在小程序中,音频播放的基本流程如下: 获取音频数据&#…

U盘被格式化后的数据救赎与防范策略

一、U盘格式化后的数据困境 在日常的工作与生活中,U盘作为数据传输与存储的重要工具,扮演着不可或缺的角色。然而,当U盘不幸遭遇格式化操作后,存储在其中的宝贵数据瞬间化为乌有,给用户带来极大的困扰。格式化后的U盘…

关于 Cursor 的一些学习记录

文章目录 1. 写在最前面2. Prompt Design2.1 Priompt v0.1:提示设计库的首次尝试2.2 注意事项 3. 了解 Cursor 的 AI 功能3.1 问题3.2 答案 4. cursor 免费功能体验5. 写在最后面6. 参考资料 1. 写在最前面 本文整理了一些学习 Cursor 过程中读到的或者发现的感兴趣…

基于Oracle与PyQt6的电子病历多模态大模型图形化查询系统编程构建

一、引言 1.1 研究背景阐述 在当今数字化时代,医疗行业正经历着深刻的变革,数字化转型的需求日益迫切。电子病历(EMR)作为医疗信息化的核心,其管理的高效性和数据利用的深度对于提升医疗服务质量、优化临床决策以及推动医学研究具有至关重要的意义。传统的电子病历管理系…

算法(蓝桥杯)贪心算法7——过河的最短时间问题解析

一、题目描述 在漆黑的夜里,N位旅行者来到了一座狭窄且没有护栏的桥边。他们只带了一只手电筒,且桥窄得只够让两个人同时过。如果各自单独过桥,N人所需的时间已知;若两人同时过桥,则所需时间是走得较慢的那个人单独行动…

《贪心算法:原理剖析与典型例题精解》

必刷的贪心算法典型例题! 算法竞赛(蓝桥杯)贪心算法1——数塔问题-CSDN博客 算法竞赛(蓝桥杯)贪心算法2——需要安排几位师傅加工零件-CSDN博客 算法(蓝桥杯)贪心算法3——二维数组排序与贪心算…

SQL2000在win10上安装的方法

安装前最好先关闭防火墙和一些杀毒软件,因为这些软件在安装过程中可能会碰到注册表等一下杀毒软件比较敏感的地带,如果违反杀毒软件的规则会被当做病毒强行终止删除 首相找到C盘下window文件中的sysWOW64文件 鼠标右键,点击属性、安全、高级 …

【12】Word:张老师学术论文❗

目录 题目 ​NO2 NO3 NO4 NO5 NO6 NO7.8 题目 NO2 布局→页面设置→纸张:A4→页边距:上下左右边距→文档网格:只指定行网格→版式:页眉和页脚:页脚距边界:1.4cm居中设置论文页码:插入…

软件授权管理中的软件激活向导示例

软件激活向导示例 在软件许可中,提供许可应该是简单和安全的。这适用于想要在中央许可证服务器上创建新许可证的软件开发人员,也适用于需要在其设备上获得许可证的最终用户。如果所讨论的系统有互联网连接,或是暂时的连接,就可以…

基于微信小程序的摄影竞赛系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

在IDEA中使用通义灵码插件:全面提升开发效率的智能助手

在IDEA中使用通义灵码插件:全面提升开发效率的智能助手 随着软件开发行业对效率和质量要求的不断提高,开发者们一直在寻找能够简化工作流程、提升代码质量的工具。阿里云推出的通义灵码插件正是这样一个旨在帮助开发者更高效地编写高质量代码的强大工具…

【Unity3D】利用Hinge Joint 2D组件制作绳索效果

目录 一、动态绳索 (可移动根节点) 二、静态绳索 三、利用Skinning Editor(Unity2022.3.15f1正常使用) 四、注意事项 一、动态绳索 (可移动根节点) 动态绳索 DynamicRope空物体 Anchor和whitecircle是相同位置的物体&#xff…

游戏引擎学习第80天

Blackboard:增强碰撞循环,循环遍历两种类型的 t 值 计划对现有的碰撞检测循环进行修改,以便实现一些新的功能。具体来说,是希望处理在游戏中定义可行走区域和地面的一些实体。尽管这是一个2D游戏,目标是构建一些更丰富…

2025.1.15——四、布尔注入

题目来源:ctfhub技能树 目录 一、基本操作:整理已知信息,得到本题为布尔注入 方法一:手工盲注(不推荐) step 1:判断具体形式 step 2:查询字段数 step 3:通过回显判…

PE文件:节表-添加节

在所有节的空白区域都不够存放我们想要添加的数据时,这个时候可以通过添加节来扩展我们可操作的空间去存储新的数据(如导入表、代码或资源)。 过程步骤 1.判断是否有足够的空间添加节表 PE文件的节表紧跟在PE头之后,每个节表的…

【前端动效】HTML + CSS 实现打字机效果

目录 1. 效果展示 2. 思路分析 2.1 难点 2.2 实现思路 3. 代码实现 3.1 html部分 3.2 css部分 3.3 完整代码 4. 总结 1. 效果展示 如图所示,这次带来的是一个有趣的“擦除”效果,也可以叫做打字机效果,其中一段文本从左到右逐渐从…

Python基于Django的图像去雾算法研究和系统实现(附源码,文档说明)

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

了解 BM25:一种高效的文本检索算法

什么是 BM25? BM25(Best Matching 25)是一种在信息检索领域非常著名的算法,它属于 TF-IDF 的改进版本,是许多现代搜索引擎和文本检索系统的核心算法之一。BM25 基于概率检索模型(Probabilistic Informatio…

PenGymy论文阅读

这里发现idea被人家先发了,没办法,资料收集的不够全面,现在来学习一下这个项目 这篇论文的贡献如下: 总的来说,他的主要工作是构建逼真的仿真环境,然后根据这个仿真环境生成真实的靶场,使得这个…