PKI - 03 密钥管理(如何进行安全的公钥交换)

文章目录

  • Pre
  • 密钥管理面临的挑战
  • 安全密钥管理的几种方式
    • 手动密钥交换与确认
    • 受信任的介绍

在这里插入图片描述


Pre

PKI - 02 对称与非对称密钥算法


密钥管理面临的挑战

密钥管理面临的挑战主要包括以下几点:

  1. 安全的公钥交换:在使用基于非对称密钥算法的服务之前,实体需要获取其他实体的公钥。然而,通过非信任的通道进行公钥交换存在安全风险,因为可能会受到中间人攻击,导致公钥被伪造或篡改。

  2. 防止公钥被截获和更改:在密钥交换过程中,公钥必须确保不会被截获和更改。如果公钥被恶意修改,那么接收方就无法正确验证数字签名或进行安全通信,从而导致安全漏洞。

  3. Full Mesh复杂度:密钥交换涉及到多个实体之间的通信和密钥交换,特别是在大规模网络中,实体之间的连接可能形成复杂的Full Mesh结构,导致密钥管理和密钥交换的复杂度增加。

  4. 用户确认密钥有效性的不可靠性:在某些情况下,最终用户可能需要确认公钥的有效性。然而,依靠最终用户来确认密钥的有效性可能不够可靠,因为用户可能会受到社会工程攻击或误导,导致接受到的公钥并不是来自合法的实体。

综上所述,密钥管理面临着诸多挑战,包括安全的公钥交换、防止公钥被篡改、Full Mesh复杂度以及用户确认密钥有效性的不可靠性等问题。为了解决这些挑战,需要采用安全的密钥交换机制、密钥管理策略以及数字证书等技术来确保密钥的安全性和可靠性。


安全密钥管理的几种方式

手动密钥交换与确认

在这里插入图片描述


安全地交换公钥,最简单的安全方法是需要带外验证, 通过带外验证来安全地交换公钥是一种简单而有效的方法。

  1. 回读收到的密钥(指纹):在收到对方发送的公钥后,接收方可以通过安全的带外通道(例如电话)将接收到的密钥的指纹(例如公钥的哈希值)回读给发送方。这个指纹可以是公钥的摘要或哈希值,确保了不需要传输整个公钥,从而降低了泄露公钥的风险。

  2. 验证匹配:发送方收到接收方回读的密钥指纹后,可以将其与自己发送的公钥的指纹进行比对。如果两者匹配,则表明在传输过程中公钥没有被篡改或更改。这种匹配性检验可以确保公钥的完整性和真实性。

  3. 可扩展性问题:虽然这种方法简单易行,但是确实存在可扩展性问题。特别是在大规模网络中,或者需要频繁进行公钥交换的情况下,使用电话或其他带外通道来回读密钥指纹可能会变得不够实用和高效。因此,在实际应用中需要权衡利弊,根据具体情况选择合适的密钥交换机制。

总的来说,通过带外验证来安全地交换公钥是一种简单有效的方法,但需要注意其可扩展性问题,特别是在大规模网络中或需要频繁进行公钥交换的情况下。


受信任的介绍

b89d6ae4d827f9ae8.png)
在这里插入图片描述

  • 1.用户A和用户B已经安全的交换了公钥(通过离线确认)
  • 2.用户B和用户C已经安全的交换了公钥(通过离线确认)
  • 3.用户A和用户C能否通过用户B的帮助,安全的交换公钥呢?

在这里插入图片描述

用户B能够扮演类似一个受信任的介绍者的角色,因为它是被用户A和C两者都信任的。

  • 1.用户B通过自己的私钥给用户A的公钥做签名并把它发送给用户C
  • 2.用户B通过自己的私钥给用户C的公钥做签名并把它发送给用户A
  • 3.用户A和C能够验证签名,因为他们早已拥有了用户B的公钥
    在这里插入图片描述

