阅读:1146回复:0
PGP的安全问题分析<一>
PGP的安全问题分析<一>
2000-08-18? Loking ?105网络安全中心 -------------------------------------------------------------------------------- 这可能是个最难写的题目了,PGP本身就是一个数据安全产品,它会有什么安全 性问题呢?PGP的作者 Phil Zimmermann 在PGP文档中说到:“没有哪个数据安全系统是牢不可破的。”PGP也不例外。我们研究它的安全漏洞就是为了让用户知道 哪些事会降低PGP的安全性,以及如何避免它们。下面是这些漏洞: 口令或私匙的泄密、公匙被篡改、你删除的文件被人恢复、病毒和特洛伊木马、 物理安全受到侵犯(物理安全指计算机等物理资源的安全)、电磁泄露、暴露在多用 户系统中、网络数据流分析,甚至会有可能被直接从密码学分析的角度被解密(这当 然是可能性最小的了)。 我们先分别看看PGP加密体系的四个关键部分的安全性问题。PGP是个杂合算法, 所谓“杂合”体现在它包含:一个对称加密算法(IDEA)、一个非对称加密算法 (RSA)、一个单向散列算法(MD5)以及一个随机数产生器(从用户击键频率产生伪 随机数序列的种子)。每种算法都是PGP不可分割的组成部分,对它们各有不同的攻击 方式。 IDEA 的安全性问题 IDEA是PGP密文实际上的加密算法,对于采用直接攻击法的解密者来说,IDEA是 PGP密文的第一道防线。 关于IDEA的原理请参见《PGP简介》,在这里我主要谈谈与安全性有关的部分。 IDEA,一种由 Lai 和 Massey 在 1992 年完成的对64bit大小的数据块的传统加密算法。 IDEA是 International Data Encryption Algorithm 的缩写。它基于“相异代数群上的 混合运算”设计思想,它比DES在软件实现上快得多,和DES一样,它也支持“反馈加密 (CFB)”和“链式加密(CBC)”两种模式,在PGP中采用IDEA的64-bits CFB模式。 IDEA比同时代的算法象:FEAL, REDOC-II, LOKI, Snefru 和 Khafre都要坚固,而且最 近的证据表明即使是在DES上取得巨大成功的 Biham 和 Shamir 的微分密码分析法对IDEA 也无能为力。Biham 和 Shamir 曾对IDEA的弱点作过专门分析,但他们没有成功。直到 目前没有任何关于IDEA的密码学分析攻击法的成果发表,据目前我接触到的文档中谈到 无论是NSA还是hacker们都还没有办法对IDEA进行密码学分析,因此对IDEA的攻击方法就 只有“直接攻击”或者说是“密匙穷举”一种了。 那么对IDEA的直接攻击难度如何呢?我们知道IDEA的密匙空间(密匙长度)是128 位,用十进制表示所有可能的密匙个数将是一个天文数字: 340,282,366,920,938,463,463,374,607,431,768,211,456. 为了试探出一个特定的密匙,平均要试探一半上面的可能性。即使你用了十亿台每 秒钟能够试探十亿个密匙的计算机,所需的时间也比目前所知的宇宙的年龄要长,而即 使是在当代制造每秒试探十亿个密匙的计算机还是不可能的。因此对IDEA进行明文攻击 也是不可能的,更何况从PGP的原理看一个IDEA的密匙失密只会泄露一次加密的信息,对 用户最重要的密匙――RSA密匙对的保密性没有什么影响。 那么看来IDEA是没有什么问题了,因为你既不能从算法中找到漏洞又没法明文攻击 实际上呢?漏洞还是有的,大家知道 Netscape 的安全性风波吧,就是因为忽视了密匙 随机生成的问题,Netscape的随机密匙生成算法生成的密匙很有“规律”,而且远远没 有均布到整个密匙空间去,所以尽管Netscape的美国版采用128bits的密匙,还是被用 很小的机时代价破掉了。那么PGP是不是也有这个毛病呢?我将在下面谈到随机数生成 时再详细说,这里提到它是为了说明PGP各个部分之间的依存关系。 当有人发现PGP实际上不是一种“纯粹的”RSA加密算法时,他们担心由于加密链中 IDEA的弱点而被攻破。实际上这是由于一种误解:他们认为公匙加密生来就比传统加密 安全得多。实际上密码分析专家计算过,穷举128-bit IDEA密匙和分解3100-bitRSA密匙 的工作量相当,而实际上1024-bit的RSA密匙已被认为是机密级的,而且1024-bit的纯粹 RSA加密要比128-bit的IDEA加密要慢4000多倍。RSA的长处在于它的易用性而不是它的坚 固性,相反加密链的弱点不在IDEA上而是在RSA上。当然这只是相对而言,我们马上会看 到RSA对直接攻击的抵御也是足够强的。 随便提一句,在PGP的未来版本中将提供密匙长度为112-bit的Triple DES加密算法 作为用户选项。56-bit的标准DES密匙已经被证明是可以攻破的。 |
|
|