电子邮件安全及PG.ppt

上传人:小飞机 文档编号:6131115 上传时间:2023-09-27 格式:PPT 页数:42 大小:203.50KB
返回 下载 相关 举报
电子邮件安全及PG.ppt_第1页
第1页 / 共42页
电子邮件安全及PG.ppt_第2页
第2页 / 共42页
电子邮件安全及PG.ppt_第3页
第3页 / 共42页
电子邮件安全及PG.ppt_第4页
第4页 / 共42页
电子邮件安全及PG.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《电子邮件安全及PG.ppt》由会员分享,可在线阅读,更多相关《电子邮件安全及PG.ppt(42页珍藏版)》请在三一办公上搜索。

1、Network and Information Security,第11章 电子邮件安全及PGP,11.1 电子邮件安全概述11.2 PGP 11.3 PGP软件的使用11.4 S/MIME11.5 垃圾邮件小结习题,Network and Information Security,导引,信息加密是每一个普通用户都有权利和有能力使用的一种安全的通信技术。PGP(Pretty Good Privacy)是一个强有力的电子邮件加密系统。它是由许多人开发,在国际互联网上广为传播的免费软件。我们应该了解PGP系统的功能,研究它的可行性、方便性、安全性和认证的可操作性。使用PGP加密系统可以保证信息在计

2、算机上的安全存储和在网络上的安全传输。,Network and Information Security,11.1 电子邮件安全概述,电子邮件中主要存在的问题如下:1.诈骗邮件:通常指那些带有恶意的欺诈性邮件。2.邮件炸弹:指在短时间内向同一信箱发送大量电子邮件的行为。3.传播病毒:通过电子邮件传播的病毒通常用VBScript编写,且大多数采用附件的形式夹带在电子邮件中。4.邮件的安全问题:未加密的信息可能在传输中被截获、偷看或篡改;如果邮件未经数字签名,用户就无法肯定邮件是从哪里来的。,Network and Information Security,解决方法,要解决上述这些问题,可以从三个

3、方面入手:端到端的安全电子邮件技术传输层的安全电子邮件技术保证邮件服务器的安全与可靠。端到端的安全电子邮件技术,保证邮件从发出到接收的整个过程中,内容保密、无法修改、并且不可否认(Privacy,Integrity,Non-Repudiation)。目前的Internet上,有两套成型的端到端安全电子邮件标准:PGP和S/MIME。电子邮件包括信头和信体,端到端安全电子邮件技术一般只对信体进行加密和签名,而信头则由于邮件传输中寻址和路由的需要,必须保证原封不动。然而,在一些应用环境下,可能会要求信头在传输过程中也保密,这就需要传输层的安全技术作为后盾。目前主要有两种方式实现电子邮件在传输层中的

4、安全,一种是利用SSL SMTP和SSL POP,另一种是利用VPN或者其他的IP安全通道技术,将所有的TCP/IP传输封装起来,当然也就包括电子邮件。,Network and Information Security,SSL SMTP和SSL POP是在SSL所建立的安全传输通道上运行SMTP和POP协议。同时又对这两种协议做了一定的扩展,以更好地支持加密的认证和传输。这种模式要求客户端的电子邮件软件和服务器端的邮件服务器都支持,而且都必须安装SSL证书。基于VPN和其他IP安全通道技术,封装所有的TCP/IP服务,也是实现安全电子邮件传输的一种方法,这种模式往往是整体网络安全机制的一部分。

5、对于网络入侵的防范,主要依赖于软件编程时的严谨程度,在选择时很难从外部衡量。对于拒绝服务攻击的防范,则可以分成以下几个方面:防止来自外部网络的攻击,包括拒绝来自指定地址和域名的邮件服务连接请求,拒绝单个用户数量大于预定上限的邮件,限制单个IP地址的连接数量,暂时搁置可疑的信件等;防止来自内部网络的攻击,包括拒绝来自指定用户、IP地址和域名的邮件服务请求,强制实施SMTP认证,实现SSL POP和SSL SMTP以确认用户身份,防止中继攻击,包括完全关闭中继功能、按照发信和收信的IP地址和域名灵活地限制中继、按照收信人数限制中继等。,Network and Information Securit

