分享
 
 
 

PGP的安全问题分析

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

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,46 63,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密匙已经被证明是可以攻破的。

b

RSA 的安全性问题

先看看RSA的基本原理,我们知道RSA的保密性基于一个数学假设:对一个很大的合 数进行质因数分解是不可能的。RSA用到的是两个非常大的质数的乘积,用目前的计算机 水平是无法分解的。但是这说明不了什么,没有“证明”RSA的安全性。这既不说明分解 这个大数是攻击RSA唯一的(或者说是最佳的)途径,也不能证明这种分解真的那么困难。 RSA有可能存在一些密码学方面的缺陷,随着数论的发展也许会找到一种耗时以多项式方 式增长的分解算法。不过目前这还只是展望,甚至连发展的方向都还没有找到。有三种 事物的发展会威胁到RSA的安全性:分解技术、计算机能力的提高和计算机造价的降低。 特别是第一条对RSA的威胁最大,因为只要大数分解的问题不解决,做乘法总是比分解因 数快得多,计算机能力强大了尽可以加长密匙来防御,因为那时加密也会快得多的。

RSA的密匙生成步骤可以分为七步:

--找到两个大质数 p,q

--做乘法 n=p*q

--选择一个数 e,满足 e n ,而且缺省的e 值为17,如果不行再用19,23 等等。

RSA的计时攻击法

这是一种另辟蹊径的方法。是由 Paul Kocher 发表的。大家可以发现,RSA的基本 运算是乘方取模,这种运算的特点是耗费时间精确取决于乘方次数。这样如果 A 能够监 视到RSA解密的过程,并对它计时,他就能算出d来。细节我就不复述了。我想说的是如 何抵御它。Rivest说,最简单的方法就是使RSA在基本运算上花费均等的时间,而与操作 数无关。其次在加密前对数据做一个变换(花费恒定时间),在解密端做逆变换,这样 总时间就不再依赖于操作数了。

至于PGP根本不用担心计时攻击,因为PGP采用了中国余数理论的方法加速了运算,同 时也使耗时与操作数无关。同时计时攻击对攻击者资源的要求太高,实时监视加密过程 不是任何人都可能做到的。在这里提出这种攻击是因为:虽然它目前还不实用,但从理论 上是一个崭新的思路,值得注意。

其他对RSA的攻击法

还有一些对RSA的攻击,象公共模数攻击。它是指几个用户公用一个模数 n ,各自 有自己的 e 和 d,在几个用户之间公用 n 会使攻击者能够不用分解 n 而恢复明文。 但是PGP是不会在用户之间公用模数的。

最后谈谈RSA密匙长度的问题,多长的密匙是安全的。专家指出,任何预 际遣?理智的,就目前的计算机水平用1024-bits的密匙是安全的,2048-bits是绝对安全的。 但是他们并不指望这个局面延续到下世纪,他们只是指出:如果RSA象有些人说的那样 脆弱,就不可能从1977年一直保持到现在还没有被攻破。

--------------------------------------------------------------------------------

MD5 的安全性问题

MD5是一种在PGP中被用来单向变换用户口令和对信息签名的单向散列算法。

一种单向散列的强度体现在它能把任意的输入随机化到什么程度并且能产生唯一的输出。对单向散列的直接攻击可以分为普通直接攻击和“生日”攻击。

对MD5的普通直接攻击

所谓直接攻击又叫野蛮攻击。攻击者为了找到一份和原始明文 m 散列结果相同的明文 m ,就是 H(m)=H(m) 。普通直接攻击,顾名思义就是穷举可能的明文去产生一个和 H(m) 相同的散列结果。对MD5来说散列结果为128-bits,就是说如果攻击者有一台每秒尝试1,000,000,000条明文的机器需要算约10^22年,同时兴许会同时发现m本身:))。

对MD5的生日攻击

生日攻击实际上只是为了找到两条能产生同样散列结果的明文。记得那个有名的 概率生日问题吗?在 N 个人中至少有两个人生日相同的概率是多少?所谓生日攻击 实际上只是用概率来指导散列冲突的发现,对于MD5来说如果尝试2^64条明文,那么它 们之间至少有一对发生冲突的概率就是 50%。仅此而已,对当今的科技能力来说,它 也是不可能的。一台上面谈到的机器平均需要运行585年才能找到一对,而且并不能马 上变成实际的攻击成果。因为码长和速度的关系,对crypt(3)的生日攻击就成功得多。

其他对MD5的攻击

微分攻击被证明对MD5的一次循环是有效的,但对全部4次循环无效。(微分攻击是通过比较分析有特定区别的明文在通过加密后的变化传播情况来攻击加密体系的。)

有一种成功的MD5攻击,不过它是对MD5代码本身做了手脚,是一种crack而不是hack更算不上cryptanalysis了。而且如果你做了PGP发行包的签名校验,是容易发现代码被替换过了的。

p

口令长度和信息论

根据传统信息论,英语的每个8-bits字母的信息熵为1.3bits。如果口令足够长,MD5的结果就会足够随机。对 128-bits 的MD5输出来说,一个长达98个字符的口令将给出一个随机的密匙。

(8/1.3)*(128/8) = 98.46 chars

可是谁会用一个象下面这样长的口令呢?

12345678901234567890123456789012345678901235678901234567890

1234567890123456789012345678

1.3 bits 的信息熵来自于英语语法的规律性这个事实,字母出现概率的不等造成了熵的减小。如果26个拉丁字母出现的概率均等,信息熵将会

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有