对称密钥加密的局限性
- 密钥分配问题:在公共信道上容易被窃听
- 密钥存储问题:每个参与者需要保存n-1个密钥(甚至更多)
- 在开放环境中不适用
局部解决方法一一密钥分配中心
-
优点:
- 每个员工只需要存储一个密钥(对接KDC),密钥分配中心需要存储大量的密钥,但是KDC在一个安全的地方并且给予最高等级的保护措施来防止网络攻击。
- 新用户进入,所有要做的只是在这个员工和KDC之间产生一对密钥。
-
缺点:
- 如果成功地攻击了KDC,将导致服务所有各方的系统被完全攻破
- 密钥分配中心是单一失效点:如果KDC崩溃了,安全通信将不可行,一个简单的解决办法是备份这个KDC
-
例子:Alice想要和Bob通话,A先请求KDC,KDC分别同A和B的密钥甲米通话密钥,然后发送给A,然后A再把用B的密钥加密的通话密钥发送给B。
公钥革命
公钥加密解决的对称加密的局限性:
- 公钥加密可以让密钥分配在公开的信道中完成
- 公钥加密大量减少了需要存储的密钥
- 公钥加密更适合于公开环境,通信各方没有事先交互,但是却希望进行安全地通信
密钥交换和加密的主要区别是:前者是一种交互协议,所以要求通信双方同时在线。相反,加密( 通常)不是一个交互的过程,因此更适合于某些应用程序
密钥交换安全性实验
无法区分该执行生成的密钥k(现在由Alice和Bob共享)和长度为n的统一密钥
若这个实验成功的概率满足如下等式,则表示该密钥交换协议是安全的:
Diffe-Hellman密钥交换
构造方法
取G;为概率多项式时间算法,其中输入为1n,输出一个循环群G,群的阶为q(||q||= n),生成元为g。构造方案如下:最后得到的都是gxy
G;是群生成算法输出中G是循环群,q是阶,g是生成元
图示:
安全性证明:
首先要求G;是关于离散对数困难的。然后改进一下安全性实验,其中如果b=0 ,一个均匀随机地从G中取一个值k给攻击者,而不是将一个随机串给攻击者 。
证明Diffe-Hellman密钥交换是安全的:A是一个PPT敌手,由于Pr[b = 0]= Pr[b = 1) = 1/2, 有
在实验中A收到的是(G,q,g,h1,h2,k1),k1为敌手的猜测,要么是真实密钥gxy,要么是一个随机群元素,区分这两种情况与解决Diffie-Hellman问题是等价的
后一项为可忽略,证毕