6、y,11.2 PGP11.2.1 PGP的历史及概述,PGP是Pretty Good Privacy的缩写,是一种长期在学术界和技术界都得到广泛使用的安全邮件标准。PGP的特点是使用单向散列算法和公开密钥技术对邮件内容进行签名,以保证信件内容无法被篡改且不可否认;使用对称和非对称加密技术保证邮件内容保密。发信人与收信人的公钥都存放在公开的地方,如某个公认的FTP站点。而公钥本身的权威性(也就是说这把公钥是否代表发信人)则可以由第三方(特别是收信人所熟悉或信任的第三方)进行签名认证,没有统一的集中的机构进行公钥/私钥对的签发。在PGP体系中,“信任”或是双方之间的直接关系,或是通过第三者、第四者

7、的间接关系。但无论哪种,任意两方之间都是对等的,整个信任关系构成网状结构,这就是所谓的信任网(Web of Trust)。1992年9月,PGP 2.0在欧洲发布。2.0版本中还用国际数据加密算法IDEA(International Data Encryption Algorithm)替换了原有的Bass-O-Matic加密算法,IDEA是一个专门开发的密码算法,与DES一样,都是分组密码,但是它的密钥较长,因此被认为更安全。,Network and Information Security,11.2.2 PGP的功能,PGP软件有3个主要功能:(1)对存储在计算机上的文件加密。加密的文件只能

8、由知道密钥的人解密阅读。(2)对电子邮件进行加密。经加密的电子邮件只有收信人本人才能解密阅读。(3)对文件或电子邮件作数字签名。收件人可以用签名人的公开密钥签别真伪。此外,为了方便使用,PGP软件还可以:(1)对文件或电子邮件既加密又签名,这是PGP提供的最安全的通信方式。(2)为用户生成公/私钥对。(3)为用户管理密钥。用户可以把通信人的公开密钥穿在自己的公钥环上,取用时提供通信人地址即可。(4)允许用户把所知的公开密钥签名并发给朋友。(5)在得知密钥失效或泄密后,能够对该密钥取消或停用。为了防止遗忘或意外,用户还可以对密钥做备份。(6)允许用户根据个人喜好和使用环境设置PGP。(7)允许用

9、户与国际互联网上的公开密钥服务器打交道。,Network and Information Security,11.2.3 PGP的算法,PGP采用RSA算法和对称加密算法相混合的方法。PGP实际上并不用RSA来加密邮件内容,而是采用IDEA对称加密算法来对邮件内容加密。由于IDEA的加(解)密速度比RSA快得多,所以实际上PGP是用一个随机生成的密钥(每个邮件均不相同)及IDEA算法对明文加密,然后再用RSA算法对该随机密钥加密。收信人同样是用RSA解密出这个随机密钥,再用IDEA解密得到邮件明文。PGP的创意有一半就在这一点上,另一半则在PGP的密钥管理上。一个成熟的加密体系必然要有一个配套

10、的成熟的密钥管理机制。防止冒充公钥情况出现的最好办法是避免让任何其他人有篡改公钥的机会,例如,直接从小王手中得到他的公钥。然而当他在千里之外或无法见到时,这是很难做到的。PGP采用了一种公钥介绍机制来解决这个问题。举例来说,如果小张和小王有一个共同的朋友小赵,而小赵可以确认他手中的小王的公钥是可靠的,这样小赵可以用他自己的私钥在小王的公钥上签名,表示他担保这个公钥属于小王。当然小张需要用小赵的公钥来校验他给的小王的公钥。同样小赵也可以向小王认证小张的公钥,这样小赵就成为小张和小王之间的“介绍人”。采用这种方式,小王或小赵就可以放心地把小赵签过名的小王的公钥上载到网上让小张拿去,没人可以篡改而不

11、被发现。这就是PGP所设计的从公共渠道传递公钥的安全手段。,Network and Information Security,那么又如何能安全地得到小赵的公钥呢?这似乎是一个先有鸡还是先有蛋的问题。的确小张拿到的小赵的公钥也有可能是假的,但这就要求这个作假者参与整个过程,他必须对小王、小张和小赵这三人都很熟悉,而且还要策划很久,这一般很困难。当然,PGP对这种可能也有预防的建议,那就是由一个大家普遍信任的人或机构担当小赵这样的角色,他被称为密钥侍者或认证权威,每个由他签名的公钥都被认为是真的,这样大家只要有一份他的公钥就行了。而认证这个人的公钥是方便的,因为他广泛提供这种服务,所以他的公钥流传

