阅读:1220回复:0
PGP简介<二>
PGP简介<二>
2000-08-16? Loking?105网络安全中心 -------------------------------------------------------------------------------- 有人会问:那你怎么安全地得到David的公匙呢,这不是个先有鸡还是先有蛋的 问题吗?确实有可能你拿到的David的公匙也是假的,但这就要求这个捣蛋者参与这 整个过程,他必须对你们三人都很熟悉,还要策划很久,这一般不可能。当然,PGP 对这种可能也有预防的建议,那就是由一个大家普遍信任的人或机构担当这个角色。 他被称为“密匙侍者”或“认证权威”,每个由他签字的公匙都被认为是真的,这样 大家只要有一份他的公匙就行了,认证这个人的公匙是方便的,因为他广泛提供这个 服务,假冒他的公匙是很极困难的,因为他的公匙流传广泛。这样的“权威”适合由 非个人控制组织或政府机构充当,现在已经有等级认证制度的机构存在。 对于那些非常分散的人们,PGP更赞成使用私人方式的密匙转介方式,因为这样 有机的非官方更能反映出人们自然的社会交往,而且人们也能自由地选择信任的人 来介绍。总之和不认识的人们见面一样。每个公匙有至少一个“用户名”(User ID), 请尽量用自己的全名,最好再加上本人的Email地址,以免混淆。 注意!你所必须遵循的一条规则是:在你使用任何一个公匙之前,一定要首先 认证它!!!无论你受到什么诱惑,当然会有这种诱惑,你都不要,绝对不要,直接 信任一个从公共渠道(由其是那些看起来保密的)得来的公匙,记得要用熟人介绍的 公匙,或者自己与对方亲自认证。同样你也不要随便为别人签字认证他们的公匙,就 和你在现实生活中一样,家里的房门钥匙你是只会交给信任的人的。 下面,我讲讲如何通过电话认证密匙。每个密匙有它们自己的标识(keyID), keyID是一个八位十六进制数,两个密匙具有相同keyID的可能性是几十亿分之一,而 且PGP还提供了一种更可靠的标识密匙的方法:“密匙指纹”(key\'s fingerprint)。 每个密匙对应一串数字(十六个八位十六进制数),这个数字重复的可能就更微乎其 微了。而且任何人无法指定生成一个具有某个指纹的密匙,密匙是随机生成的,从指 纹也无法反推出密匙来。这样你拿到某人的公匙后就可以和他在电话上核对这个指纹, 从而认证他的公匙。如果你无法和Alice通电话的话,你可以和David通电话认证David 的公匙,从而通过David认证了Alice的公匙,这就是直接认证和间接介绍的结合。 这样又引出一种方法,就是把具不同人签名的自己的公匙收集在一起,发送到 公共场合,这样可以希望大部分人至少认识其中一个人,从而间接认证了你的公匙。 同样你签了朋友的公匙后应该寄回给他,这样就可以让他可以通过你被你其他朋友 认证。有点意思吧,和现实社会中人们的交往一样。PGP会自动为你找出你拿到的 公匙中有哪些是你的朋友介绍来的,那些是你朋友的朋友介绍来的,哪些则是朋友 的朋友的朋友介绍的……它会帮你把它们分为不同的信任级别,让你参考决定对它 们的信任程度。你可以指定某人有几层转介公匙的能力,这种能力是随着认证的传 递而递减的。 转介认证机制具有传递性,这是个有趣的问题。PGP的作者Phil Zimmermann。 有句话: “信赖不具有传递性;我有个我相信决不撒谎的朋友。可是他是个认定总统 决不撒谎的傻瓜,可很显然我并不认为总统决不撒谎。” 关于公匙的安全性问题是PGP安全的核心,我在这里就不细说了。和传统单密匙 体系一样,私匙的保密也是决定性的。相对公匙而言,私匙不存在被篡改的问题, 但存在泄露的问题。RSA的私匙是很长的一个数字,用户不可能将它记住,PGP的办法 是让用户为随机生成的RSA私匙指定一个口令(pass phase)。只有通过给出口令才能 将私匙释放出来使用,用口令加密私匙的方法保密程度和PGP本身是一样的。所以私 匙的安全性问题实际上首先是对用户口令的保密。当然私匙文件本身失密也很危险, 因为破译者所需要的只是用穷举法试探出你的口令了,虽说很困难但毕竟是损失了一 层安全性。在这里只用简单地记住一点,要像任何隐私一样保藏你的私匙,不要让 任何人有机会接触到它。 PGP在安全性问题上的精心考虑体现在PGP的各个环节。比如每次加密的实际密匙 是个随机数,大家都知道计算机是无法产生真正的随机数的。PGP程序对随机数的产 生是很审慎的,关键的随机数像RSA密匙的产生是从用户瞧键盘的时间间隔上取得随机 数种子的。对于磁盘上的 randseed.bin 文件是采用和邮件同样强度的加密的。这有 效地防止了他人从你的randseed.bin文件中分析出你的加密实际密匙的规律来。 在这里我提一下PGP的加密前预压缩处理,PGP内核使用PKZIP算法来压缩加密前 的明文。一方面对电子邮件而言,压缩后加密再经过7bits编码密文有可能比明文更 短,这就节省了网络传输的时间。另一方面,明文经过压缩,实际上相当于经过一次 变换,信息更加杂乱无章,对明文攻击的抵御能力更强。PGP中使用的PKZIP算法是经 过原作者同意的。PKZIP算法是一个公认的压缩率和压缩速度都相当好的压缩算法。 在PGP中使用的是PKZIP 2.0版本兼容的算法。 好了,关于PGP安全性的问题我会在《PGP的安全性》一文中专门介绍。我上面讲 了这么多只是为了让大家知道PGP会是非常安全的,只要你自己遵循正确的使用方法。 关于PGP的安装和使用请参考《PGP 2.6.3i的安装与使用》一文。如果在看英文文档时 有些不太明白的词汇,请试试能不能从《PGP名词解释》一文中找到线索。PGP 2.6.3i 是我推荐大家使用的PGP版本,有关这个版本的详细问题请参见《PGPi 问答集》一文。 在今天的Internet上随处可见用PGP签名的文章,PGP的版本也在飞快地更新,据说 PGP 3.0 再有几个月就要推出了。世界上越来越多的人们在使用PGP,我们中国人也应 该重视保护自己合法的私密权。我翻译整理这几篇文章就是为了在国内宣传推广PGP的 使用。尽管它还是个新生事物,可是我们要看到在网际空间(CyberSpace)中它肯定能 迅速成长起来,中国虽然起步晚,但比美国也差不太多,我们应该迎头赶上。 |
|
|