安全密钥交换算法研究

发布于:2021-10-31 02:19:49

龙源期刊网 http://www.qikan.com.cn 安全密钥交换算法研究 作者:李家兰 冼浪 来源:《科技视界》2015 年第 27 期 【摘 要】密钥交换是网络通信用户实现加密通信的基础。D-H 算法是迄今在网络安全领 域应用最为广泛的密钥交换算法,但其安全性面临中间人攻击的危害。传统 PGP 体系利用 RSA 算法可实现基于公钥证书加密的密钥交换,但无法验证发送者的真实身份。改进的密钥 交换算法采用数字签名技术,可实现通信双方的身份认证,提高了密钥交换的安全性。 【关键词】密钥交换;D-H 算法;PGP;身份认证 1 密钥交换 两个网络通信用户在采用对称加密法实现保密通信时,首先必须共享一个秘密密钥;为了 防止攻击者破获,这个密钥必须经常更新。这个在一次定长通话或交换定量数据时使用的密 钥,通常称为会话密钥。 会话密钥产生的两种形式是集中式生产和分散式生产。集中式生产,是由指定的密钥产生 中心(如密钥分发中心 KDC 和证书分发中心 CDC 等)集中生产密钥,然后分发给系统内的用 户,其用户数量受到算法所能提供的密钥总数的限制,所以也称有边界生产;分散式生产,由 使用者个人分散生产或由通信双方协商产生,用户数量不受限制,也称无边界生产。会话密钥 一般采用分散式生产,由用户在公开的信道上协商建立,这个建立过程称为密钥交换。 2 D-H 算法与中间人攻击 分散式密钥生产方式中最著名的是 Diffie-Hellman 密钥交换算法,简称 D-H 算法。D-H 算 法是 W.Diffie 和 M.Hellman 于 1976 年提出的一个用于交换密钥的公钥密码算法,已经在很多 商业产品中得以应用。算法的目的是使得两个或两个以上用户能够在公开的信道*踩亟换 数据,得到一个共享的会话密钥,用于实现对称加密通信,并能有效阻止攻击者窃取该密钥。 D-H 算法实现过程如下: 1)A 和 B 预先协商一个大素数 p 及 p 的本原根 a; 2)A 产生随机数 x,计算 M=ax mod p,然后把 M 发送给 B; 3)B 产生随机数 y,计算 N= ay mod p,然后把 N 发送给 A; 4)A 计算 k=Nx mod p; 5)B 计算 k'=My mod p。 龙源期刊网 http://www.qikan.com.cn 因为 k=Nx mod p=(ay mod p)x mod p=(ay)x mod p=(ax)y mod p=My mod p=k',所 以 A 和 B 得到了相同的密钥。而攻击者要从 p,a,M,N 计算 k,将需要解决求离散对数的问 题,这是个著名的陷门单向函数,目前普遍认为无法通过穷举之外的方法求解。 D-H 算法的主要缺陷是容易受到中间人攻击: 1)A 发送公开值(a,p,M)给 B,攻击者 C 处于 A 和 B 的通信路径之间,截获这些值 并把自己产生的公开值发送给 B; 2)B 发送公开值(N)给 A,C 截获它然后把自己的公开值发送给 A; 3)A 和 C 计算出共享密钥 k1,B 和 C 计算出共享密钥 k2; 4)A 用密钥 k1 给 B 发送消息,但实际上 k1 是 A 与 C 协商计算所得,C 截获消息后可用 k1 解密,同理 C 可用 k2 解密 B 发送给 A 的消息。C 还可以篡改 A、B 之间的通信,甚至假冒 其中一方同另一方通信。 可引入认证、时间戳、随机标号等机制改进 D-H 算法,有效抵抗中间人攻击。[1] 3 PGP 体系实现密钥交换 PGP(Pretty Good Privacy) 是 Phil Zimmermann 于 1991 年发布的一个基于 RSA 公钥加密 算法与 IDEA 对称加密算法的开源的邮件加密体系[2]。PGP 创造性地把 RSA 公钥体系的方便 和传统加密体系的高速结合起来,成为最流行的公钥加密软件包。PGP 对信息内容使用 IDEA 对称加密,所以需要在收发双方之间预先实现密钥交换;而 PGP 的密钥交换是利用 RSA 算法 的公钥加密实现的。传统 PGP 体系的一般使用过程如下: 发送方 A: 1)随机生成新的会话密钥 k;基于 k,用 IDEA 算法加密邮件信息 m,得到 m’; 2)获取接收方的 RSA 公钥 e;基于 e,用 RSA 算法加密 k,得到 k’=Ee(k); 3)将 m’| k’一起发送给接收方。 接收方 B: 1)用本方 RSA 私钥 d 解密 k’,得到 k=Dd(k’); 2)用 k 解密邮件信息 m’,得到 m。 龙源期刊网 http://www.qikan.com.cn 在以上过程中,会话密钥并非通过协商,而只是由发送方随机生成;密钥共享则是通过公 钥证书加密发送完成的,其安全性非常高,是基于 RSA 算法的*饽讯鹊摹5硪环矫妫 收方只能保证其邮件内容无法被窃取,但无法验证发送者的真实身份,导致了接收方可能收到 伪造的信息。 4 改进的密钥交换算法 发送方 A: 1)随机生成新的会话密钥 k;基于 k,用 IDEA 算法加密邮件信息 m,得到 m’; 2)使用 RSA 算法,用本方私钥 da 加密 k,再用接收方的公钥 eb 加密这个结果,得到 k’=Eeb(Eda(k)); 3)将 m’|k’一起发送给接收方。 接收方 B: 1)用本方 RSA 私钥 db 解密 k’,再用发送方公钥 ea 解密这个结果,得到 k=Dea(Ddb (k’)); 2)用 k 解密邮件信息 m’,得到 m。 以上方案与本文第 3 节所描述的方案的区别是:在发送方的第 2 步中,要求其先用自己的 私钥 da 加密 k,这就达到了数字签名的效果;因为接收方可以根据权威的公钥来源获取证书 的身份标识,从而通过验证签名确认发送者的真实身份。同时,k’是经过接收方的公钥加密所 得,只有正确的接收方才能基于其私钥实现解密,因此可防止中间人的窃听与篡改。 以上方案在使用时,发送方 A 的第 2 步的加密顺

相关推荐

最新更新

猜你喜欢