12、广泛,要假冒他的公钥很困难。这样的“权威”适合由非个人控制的组织或政府机构充当。总之,一条必须遵循的规则是:在使用任何一个公钥之前,一定要首先认证它!无论受到什么诱惑,都绝对不能直接信任一个从公共渠道(尤其是那些看起来保密的渠道)得来的公钥,要用经过熟人介绍的公钥,或者自己与对方亲自认证。同样也不要随便为别人签名认证他们的公钥,就和现实生活中一样,家里的房门钥匙只交给信任的人。和传统的单密钥体系类似,私钥的保密也是至关重要的。PGP把压缩同签名和加密组合到一起,压缩发生在创建签名之后,但是在进行加密之前。PGP内核使用Pkzip算法来压缩加密前的明文。Pkzip算法是公认的压缩率和压缩速度都相

13、当好的压缩算法。,Network and Information Security,11.2.4 PGP对文件加解密的过程1.PGP对文件的加密过程,PGP在接受用户输入的加密口令以后,并没有直接把它用于加密文件。这与许多流行软件是不同的,许多流行软件通常把口令直接用来加密文件。PGP系统让用户口令通过它的MD5单向函数,产生了一个128位的密钥。进而用该密钥和IDEA加密算法对文件进行加密,产生加密后的密文文件。加密完成后,PGP不会在任何地方存储用户口令和中间过程所产生的密钥。MD5函数是一个单向散列函数,它把任意长度的报文内容用一个128位的数值来概括。即使是两个仅有一字之差的报文,它们

14、的MD5函数输出也会截然不同。其加密过程如图11-1。,Network and Information Security,图11-1 PGP文件加密过程,Network and Information Security,2.PGP对文件的解密过程,PGP系统的文件解密是加密的逆过程,两者的操作几乎是可逆的,只是IDEA算法工作于解密模式状态。PGP提示用户输入解密口令,如果该口令与加密口令一致,MD5函数产生出原来的IDEA 密钥,IDEA将把原文件恢复出来;若有误,PGP会给出错误信息,拒绝执行。,图11-2 PGP文件解密过程,Network and Information Securit

15、y,11.2.5 PGP公/私钥对生成过程,生成公/私钥对时,用户要经过如下四个步骤。1.密钥长度的选择:首先考虑的是安全因素,其次是速度。选1024位的密钥应该是足够安全的,密钥的长度并不影响加密和解密邮件或文件内容的速度,只影响加密和解密128位会话密钥的速度以及签名的速度。2.提供用户标识信息:纯粹是为了标识生成的公开密钥。3.确定口令:是用户保护私钥和向PGP系统证明自己是私钥主人的唯一依据。4.做些随机的击键动作:是为了生成一个536位的伪随机数发生器种子,它与PGP加密系统的安全性有关。将每个人完成随机击键的时间差异放大来产生随机数种子,比其它很多方式都安全有效。,Network

16、and Information Security,图11-3 PGP公/私钥对的生成过程,Network and Information Security,11.2.6 PGP的数字签名技术,与加密不同,数字签名系统的目的是保证信息的完整性、真实性和不可否认性。这和使用手写签名和印章的文件相似。数字签名系统是公开密钥技术与单向散列函数相结合的产物。单向散列函数能把信息集合提炼为一个很长的数字。PGP中签名的过程如下:签名时,用户提供口令,经MD5单向散列函数输出加密自己RSA私钥的IDEA密钥。密钥管理模块取出加密的RSA私钥,经过IDEA解密算法和IDEA密钥,恢复出明文的RSA私钥。另一方

17、面,PGP读出要被签名的文件内容,计算其MD5函数摘要值。该值经过RSA私钥和RSA加密算法加密以后,变成了被加密的MD5值,形成数字签名。然后再附加到原文件之后,合并为可以向外发送的传输文件。,Network and Information Security,图11-4 PGP签名过程,Network and Information Security,11.2.7 PGP公开密钥所使用的认证方式,对于拟使用的任何公开密钥,原则上都应当进行鉴定。其实,怎样鉴定某人或某物的真实身份,决非公开密钥加密系统的特有问题。人们之所以能够建立某种互相信任的关系,归纳起来,不外有三种方式:中心控制式、金字塔

