首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 软件水平考试 > 复习资料 > 网络工程师 > 正文

软件水平考试网络工程师复习指导:PGP简介

来源:考试吧Exam8.com) 2006-9-20 13:05:34 考试吧:中国教育培训第一门户 模拟考场

  PGP——Pretty Good Privacy 是一个基于RSA公匙加密体系的邮件加密 软件,它可以用来对你的邮件加密以防止非授权者阅读,还能对你的邮件加上 数字签名而使收信人可以确信邮件是你发来的。它让你可以安全地和你从未见 过的人们通讯,事先并不需要任何保密的渠道用来传递密匙。它采用了审慎的 密匙管理, 一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法, 加密前压缩等,还有一个良好的人机工程设计。它的功能强大有很快的速度, 而且它的源代码是免费的。 实际上PGP的功能还不止上面说的:PGP可以用来加密文件,还可以用PGP UUencode 生成 RADIX 64 格式(就是MIME BASE 64格式)的编码文件。

  PGP 的创始人是美国的 Phil Zimmermann。他的创造性在于他把RSA公匙体 系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理 机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。

  PGP是一种供大众使用的加密软件。加密是为了安全,隐私权是一种基本人 权。在现代社会里,电子邮件和网络上的文件传输已经成为生活的一部分,邮 件的安全问题日益突出,大家都知道在Internet上传输的数据是不加密的,如 果你自己不保护自己的信息,第三者就会轻易获得你的隐私。还有一个问题就 是信息认证,要让收信人确信邮件没有被第三者篡改,就需要使用数字签名技 术。RSA公匙体系的特点使它非常适合用来满足上述要求:保密性(Privacy 和认证性(Authentication)。

  RSARivest-Shamir-Adleman)算法是一种基于大数不可能质因数分解假 设的公匙体系。简单地说,其原理就是找两个很大的质数,其中一个向外界公 开(公匙),另一个不告诉任何人(私匙)。这两个密匙是互补的,用公匙加 密的密文可以用私匙解密,反过来也一样。假设甲要寄信给乙,他们互相知道 对方的公匙。甲就用乙的公匙加密邮件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于没别人知道乙的私匙所以即使是甲本人也无法解密那封信, 这就解决了信件保密的问题。另一方面由于每个人都知道乙的公匙,他们都可 以给乙发信,那么乙就无法确信是不是甲的来信。认证的问题就出现了,这时候数字签名就有用了。

  在说明数字签名前先要解释一下什么是邮件文摘message digest), 简单地说就是对一封邮件用某种算法算出一个能体现这封邮件精华的数来, 一旦邮件有任何改变这个数都会变化,那么这个数加上作者的名字(实际上在 作者的密匙里)还有日期等等,就可以作为一个签名了。 确切地说,PGP是用 一个128位的二进制数作为邮件文摘的,用来产生它的算法叫MD5message digest 5),MD5的提出者是Ron RivestPGP中使用的代码是由Colin Plumb 编写的,MD5本身是公用软件。所以PGP的法律条款中没有提到它。

  MD5是一种 单向散列算法, 它不像CRC校验码,很难找到一份替代的邮件而与原件具有一 样的精华 回到数字签名上来,甲用自己的私匙将上述的128位的精华加密, 加在邮件上,再用乙的公匙将整个邮件加密。这样这份密文被乙收到以后,乙 用自己的私匙将邮件解密,得到甲的原文和签名, 乙的PGP也从原文计算出一 128位的精华来再用甲的公匙解密签名得到的数比较, 如果符合就说明 这份邮件确实是甲寄来的。这样两个要求都得到了满足。

