Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

PGP没你想象的那么安全

$
0
0

PGP没你想象的那么安全

怎么才能知道网络中的邮件信息是否可信呢?在开发和安全人员的圈子里,他们可能会选择使用 PGP 密钥做验证。然而, xkcd PGP的缔造者Randall Munroe指出,PGP在实际使用中,可能没有理论上那么安全。

CodeSec百科

WOT信任网络结构(Web Of Trust):简单地说就是,在信任网中,没有大家都信任的中心权威机构,用户以各自为中心,相互认证公钥,相互签名公钥证书。这些签名使得用户的公钥彼此相连,形成自然的网状结构,也就是所谓的信任网。

PGP(Pretty Good Privacy),是一个基于RSA公钥加密体系的邮件加密软件。可以用它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。

脆弱的32位短密钥

如果有人采用PGP数字签名对其代码和邮件进行加密,或许你可以认为他们是真实可信的。但是如果他们使用的是短密钥(32位或者更短的),可能就不会有那么安全。在这种情况下,黑客可以轻松伪造出一个PGP签名。比如Linus Torvalds、Greg Kroah-Hartman等几位核心linux内核开发人员,就碰到了这种事。

据悉 在 Linux内核邮件列表(LKML) 中,自6月中旬后的两个月里,某些开发人员在外部网络和公共密钥服务器中,发现了与自己使用的同名的伪造密钥。

这并不是一种新的攻击,Linux程序员们在2011年12月后就开始了解, 短PGP密钥本质上是不安全的 ,只是此前一直没有人去攻破它。

PGP的安全现状

在今年的6月,黑客Richard Klafter和Eric Swanson曾表示,虽然 GPG(开源版本的PGP) 的使用量在持续增长,人们仍然习惯于使用短密钥。

在 Evil 32网站 上他们作出了声明:

“15年前出现的32位的密钥,到现在其实已经过时了。我们使用现代的GPU,可以撞出WOT(信任网络结构)里每个32位密钥ID。虽然这并没有彻底打破GPG加密,但这确实减弱了GPG的可用性,大家使用时出问题的可能性也大大增加。”

真实情况有多糟呢?研究人员花了4秒的时间借助 scallion 程序,使用了普通的GPU( Nvidia GeForce GTX )进行 碰撞,很轻松就 生成了一个32位的密钥ID。这其实并不是针对Linux的攻击,事实上现在也似乎没有造成什么实际危害。但是Linux的内核分支的核心维护人员Kroah-Hartman解释道:

“这不仅仅 危及到了Linux内核开发人员 ,而且还影响了PGP信任闭环里的2.4万密钥。这种情况已经持续了很长一段时间,而GPG在这里很难得到正确使用。”

然而,Linux开发人员们是首先注意到PGP签名代码发布时出现了一些奇怪的东西的。当时Swanson向 Ycomhinator News 解释道:

“我们想要让人们意识到使用短密钥ID带来了很大的威胁,在 21世纪密钥ID是很容易伪造的 。密钥内容里面的有一大部分是没有被签名所关联的,所以这部分内容是可以进行更改的。同时,我们认为密钥被上传到公共的密钥服务器上,对PGP生态系统是弊大于利的。

我们不能因为这还没有产生危害,就随意放心使用PGP。我们必须认识到,任何人都可以很容易地复制密钥。我们使用团队内部的脚本去克隆WOT,只花费了不到一个星期。如果有人熟悉GPG,他克隆一个密钥可能也只需要几分钟。所以,GPG生态系统需要做出更好的防御机制。”

安全专家建议使用GPG时都带上长密钥,而且最好不要通过公共密钥服务器进行自动更新。

*参考来源: zdnet ,FB小编dawner编译,转载请注明来自CodeSec(CodeSec.Net)


Viewing all articles
Browse latest Browse all 12749

Trending Articles