18、式和网络式。目前切实可行的公开密钥认证方案,也不外乎有以上几种。社会中每个人都有一张这样无形的信任网。他们互相交织、相互依赖,而且不断变化。随着时间的推移,有些信任关系会逐渐陈旧、最终断裂,另一些信任关系又在生长、发展。由于国际互联网跨越任何国界和组织机构的界限,若要鉴别用户的真实身份没有任何有效而可靠的办法,无论中心控制式还是金字塔式,都不可能实现。,Network and Information Security,PGP在鉴别公开密钥真伪时,所使用的就是网络式。PGP一般使用私人方式的公钥介绍机制,因为这样的非官方方式更能反映出人们自然的社会交往,而且人们也能自由地选择信任的人来介绍。用网

19、络式的方法来认证公开密钥,可以模仿人们在自然交往中建立相互信任的过程。每一个公钥都用两个参数来描述:真实性(Validity)和信任度(Trust)。真实性表明该公开密钥的真实程度;信任度则表明对密钥主人的信任程度。信任度可以分成若干级别:绝对信任、完全信任、勉强信任、不肯定、不信任。随着通信量的增加,信任度既可以增加,也可以降低。对于重要机密,只有当信任度为“绝对信任”时,才能进行加密通信;对于不是特别重要的信息,则可以适当地选择信任度。用网络式的方法来认证公开密钥也有它自身不可克服的缺陷,认证过程烦琐,有时在信任度的设置方面也会出现偏差。,Network and Information S

20、ecurity,11.2.8 PGP的安全性,从加密的理论基础和实际运用的可靠性分析来看,PGP加密系统属于较强的加密系统。一个好的加密系统在技术上至少需要满足如下三个条件:(1)核心的加密算法必须是公认可靠的;(2)加密系统的具体实现应当是可靠的;(3)加密系统应能支持足够长的密钥。,Network and Information Security,大致有三种办法可能破译PGP加密的报文,这就是:(1)破译IDEA加密(2)破译RSA公开密钥加密(3)设法搞到收件人的私钥,或伪造一个收件人的公开密钥IDEA算法使用128位的加密密钥。除非在该算法中找到根本性的漏洞,或有十分奏效的密码分析方法

21、,否则唯一的破译方法就是穷尽搜索全部的密钥。这在现有技术下是行不通的。要想破译RSA,用密钥穷尽搜索也是行不通的。另一方法是将RSA的公开密钥n分解为两个素数的乘积,而大数的因数分解正是数论中的一个难题。,Network and Information Security,PGP程序产生随机数的方法类似RSA密钥的产生,它是从用户敲击键盘的时间间隔上取得其随机数种子的。同时对于硬盘上的随机数文件采用了和邮件同样强度的加密,这有效地防止了他人从该文件中分析出加密密钥的规律来。然而,PGP程序的使用并不能完全保证用户的通信就是安全的,用户的计算机也仍可能很脆弱。就像在房子前门安装一个最安全的锁,小偷

22、仍然可以从开着的窗户爬进来一样。存在许多著名的对PGP的攻击,主要有蛮力攻击、对私钥环的攻击和对公钥环的攻击等。对PGP最直接的攻击是蛮力攻击其所使用的密钥。这种情况下,PGP的安全性就取决于它所使用的RSA和IDEA这两个算法的安全性。对于RSA密钥,已知最好的蛮力攻击是分解公钥n。但PGP所使用的密钥非常长,理论上说,一个512位的密钥能够有大约1年左右时间的安全性。当然,如果技术上有所提高,需要的时间可能会少些。至于对IDEA密钥的蛮力攻击目前为止还没听说有人尝试过,据估计破译IDEA的困难同分解3000位长的RSA密钥的困难程度相当。所以,尝试破译PGP中用于加密IDEA密钥的RSA密