[NextPage]
  PGP还可以只签名而不加密,这适用于公开发表声明时, 声明人为了证实 自己的身份(在网络上只能如此了),可以用自己的私匙签名。这样就可以让 收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商 业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。 那么为什么说PGP用的是RSA和传统加密的杂合算法呢? 因为RSA算法计算 量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA 身,而是采用了一种叫IDEA的传统加密算法。我先解释一下什么叫传统加密, 简单地说就是用一个密匙加密明文,然后用同样的密匙解密。这种方法的代表 DESUS Federal Data Encryption Standard),也就是乘法加密,它的主 要缺点就是密匙的传递渠道解决不了安全性问题,不适合网络环境邮件加密需 要。IDEA是一个有专利的算法, 专利持有者是ETH和一个瑞士公司Ascom-Tech AG。非商业用途的IDEA实现不用向他们交纳费用。IDEA的加(解)密速度比RSA 快得多, 所以实际上PGP是用一个随机生成密匙(每次加密不同)用IDEA算法 对明文加密,然后用RSA算法对该密匙加密。这样收件人同样是用RSA解密出这 个随机密匙,再用IDEA解密邮件本身。 这样的链式加密就做到了既有RSA体系 的保密性,又有IDEA算法的快捷性。 RSA体系70年代就已提出,但由于速度问 题一直没有推广应用,PGP的正好解决了这个问题,PGP的创意有一半就在这一点上了。那么PGP创意的另一半在哪儿呢?下面我再谈PGP的密匙管理。

  一个成熟的加密体系必然要有一个成熟的密匙管理机制配套。公匙体制的 提出就是为了解决传统加密体系的密匙分配难保密的缺点。比如网络hacker 常用的手段之一就是监听,如果密匙是通过网络传送就太危险了。举个例 子:Novell Netware 的老版本中,用户的密码是以明文在线路中传输的, 样监听者轻易就获得了他人的密码。当然 Netware 4.1中数据包头的用户密码 现在是加密的了。对PGP来说公匙本来就要公开,就没有防监听的问题。 但公 匙的发布中仍然存在安全性问题,例如公匙的被篡改(Public Key Tampering), 这可能是公匙密码体系中最大的漏洞,因为大多数新手不能很快发现这一点。 你必须确信你拿到的公匙属于它看上去属于的那个人。为了把这个问题说清楚, 我举个例子,然后再说如何正确地用PGP堵住这个漏洞。 以你和Alice的通信为例,假设你想给Alice发封信,那你必须有Alice的公 匙, 你从BBS上下载了Alice的公匙,并用它加密了信件用BBSEmail功能发给 Alice。不幸地,你和Alice都不知道,另一个用户叫Charlie的用户潜入BBS 把他自己用Alice的名字生成的密匙对中的公匙替换了Alice的公匙。 那你用来 发信的公匙就不是Alice的而是Charlie的, 一切看来都很正常,因为你拿到的 公匙的用户名是“Alice”。于是Charlie就可以用他手中的私匙来解密你给Alice 的信, 甚至他还可以用Alice真正的公匙来转发你给Alice的信,这样谁都不会 起疑心,他如果想改动你给Alice的信也没问题。更有甚者,他还可以伪造Alice 的签名给你或其他人发信,因为你们手中的公匙是伪造的,你们会以为真是Alice 的来信。 防止这种情况出现的最好办法是避免让任何其他人有机会篡改公匙,比如 直接从Alice手中得到她的公匙,然而当她在千里之外或无法见到时, 这是很 困难的。PGP发展了一种公匙介绍机制来解决这个问题。 举例来说:如果你和 Alice有一个共同的朋友David,而David知道他手中Alice的公匙是正确的(关 于如何认证公匙,PGP还有一种方法,后面会谈到,这里假设David已经和Alice 认证过她的公匙)。这样David可以用他自己的私匙在Alice的公匙上签名(就 是用上面讲的签名方法),表示他担保这个公匙属于Alice。当然你需要用David 的公匙来校验他给你的Alice的公匙,同样David也可以向Alice认证你的公匙, 这样David就成为你和Alice之间的介绍人。这样AliceDavid就可以放心 地把David签过字的Alice的公匙上载到BBS上让你去拿, 没人可能去篡改它而 不被你发现,即使是BBS的管理员。这就是从公共渠道传递公匙的安全手段。

  有人会问:那你怎么安全地得到David的公匙呢, 这不是个先有鸡还是先 有蛋的问题吗?确实有可能你拿到的David的公匙也是假的, 但这就要求这个 捣蛋者参与这整个过程,他必须对你们三人都很熟悉,还要策划很久,这一般 不可能。 当然,PGP对这种可能也有预防的建议,那就是由一个大家普遍信任 的人或机构担当这个角色。他被称为密匙侍者认证权威,每个由他 签字的公匙都被认为是真的,这样大家只要有一份他的公匙就行了,认证这个 人的公匙是方便的,因为他广泛提供这个服务,假冒他的公匙是很极困难的, 因为他的公匙流传广泛。这样的权威适合由非个人控制组织或政府机构充 当,现在已经有等级认证制度的机构存在。 对于那些非常分散的人们,PGP更赞成使用私人方式的密匙转介方式, 为这样有机的非官方更能反映出人们自然的社会交往,而且人们也能自由地选 择信任的人来介绍。总之和不认识的人们见面一样。每个公匙有至少一个 户名”(User ID),请尽量用自己的全名,最好再加上本人的Email地址,以免 混淆。 注意!你所必须遵循的一条规则是:在你使用任何一个公匙之前,一定要 首先认证它!!!无论你受到什么诱惑,当然会有这种诱惑,你都不要,绝对 不要,直接信任一个从公共渠道(由其是那些看起来保密的)得来的公匙,记 得要用熟人介绍的公匙,或者自己与对方亲自认证。同样你也不要随便为别人 签字认证他们的公匙,就和你在现实生活中一样,家里的房门钥匙你是只会交 给信任的人的。 下面,我讲讲如何通过电话认证密匙。


  PGP还可以只签名而不加密,这适用于公开发表声明时, 声明人为了证实 自己的身份(在网络上只能如此了),可以用自己的私匙签名。这样就可以让 收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商 业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。 那么为什么说PGP用的是RSA和传统加密的杂合算法呢? 因为RSA算法计算 量极大,在速度上不适合加密大量数据,所以PGP实际上用来加密的不是RSA 身,而是采用了一种叫IDEA的传统加密算法。我先解释一下什么叫传统加密, 简单地说就是用一个密匙加密明文,然后用同样的密匙解密。这种方法的代表 DESUS Federal Data Encryption Standard),也就是乘法加密,它的主 要缺点就是密匙的传递渠道解决不了安全性问题,不适合网络环境邮件加密需 要。IDEA是一个有专利的算法, 专利持有者是ETH和一个瑞士公司Ascom-Tech AG。非商业用途的IDEA实现不用向他们交纳费用。IDEA的加(解)密速度比RSA 快得多, 所以实际上PGP是用一个随机生成密匙(每次加密不同)用IDEA算法 对明文加密,然后用RSA算法对该密匙加密。这样收件人同样是用RSA解密出这 个随机密匙,再用IDEA解密邮件本身。 这样的链式加密就做到了既有RSA体系 的保密性,又有IDEA算法的快捷性。 RSA体系70年代就已提出,但由于速度问 题一直没有推广应用,PGP的正好解决了这个问题,PGP的创意有一半就在这一点上了。那么PGP创意的另一半在哪儿呢?下面我再谈PGP的密匙管理。

  一个成熟的加密体系必然要有一个成熟的密匙管理机制配套。公匙体制的 提出就是为了解决传统加密体系的密匙分配难保密的缺点。比如网络hacker 常用的手段之一就是监听,如果密匙是通过网络传送就太危险了。举个例 子:Novell Netware 的老版本中,用户的密码是以明文在线路中传输的, 样监听者轻易就获得了他人的密码。当然 Netware 4.1中数据包头的用户密码 现在是加密的了。对PGP来说公匙本来就要公开,就没有防监听的问题。 但公 匙的发布中仍然存在安全性问题,例如公匙的被篡改(Public Key Tampering), 这可能是公匙密码体系中最大的漏洞,因为大多数新手不能很快发现这一点。 你必须确信你拿到的公匙属于它看上去属于的那个人。为了把这个问题说清楚, 我举个例子,然后再说如何正确地用PGP堵住这个漏洞。 以你和Alice的通信为例,假设你想给Alice发封信,那你必须有Alice的公 匙, 你从BBS上下载了Alice的公匙,并用它加密了信件用BBSEmail功能发给 Alice。不幸地,你和Alice都不知道,另一个用户叫Charlie的用户潜入BBS 把他自己用Alice的名字生成的密匙对中的公匙替换了Alice的公匙。 那你用来 发信的公匙就不是Alice的而是Charlie的, 一切看来都很正常,因为你拿到的 公匙的用户名是“Alice”。于是Charlie就可以用他手中的私匙来解密你给Alice 的信, 甚至他还可以用Alice真正的公匙来转发你给Alice的信,这样谁都不会 起疑心,他如果想改动你给Alice的信也没问题。更有甚者,他还可以伪造Alice 的签名给你或其他人发信,因为你们手中的公匙是伪造的,你们会以为真是Alice 的来信。 防止这种情况出现的最好办法是避免让任何其他人有机会篡改公匙,比如 直接从Alice手中得到她的公匙,然而当她在千里之外或无法见到时, 这是很 困难的。PGP发展了一种公匙介绍机制来解决这个问题。 举例来说:如果你和 Alice有一个共同的朋友David,而David知道他手中Alice的公匙是正确的(关 于如何认证公匙,PGP还有一种方法,后面会谈到,这里假设David已经和Alice 认证过她的公匙)。这样David可以用他自己的私匙在Alice的公匙上签名(就 是用上面讲的签名方法),表示他担保这个公匙属于Alice。当然你需要用David 的公匙来校验他给你的Alice的公匙,同样David也可以向Alice认证你的公匙, 这样David就成为你和Alice之间的介绍人。这样AliceDavid就可以放心 地把David签过字的Alice的公匙上载到BBS上让你去拿, 没人可能去篡改它而 不被你发现,即使是BBS的管理员。这就是从公共渠道传递公匙的安全手段。

  有人会问:那你怎么安全地得到David的公匙呢, 这不是个先有鸡还是先 有蛋的问题吗?确实有可能你拿到的David的公匙也是假的, 但这就要求这个 捣蛋者参与这整个过程,他必须对你们三人都很熟悉,还要策划很久,这一般 不可能。 当然,PGP对这种可能也有预防的建议,那就是由一个大家普遍信任 的人或机构担当这个角色。他被称为密匙侍者认证权威,每个由他 签字的公匙都被认为是真的,这样大家只要有一份他的公匙就行了,认证这个 人的公匙是方便的,因为他广泛提供这个服务,假冒他的公匙是很极困难的, 因为他的公匙流传广泛。这样的权威适合由非个人控制组织或政府机构充 当,现在已经有等级认证制度的机构存在。 对于那些非常分散的人们,PGP更赞成使用私人方式的密匙转介方式, 为这样有机的非官方更能反映出人们自然的社会交往,而且人们也能自由地选 择信任的人来介绍。总之和不认识的人们见面一样。每个公匙有至少一个 户名”(User ID),请尽量用自己的全名,最好再加上本人的Email地址,以免 混淆。 注意!你所必须遵循的一条规则是:在你使用任何一个公匙之前,一定要 首先认证它!!!无论你受到什么诱惑,当然会有这种诱惑,你都不要,绝对 不要,直接信任一个从公共渠道(由其是那些看起来保密的)得来的公匙,记 得要用熟人介绍的公匙,或者自己与对方亲自认证。同样你也不要随便为别人 签字认证他们的公匙,就和你在现实生活中一样,家里的房门钥匙你是只会交 给信任的人的。 下面,我讲讲如何通过电话认证密匙。

上一页  1 2 3 4 下一页
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。