第2章 信息加密技术3使用PGP混合加密工具进行加密、解密与数字签名

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、使用PGP混合加密工具进行加密、解密与数字签名
1、PGP简介
PGP (Preety Good Privacy) 是基于一种公钥原理(Public Key)——RSA 的软件, 公钥理论是在1976 年Whitfield Diffle 及Martin Hellman 共同提出的,1977 年由三位MIT (Massachusetts Institute of Technology 麻省理工学院)教授建立了实际方法, 于是大家利用他们的名字称之为Rivest-Shamir-Adleman,也就是著名的RSA 方法。

PGP提供了可以用于E-mail和文件存储和应用的保密与鉴别服务,选择最可用的加密算法作为系统的构造模块,且将这些算法集成到一个通用的应用程序中,该程序独立于操作系统和处理器,且基于一个使用方便的小命令集。

PGP程序和文档在Internet上公开,由于其免费,可用于多平台,使用生命力和安全性都为公众认可的算法等等的特点,使PGP在全世界范围内,各个领域都有广泛的应用,根据《财富》的排名,十大商业银行中90%,十大制药企业中80%,十大健康机构中的80%,十大能源机构中70%,前15位宇航及防御系统相关企业中73%,前20位电信公司的75%,前20位汽车相关制造企业中70%,都在使用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还可以只签名而不加密,这适用于公开发表声明时,声明人为了证实自己的身份(在网络上只能如此了),可以用自己的私签名,这样就可以让收件人能确认发信人的身份,也可以防止发信人抵赖自己的声明。

这一点在电子政务、电子商务领域都有很大的应用前途,它可以防止发信人抵赖和信件被途中篡改。

在PGP使用中要注意以下几个问题:
(1)没有正确的使用PGP进行加密
对PGP不正确的操作,可能将只会把讯息予以签名,而并不予以加密。

在这种状态下结果看起来好像是加密了,其实不然,全世界的任何人都可以将其恢复为原来的文字。

(2)邮件的自动回复功能暴露邮件内容
通过欺骗收件人对邮件进行回复,互联网黑客能够破解加密的电子邮件。

截取电子邮件的黑客只要对电子邮件重新包装,并发送给收件人。

发给收件人的电子邮件将显示乱七八糟的信息,很可能促使收件人要求发件人重新发送一次。

如果收件人将收到的邮件内容连同请
求一块发送给发件人━━一般用户都会将电子邮件客户端软件配置成这样,黑客就能够读取原来的电子邮件内容。

许多PGP软件在发送电子邮件前都会对电子邮件进行压缩。

压缩在许多情况下会对非法的解译构成一定的困难。

而新版OpenPGP标准已经发布了解决了这一问题。

(3)PGP处理长文件名时的漏洞
PGP企业版7.1.0和7.1.1中PGP处理加密文件中的长文件名时出现的,PGP对文件名长于200个字符的文件进行加密/解密就会出现问题,当PGP对文件解密时会导致内存溢出,从而引发安全隐患。

黑客可以控制邮件接收人的计算机,提高其在局域网中的权限。

2、PGP的安装
PGP的安装很简单,和平时的软件安装一样,只须按提示一步步“Next”完成即可。

下面以8.1版本为例讲解其安装过程,其他版本的安装类似。

下载软件后,运行pgp8.exe文件开始安装。

图1 安装欢迎界面
图2 接受PGP公司的协议
图3 安装时对PGP8.1.0 Windows版本的介绍
图4 选择用户类型
图5 选择安装路径
接下来选择要安装的组件,其中,第一个选项是关于磁盘加密的功能;第二个选项是ICQ的邮件加密功能;第三四个选项是关于OUTLOOK或者OTLOOK EXPRESS邮件加密的功能;最后一个选项适用于群发邮件的加密。

用户可以根据自己的需要进行组件选择,一般情况下,默认安装就可以。

图6 选择要安装的PGP组件,一般按默认的选择即可
图7 安装正在进行中
图8安装完成后要重新启动计算机图9选择PGP菜单重新启动后,系统自动运行PGP注册程序。

你也可以暂时取消注册,在以后进行注册。