23、钥相对更容易些。,Network and Information Security,PGP私钥环的安全性基于以下两点:,对私钥环数据的访问和对用于加密每个私钥的口令的了解。使用私钥需要拥有这两部分,对私钥环的攻击也立足于这两部分。1 首先,如果PGP在多用户系统中使用,就可能被他人访问到自己的私钥环。通过读取缓存文件、网络窥视或者许多其他的攻击方法,攻击者可以得到他人的私钥环。这样就只剩下口令可以保护私钥环中的数据了,也就是说攻击者只要能获得口令就能攻破PGP。2 其次,还是在一个多用户系统中,键盘和CPU之间的链路很可能是不安全的。如果有人能够访问连接用户键盘和主机的网络,监视用户键盘的输入

24、是很容易做到的。,Network and Information Security,攻击,攻击者可以从一个公共的终端上登录,然后窥探共享的连接网络得到他人的口令。由于公钥环的重要性和对它的依赖性,PGP也受到许多针对公钥环的。因为PGP的公钥环只有在改变时才被检查,当添加新的密钥或签名时,PGP验证它们,然后标记它们为公钥环中已检查过的签名,以后不再去重复验证它们。所以,有一种对PGP公钥环的攻击是修改公钥环中的签名,并且标记它为公钥环中已检查过的签名,使得系统不会再去检查它。对PGP公钥环的另一种攻击是针对PGP的使用过程。PGP对密钥设置一个有效位,当到达一个密钥的新签名时,PGP计算该密

25、钥的有效位,然后在公钥环中缓存这个有效位。还有一种对PGP公钥环的攻击,利用了作为介绍人的密钥信任也缓存在公钥环中这个特点。密钥信任定义密钥的签名有多少信任度,所以如果使用带有特定参数的密钥为一个无效密钥签名就可能使PGP把这个无效密钥作为有效密钥接受。而且,如果一个密钥被修改为完全受托的介绍人,那么用这个密钥签名的任何密钥都将被信任为有效的。,Network and Information Security,11.3 PGP软件的使用,PGP安装完成后,任何用户都要做的第一件事就是创建一个自己的RSA密钥对。密钥的长短与密钥的安全性成正比例,与使用这个密钥所花费的时间成反比例,也就是说,密钥

26、越长越安全,但使用时所花的时间也越多。用户标识信息称为UserID,它是一个可打印的字符串,这个字符串告诉其他人谁拥有这个密钥。一个密钥可以有多个UserID。一般来说,UserID的形式是RealName。密钥参数定义完之后,PGP会提示用户输入一个口令。这个口令以后会用来加解密私钥。在输入口令之后,PGP会接着要求用户给出一些随机击键。,Network and Information Security,PGP的每一个密钥还包括另一个用户无法控制的名字:keyid。密钥的keyid是一个数字串,这个数字串通过密钥参数自动生成,由PGP内部使用,以便访问处理中的密钥。根据设计,想要让keyid

27、一定程度上模仿实际的密钥,每个密钥的keyid都不同。keyid有64位,但是只给用户用十六进制格式打印出32位。要向PGP标识一个串为keyid,必须在它的前面放字符串“0 x”,表示这是一个十六进制串。PGP要求用户保持一个密钥的本地缓存。这个缓存被称为用户的密钥环。每个用户至少有两个密钥环:公钥环和私钥环。每个密钥环都用来存放用于特定目标的一套密钥。保持这两个密钥环的安全很重要,公钥环存放所有与用户通信的人或单位的公钥、UserID、签名和信任参数等。,Network and Information Security,在设计公钥环的时候,只是想用它保存一些比较亲密的朋友和同事的公钥。私钥

28、环是PGP中存放个人私钥的地方。当用户产生一个密钥时,不能泄露的私钥部分就存放在私钥环中。这些数据在私钥环中被加密保存,因此对私钥环的访问不会自动允许对其私钥的使用。当然,如果一个攻击者能够访问私钥环,那么他伪造签名解密消息的障碍就小多了。PGP不推荐多方共享一个私钥,尽管有时可能有这种需要。例如,当用户拥有代表一个组织的私钥时,可能有必要让这个组织的多个成员都能访问这个私钥。这意味着任何个人都可以完全代表那个组织行动,但知道和使用的人越多越容易泄密。有时可能会使用一个不带口令的私钥,例如,建立一个带有私钥的服务器以代表一群人。在某些情况下,一个私钥环中可能有多个私钥,PGP可以通过私钥的Us

