PGP邮件加密签名实验

更新时间:2023-06-08 08:56:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机局域网技术 PGP邮件加密签名实验 老师共享

PGP邮件加密实验

一、实验目的:

1、掌握加密邮件发送接收的实验

2.了解PGP工具的操作

二、实验要求

首先在Windows Server 2003上建好邮件服务器(SMTP服务器和POP3服务器),然后安装好PGP8.1,再使用PGP发送加密和签名邮件。

三、实验原理

1.非对称加密算法原理

1976年,美国学者Dime和Henman为解决信息公开传送和密钥管理问题,提出一种新的密钥交换协议,允许在不安全的媒体上的通讯双方交换信息,安全地达成一致的密钥,这就是“公开密钥系统”。相对于“对称加密算法”这种方法也叫做“非对称加密算法”。与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。甲方只能用其专用密钥解密由其公用密钥加密后的任何信息。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要,但加密和解密花费时间长、速度慢,它不适合于对文件加密而只适用于对少量数据进行加密。

2.公钥加密算法介绍

使用公开密钥对文件进行加密传输的实际过程包括四步:

(1)发送方生成一个自己的私有密钥并用接收方的公开密钥对自己的私有密钥进行加密,然后通过网络传输到接收方;

(2)发送方对需要传输的文件用自己的私有密钥进行加密,然后通过网络把加密后的文件传输到接收方;

计算机局域网技术 PGP邮件加密签名实验 老师共享

(3)接收方用自己的公开密钥进行解密后得到发送方的私有密钥;

(4)接受方用发送方的私有密钥对文件进行解密得到文件的明文形式。

因为只有接收方才拥有自己的公开密钥,所以即使其他人得到了经过加密的发送方的私有密钥,也因为无法进行解密而保证了私有密钥的安全性,从而也保证了传输文件的安全性。实际上,上述在文件传输过程中实现了两个加密解密过程:文件本身的加密和解密与私有密钥的加密解密,这分别通过私有密钥和公开密钥来实现。

2. 私钥数字签名技术

对文件进行加密只解决了传送信息的保密问题,而防止他人对传输的文件进行破坏,以及如何确定发信人的身份还需要采取其它的手段,这一手段就是数字签名。在电子商务安全保密系统中,数字签名技术有着特别重要的地位,在电子商务安全服务中的源鉴别、完整性服务、不可否认服务中,都要用到数字签名技术。在电子商务中,完善的数字签名应具备签字方不能抵赖、他人不能伪造、在公证人面前能够验证真伪的能力。

实现数字签名有很多方法,目前数字签名采用较多的是公钥加密技术,如基于RSA Date Security公司的PKCS(Public Key Cryptography Standards)、Digital Signature Algorithm、x.509、PGP(Pretty Good Privacy)。1994年美国标准与技术协会公布了数字签名标准而使公钥加密技术广泛应用。公钥加密系统采用的是非对称加密算法。

目前的数字签名是建立在公共密钥体制基础上,它是公用密钥加密技术的另一类应用。它的主要方式是,报文的发送方从报文文本中生成一个128位的散列值(或报文摘要)。发送方用自己的私人密钥对这个散列值进行加密来形成发送方的数字签名。然后,这个数字签名将作为报文的附件和报文一起发送给报文的接收方。报文的接收方首先从接收到的原始报文中计算出128位的散列值(或报文摘要),接着再用发送方的公用密钥来对报文附加的数字签名进行解密。如果两个散列值相同、那么接收方就能确认该数字签名是发送方的。通过数字签名能够实现对原始报文的鉴别。

数字签名与书面文件签名有相同之处,采用数字签名,也能确认以下两点:第一,信息是由签名者发送的;第二,信息自签发后到收到为止未曾作过任何修改。这样数字签名就可用来防止电子信息因易被修改而有人作伪,或冒用别人名义发送信息。或发出(收到)信件后又加以否认等情况发生。应用广泛的数字签名方法主要有三种,即:RSA签名、DSS签名和Hash签名。这三种算法可单独使用,也可综合在一起使用。数字签名是通过密码算法对数据进行加、解密变换实现的,用DES算去、RSA算法都可实现数字签名。但三种技术或多或少都有缺陷,或者没有成熟的标准。

计算机局域网技术 PGP邮件加密签名实验 老师共享

RSA算法中数字签名技术实际上是通过一个哈希函数来实现的。数字签名的特点是它代表了文件的特征,文件如果发生改变,数字签名的值也将发生变化。不同的文件将得到不同的数字签名。一个最简单的哈希函数是把文件的二进制码相累加,取最后的若干位。哈希函数对发送数据的双方都是公开的。 DSS数字签名是由美国国家标准化研究院和国家安全局共同开发的。由于它是由美国政府颁布实施的,主要用于与美国政府做生意的公司,其他公司则较少使用,它只是一个签名系统,而且美国政府不提倡使用任何削弱政府窃听能力的加密软件,认为这才符合美国的国家利益。Hash签名是最主要的数字签名方法,也称之为数字摘要法(Digital Digest)或数字指纹法(Digital Finger Print)。它与RSA数字签名是单独的签名不同,该数字签名方法是将数字签名与要发送的信息紧密联系在一起,它更适合于电子商务活动。将一个商务合同的个体内容与签名结合在一起,比合同和签名分开传递,更增加了可信度和安全性。数字摘要(Digital Digest)加密方法亦称安全Hash编码法(SHA:Secure Hash Algorithm)或MD5(MD Standard For Message Digest),由RonRivest所设计。该编码法采用单向Hash函数将需加密的明文“摘要”成一串128bit的密文,这一串密文亦称为数字指纹(Finger Print),它有固定的长度,且不同的明文摘要必定一致。这样这串摘要使可成为验证明文是否是“真身”的“指纹”了。

