7.1 Diffie-Hellman 密钥交换
7.1 Diffie-Hellman 密钥交换
- Diffie-Hellman 密钥交换协议
- DH密钥交换中的安全问题
协议
密钥交换是实现安全通信的基础
商用加密算法AES和DES需要在安全通信之前,实现通信双方的密钥共享。
密钥交换的方法有:
- 基于RSA的密钥交换;
- 基于KDC技术
- DH算法
- 基于物理层的密钥交换。
端对端密钥交换
基于RSA:证书颁发机构CA(Certificate Authority);
基于DES/AES:密钥分发中心KDC (Key Distributed Center)。
端到端密钥交换,常用到DH的情况:
- 使用 IPsec VPN 交换数据
- 使用 SSL或TLS 在互联网中加密数据·交换SSH数据
DH密钥交换
是不安全信道下实现安全密钥共享的方法
DH分别为发明者的姓氏代表
DH算法
举例
DH算法 两例
- 在Diffie-Hellman密钥交换协议中,设p=11, g=2, A和B分别选取随机数a=9和b=3。则A和B之间建立的共享密钥k为 (7)
- 在Diffie-Hellman密钥交换协议中,设p=19, g=13, A和B分别选取随机数a=3和b=5。试计算A和B之间建立的共享密钥k。(8)
当其中某个人自己的密钥算错,第二步各自计算的K就不一样,故可以验证。
DH密钥交换中的安全问题
除了破获密钥,还有其他攻击方法吗
- 阻塞攻击: 因为幂运算是计算密集性的,当敌手发起大量的密钥请求,受攻击者将花费较大计算资源来做幂运算;
- 中间人攻击: 敌手可分别冒充用户A和B中的一方,与另一方交换密钥(敌手就可以监听和传递A和B的秘密信息而不被发现)。
中间人攻击
---------------------------
“朝着一个既定的方向去努力,就算没有天赋,在时间的积累下应该也能稍稍有点成就吧。”