29、erID来指定用户想要使用的私钥。缺省情况下,每当PGP需要使用一个私钥时,它都会选择私钥环中的第一个私钥,这个私钥通常是最近创建的。但用户可以使用-u选项向PGP提供UserID来修改它,这样PGP就会使用相应UserID的私钥。,Network and Information Security,密钥中的签名是用户对这个密钥所做的一个重要说明。一般说来,密钥中的签名表示签名人在一定程度上已经验证密钥确实属于其UserID中所记录的用户。PGP使用签名机制在一个密钥中建立信任。一般说来,密钥中的签名越多、密钥就越可靠。然而,密钥中仅仅有签名还不足以使PGP相信这个密钥是有效的。一个密钥签名是该

30、密钥参数对被签的UserID的一种约束,如果添加或者修改UserID,签名就无效了。用户只有在验证了一个密钥之后,才可以为它签名,没有验证之前不应当为它签名。一个密钥签名包括使用一个私钥签署公钥参数和它的UserID。当密钥受托为有效时,密钥就可以作为介绍人了。PGP会检查密钥环,并询问用户对有效的密钥给予多少信任。根据这些可信任的密钥,更多的密钥可受托为有效的。这就是建立信任网络的方法。,Network and Information Security,对于每一个有效的密钥,可以使用PGP指定4个信任等级,分别为:完全信任(complete trust)、边缘信任(marginal trus

31、t)、不信任(no trust)、未知信任(unknown trust)。PGP会把完全信任的签名数和边缘信任的签名数加起来,然后把这个值与充分信任这个密钥为有效的完全和边缘信任数做比较。在缺省情况下,PGP需要一个完全信任签名或者两个边缘信任签名来证实一个密钥,但可以通过修改配置文件的选项来改变这些数字。PGP软件可以让用户用口令加密一个消息。这种方法不提供任何密钥管理的功能,因为PGP把口令转换成一个IDEA密钥,并使用这个密钥加密消息。然而,当使用一些经过选择的、独立于用户私钥的口令为用户加密消息时,它作为一个更安全的密码、一个加密工具还是很有用的。注意,对于每一个使用常规方法加密的文件

32、要使用不同的口令。,Network and Information Security,PGP的常规加密方法的命令为:,pgp-c message使用常规加密方法时,PGP会两次询问口令。第二次询问是为了保证用户正确键入了口令,然后使用这个口令加密消息。要为一个消息签名,用户可以使用他的私钥加密这个消息的摘要。签名附加到消息之后,其他用户可以验证这个签名。为消息签名的命令为pgp-s message当用户收到一个PGP消息时,使用PGP解密以得到数据,这就涉及到消息的解密以及对消息中签名的验证,这是PGP的缺省操作。使用“pgp message”命令,PGP就会试着解码PGP消息,而且根据需要解

33、密和/或验证消息。当解密需要用户的私钥时,PGP会提示用户输入该私钥的口令,以便使用该私钥。在成功解密并经过验证后,PGP将解码得到的消息存储到一个输出文件中,用户就可以读取、处理或使用这个文件。当一个消息因为被用户所没有的一个或一组密钥加密而无法读取时,PGP会告诉用户谁能解密这个消息。如果与为消息签名的私钥相对应的公钥不在当前密钥环中,PGP会要求用户给出另一个密钥环,如果提供不了的话,PGP就无法验证签名。不过,如果有可能,它仍然会试图输出一部分消息。,Network and Information Security,PGP允许每个用户有一个配置文件,对PGP使用的各种值指定选项,而不必

34、使用缺省选项。PGP在启动时读取这个文件,以确定如何为用户服务。这个配置文件指定这样一些选项,例如,防护层的缺省行或使用的缺省密钥。PGP还支持全系统的配置文件,这个配置文件可以为系统的所有用户设置缺省值。用户自己的局部配置文件的选项设置优先于系统配置文件的选项设置。系统配置文件的位置在编译时设置。感兴趣的读者可以访问PGP作者Zimmermann的个人网站,下面的链接是其中的中文部分:http:/,Network and Information Security,11.4 S/MIME,S/MIME是Secure Multipurpose Internet Mail Extensions的简

