加密传输及相关安全验证:

news2024/9/22 13:23:06

1.1. 加密:

1.1.1. 对称加密:
  • 特点:加解密用一个密钥,加解密效率高,速度快,有密钥交互的问题
  • 问题:双方如何交互对称密钥的问题,用非对称密钥的公钥加密对称密钥混合加密方式
  • 常用对称加密:AES加密,密钥长度 128、256、192位,加密级别高,速度快
  • 以及DES ,3DES加密算法等
1.1.2. 非对称加密:
  • 特点:没有密钥交互的问题,加密速度慢、仍然有窃听风险
  • 描述:非对称密钥双方使用不同的密钥来加解密,并且不能通过一个密钥推算出另一个密钥:
  • 使用:公钥加密,私钥解密_——私钥加密(数字签名),公钥解密,并且用哈希函数计算数字签名比对是否一致(用于验证该信息是否由中间人篡改)
  • 常用加密算法:
    • DSA:数字签名算法,是一种标准的 DSS(数字签名标准)
    • RSA: 由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件块的长度也是可变的;
  • A把事先准备好了非对称密钥对,分别为公钥和私钥,这一套非对称密钥对能相互加解密。公钥是公开的,私钥只有自己才有。然后A把公钥发送给B,或者公钥放在服务器B自行下载。B拿到了公钥后用公钥的一套算法加密信息后传输给A,A用私钥执行另一个算法解密获得明文信息。
1.1.3. 混合加密:

使用:传输大量数据使用对称加密,加解密速度快;对称加密分配问题:用非对称加密的公钥加密这个对称密钥再传递给对方。

过程:

A:这是我的公钥public_A,你收好,你生成对称密钥也给我一下

B:好的,收到public_A,你收好对称密钥secretKey。然后用public_A加密这个secretKey

A:收到消息,private_A解密出来是secretKey。

中间人攻击:

窃听篡改:

A:这是我的公钥public_A,你收好,你生成对称密钥也给我一下

X:获得了A的公钥,把自己的公钥public_X发给B… B这傻子还以为真的是A的公钥呢

B:好的,公钥public_X已收到,生成一个对称密钥secretKey,然后用public_X加密这个对称密钥。

X:截获了这个消息,用自己私钥private_X解密出对称密钥secretKey,自己再生成一个secretKeyXXX用public_A加密一下发送给A。A这傻子还以为你们接下来会安全的用secretKey通信吗哈哈哈

A:收到消息,private_A解密出来对称密钥secretKeyXXX(其实是X篡改了)

上图中,中间人X能不仅获取A和B之间通信内容,还能任意修改,相当于一个代理抓包,修改数据。

在混合加密的传输过程中,也存在中间人篡改信息的可能性,但是如果我们能够确保使用者获取的公钥可信,则可以达到一定的防护

1.2. 数字签名:

1.2.1. 过程:

私钥加密(生成数字签名):

  • 数字签名是对数据的哈希值(或摘要)进行私钥加密的结果。发送者首先使用哈希函数计算数据的哈希值,然后使用自己的私钥对这个哈希值进行加密,生成数字签名
  • 数字签名用于验证数据的完整性和来源,因为私钥是唯一的,只有私钥的持有者才能生成与数据相匹配的签名。

公钥解密(验证数字签名):

  • 接收者收到数据和对应的数字签名后,他会使用发送者的公钥来解密这个签名,从而得到原始数据的哈希值。
  • 同时,接收者也会对接收到的数据使用相同的哈希函数进行计算,得到一个新的哈希值。
  • 如果这两个哈希值相匹配,那么接收者就可以确认数据在传输过程中没有被篡改,并且确实是由声称的发送者发送的。

1.2.2. 数字摘要:

特点:

  1. 不可逆:只有摘要算法,没有密钥(只能单向加密,不能解密)
  2. 难题友好型:破解只能暴力生成原文,通过摘要算法计算一致的摘要结果
  3. 发散性:对原文的一点点改动,摘要会剧烈变化
  4. 抗碰撞性:原文不同,摘要也不同,摘要一致的可能性非常低

常见摘要算法:(推荐:SHA2 ) 、MD5、SHA1