其中用户B作为受信任的介绍者,可以帮助用户A和用户C安全地交换公钥。进一步解释一下:

  1. 用户B签名用户A的公钥:首先,用户B使用自己的私钥对用户A的公钥进行签名,生成数字签名。这个数字签名相当于用户B对用户A的公钥的认可和背书,确保了公钥的真实性和完整性。

  2. 发送签名后的公钥给用户C:然后,用户B将签名后的用户A的公钥(明文)和数字签名一起发送给用户C。用户C收到后,可以使用用户B的公钥来验证数字签名,确保公钥的来源和完整性。

  3. 用户B签名用户C的公钥:接下来,用户B使用自己的私钥对用户C的公钥进行签名,生成数字签名。这个数字签名确保了用户B对用户C的公钥的认可和背书。

  4. 发送签名后的公钥给用户A:用户B将签名后的用户C的公钥和数字签名一起发送给用户A。用户A收到后,同样可以使用用户B的公钥来验证数字签名,确保公钥的来源和完整性。

  5. 验证签名:用户A和用户C都可以使用用户B的公钥来验证数字签名,确保公钥的来源和完整性。如果数字签名验证通过,则表明公钥是由用户B签名的,公钥的来源可信,用户A和用户C可以安全地使用对方的公钥进行加密和通信。

在这里插入图片描述

通过这种方式,用户B作为受信任的介绍者,可以帮助用户A和用户C安全地交换公钥,确保通信的安全性和可靠性。

CA 其实就是用户B的角色 。

在这里插入图片描述

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

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

相关文章

清理神器CleanMyMac X 空间透镜——可视化您的磁盘空间 空间透镜有什么用

不久前,CleanMyMac X 发布了一个新功能: 空间透镜 相信有非常多的小伙伴和小编一样, 对这个功能一脸问号 这啥玩意儿??? 今天就让我们深入了解一下, CleanMyMac X 的空间透镜功能。 - 更好…

嵌入式单片机中晶振的工作原理

晶振在单片机中是必不可少的元器件,只要用到CPU的地方就必定有晶振的存在,那么晶振是如何工作的呢? 什么是晶振 晶振一般指晶体振荡器,晶体振荡器是指从一块石英晶体上按一定方位角切下的薄片,简称为晶片。 石英晶体谐…

吉他学习:识谱,认识节奏,视唱节奏,节拍器的使用

第九课 识谱https://m.lizhiweike.com/lecture2/29362692 第十课 基础乐理(二)——节奏篇https://mp.csdn.net/mp_blog/creation/editor?spm=1011.2124.3001.6192

Redis核心技术与实战【学习笔记】 - 27.限制Redis Cluster规模的因素(通信开销)

简述 Redis Cluster 能保存的数据量以及支撑的吞吐量,跟集群实例规模相关。 Redis 官方给出了 Redis Cluster 的规模上线,就是一个集群运行 1000 个实例。 其实,限定 Redis Cluster 集群规模的一个关键因素就是,实例间的通信开销…

Vue源码系列讲解——虚拟DOM篇【三】(更新子节点)

1. 前言 在上一篇文章中,我们了解了Vue中的patch过程,即DOM-Diff算法。并且知道了在patch过程中基本会干三件事,分别是:创建节点,删除节点和更新节点。创建节点和删除节点都比较简单,而更新节点因为要处理…

12个最常用的matplotlib图例 !!

文章目录 1、折线图 2、散点图 3、直方图 4、柱状图 5、箱线图 6、热力图 7、饼图 8、面积图 9、等高线图 10、3D图 11、时间序列图 12、树状图 总结 1、折线图 折线图(Line Plot):用于显示数据随时间或其他连续变量的变化趋势。在实际项目中…

【Linux驱动】块设备驱动(三)—— 块设备读写(不使用请求队列)

并非每种块设备都会用到请求队列,从上节可以知道,请求队列的作用是管理和调用IO请求,那么反过来想,如果IO请求较少,那就可以无需使用请求队列。在以下情况中,可以不使用请求队列。 单任务环境: 当系统中只有…

VRRP配置

目录 网络拓扑图 配置要求 配置步骤 网络拓扑图 配置要求 按照图示配置 IP 地址和网关在 SW1,SW2,SW3 上创建 Vlan10 和 Vlan20,对应 IP 网段如图,交换机之间链路允许所有 VLAN 通过在 SW1 和 SW2 上配置 VRRP,要求…

在windows server2016部署域控服务器DC