35、称,它是从PEM(Privacy Enhanced Mail)和MIME发展而来的。最初由RSA公司开发,目的是为了使不同产品的开发者能使用兼容的加密技术创建能互通的消息传输代理。同PGP一样,S/MIME也利用单向散列算法和非对称的加密体系。,Network and Information Security,S/MIME与PGP的不同之处主要有两点:,首先,它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,最上一级的组织的证书(根证书)则依靠组织之间相互认证,整个信任关系基本是树状结构,就是所谓的Tree of Trust;其次,S/MIME将信件

36、内容加密签名后作为特殊的附件传送,其证书格式采用X.509规范,但与一般网上购物所使用的SSL证书还有一定差异,支持的厂商也相对比较少。在国外,有VeriSign公司免费向个人提供S/MIME电子邮件证书;在国内,也有公司提供支持该标准的产品。在客户端,Netscape Messenger和Microsoft Outlook等都支持S/MIME。,Network and Information Security,S/MIME不只是用于Internet的标准,它还能用在专用网络上(例如AOL),但是它对Internet电子邮件最有效。因为,在专用网络上发信人发信直接连到电子邮件服务器,相对比较安

37、全。Internet电子邮件在到达目的地之前,可能要经过多个服务器,要实现安全的通道是不可能的。所以,要实现Internet电子邮件的安全,就必须保证消息本身是安全的。,Network and Information Security,所以S/MIME采用了一种混合方法,叫做数字信封。消息本身仍使用对称密码进行加密,然后用非对称密码加密所使用的对称密钥,加密后的对称密钥和经对称加密的消息一起发送。因为对称密码相对比较简单,所以加解密的速度要比用非对称方法加密整个消息快得多。S/MIME能够防止篡改,方法类似于校验和。它使用单向散列算法把消息的内容浓缩成一个惟一的摘要,然后把这个摘要加密后和消息

38、一起发送。收信人的S/MIME程序解密消息,根据消息内容采用同样的单向散列算法在本地再次计算该消息的摘要。然后解密发送来的电子邮件摘要,把它的内容和自己算出来的摘要进行比较。如果彼此匹配,则说明消息没有被篡改;如果不匹配,则说明在传输过程中消息内容已经被人篡改,S/MIME程序会报警提示收信人。,Network and Information Security,S/MIME还能够防止仿造,方法是通过数字签名,或者说使用私钥进行加密。签过名的公钥叫做证书,随消息一起发送。更安全的证书是由第三方签署的证书。但是,任何人都能签署公钥,所以如果仅仅由某个第三方签署证书,还无法证实身份,除非该签署者是众

39、所周知的、可以信任的。但是这些自己设置的权威证书机构,不一定能被他人所认可,所以,S/MIME采用信任等级体系来解决这个问题。信任等级体系也叫做信任链。为了让小王相信自己,小赵在电子邮件里除了提供小赵自己的证书,还提供了签发其证书的证书签署机构的证书。如果这个证书签署机构是小王所知道而且信任的机构,那么他就能用它的公钥来验证小赵的证书和公钥,最终也能接受小张的证书,承认他的证书有效。如果信任链的最高一级是众所周知、可以信任的,那么信任链里的证书最终也都可以得到信任。,Network and Information Security,当今最权威的证书签署机构是VeriSign公司。VeriSig

40、n公司的公钥随处可得,实际上它已经预置在多数S/MIME程序里,所以验证VeriSign的签名实际上很容易做到。如果用户相信VeriSign在确认人们身份上做的工作不错,那么当他看到证书上有VeriSign签名时,就可以确信它是有效的。VeriSign提供两类个人证书。第一类成本较低,只验证申请人的电子邮件地址。第二类成本较高,要验证申请人的通信地址和电子邮件地址。申请人必须输入私人信息,使得VeriSign能够确认申请人的身份,所以申请信息必须通过安全通道传递,而不能通过未加安全保护的电子邮件发送。,Network and Information Security,S/MIME签名主要由这几

