pgp如何解密 (黑客能通过ftp进行攻击么)

PGP加密/解密技术初探与实践

tcp黑客攻击,pgp如何解密

PGP技术

[内容提要] 

本文简要介绍了PGP的加密机制、密钥管理原理,安全隐患。对比PGP与S/MIME邮件加密原理。介绍PGP在Windows操作系统下的的安装,密钥生成,电子邮件加密及文件加密的过程

一、PGP的基本认识

PGP (Preety Good Privacy) 是基于一种公钥原理 (Public Key)——RSA 的软件, 公钥理论是在 1976 年 Whitfield Diffle 及 Martin Hellman 共同提出的,1977 年由三位 MIT 教授建立了实际方法, 于是大家利用他们的名字称之为Rivest-Shamir-Adleman, 也就是著名的 RSA 方法.私钥具有保密性只有使用者个人才会知道,一般的私钥还会用 DES 的方法将它再加上一层的保护; 如果使用者用公钥加密其信息时, 只有用他的私钥才可将其信息解码, 如果用他的私钥加密其信息时, 只有其用公钥才能解码.

PGP提供了可以用于E-mail和文件存储和应用的保密宇鉴别服务,选择最可用的加密算法作为系统的构造模块,且将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,且基于一个使用方便的小命令集. PGP程序和文档在Internet上公开,由于其免费,可用于多平台,使用生命力和安全性都为公众认可的算法等等的特点,使PGP在全世界范围内,各个领域都有广泛的应用,根据《财富》的排名,十大商业银行中90%,十大制药企业中80%,十大健康机构中的80%,十大能源机构中70%,前15位宇航及防御系统相关企业中73%,前20位电信公司的75%,前20位汽车相关制造企业中70%,都在使用PGP进行电子邮件及其它重要数据的加密。

二、PGP的加密机制

RSA公钥体系满足保密性(privacy)和公证性(authentication)。PGP的创造性在于他把RSA公钥体系的方便和传统加密体系的高度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。

RSA(Rivest-Shamir-Adleman)算法是基于大数不可能被质因数分解假设的公钥体系。简单地说就是找两个很大的质数。一个对外公开,一个不告诉任何人。公开的一个称为“公钥”,另一个叫“私钥”(Prblic key & Secret key or Private key)。这两个密钥是互补的,也就是说用公钥加密的密文只可以用私钥解密,反过来也一样。