1.正常配置vmware虚拟机基础环境 2.启动虚拟机,会先到efi network,等待几分钟 3.进入boot manager,选择启动方式,记得提示CD启动的时候需要按回车,不然又会回到这个界面 4.选择安装版本为桌面版(开始直接…

无题2024

念旧 阿悠悠 专辑:念旧 发行时间 2019-08-25 念旧 播报编辑讨论1上传视频 阿悠悠演唱歌曲 《念旧》是由一博作词,一博和张池作曲,阿悠悠演唱的歌曲,发行于2019年8月25日。 [1]收录于同名专辑《念旧》中。 相关星图 查…

(四)elasticsearch 源码之索引流程分析

https://www.cnblogs.com/darcy-yuan/p/17024341.html 1.概览 前面我们讨论了es是如何启动,本文研究下es是如何索引文档的。 下面是启动流程图,我们按照流程图的顺序依次描述。 其中主要类的关系如下: 2. 索引流程 (primary) 我们用postman发送请求&…

Windows Server 2025 Hyper-V 新变化

今天简单跟大家聊聊Windows Server 2025 Hyper-V一些新功能新变化,具体如下: 在 VM 之间共享 GPU 随着图形处理器的重要性日益增加,特别是由于它们在 AI 应用程序中的核心作用,Hyper-V 中对 GPU 的现有支持已不再足够。到目前为…

[Java][算法 哈希]Day 01---LeetCode 热题 100---01~03

LeetCode 热题 100---01~03 ------->哈希 第一题 两数之和 思路 最直接的理解就是 找出两个数的和等于目标数 这两个数可以相同 但是不能是同一个数字(从数组上理解就是内存上不是同一位置) 解法一:暴力法 暴力解万物 按照需求 …

报错ValueError: Unknown CUDA arch (8.6) or GPU not supported

文章目录 问题描述解决方案参考文献 问题描述 报错 ValueError: Unknown CUDA arch (8.6) or GPU not supported 本人显卡为 RTX 3060,CUDA 为 10.2,PyTorch 为 1.5 解决方案 修改 C:\Users\Administrator\Envs\test\Lib\site-packages\torch\utils\c…

【PyQt】08 - 编辑Tab顺序

文章目录 前言一、Tab顺序二、编辑Tab顺序总结 前言 介绍了什么是Tab顺序,以及如何修改Tab顺序。 一、Tab顺序 当你的界面设计好之后,在输入栏按住Tab按键,他会按照你摆放的顺序一次转跳 二、编辑Tab顺序 方法一 然后鼠标左击就可以改变…

前端JavaScript篇之对this对象的理解

目录 对this对象的理解1. 函数调用模式:2. 方法调用模式:3. 构造器调用模式:4. apply、call和bind调用模式: 对this对象的理解 在JavaScript中,this关键字是一个非常重要的概念,它用于指向当前执行上下文中…

【CV论文精读】EarlyBird: Early-Fusion for Multi-View Tracking in the Bird’s Eye View

【CV论文精读】EarlyBird: Early-Fusion for Multi-View Tracking in the Bird’s Eye View 0.论文摘要 多视图聚合有望克服多目标检测和跟踪中的遮挡和漏检挑战。多视图检测和3D对象检测中的最新方法通过将所有视图投影到地平面并在鸟瞰视图(BEV)中执…

面试经典150题 -- 栈(总结)

总的链接 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 关于栈 -- stack 的学习链接 c的STL中的栈 -- stack-CSDN博客 20 . 有效的括号 这题直接用栈模拟就好了; 这里用一种取巧的方法 , 当遇见左括号,加入右…

JAVA设计模式之建造者模式详解

建造者模式 1 建造者模式介绍 建造者模式 (builder pattern), 也被称为生成器模式 , 是一种创建型设计模式. 定义: 将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。 **建造者模式要解决的问题 ** 建造者模式可以将部件和其组装过程分开…

Dynamo批量处理多个Revit文件?

Hello大家好!我是九哥~ 最近很多小伙伴都在咨询Dynamo如何批量处理多个Revit文件,之前写过一篇《Dynamo批量修改多文件项目基点参数》,利用的是后台打开Revit的方式,可以实现一些批量操作的功能。 但是这个方法,对于一…