41、部分组成:加密的摘要、生成摘要使用的算法、解密摘要使用的算法以及证书列表(用于消息的信任等级)。S/MIME用户不用加密消息就能给消息签名,实际上这也是S/MIME一般的使用方法。如果用户缺省地把签名功能打开,那么运行S/MIME电子邮件程序的收信人就能检验收到的电子邮件,检查它是否被篡改过,并验证发信人的身份。还能接收发信人的公钥,以后利用该公钥给发信人发送加密的消息。由于收信人运行的电子邮件程序可能不支持S/MIME,S/MIME提供两种签名方式:清晰签名(Clear,又叫做分离签名)和模糊签名(Opaque)。使用带有清晰签名的消息时,消息本身以正常方式发送,签名作为一个小的文件以附件方

42、式随信发送,不支持S/MIME的客户端可以忽略该签名。这种方法的弊端是:某些邮件服务器可能会对消息做少许修改(例如,重新折行,或者去掉尾部的空格等),而这种处理会造成接收方的S/MIME程序错误地认为消息被修改过并报警。,Network and Information Security,但是,S/MIME仍然存在一些问题。同一个电子邮件地址拥有多个别名是很常见的,例如,和。但是多数S/MIME程序,在证书里都只认为其中的一个电子邮件地址有效。虽然,当名称不匹配造成证书无效时,用户可以显式地接受这个证书,但是,用户还是无法解密收到的消息,也无法回复该消息,除非对地址进行编辑,以使其和证书匹配。S

43、/MIME规范的设计者正在设计一个解决方案,这个方案允许多个电子邮件地址同时和一个证书关联。要使用S/MIME加密,发信人需要收信人的公钥。有两种方法可以得到公钥:从VeriSign站点手工下载证书,并把它导入到电子邮件程序里;或者把通过签名的电子邮件消息收到的证书保存起来。,Network and Information Security,11.5 垃圾邮件,垃圾邮件利用Internet这个开放的传输网络,对目标邮箱进行“狂轰乱炸”,造成非常恶劣的影响。为抵御垃圾邮件,在服务器端应该设置发信人身份认证,以防止自己的邮件服务器被选做垃圾邮件的传递者。在用户端,有下列一些方式可以用来防范垃圾邮件

44、。不随便公开自己的电子邮件地址,防止其被收入垃圾邮件的发送地址列表。尽量采用转发的方式收信,避免直接使用ISP提供的信箱。,Network and Information Security,申请一个转发信箱地址,结合垃圾邮件过滤,然后再转发到自己的真实信箱。地址过滤可以设定只有当该转发信箱地址出现在收信人地址栏并且发信人地址不等于收信人地址时才转发,这对于很多垃圾邮件发送者同时抄送成千上万用户时很有效果;字符串特征过滤可以设置为当邮件主题为空或者包含“赚钱”、“好消息”、“美金”等词语时拒收或者直接丢弃。具体设置可以参照各转信服务商提供的帮助页面。不要回复垃圾邮件,这是一个诱人进一步上当的花招

45、。,Network and Information Security,小结,随着Internet的发展,电子邮件被越来越广泛的使用。它比传统邮件更方便,传递速度也要快千万倍。但是,垃圾邮件、邮件炸弹、通过电子邮件传播的病毒等也同时在困扰着我们。PGP和S/MIME是目前比较成型的两个端到端安全电子邮件的标准。PGP几乎是目前最流行的公钥加密软件包,它是RSA同传统加密的杂合算法,巧妙的设计使得它能同时具有安全性高和加密速度快这两个优点。S/MIME则是基于Tree of Trust方式的另一种加密体系。使用S/MIME需要层次结构的证书认证机构的支持,目前最权威的证书签署机构是VeriSign。PGP是具有军事级别的信息加密系统。对信息加密安全、可靠,使用方便。,Network and Information Security,习题,1.电子邮件存在哪些安全性问题?2.端到端的安全电子邮件技术,能够保证邮件从被发出到被接收的整个过程中的哪三种安全性?3.用于实现电子邮件在传输过程中的安全的两种方式有哪些异同点?4.以一个简单的实例说明公钥介绍机制是如何实现的。5.在哪些环节上的问题对PGP的安全性有影响?6.比较Web Of Trust和Tree Of Trust的优缺点。7.实践:发送一封使用电子签名的电子邮件。8.实践:生成一个属于自己的PGP密钥对,并用来签名。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号