启动计算机后,在屏幕右下角任务栏会出现一个黄色的“小锁”,这是PGP的标志,在这个标志上右键点击会弹出菜单,可进行各种操作,其中点击“License…”选项,即可打开注册窗口。

图10PGP注册界面
请输入以下相应的注册信息:
Name: PGP Desktop
Orgnization: PGP Enterprise
License Number: CUCDX-4YGY5-KRJVJ-TBN6R-3E9UB-EMC
点击“Manual”进行手动注册,在下方输入以下信息:
License Authorization:
-----BEGIN PGP LICENSE AUTHORIZATION-----
ADIAApAAAJ4gWeOov9Nr/gJ1TaVQz2olNEx1zACggvH4tuOArH1Swb22sB9Nmx7YC6w= -----END PGP LICENSE AUTHORIZATION-----
图11手动注册PGP
输入以后,点击“Authorize”进行注册授权。

然后点击“OK”按钮进行确认。

图12确认注册信息
接下来会自动运行向导,我们在这里点击“取消”按钮,退出向导。

为方便使用,建议安装PGP的汉化程序。

注意:在安装PGP时,最好关闭其他应用程序。

安装完成之后,可以进入选项查看有关设置。

右键单击屏幕右下角PGP标志,在弹出的菜单中选择“选项”,可以看到PGP选项中包含常规、文件、邮件、热键、服务器、CA、高级和PGPdisk8个选项卡,根据自己的需要进行相应设置即可。

其中,“文件”标签里有存放公钥和私钥的地址,以后所建的所有公钥和私钥都存放在这两个目录中,可以在此处更改存放路径。

图13公钥和私钥存放目录
3、密钥生成与导出
使用PGP之前,首先需要生成一对密钥,这一对密钥其实是同时生成的,一个称为公钥,可以把它分发给其他人,让他们用这个密钥来加密文件,另一个称为私钥,这个密钥由自己保存,用这个私钥来解开加密文件。

安装完毕后,运行PGP程序。

从“开始”菜单中选择“PGP”中的“PGP Keys”。

在PGP Keys的窗口中,选择“密钥”菜单下的“新建密钥”选项。

图14PGP Keys的工作窗口
PGP有很好的创建密钥对的向导,跟着向导很容易生成一对密钥。

图15 PGP密钥对的生成向导
每一对密钥都对应着一个确定的用户。

用户名不一定要真实,但是要方便通信者看到该用户名能知道这个用户名对应的真实的人;邮件地址也是一样不需要真实,但是要能方便与你通信的人在多个公钥中快速的找出你的公钥。

例如,大家都熟悉你的名字叫张三,那你的用户名和地址都含有张三的名字,就很容易让别人知道这个公钥是你的;如果你起了一个其他的名字,类似“天天下雨”或者“五月的海”,那其他与你通信的人很容易不记得这个名字到底是谁,因此在选择公钥的时候,自然很难找出你的公钥。

图16 输入姓名和Email地址以方便他人识别你的公钥
密钥对的私钥还必须进一步用密码加密,这个加密是对你的私钥加密。

这个密码非常重要,切记不要泄漏了,为安全起见,密码长度至少8位,而且应该包含非字母的字符。

图17 为私钥设置密码
接下来,软件生成密钥对。

图18 生成密钥对
图19完成密钥生成
至此,密钥对生成完毕,PGP窗口显示刚才生成的密钥。

图20显示密钥
接着导出公钥,把公钥作为一个文件保存在硬盘上,并把公钥文件发送给你希望进行安全通信的联系人。

在密钥上单击右键,选择“导出”选项。

图21在右键菜单中导入密钥
在导出窗口中,选择导出路径和文件名,注意,如果只是要把公钥发给其他人,不要勾选中“包含私钥”。

在导出公钥以后,可以同样导出私钥,只是在下图中勾选中“包含私钥”,不要勾选中“包含6.0公钥”。

图22 导出公钥
公钥导出之后,接下来就发送给需要跟你进行安全通信的人。

你可以通过Email方式传
送公钥或者把你的公钥放在公钥服务器上以供别人查找下载。

也可以通过其他的传送方式。

不过,由于在传送的过程公钥是没有采用安全机制传送,因此存在公钥被人窃取的可能。