PGP的数字签名是利用一个叫“邮件文摘”的功能,“邮件文摘”(message digest),简单地讲就是对一封邮件用某种算法算出一个最能体现这封邮件特征的数来,一旦邮件有任何改变这个数都会发生变化,那么这个数加上用户的名字(实际上在用户的密钥里)和日期等等,就可以作为一个签名了,确切地说PGP是用一个128位的二进制数进行为"邮件文摘"的,用来产生它的算法就是MD5(Message Digest 5。MD5的提出者是Ron Rirest,PGP中使用的代码是由Colin Plumb 编写的MD5,MD5是一种单向散列算法,它不像校验码,是一份替代的邮件并且与原件具有同样的MD5特征值。

PGP还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私签名,这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。这一点在商业领域有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。

因为RSA算法计算量很大而且在速度上也不适合加密大量数据,所以PGP实际上用来加密的不是RSA本身,而是采用了一种叫IDEA的传统加密算法,又称为“对称加密法”。

传统加密方法就是用一个密钥加密明文,然后用同样的密钥解密。这种方法的代表是DES(US Federal Data Encryption Standard),也就是乘法加密,这的主要缺点就是密码长度较短,且的传递渠道解决不了安全性问题,不适合网络环境邮件加密需要。

IDEA是一个有专利的算法,专利持有者是ETH和一个瑞士公司:Ascom-Tech AG。IDEA的加(解)密速度比RSA快得多,所以实际上PGP是以一个随机生成的密钥(每次加密不一样),用IDEA算法对明文加密,然后用RSA算法对该密钥加密。这样收件人同样是用RSA解出这个随机密钥,再用IDEA解密邮件本身。这样的链式加密就做到了既有RSA体系的保密性,又有IDEA算法的快捷性。

三、PGP的密钥管理

PGP 加密与解密不像其它传统加密的方式,而是利用所谓的公开钥匙密码学 (Public Key Cryptology) 为基础。举例来说,当您要传送一封保密信或档案给笔者 时,必须先取得笔者的公开钥匙 (Public Key) ,并且将它加入您的公开钥匙环 ( Public Keyring) 中,然后利用笔者的公开钥匙将信件加密。当笔者收到您加密的信 件後,笔者必须利用其相对的私人钥匙 (Secret Key) 来解密。因此,除非其他人拥 有笔者的私人钥匙,否则无法解开您所加密的信件。同时,笔者在使用私人钥匙解密 时,还必须输入通行码 (Pass Phrase),如此又对加密后的讯息多了一层保护。

通过PGP加密机制可以使一个普遍信任的机构为认证权威机构,每个由他签过字的公钥都被认为真的,这样大家只要有他的公钥就行了,认证这个人的公钥是方便的,因他广泛提供这个服务,假冒他的公钥是极困难的,因为他的公钥流传广泛。这样的"权威机构"适合由非个人控制组织或政府机构充当,现在已经有等级认证制度的机构存在,如广东省电子商务电子认证中心(www.cnca.net)就是一个权威的认证机构。

对于那些非常分散的用户,PGP使用私人方式的密钥转介方式,因这样有的非官方途径更能反映出人们自然的社会交往,而且人们也能自由地选择信任的朋友来公证,总之和不认识的人们之间的交往一样,每个公钥至少有一个"用户名"(User ID),请尽量用自己的全名,最好再加上本人的E-mail地址,以免混淆,这就是PGP推荐使用的电话密钥认证。

PGP的每个密钥有它们自己的标识(keyID),keyID是一个8位十六进制数,两个密钥具有同keyID的可能性只有十亿分之一,而且PGP还提供了一种更可靠的标识密钥的方法:“密钥指纹”(keys fingrprint),每个密钥对应一串数字(16个2位十六进制数),这个指纹重复的可能就更微乎其微了。而且任何人无法指定生成一个具有某个指纹的密钥,密钥是随机生成的,从指纹也无法反推出密钥来。用户拿到某人密钥后就可以他在电话上核对这个指纹,从而认证他的公钥。

四、PGP与S/MIME加密电子邮件的比较

保证电子邮件的安全常用到两种端到端的安全技术PGP和S/MIME(Secure Multi-Part Intermail Mail Extension)。它们的主要功能就是身份的认证和传输数据的加密。

PGP和S/MIME这两种协议对一般用户来说,在使用上几乎没有什么差别。但是事实上它们是完全不同的,主要体现在格式上,一个使用PGP的用户不能与另一个使用S/MIME的用户通讯,且他们也不能共享证书。

主要特征

s/mime v3

openpgp

信息通信的格式

基于cms的二进制格式

基于早期 pgp的二进制格式

身份认证的格式

基于 x.509v3的二进制格式

基于早期 pgp的二进制格式

机密算法

tripledes(des ede3 cbc)

tripledes(des ede3 eccentric cfb)

数字签名

diffie-hellman(x9.42) with dss

elgamal with dss

哈希算法

sha-1

sha-1

PGP/MIME和OpenPGP都是基于PGP的,已经得到许多重要的邮箱提供商支持,PGP的通信和认证的格式是随机生成的、使用简单的二进制代码。PGP的主要提供商是美国NAI的子公司PGP,在中国,由于PGP的加密超过128位,受到美国出口限制,所以商用的比较少。

同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。但它与PGP主要有两点不同:它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。还有,S/MIME将信件内容加密签名后作为特殊的附件传送,它的证书格式采用X.509,但与一般浏览器网上使用的SSL证书有一定差异。

国内众多的认证机构基本都提供一种叫“安全电子邮件证书”的服务,其技术对应的就是S/MIME技术,平台使用的基本上是美国Versign的。主要提供商有北京的天威诚信(www.itrus.com.cn)和TrustAsia上海(www.trustasia.com.cn),它们一个是Versign的中国区合作伙伴,一个是Versign亚太区分支机构。

五、PGP使用中的安全隐患

1、没有正确的使用PGP进行加密

对PGP不正确的操作,可能将只会把讯息予以签名,而并不予以加密。在这种状态下结果看起来 好像是加密了,其实不然,全世界的任何人都可以将其恢复为原来的文字。

2、邮件的自动回复功能暴露邮件内容

通过欺骗收件人对邮件进行回复,互联网黑客能够破解加密的电子邮件。截取电子邮件的黑客只要对电子邮件重新包装,并发送给收件人。发给收件人的电子邮件将显示乱七八糟的信息,很可能促使收件人要求发件人重新发送一次。如果收件人将收到的邮件内容连同请求一块发送给发件人━━一般用户都会将电子邮件客户端软件配置成这样,黑客就能够读取原来的电子邮件内容。

许多PGP软件在发送电子邮件前都会对电子邮件进行压缩。压缩在许多情况下会对非法的解译构成一定的困难。而新版OpenPGP标准已经发布了解决了这一问题。

3、PGP处理长文件名时的漏洞

PGP企业版7.1.0和7.1.1中PGP处理加密文件中的长文件名时出现的,PGP对文件名长于200个字符的文件进行加密/解密就会出现问题,当PGP对文件解密时会导致内存溢出,从而引发安全隐患。黑客可以控制邮件接收人的计算机,提高其在局域网中的权限。

六、PGP基本应用实验

实验内容

l实验1:PGP的安装

l实验2:使用PGP创建密钥对

l实验3:导入、导出PGP公钥及签名

l实验4:使用PGP密钥对加密、解密信息

l实验5:用PGP加密和解密文件

tcp黑客攻击,pgp如何解密

实验1:PGP的安装

在Windows XP操作系统上完成PGP软件的安装。

安装版本的选择

安装文件:PGP Desktop 9.0 Final Candidate Installer – Windows - ZIP

来源:http://www.pgp.com

文件大小:12MB

发布日期:2005-4-29

实验过程

解开压缩包,运行安装文件,系统自动进入安装向导,主要步骤如下:

l安装选择「No, I’m a New User」

l确认安装的路径

l安装应用元件

l重新启动计算机一次,请按「Finish」重新开机!

至此, PGP Desktop已安装在电脑上(工作列上多出一个PGP图示)。安装向导会继续PGP Desktop注册与PGP 密钥设定

l输入注册资料(以下信息由网站提供,可无限制使用PGP至2005-5-31)

Licensee Name: Beta Tester

License Organization: PGP Corporation

License Number: D41LH-T0VDH-DF91M-2KN29-7N975-4WA

l设定姓名与Email

lPass phrase 与 Confirmation 输入一组至少8个英文字母的密码

实验中输入:I will welcome the day with love in my heart

完成以上步骤,系统即提示已经成功产生PGP密钥。

接下来是是设定电子邮件Outlook与Outlook Express.,此步骤直接退出,以后的实验中完成。

实验2:使用PGP创建密钥对

目标:创建一个新的PGP密钥

实验过程

从系统托盘中选Open PGP Desktop,菜单中选择New PGP Key…即在在 Key Generation Winzrad提示向导下,点击 Next,开始创建密钥对,所操作过程和安装向导中基本一样。

需要提供以下信息:输入全名,邮件地址,两次输入 pass phrase

系统缺省设置:RSA加密,加密长度2048位

其他可选设置:Diffle-Hellman/DSS加密,Hash算法……

实验3:导入、导出PGP公钥及对签名

目标:将已有的PGP KEY及签名以文件形式导出,在其它计算机中导入相应的签名及密钥。

实验过程

导出PGP KEY 系统托盘中选Open PGP Desktop,菜单中选择File -> Export -> Keyring,按要求输入文件名后,系统会自动在相应的路径下生成两个文件,分别是.pkr后缀的公钥文件和.skr后缀的私钥文件。

导入PGP KEY 将生成的文件发送到另一计算机中,另一计算机的PGP Desktop菜单中选择File -> Import-> Keyring,输入刚收到的文件。右键单击导入的公钥,选择Sign ,选中Allow signature be exported 复选框,输入你自己的私钥。

实验4:使用PGP密钥对加密、解密信息

目标:

通过PGP对Outlook Express的邮件进行加密收发。

实验过程

1、打开Outlook Express,用于测试的邮件!

2、在发送之前,选中邮件所有内容,右键单击任务栏中的PGP encryption图标

3、选取Current Window>Encrypt,对邮件进行加密

4、在提示输入密码时,输入你自己的私钥的pass phrase

5、收到邮件双击打开后,单击Decrypt PGP Message图标,解密邮件

实验4:使用PGP密钥对加密、解密信息

目标:

通过PGP对Outlook Express的邮件进行加密收发。

实验过程

1、打开Outlook Express,用于测试的邮件!

2、在发送之前,选中邮件所有内容,右键单击任务栏中的PGP encryption图标

3、选取Current Window>Encrypt,对邮件进行加密

4、在提示输入密码时,输入你自己的私钥的pass phrase

5、收到邮件双击打开后,单击Decrypt PGP Message图标,解密邮件

实验5:用PGP加密和解密文件

目标:

通过PGP对任意文件进行加密/解密。

实验过程

多个文件打包加密:选择New ZIP,在Select File(s)对话框中要加入的文件Recipient中加入对方的密钥,确定后文件被转换为扩展名为.pgp的加密文件

单个文加密:选中该文件,然后点击右键中PGP的Encrypt,选择密钥后即可

解密:接收者按打开.pgp文件,要求输入自己设置的密钥的pass phrase即可解开文件。

tcp黑客攻击,pgp如何解密

PGP功能图

参考文献

lhttp://www.PGP.com

lhttp://www.PGP.org

lhttp://www.openpgp.org/

lhttp://web.mit.edu/network/pgp.html

lPhil Zimmermann,《The Official PGP User's Guide》,MIT Press, 1995

l王轩菁,《对PGP的进一步讨论》

l姜力东,《邮件加密两把锁:PGP和S/MIME》,中国计算机报——赛迪网

l《PGP加密的优越性》,http://www.chinaitlab.com/www/news/article_show.asp?id=3355

l《加密三剑客SSL、SET和PGP》, http://www.chinaitlab.com

l《PGP安全漏洞》http://www.chinaitlab.com/www/news/article_show.asp?id=5539

l《PGP的安全问题分析》http://www.chinaitlab.com/www/news/article_show.asp?id=5541

l张琦,《不容忽视·利用PGP加密技术保护电子邮件安全》,http://www.ezit.com.cn/pub/article/c1417_a229321_p1.html

l《PGP 长文件名远程缓冲溢出缺陷》,http://www.heibai.net/article/info/info.php?sessid=&infoid=8323

l《PGP® Desktop for Windows User’s Guide》

大学期间对PGP(Pretty Good Privacy)的研究试验以及报告,喜欢的朋友可以点赞,收藏,转发。