只有加入数字签名及验证才能真正实现在公开网络上的安全传输。加入数字签名和验证的文件传输过程如下:

(1)发送方首先用哈希函数从原文得到数字签名,然后采用公开密钥体系用发达方的私有密钥对数字签名进行加密,并把加密后的数字签名附加在要发送的原文后面;

(2)发送一方选择一个秘密密钥对文件进行加密,并把加密后的文件通过网络传输到接收方;

(3)发送方用接收方的公开密钥对密秘密钥进行加密,并通过网络把加密后的秘密密钥传输到接收方;

(4)接受方使用自己的私有密钥对密钥信息进行解密,得到秘密密钥的明文;

(5)接收方用秘密密钥对文件进行解密,得到经过加密的数字签名;

(6)接收方用发送方的公开密钥对数字签名进行解密,得到数字签名的明文;

(7)接收方用得到的明文和哈希函数重新计算数字签名,并与解密后的数字签名进行对比。如果两个数字签名是相同的,说明文件在传输过程中没有被破坏。

3、PGP简介

PGP(Pretty Good Privacy),是一个基于RSA公匙加密体系的邮件加密软件。可以用

计算机局域网技术 PGP邮件加密签名实验 老师共享

它对邮件保密以防止非授权者阅读,它还能对邮件加上数字签名从而使收信人可以确认邮件的发送者,并能确信邮件没有被篡改。它可以提供一种安全的通讯方式,而事先并不需要任何保密的渠道用来传递密匙。它采用了一种RSA和传统加密的杂合算法,用于数字签名的邮件文摘算法,加密前压缩等,还有一个良好的人机工程设计。它的功能强大,有很快的速度。而且它的源代码是免费的。实际上PGP的功能还包括: PGP可以用来加密文件,还可以用PGP代替UUencode 生成RADIX 64 格式(就是MIME 的 BASE 64格式)的编码文件。

PGP 的创始人是美国的 Phil Zimmermann。他的创造性在于他把RSA公匙体系的方便和传统加密体系的高速度结合起来,并且在数字签名和密匙认证管理机制上有巧妙的设计。因此PGP成为几乎最流行的公匙加密软件包。实现目标PGP是一种供大众使用的加密软件。电子邮件通过开放的网络传输,网络上的其他人都可以监听或者截取邮件,来获得邮件的内容,因而邮件的安全问题就比较突出了。保护信息不被第三者获得,这就需要加密技术。还有一个问题就是信息认证,如何让收信人确信邮件没有被第三者篡改,这就需要数字签名技术。RSA公匙体系的特点使它非常适合用来满足上述两个要求:保密性(Privacy)和认证性(Authentication)。

PGP加密系统是采用公开密钥加密与传统密钥加密相结合的一种加密技术。它使用一对数学上相关的钥匙,其中一个(公钥)用来加密信息,另一个(私钥)用来解密信息。 PGP采用的传统加密技术部分所使用的密钥称为“会话密钥”(sek)。每次使用时,PGP都随机产生一个128位的IDEA会话密钥,用来加密报文。公开密钥加密技术中的公钥和私钥则用来加密会话密钥,并通过它间接地保护报文内容。

PGP中的每个公钥和私钥都伴随着一个密钥证书。它一般包含以下内容:

密钥内容(用长达百位的大数字表示的密钥)

密钥类型(表示该密钥为公钥还是私钥)

密钥长度(密钥的长度,以二进制位表示)

密钥编号(用以唯一标识该密钥)

创建时间

用户标识 (密钥创建人的信息,如姓名、电子邮件等)

密钥指纹(为128位的数字,是密钥内容的提要表示密钥唯一的特征)

中介人签名(中介人的数字签名,声明该密钥及其所有者的真实性,包括中介人的密钥

编号和标识信息)

PGP把公钥和私钥存放在密钥环(KEYR)文件中。PGP提供有效的算法查找用户需要的密

计算机局域网技术 PGP邮件加密签名实验 老师共享

钥。

PGP在多处需要用到口令,它主要起到保护私钥的作用。由于私钥太长且无规律,所以难以记忆。PGP把它用口令加密后存入密钥环,这样用户可以用易记的口令间接使用私钥。 PGP的每个私钥都由一个相应的口令加密。PGP主要在3处需要用户输入口令: 需要解开受到的加密信息时,PGP需要用户输入口令,取出私钥解密信息。