1.2.3. 数字摘要的作用:
  1. 确保数据的完整性和来源:私钥加密生成数字签名,这个签名是对数据的哈希值进行加密的结果。只有私钥的持有者才能生成与数据相匹配的签名,因此,接收方可以通过公钥解密签名并验证数据的完整性,确认数据在传输过程中未被篡改,并且确实是由声称的发送者发送的。
  2. 防止否认:可以防止发送方否认其发送过某条信息,因为签名是唯一的,且与发送方的私钥紧密相关。

1.3. 数字证书:

CA认证机构具有权威性和公正性的第三方信任机构,会验证申请者的真实身份,负责签发和管理数字证书,

数字证书可以验证用户的身份并确保该使用者的公钥的可用!避免中间者顶替篡改

主要内容:

颁发过程:

收到数字证书后,用户首先用证书指定的哈希算法计算证书信息的摘要,通过CA 公钥解密证书的签名获取数字摘要,比对两个数字摘要是否一致,一致后表示该证书信息完整,该用户的公钥可信:获取证书所有者的公钥;

获取者先从获取的信息中验证数字证书的信息完整性,从证书获取公钥,用于验证获取信息的完整性,最终查看信息

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

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

相关文章

IP溯源工具--IPTraceabilityTool

工具地址:xingyunsec/IPTraceabilityTool: 蓝队值守利器-IP溯源工具 (github.com) 工具介绍: 在攻防演练期间,对于值守人员,某些客户要求对攻击IP都进行分析溯源,发现攻击IP的时候,需要针对攻击IP进行分析…

PHP手边酒店多商户版平台小程序系统源码

🏨【旅行新宠】手边酒店多商户版小程序,一键解锁住宿新体验!🛌 🌈【开篇:旅行新伴侣,尽在掌握】🌈 还在为旅行中的住宿选择而纠结吗?是时候告别繁琐的搜索和比价过程&a…

js继承之构造函数继承

最近在看js红宝书,学到了继承这一章节,看到了下图这段代码根据自己理解不明白为什么两次实例的colors值不一样 又是自己画图又是查找资料看别人如何理解的,今天才按自己的理解搞明白为啥。可能我的理解也是有偏差错误的,希望佬可以…

开源防病毒工具--ClamAV

产品文档:简介 - ClamAV 文档 开源地址:Cisco-Talos/clamav:ClamAV - 文档在这里:https://docs.clamav.net (github.com) 一、引言 ClamAV(Clam AntiVirus)是一个开源的防病毒工具,广泛应用…

【Node.js】会话控制

express 中操作 cookie cookie 是保存在浏览器端的一小块数据。 cookie 是按照域名划分保存的。 浏览器向服务器发送请求时,会自动将 当前域名下可用的 cookie 设置在请求头中,然后传递给服务器。 这个请求头的名字也叫 cookie ,所以将 c…

NVidia 的 gpu 开源 Linux Kernel Module Driver 编译 安装 使用

见面礼,动态查看gpu使用情况,每隔2秒钟自动执行一次 nvidia-smi $ watch -n 2 nvidia-smi 1,找一台nv kmd列表中支持的 GPU 的电脑,安装ubuntu22.04 列表见 github of the kmd source code。 因为 cuda sdk 12.3支持最高到 ubu…

AMEYA360:思瑞浦推出汽车级理想二极管ORing控制器TPS65R01Q

聚焦高性能模拟芯片和嵌入式处理器的半导体供应商思瑞浦3PEAK(股票代码:688536)发布汽车级理想二极管ORing控制器TPS65R01Q。 TPS65R01Q拥有20mV正向调节功能,降低系统损耗。快速反向关断(Typ:0.39μs),在电池反向和各种汽车电气瞬…

OCR拍照识别采购单视频介绍

千呼新零售2.0系统是零售行业连锁店一体化收银系统,包括线下收银线上商城连锁店管理ERP管理商品管理供应商管理会员营销等功能为一体,线上线下数据全部打通。 适用于商超、便利店、水果、生鲜、母婴、服装、零食、百货、宠物等连锁店使用。 详细介绍请…

【BUG】已解决:NOAUTH Authentication required

