HTTPS协议中的加密机制分析、证书认证

目录

一、为什么要对数据进行加密?

二、什么是加密和解密?

三、加密方式

对称加密

非对称加密

四、数据摘要(数据指纹)

五、数字签名

六、探究保证双方通信安全的的加密方案

1、只使用对称加密

2、只使用非对称加密

3、双方都是用非对称加密

4、非对称加密+对称加密

CA认证

5、非对称加密+对称加密+证书认证

证书的构成

证书认证过程


HTTPS是应用层协议,它是基于加密解密机制对HTTP协议安全方面的改善。

一、为什么要对数据进行加密?

由于HTTP协议都是按照文本的方式明文传输的,这些数据会经过路由器、wife热点、通信服务运营商等多个物理节点,这就可能导致数据在传输的过程中被中间人窃取、篡改的风险,因此需要对数据进行加密解密以确保用户信息安全。

对应的网络协议栈如下图:

不论是发送方发送数据或者接收方接收数据双方都要经过应用层的SSL加密解密层。

二、什么是加密和解密?

加密就是把明文(要传输的数据)经过转化变为密文解密就是把密文经过转化还原为明文。

在加密和解密的过程中往往需要一个或多个中间数据,这种数据就是密钥,密钥分为对称密钥非对称密钥

三、加密方式

对称加密

信息的发送方和接收方使用同一个密钥对信息进行加密和解密。

加解密速度快,适合对大数据量进行加密解密。

一个简单的对称加密:假定发送端进行一个异或运算:7^5=2,5是就是密钥,7是明文,2是密文;接收端收到密文后利用密钥5对其进行解密,2^5=7,最终得到明文7。

非对称加密

需要两个密钥进行加密和解密,分别是公开密钥(public,简称公钥)和私有密钥(private,简称私钥)。

加密算法复杂安全性高,没有对称密钥加解密速度快,效率低。

非对称加密要用到公钥和私钥两个配对密钥,但是加解密速度非常慢

通过公钥对明文加密变成密文,私钥对密文解密变成明文。

也可以反着来:通过私钥对明文加密变成密文,公钥对明文解密变成明文。

如上图公钥m是作为明文发送给B的,因此有可能被泄漏放入风险,但是私钥m'不可能被泄漏,因此只有A能对B发来的密文解密获取明文!

四、数据摘要(数据指纹)

基本原理是利用MD5算法(Hash函数)对数据进行运算,生成一串固定长度的字符串(具有唯一性),数据指纹不是一种加密机制,用来数据指纹判断数据是否被篡改过。

五、数字签名

数据摘要被加密后就是数据签名。

数字签名是非对称加密技术数字摘要技术的应用。

六、探究保证双方通信安全的的加密方案

1、只使用对称加密

由于对称加密是双方使用同一个密钥进行加密解密,因此在通信双方建立连接时client会将密钥传输给server,此时密钥相当于明文,黑客会窃取该密钥,后面的加密通信就形同虚设了,变得毫无意义,因此这种方案不可取。

2、只使用非对称加密

如果服务器用它的私钥加密数据传给浏览器,那么浏览器用公钥可以解密它,而这个公钥是一开始通过明文传输给浏览器的,若这个公钥被黑客获取到了,那黑客就能用该公钥解密服务器传来的信息了。

3、双方都是用非对称加密

该方案和只使用非对称加密的而结果一样。

4、非对称加密+对称加密

上面的情景叫做中间人攻击(Man In The MiddleAttack,简称 ”MIMT攻击“ )。

由于该加密方案会导致客户端生成的对称密钥被中间人窃取,导致通信双方发送的信息被泄漏,无法保证安全。

这种方案问题的问题是什么?客户端无法确认含有公钥的数据报文(密文)有没有被中间人篡改后发来的,就是上图1,2步骤中间人将服务端的公钥s篡改成了自己的公钥m然后发给客户端。

 

CA认证

CA是一个证书认证机构为公司(服务端)提供证书。服务端在使用HTTPS协议之前,要向CA机构申请一份数字证书。该证书由明文信息(申请方即服务端的公钥,申请方的域名等信息)和数字签名组成。当客户端浏览器与服务端握手协商密钥时,服务端把该证书传输给浏览器,浏览器从该证书里获取服务端公钥,通过证书中的数字签名就可以判断服务端公钥是否被中间人篡改,这样就保证了中间人无法窃取服务端的公钥了,证书就相当一个服务端的身份证。

5、非对称加密+对称加密+证书认证

证书的构成

数字签名+明文信息,最重要的是服务端的公钥。

证书认证过程

这样就可以保证服务端的公钥在通信双方密钥协商时不被中间人替换成自己的公钥。中间人也就无法获取客户端的对称密钥了,因此就无法窃取客户端和服务端通信的数据了,保证通信的安全性。

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

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

相关文章

怎么理解数据资源、数据资产和数据要素?

身处信息化时代,我们每时每刻都在产生和接触各类数据,如网购记录、短视频等。在我国数据安全法中将数据定义为任何以电子或其他方式对信息的记录。即数据不仅指数字表格等结构化内容,也可以是文字、图形、图像等半结构化、非结构化信息。 1、…

航空制造领域中三维工艺技术的应用

飞机制造企业可以通过三维数字化技术的应用有效提升了工艺设计水平,解决了在航空产品数字化工艺设计、制造方面的标准统一和系统整合等问题,保证了业务应用系统基础数据的一致性和规范性。本文是对航空制造领域中三维工艺技术的应用的介绍。 随着信息化技…

安装JKS格式证书

--千金易得 知己难求 本文介绍如何在Tomcat服务器配置JKS格式的SSL证书,具体包括下载和上传证书文件,在Tomcat上配置证书文件和证书密码等参数,以及安装证书后结果的验证。成功配置SSL证书后,您将能够通过HTTPS加密通道安全访问To…