当用户需要为文件或信息签字时,用户输入口令,取出私钥加密。

对磁盘上的文件进行传统加密时,需要用户输入口令。

四、实验步骤

PGP8.1的安装()

1.将PGP8.1英文版安装成功并重启电脑

2.下载PGP8.1中文汉化包成功以后用Winrar解压以后,看到如下图示

:

2.双击上图中的PGP81_cns_v2.exe可执行程序,出现如下图示

:

3.如上图,在密码输入框中输入密码: 后,如下图示:

计算机局域网技术 PGP邮件加密签名实验 老师共享

4.点击上图中的"确定"按钮.出现如下图示

:

5.如上图,装饰状条条走到尽头以后.弹出如下图示

:

6.如上图,点击"下一步>>"按钮,出现如下图示:

计算机局域网技术 PGP邮件加密签名实验 老师共享

7.如上图,勾选"我已阅读完所有的条款.然后点击上图中的"下一步"按钮.出现如下图示

:

8.点击上图中"下一步"按钮,出现如下图示:

计算机局域网技术 PGP邮件加密签名实验 老师共享

9.如上图,勾选"完整安装" 然击上图中的"下一步"按钮.出现如下图示

:

10.如上图,单击"安装"按钮.出现如下图示:

计算机局域网技术 PGP邮件加密签名实验 老师共享

11.如上图,当系统验安装时,请关闭当前windows中运行的其它所有程序.随着时间的推移.系统出现如下页面

.

12.如上图,随着时间的推移.出现如下画面.显示PGP8.1简体中言语汉化版安装成功

计算机局域网技术 PGP邮件加密签名实验 老师共享

13.点击上图中的"完成"按钮.出现如下图示

:

14.点击上图中的"是(Y)"按钮.系统重新启动.再次启动成功后.PGP8.1简体中言语汉化版就可以正式运行了

刚才自己注册了,功能正常!!!

(二)PGP 8.1的使用

1.首先使用PGP生成创建密钥对及导出公钥和签名

打开开始菜单 程序 PGP,启动PGP。

打开File菜单下的NEW PGP KEY启动新密钥向导对话框,按如下图示生成公钥

计算机局域网技术 PGP邮件加密签名实验 老师共享

2.输入全名和邮件地址实验我们输入的命名是bill,邮件地址是cc@,单击下一步。

3.在要求输入passphrase的对话框中,我们以123testpass作为自己私钥的密码

计算机局域网技术 PGP邮件加密签名实验 老师共享

4.在PGP完成创建密钥对后,单击下一步,完成。

计算机局域网技术 PGP邮件加密签名实验 老师共享

5.打开PGP的主界面,可以看见我们刚才创建的密钥。

计算机局域网技术 PGP邮件加密签名实验 老师共享

6.打开File菜单 Export>Key导出公钥,在Export Key to File对话框中,以默认的文件名bill.asc保存在桌面上

:

7.切换到另一台计算机,我们以相同的方式来创建另一对新密钥并且将其导出。我们输入aa作为全名,aaa@作为邮件地址,导出的公钥文件名为aaa.asc。步骤和前面的一样。在此省略。

8.接下来我们来对导出的密码进行导入,打开File菜单,选择Import ,在Select File Containing Key对话框中,选择另一台计算机的公钥文件(aaa.asc),然后单击打开按

计算机局域网技术 PGP邮件加密签名实验 老师共享

钮(假设我们已经将两台计算机的公钥都通过共享的方式复制了桌面),在弹出的Select key(s)对话框中,选中要导入的公钥文件,然后单击Import,返回到主界面后会看见多了一个密钥,证明刚才的密钥已经导入成功了。如下图:

9.打开Keys菜单,选择Sign,对导入进来的公钥进行签名确认。选中刚才导入的公钥文件(aaa),单击OK按钮。

计算机局域网技术 PGP邮件加密签名实验 老师共享

计算机局域网技术 PGP邮件加密签名实验 老师共享

10.切换回第一台计算机,以相同的方式将第二台计算机的公钥(bill.asc)导入并签名。 下面开始用PGP加密邮件,并发送邮件。

11.打开foxmail,点击创建新邮件,撰写一封邮件,收信人为“aa@company.mail ”,主题为PGP实验,内容为“hello world!”,

计算机局域网技术 PGP邮件加密签名实验 老师共享

12.在发送之前,对邮件内容进行签名,如下图所示选择Sign:

签名后邮件内容如下图:

计算机局域网技术 PGP邮件加密签名实验 老师共享

13.对邮件内容加密:按下图所示选择

Encrypt

计算机局域网技术 PGP邮件加密签名实验 老师共享

14.将aaa拖到下面的窗口,如下图:

15.按OK键后就对邮件加密,如下图:

计算机局域网技术 PGP邮件加密签名实验 老师共享

16.按发送键发送邮件。

17.转到另一台计算机继续实验。

aa收到cc的加密邮件,如下图:

本文来源:https://www.bwwdw.com/article/ewd1.html

Top