为了更加安全,双方可以根据环境选择一个比较安全的环境来传送公钥。

在本节的实验过程中,实验者互相通过Email传送公钥,例如,用户A和用户B要互相通信,则A需要把自己的公钥传递给B,而B需要把自己的公钥传递给A。

当然,双方都要安装有PGP系统。

收到对方的公钥之后,双击该公钥文件,在弹出的窗口中点击“导入”,即可完成对方公钥的导入。

图23导入公钥
4、文件加密与解密
有了对方的公钥之后就可以用对方公钥对文件进行加密,然后再传送给对方。

具体操作如下:右键选中要加密的文件,然后选择“PGP”——“加密”。

图24 选择“加密”对文件加密
然后在密钥选择对话框中,选择要接受文件的接收者。

注意,用户所持有的密钥全部列出在对话框的上部分,选择要接收文件人的公钥,将其公钥拖到对话框的下部分,点击“确定”,并且为加密文件设置保存路径和文件名。

图25 选择需要用来加密的公钥
在这里有两种加密方法可以选择。

其一是传统的对称加密法,即常规加密法,另一种是非对称加密法。

下面分别简单介绍。

(1)对称加密法
在上图中选择“常规加密”复选框,确定之后,出现输入常规加密的密码,以便在解密时使用。

图26输入加密密码
输入好密码后,单击确定按钮即完成了文件的加密。

此时在被加密文件位置就出现了已经加密好的文件。

图27 加密后的文件
这个加密好的文件图标上会有一个小锁,文件的扩展名会多一个“.pgp”,表明它是采
用PGP进行加密后的文件。

这样就可以将加密后的文件复制或传送给别人了。

收到加密文件的人,只需要双击该加密文件,就会弹出输入密码窗口,正确输入之后,文件就会被正确解密,文件的原内容就可以查看了。

图28 输入解密密码窗口
(2)非对称加密法
使用非对称加密算法进行加密时,与对称加密时类似。

重新选择一个文件,在右键弹出菜单中选择“PGP”——“加密”,即可打开如图24所示的窗口,此时不要勾选中下方任何一个复选框,直接在接收人里选择前面建立的公私钥对。

图29拖放公钥
单击确定按钮后就会直接出现加密好的文件,不需要再输入密码。

这个加密后的文件表面看起来和刚才对称加密法加密的文件一样,但是实际的加密原理是不同。

使用这种方式即为非对称加密方法。

当对方(发布公钥的人)收到加密的文件之后,只要用鼠标双击这个加密的文件,就会出现如下图的界面。

图30输入私钥密码
此时输入创建密钥时的密码,就会解密文件,明文就可以被直接查看了。

并且以后只要不修改其文件名,在本机上就可以直接解密,不用再输入密码。

整个加密解密的基本流程如下图所示:
用户A 用户B
图31加密解密基本流程
5、利用PGP进行数字签名
由于公钥是发放给其他人使用的,那么在公钥发放的过程中,存在公钥被人替换的可能。

此时,若有一个人对此公钥是否真正属于某个用户的公钥做出证明,那么该公钥的可信任度就比较高。

如果A很熟悉B,并且能断定某公钥是B的,并没有人把该公钥替换或者篡改的话,那么可以对B的公钥进行数字签名,以自己的名义保证B的公钥的真实性。

具体操作为:运行“开始”—“PGP”—“PGP Keys”,选中要进行签名的公钥,然后右键,选择“签名”进行签名。

此时,选择该用户的公钥,并且选中“允许该签名被导出,有些也许还依靠你的签名”,点击“确定”。

图32 选中下方的选项以便该被签字的公钥可以导出输入私钥的密码,点击“OK”。

这样,对公钥的签字就完成了。

图33 输入密码进行数字签名
值得提醒的是,公钥和私钥都可以实现加密的功能,但是当要进行数字签名的时候,就只能使用私钥而不能用公钥。

因为私钥只为用户一个人掌握,所以,该私钥能表明他的身份,确定该信息只有他一个人才能发出。

在没有进行签名以前,在PGPkeys窗口中,密钥右边的有效性下显示为灰色小圆点,如下图所示:
在进行签名以后,密钥的有效性显示为绿色小圆点。