已解决:NOAUTH Authentication required 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰,211科班出身,就职于医疗科技公司,热衷分享知识,武汉城市开发者社区主理人…

Atlas架构与原理

作者:楼高 一、总体架构 Atlas 是一个可伸缩且功能丰富的数据管理系统,深度集成了 Hadoop 大数据组件。简单理解就是一个 跟 Hadoop 关系紧密的,可以用来做元数据管理的一个系统,整个结构图如下所示: Atlas可以分为以下几层&…

IAR嵌入式开发解决方案已全面支持芯科集成CX3288系列车规RISC-V MCU,共同推动汽车高品质应用的安全开发

中国上海,2024年7月16日 — 全球领先的嵌入式系统开发软件解决方案供应商IAR与芯科集成电路(以下简称“芯科集成”)联合宣布,最新版本IAR Embedded Workbench for RISC-V 3.30.2功能安全版已全面支持芯科集成CX3288系列车规RISC-V…

【Node.js】初识 Node.js

Node.js 概念 Node.js 是一个开源与跨平台的 JavaScript运行时环境 ,在浏览器外运行 V8 JavaScript 引擎(Google Chrome的内核),利用事件驱动、非阻塞和异步输入输出 等技术提高性能。 可以理解为 Node.js就是一个服务器端的、非阻塞式 l/O 的、事件驱…

《Windows API每日一练》10.3 公用对话框

Windows最初发行时的主要目标之一就是提倡一种标准化的用户界面。对于公用菜单 项来说,这一目标实现得很快。几乎所有的软件制造商都采用了Alt-File-Open组合来打开 文件。但是,真正用来打开文件的对话框却经常很不一样。 从Windows 3.1开始&#xff0c…

排序系列 之 选择排序

!!!排序仅针对于数组哦本次排序是按照升序来的哦 介绍 快速排序英文名为SelectSort从数组中找到最小的放到前边 基本思路 1、默认待排序数组中第一个作为最小值2、找待排序数组(注意不是整个数组哦)中真正的最小值3…

使用LVS+NGinx+Netty实现数据接入

数据接入 链接参考文档 LVSKeepalived项目 车辆数据上收,TBox通过TCP协议连接到TSP平台 建立连接后进行数据上传。也可借由该连接实现远程控制等操作。 通过搭建 LV—NGinx—Netty实现高并发数据接入 LVS:四层负载均衡(位于内核层&#x…

Django定时任务框架django-apscheduler的使用

1.安装库 pip install django-apscheduler 2.添加 install_app django_apscheduler 3.在app下添加一个task.py文件,用来实现具体的定时任务 task.pydef my_scheduled_job():print("这个任务每3秒执行一次", time.time()) 4.在app下创建一个manag…

macpdf转图片 macpdf导出为图片 mac如何将pdf存为jpg

在数字化办公的今天,pdf文件因其良好的文档保存和分享特性,已成为工作生活中不可或缺的一部分。然而,在某些场景下,我们需要将pdf文件转换为图片格式,以便于分享或展示。本文将向您介绍多种pdf转图片的方法&#xff0c…

github上的工程如何下载子模块.gitmodules如何下载指定的模块download submodules开源项目子模块下载externals

github上的工程如何下载子模块.gitmodules如何下载指定的模块download submodules 说明(废话)解决方案无法执行下载子模块无法下载子项目 说明(废话) 今天在编译一个开源库时,该开源库依赖其他项目,并且项目还挺多的,所以有此解决方案 在编…

MQ - RabbitMQ - 消息的可靠性 --学习笔记

消息的可靠性 RabbitMQ 提供了一系列的特性和机制来确保消息的可靠性,即确保消息不丢失、按需到达目的地。要实现在 RabbitMQ 中消息的可靠性,可通过以下几个方面进行操作: 一、发送者的可靠性 1、生产者重试机制 什么是生产者重试机制&a…

Elasticsearch:如何选择向量数据库?

作者:来自 Elastic Elastic Platform Team 向量数据库领域是一个快速发展的领域,它正在改变我们管理和搜索数据的方式。与传统数据库不同,向量数据库以向量的形式存储和管理数据。这种独特的方法可以实现更精确、更相关的搜索,并允…