ffmpeg教程及加速视频转码

ffmpeg教程及加速视频转码 1、ffmpeg简介: ffmpeg来自MPEG视频编码标准。 是一套可以用来记录,转换数字音频、视频,并能将其转化为流的开源计算机程序。 可以轻易的实现多种视频格式之间的相互转换。 2、基础知识: 容器、文件…

FDM3D打印系列——创想三维打印机卡料修复后续处理

大家好,我是阿赵。   之前我的创想三维Sermoon v1打印机卡料了,我自己拆开打印头组件,把卡料的地方修复了。   但问题并没有彻底的解决。在后续打印之中,还是经常出现卡料。有些需要打印实际个小时的模型,在打印了…

基于Material Design风格开源的Avalonia UI控件库

前言 今天大姚给大家分享一款基于Material Design风格开源、免费(MIT License)的Avalonia UI控件库:Material.Avalonia。 当前项目还处于alpha阶段。 Avalonia介绍 Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应…

内网穿透的应用-如何使用跨平台终端Tabby结合内网穿透工具异地远程ssh访问Ubuntu系统

文章目录 前言1. Tabby下载安装2. Tabby相关配置3. Tabby简单操作4. ssh连接Linux4.1 ubuntu系统安装ssh4.2 Tabby远程ssh连接ubuntu 5. 安装内网穿透工具5.1 创建公网地址5.2 使用公网地址远程ssh连接 6. 配置固定公网地址 前言 今天和大家分享一下如何在Windows系统使用Tabb…

Trimming项目完整流程

Trimming项目完整流程 FsmStates状态机 public enum FsmStates {// 初始状态,FSM 启动后的第一个状态Initial,// 等待序列化过程控制器(SPS)启动的状态// 在此状态下,FSM 等待外部系统或设备准备就绪WaitOnSPSStart,// 加载数据库…

【使用python实现多目标批量ping】附案例

以下为使用 Python 实现批量 ping 的多种方法及代码示例: 方法一: import subprocessfilepath E:\\Python\\tools\\AutoMatic\\hosts.txt with open(filepath, r) as f:hosts f.readlines()for host in hosts:result subprocess.check_output((ping…

C语言典型例题55

《C程序设计教程(第四版)——谭浩强》 题目: 例题4.7 兔子的繁殖。这是一个有趣的古典问题:有一对兔子,从出生后的第3个月开始起每个月都生一对兔子。小兔子长到第3个月又生一对兔子。假设所有兔子都不死,…

大模型的latency(延迟)和throughput(吞吐量)有什么区别?

1. 导入 为了快速应用大模型,我们需要采购商业大模型。采购前,对接销售时,我们描述了我们的场景和需求: Q:我们的prompts token数量在1500-2000之间,completion token数量在500左右。这种情况下&#xff…

同三维S20和S20K系列高清和4K摄像机说明书:高清HDMI摄像机

同三维S20和S20K系列高清和4K摄像机 视频会议摄像机概述前言 非常感谢您使用本公司视频会议产品!在使用本产品之前,敬请仔细阅读使用手册。本手册详细介绍了多功能视频会议摄像机的功能、安装和使用操作的一般原则及方法。本系列视频会议摄像机是一款高性能、高灵敏…

设计模式 -- 外观模式(Facade Pattern)

1 问题引出 组建一个家庭影院 DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 开爆米花机,放下屏幕 ,开投影仪 ,开音响&#xf…

【云原生】Kubernetes中如何通过Pod名称查询Docker容器ID,通过Docker容器ID查询Pod名称?

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

FGF23:家族靶向治疗先行者

成纤维细胞生长因子23(FGF23)属于FGF19亚家族成员,由成骨细胞、骨细胞和骨髓合成,是磷酸盐和钙稳态的重要调节剂,同时与铁稳态、炎症和红细胞生成也有关。 (数据来源AlphaFold) FGF23由251个氨…

Git 学习

一、基本使用 1. 基本理论 Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的项目;版本控制是一种记录一个或者若干个文件内容变化,以便来查阅特定版本修订情况的系统 集中化版本控制系统:SVN, CV…

应急响应--日志分析

应急响应–日志分析 文章目录 一、Windows日志二、Linux日志三、Web日志 3.1、IIS中间件日志3.2、Apache中间件日志3.3、Tomcat中间件日志3.4、Weblogic3.5、Nginx中间件日志 一、Windows日志 Windows日志记录着Windows系统中硬件、软件和系统问题的信息,同时还…

基于imx6ull平台opencv的图像采集、ffmpeg推流和Windows端拉流(多线程)

目录 一、概述二、环境要求2.1 硬件环境2.2 软件环境三、开发流程3.1 编写测试3.2 验证功能一、概述 本文档是针对imx6ull平台opencv的图像采集、ffmpeg推流和Windows端拉流。首先创建一个线程opencv通过摄像头采集视频图像,接着再创建两个线程,其中一个线程获取采集的视频图…

如何让ChatGPT说话更像人类

ChatGPT在多个领域展现了卓越的能力,但对话中仍不可避免地带有一定的机械感。幸运的是,OpenAI推出的GPTs功能可以让用户自定义prompt。最近,我发现了其中一个GPTs,它能让ChatGPT的对话更加贴近真人,现在就来与大家分享…

基于RS232的VGA显示

前言 基于ROM的VGA显示缺点:需要将图片转化为mif文件,使用的RAM是FPGA内部RAM模拟出来的,占用资源大切换显示图片需要重新转化,对ROM进行写入,使用极不方便,因此这里采用RS232进行VGA显示。 正文 一、基于…