对称密码中的密钥是怎样实现安全配送的?

打印 上一主题 下一主题

主题 819|帖子 819|积分 2457

对称密码在计划时就存在一个天然的缺陷,就是要求通讯双方都要持有相同的密钥。确保密钥的安全传输和防止密钥泄露,往往比加密算法本身更为复杂和困难。一旦密钥被第三方获取,通讯的安全性就会受到严重威胁,从而可能暴露敏感信息。接下来跟随博主一起来探索下如安在不安全的网络传输通道中实现密钥共享。
  1. 什么是密钥配送题目

密钥配送题目是指在对称密码算法中,加密息争密利用同一个密钥,发送方必须设法将密钥安全地发送给吸收方,而不会被第三方窃听者截获。如果密钥被盗取,那么加密的数据也会被破解,因此密钥的安全配送成为对称密码算法的一个关键题目
为相识决这个题目,密码学领域发展出了多种策略息争决方案。下面分别介绍几种重要的方法:


  • 通过通讯双方事先共享密钥密钥来解决
  • 通过密钥分配中心(KDC)来解决
  • 通过密钥交换Diffie-Hellman(DH)来解决
  • 通过公钥密码来解决
为了让以下讲解更容易被大家明白,我们假设有如了局景:Alice在网上认识了Bob,现在Alice想给Bob发一封邮件,Alice不想让别人知道邮件的内容,以是她接纳了对称密码算法。
接下来Alice就需要想办法让对称密码(此处也可称为密钥或加密密钥) 通过安全的方式提供给Bob。

2. 怎样解决密钥配送题目?

2.1. 通过通讯双方事先共享密钥来解决

事先共享是指事先用安全的方式将密钥交给对方。这种方法最为简单,但却存在以下局限


  • 地理位置限制:如果Alice和Bob家间隔较近,Alice找到Bob,直接告诉他密钥就可以了。如果他们相距较远,就很难事先共享密钥了。

  • 记载和管理困难:即使能够实现事先共享密钥,但在人数较多的场景下,通讯所需要的密钥数量也会增大,记载和管理如此多的密钥将变更非常困难。好比果Alice除了和Bob发加密邮件,还和另外1000个网友发加密邮件,那么Alice就需要影象和管理1000个密钥,对于Alice来说,这几乎不可能。
2.2. 通过密钥分配中心(KDC)来解决

若全部到场通讯的双方都要事先共享密钥,从而导致密钥的数量巨大,可以利用密钥分配中心(Key Distribution Center,KDC)来解决密钥配送题目。密钥分配中心会给每个人生成一个通讯密钥,每个人只要和KDC事先共享密钥就可以了。
   :实质上是把数量巨大的密钥交给KDC记载和管理了,每个人只需要记载自己与KDC的事先共享密钥。
  有了KDC后,Alice向Bob发送加密邮件时,具体的步骤如下:

  • Alice向KDC发出盼望与Bob进行通讯的哀求。
  • KDC生成一个会话密钥S,用于Alice和Bob在本次通讯中用于加解密邮件;
  • KDC从数据库中取出Alice的密钥A和Bob的密钥B
  • KDC用Alice的密钥(KDC与Alice的事先共享密钥A)对会话密钥S进行加密,并发送给Alice;
  • KDC用Bob的密钥(KDC与Bob的事先共享密钥B)对会话密钥S进行加密,并发送给Bob;
  • Alice对来自KDC的会话密钥(己利用Alice的密钥A加密)进行解密,得到会话密钥S
  • Alice用会话密钥S对邮件进行加密,并将邮件发送给Bob;
  • Bob对来自KDC的会话密钥(己利用Bob的密钥B加密)进行解密,得到会话密钥S
  • Bob用会话密钥S对来自Alice的加密邮件进行解密。
  • Alice和Bob删除会话密钥S

上图为在KDC的到场下,Alice与Bob的加密通讯过程。虽然KDC有用,但也存在局限


  • 全部的加密通讯都由KDC处理,随着通讯到场方增多,KDC的负荷也随之增加,可能出现单点故障导致整个加密通讯平台瘫痪;
  • 如果 KDC被攻破,全部的通讯都会被攻击者破译
2.3. 通过密钥交换Diffie-Hellman(DH)来解决

Diffie-Hellman密钥交换是1976年由Whitfield Diffie和Martin Hellman共同发明的一种算法。通过此算法,通讯双方仅通过交换一些可公开的信息就能够生成出共享密钥了。
虽然这种算法被称为密钥交换,但双方并没有真正的交换过密钥,而是通过计算生成了一个相同的共享密钥。因此,这种算法也被称为Diffie-Hellman密钥协商

由于Diffie-Hellman密钥协商原理比力复杂,一两句话说不清楚,在本文就不睁开介绍了,如果大家感兴趣可以参阅博主文章《一文读懂密钥交换(DH、ECDH)算法(附密码国标下载)》。
2.4. 通过公钥密码来解决

在公钥密码中加密密钥(公钥)息争密密钥(私钥)是差别的。加密密钥是可以公开的,任何知道加密密钥的人都可以进行加密,但只有拥有解密密钥的人才能解密。

为相识决Alice与Bob的加密通讯题目,Bob可以将加密密钥(公钥)发送给Alice,即便此加密密钥被他人盗取也关系不大,由于只有Bob才有解密密钥(私钥)。这样一来,实在就不存在密钥配送题目了。即接纳公钥密码替代对称密钥可以解决密钥配送题目。
当然还有一种比力好的实践方法(HTTPS通讯中常用的方式),即将对称密码的共享密钥通过公钥密码(用对方的公钥加密共享密钥)来配送,由于步骤与公钥密码雷同(仅把公钥密码中通讯的消息换成了共享密钥),具体工作流程如下图。

需要注意的是,如果接纳了公钥密码来进行密钥配送,就又会涉及到数字证书和数字署名题目。若想相识更多关于公钥密码、数字署名和数字证书的细节,可以参阅博文:


  • 《一文彻底搞懂公钥密码、数字署名和数字证书》




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表