签名以后,在PGPkeys窗口中右键单击该密钥,选择“密钥属性”,在打开的属性窗口中,右下方可将密钥调整为信任状态。

我们也可以对文件进行签名和加密。

操作如下:选择要进行签名的文件,点击右键,选择“签名”。

要注意的是,对文件签名只能证明是你发出该文件,但是文件的内容并没有被加密,同时,进行数字签名时,在意的是表明该文件是从自己这里发出,因此对于文件的内容并不在意被别人看到,经过数字签名的文件要同原明文文件一同发送给对方,对方才能验证数字签名是否有效。

如果同时要表明文件从自己这里发出,同时又要对文件的信息保密,那么就在右键点击该文件后,在弹出菜单中选择“签名&加密”选项。

同样的,在选择密钥的对话框中,从对话框上部的密钥列表中,选择接收文件的用户拖
到对话框的下部,点击“确定”。

确定接收人后,输入私钥的密码,进行数字签名或数字签名和加密。

6、使用PGP和Outlook Express发送加密的电子邮件
(1)发送加密的电子邮件
例如:studentA@邮箱(A邮箱)向studentB@邮箱(B邮箱)发信)
①A邮箱通过Outlook Express编写邮件内容
注意:如果发送包含敏感信息的邮件,则标题栏必须为空白或标题内容不能包含泄露正文内容的信息。

②当完成邮件正文的编写后,点击工具栏右侧“»”,然后选择“加密信息(PGP)”加密邮件正文,用对方的公钥进行加密。

点击“签名信息(PGP)”,用自己的私钥对信件内容进行签名。

也可以在创建新邮件窗口的“工具”菜单下点中“使用PGP加密”和“使用PGP数字签名”。

选中以后,且邮件内容也填写好,可单击“发送”按钮,会出现输入密码窗口,输入自己的私钥密码,单击确定即可完成对邮件内容的数字签名与加密,同时Outlook Express会把邮件发送给对方。

在发送完毕后,你也可以在Outlook Express中已发送邮件中查看刚才发送的邮件,可看到邮件加密后的情况,如下图:
可以看到,邮件内容显示为乱码。

(2)电子邮件的接收与解密
接收邮件方在收到刚才发送的加密邮件后,打开该邮件,从工具栏上点击“解密PGP 信息”。

接着系统会出现输入密码窗口,输入你自己的私钥密码,确定后就可完成解密,会出现一个文本查看窗口,可看到邮件的签名信息及邮件内容明文。

如果用户使用的电子邮件程序没有相应的PGP插件,比如使用IE浏览器的时候,那么有两种选择:一个选择是在记事本等文字编辑程序中书写邮件内容,然后加密,再以邮件附件文件的形式发送;另外一个更方便的方法是在浏览器中写完内容后,将内容复制到剪贴板里,然后用PGP加密剪贴板,最后再把剪贴板中的密文粘贴覆盖到浏览器中。

这样,保存在我们邮箱里的邮件内容都是密文,即使窃密者得到了邮箱的密码进入邮箱,也无法了解邮
件真正的内容。

他如果使用受害者的邮箱冒用其名义发送邮件,接收者经过签名认证也能立刻察觉。

也可以从PGP程序组打开PGPmail,如图:
上图所示功能依次如下:
PGPkeys、加密、签名、加密并签名、解密/效验、粉碎、自由空间粉碎。

PGPmail的使用方法请同学们自己实验。

以上介绍的是关于PGP的简单使用,由于篇幅和时间的限制,关于PGP软件还有很多功能和设置没有介绍。

若有兴趣的话,可以实验完后自己多加使用,并参考PGP公司编写的用户手册,见开始菜单中PGP里的“DOCUMENTA TION”中的“PGP USER'S GUIDE”。

三、使用PGP混合加密工具进行加密、解密与数字签名 (1)
1、PGP简介 (1)
2、PGP的安装 (2)
3、密钥生成与导出 (7)
4、文件加密与解密 (12)
5、利用PGP进行数字签名 (15)
6、使用PGP和Outlook Express发送加密的电子邮件 (18)。

相关文档
最新文档