加密与安全_ 解读非对称密钥解决密钥配送问题的四个方案

文章目录

Pre


对称密钥的死穴 - 经典的密钥配送问题

假设 Alice 和 Bob 两个人需要相互发送消息,这封邮件里面的信息比较私密,因此不想让第三人知道.

Alice 思来想去,觉得有必要对内容做个加密. 这样即便被 Eve 窃取了,他也无法知道内容.

是不是 Alice 使用对称密钥将加密数据通过邮件传输给 Bob 就可以高枕无忧了? Alice 加密的数据,Bob 需要解开才行.

那问题就来了:如果 Alice 可以通过安全通道将密钥传递给 Bob,那么还有啥必要搞加密呢? 如果没有这样的安全通道,那么 Bob 又如何接受密钥呢?

这就是密钥配送问题的由来 .


现实世界中,这个问题如何解决呢? 通常需要下发密钥的时候,会同时通过两个渠道发送两个信封。 这两个信封是由两组人走不同的路线到达同一个地点。 只有将两个信封内的数据放到一起才是完整的密钥。否则单纯拿到其中一封并不能解决任何问题。


什么是非对称密钥

非对称密钥就是为了解决密钥配送问题,通常采用的方案有四个

  • 共享密钥
  • 密钥分配中心
  • Diffie-Hellman 密钥交换
  • 公钥密码

接下来我们:

  1. 介绍共享密钥的定义、工作原理、优缺点及应用场景。
  2. 讲解密钥分配中心的定义、工作原理、优缺点及应用场景。
  3. 详细说明Diffie-Hellman密钥交换体系的定义、工作原理、优缺点及应用场景。
  4. 介绍公钥密码体系的定义、工作原理、优缺点及应用场景,并详细说明RSA算法

非对称密钥解决密钥配送问题的四个方案

共享密钥

定义:共享密钥是一种简单的密钥配送方案,通过安全通道事先将密钥传递给通信双方。

工作原理

  • Alice和Bob通过某种安全通道(如面对面交换、使用安全信道)共享一个密钥。
  • 使用共享密钥进行加解密。

优点

  • 实现简单,适用于小范围内的通信。

缺点

  • 随着参与者数量的增加,管理和分发密钥的成本和复杂性急剧上升。
  • 安全性依赖于共享密钥的保密性和安全通道的安全性。

应用场景

  • 小型闭合网络或组织内部的通信,如银行内部系统。

密钥分配中心(KDC)

定义:密钥分配中心(Key Distribution Center, KDC)是一个集中管理密钥的实体,负责生成和分发临时密钥。

工作原理

  1. KDC为每个用户生成一个密钥,并存储在数据库中。
  2. 当Alice需要和Bob通信时,向KDC申请临时密钥。
  3. KDC生成临时密钥,并使用Alice和Bob的密钥分别加密临时密钥。
  4. KDC将加密后的临时密钥分别发送给Alice和Bob。
  5. Alice和Bob解密得到临时密钥,使用临时密钥进行加密通信。
  6. 通信结束后,销毁临时密钥。

优点

  • 扩展性较好,适用于中等规模的用户群体。
  • 减少了每对通信双方需要直接共享密钥的需求。

缺点

  • 密钥分配中心是一个单点故障,如果KDC失效,所有通信都会中断。
  • 需要高度信任KDC的安全性和可靠性。

应用场景

  • 中等规模的网络环境,如公司内部网络或组织内的通信。

Diffie-Hellman 密钥交换体系

定义:Diffie-Hellman密钥交换是一种基于数学问题的密钥交换协议,允许通信双方在不安全的信道上协商共享密钥。

工作原理

  1. Alice和Bob各自选择一个私有密钥,并计算各自的公开值。
  2. Alice和Bob交换公开值。
  3. Alice使用Bob的公开值和自己的私有密钥计算共享密钥。
  4. Bob使用Alice的公开值和自己的私有密钥计算共享密钥。

即使Eve截获了公开值,也无法推导出共享密钥。

优点

  • 无需事先共享密钥,适用于不安全信道。
  • 提供了良好的安全性。

缺点

  • 需要适当的数学基础和计算能力。
  • 不提供身份验证,需结合其他机制防止中间人攻击。

应用场景

  • 安全电子邮件、VPN等需要安全密钥交换的场景。

公钥密码体系

密钥配送问题痛点在于加解密使用的是相同的密钥,所以才需要交换。 如果 Alice 和 Bob 使用的不同的密钥呢? 那是不是就不需要交换了呢? 这正是公钥体系的核心: 双方使用不同的密钥进行加解密。

定义:公钥密码体系使用一对密钥进行加解密:公钥用于加密,私钥用于解密。

工作原理

  1. Alice和Bob各自生成一对公钥和私钥。
  2. Alice和Bob交换公钥。
  3. Alice使用Bob的公钥加密消息,发送给Bob。
  4. Bob使用自己的私钥解密消息。

在这个过程中,公钥可以任意传递,而私钥决定不能外泄

优点

  • 无需安全通道传递公钥,私钥无需共享。
  • 提供了身份验证和数字签名功能。

缺点

  • 加解密速度较慢,不适合大数据量的加密。

应用场景

  • 安全电子邮件、数字签名、SSL/TLS等需要高安全性的场景。

RSA算法

定义:RSA是一种常见的公钥加密算法,基于大素数分解的难题。

加密公式

y = x\^e \\mod N

其中,( x )为明文,( y )为密文,( e )和( N )为公钥。

解密公式

x = y\^d \\mod N

其中,( d )和( N )为私钥。

RSA的安全性依赖于大素数分解的计算难度,公钥和私钥是一对不可逆的数学关系。

应用场景

  • 安全数据传输、数字签名和身份验证等。
相关推荐
用户962377954487 小时前
DVWA 靶场实验报告 (High Level)
安全
数据智能老司机10 小时前
用于进攻性网络安全的智能体 AI——在 n8n 中构建你的第一个 AI 工作流
人工智能·安全·agent
数据智能老司机10 小时前
用于进攻性网络安全的智能体 AI——智能体 AI 入门
人工智能·安全·agent
用户9623779544812 小时前
DVWA 靶场实验报告 (Medium Level)
安全
red1giant_star12 小时前
S2-067 漏洞复现:Struts2 S2-067 文件上传路径穿越漏洞
安全
用户9623779544815 小时前
DVWA Weak Session IDs High 的 Cookie dvwaSession 为什么刷新不出来?
安全
cipher2 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
一次旅行5 天前
网络安全总结
安全·web安全
red1giant_star5 天前
手把手教你用Vulhub复现ecshop collection_list-sqli漏洞(附完整POC)
安全
ZeroNews内网穿透5 天前
谷歌封杀OpenClaw背后:本地部署或是出路
运维·服务器·数据库·安全