《《电子邮件的安全》PPT课件》由会员分享,可在线阅读,更多相关《《电子邮件的安全》PPT课件(25页珍藏版)》请在金锄头文库上搜索。
1、第十六章第十六章 电子邮件的安全电子邮件的安全16.1 电子邮件安全概述电子邮件安全概述16.2 PGP16.3 PEM16.4 S/MIME本章重点和复习要点本章重点和复习要点本章重点和复习要点本章重点和复习要点n说明说明PGP加密和解密的原理。它实现哪些网络加密和解密的原理。它实现哪些网络信息安全需求。信息安全需求。n在在PGP中,哪几个算法实际上都起到对明文中,哪几个算法实际上都起到对明文P的的“混乱混乱”作用?作用?n在在PGP中,为什么要先压缩后加密,反之有何中,为什么要先压缩后加密,反之有何不好?不好?nPGP中接收方中接收方B如何得到如何得到KM对密文解密?除了对密文解密?除了不
2、需要事先分发外,使用不需要事先分发外,使用“随机随机”的对称密钥的对称密钥KM有什么好处?有什么好处?nPGP如何使用如何使用RSA保证算法执行效率的?既然保证算法执行效率的?既然可以使用可以使用RSA实现数据的机密性,为什么还要实现数据的机密性,为什么还要使用对称的使用对称的IDEA算法实现数据加密?算法实现数据加密?返回首页返回首页16.1 电子邮件安全概述电子邮件安全概述 电子邮件在带给我们方便和快速的同时也电子邮件在带给我们方便和快速的同时也存在一些安全问题:存在一些安全问题:1)垃圾邮件垃圾邮件包括广告邮件、骚扰邮件、连锁邮包括广告邮件、骚扰邮件、连锁邮件、反动邮件等。垃圾邮件会增加
3、网络负荷,件、反动邮件等。垃圾邮件会增加网络负荷,影响网络传输速度,占用邮件服务器的空间。影响网络传输速度,占用邮件服务器的空间。2)诈骗邮件诈骗邮件通常指那些带有恶意的欺诈性邮件。通常指那些带有恶意的欺诈性邮件。利用电子邮件的快速、便宜,发信人能迅速让利用电子邮件的快速、便宜,发信人能迅速让大量受害者上当。大量受害者上当。返回首页返回首页3)邮件炸弹邮件炸弹指在短时间内向同一信箱发送大量指在短时间内向同一信箱发送大量电子邮件的行为,信箱不能承受时就会崩溃。电子邮件的行为,信箱不能承受时就会崩溃。4)通过电子邮件传播的病毒通过电子邮件传播的病毒通常用通常用VBScript编编写,且大多数采用附
4、件形式。收信人打开附件写,且大多数采用附件形式。收信人打开附件后,病毒会查询他的通讯簿,给其上所有或部后,病毒会查询他的通讯簿,给其上所有或部分人发信,并将自身放入附件中继续传播。分人发信,并将自身放入附件中继续传播。 要解决上述这些问题,可以从三个方面入手:要解决上述这些问题,可以从三个方面入手:1) 端到端的安全电子邮件技术端到端的安全电子邮件技术,保证邮件从被,保证邮件从被发出到被接收的整个过程中,内容保密、无法发出到被接收的整个过程中,内容保密、无法修改、并且不可否认修改、并且不可否认。 目前由两套安全电子邮件标准:目前由两套安全电子邮件标准: S/MIME和和PGP。它一般只对信体进
5、行加密和签名,而信它一般只对信体进行加密和签名,而信头必须保证原封不动。头必须保证原封不动。2)在一些应用环境下,可能会要求信头在传输过)在一些应用环境下,可能会要求信头在传输过程中也保密,这就需要传输层的技术作为后盾。程中也保密,这就需要传输层的技术作为后盾。两种方式实现两种方式实现电子邮件传输过程的安全电子邮件传输过程的安全。 a. 一种是利用一种是利用SSL SMTP和和SSL POP,这种模这种模式要求客户端的电子邮件软件和服务器端的邮件式要求客户端的电子邮件软件和服务器端的邮件服务器都支持,而且都必须安装服务器都支持,而且都必须安装SSL证书。证书。 b. 另一种是另一种是利用利用V
6、PN或者其他的或者其他的IP通道技术通道技术,将所有的将所有的TCP/IP传输封装起来,也包括邮件。传输封装起来,也包括邮件。3)邮件服务器本身还必须安全可靠邮件服务器本身还必须安全可靠。目前对邮。目前对邮件服务器的攻击主要分为:件服务器的攻击主要分为: a. 对于对于网络入侵网络入侵的防范,主要依赖于软件编的防范,主要依赖于软件编程时的严谨程度,在选择时很难从外部衡量。程时的严谨程度,在选择时很难从外部衡量。 b. 对于对于拒绝服务拒绝服务的防范,主要包括防止来自的防范,主要包括防止来自外部网络的攻击,防止来自内部网络的攻击,外部网络的攻击,防止来自内部网络的攻击,防止中继攻击等。防止中继攻
7、击等。16.2 PGP16.2.1 PGP的历史及概述的历史及概述 PGP是一种长期在学术界和技术界都广泛使用是一种长期在学术界和技术界都广泛使用的安全邮件标准。的安全邮件标准。PGP的特点:的特点:1)使用单向散列算法对邮件内容进行签名,以)使用单向散列算法对邮件内容进行签名,以保证信件内容无法被篡改;保证信件内容无法被篡改;2)使用公钥和私钥技术保证邮件内容保密且不)使用公钥和私钥技术保证邮件内容保密且不可否认。可否认。3)公钥本身的权威性由发信人和收信人所熟悉)公钥本身的权威性由发信人和收信人所熟悉或信任的第三方进行签名认证。或信任的第三方进行签名认证。 返回首页返回首页 PGP体系中的
8、体系中的“信任信任”是是Web of Trust 双方双方之之间的直接关系,或是通过第三者的间接关系,即任间的直接关系,或是通过第三者的间接关系,即任意两方之间对等,信任关系构成网状结构。意两方之间对等,信任关系构成网状结构。 PGP由美国的由美国的Philip Zimmermann创造。他的创创造。他的创造性:造性:1)把)把RSA公钥体系的方便和对称加密体系的高速公钥体系的方便和对称加密体系的高速结合;结合;2)在数字签名和密钥管理机制上有更巧妙的设计。)在数字签名和密钥管理机制上有更巧妙的设计。16.2.2 PGP的算法的算法 PGP是是RSA和对称加密的杂合算法:和对称加密的杂合算法:
9、1)发送方不用)发送方不用RSA来加密消息本身,而采用来加密消息本身,而采用IDEA。2)发送方用一个随机生成的密钥(不用和接收方)发送方用一个随机生成的密钥(不用和接收方事先协商)及事先协商)及IDEA对明文加密,再用对明文加密,再用RSA对该对该密钥加密。密钥加密。 这种这种链式加密方式(数字信封)链式加密方式(数字信封)既有既有RSA体系的体系的保密性,又有保密性,又有IDEA算法的快捷性。算法的快捷性。数字指纹、数字身份证、数字签名、数字信封、数字证书数字指纹、数字身份证、数字签名、数字信封、数字证书机密性机密性 完整性完整性 不可否认不可否认 发送方鉴别发送方鉴别 接收方接收方B如何
10、解密用如何解密用PGP加密的消息,得到明加密的消息,得到明文文P? 在在PGP中,哪几个算法实际上都起到对明文中,哪几个算法实际上都起到对明文P的的“混淆混淆”作用?作用?答:答:MD5、ZIP、IDEA、RSA、base64 在在PGP中,为什么要先压缩后加密?反之有什中,为什么要先压缩后加密?反之有什么不好?么不好? 答:答:PGP内核使用内核使用Pkzip算法算法来压缩加密前的明文。来压缩加密前的明文。1)一方面对电子邮件而言,压缩后明文变短,加密)一方面对电子邮件而言,压缩后明文变短,加密速度变快,传输时节省时间。先加密后压缩可能速度变快,传输时节省时间。先加密后压缩可能压缩效果不好。
11、压缩效果不好。2)另一方面,经过压缩的明文,实际上相当于多经)另一方面,经过压缩的明文,实际上相当于多经过了一次变换,信息更加杂乱无章,能更强地抵过了一次变换,信息更加杂乱无章,能更强地抵御攻击。御攻击。 一般来说不容易安全分发对称密钥,但一般来说不容易安全分发对称密钥,但PGP中发中发送方送方A却不需要事先分发随机的对称密钥却不需要事先分发随机的对称密钥KM,那,那么接收方么接收方B如何得到如何得到KM以便对密文解密?以便对密文解密? 除了不需要事先分发外,从安全的角度来说发送除了不需要事先分发外,从安全的角度来说发送方方A使用使用“随机随机”的对称密钥的对称密钥KM有什么好处?有什么好处?
12、 众所周知,众所周知,RSA加密长的明文的速度很慢,而加密长的明文的速度很慢,而PGP有两处使用有两处使用RSA进行加密,它是如何使用进行加密,它是如何使用RSA保证保证PGP算法执行效率的?算法执行效率的? 既然可以使用既然可以使用RSA实现数据的机密性,为什么实现数据的机密性,为什么在在PGP中还要使用对称的中还要使用对称的IDEA算法进行数据算法进行数据加密?加密? 公钥体制的提出解决了对称加密体系中:公钥体制的提出解决了对称加密体系中:1)密钥分配难;密钥分配难;2)无法实现发送方不可否认(数字签名)。无法实现发送方不可否认(数字签名)。 但公钥的发布中仍然存在安全性问题,例如但公钥的
13、发布中仍然存在安全性问题,例如公钥被篡改(最大的漏洞):公钥被篡改(最大的漏洞): 用户必须有办法确信他所拿到的公钥属于它用户必须有办法确信他所拿到的公钥属于它看上去属于的那个人。看上去属于的那个人。 防止这种情况出现的最好办法是避免让任何人防止这种情况出现的最好办法是避免让任何人篡改公钥,篡改公钥,PGP采用了采用了公钥介绍机制公钥介绍机制 经过介绍人私钥签字的用户公钥可以上载到网经过介绍人私钥签字的用户公钥可以上载到网上供人使用上供人使用,没人可以篡改它而不被发现,没人可以篡改它而不被发现。 那么如何能那么如何能安全地得到介绍人的公钥安全地得到介绍人的公钥呢?因为呢?因为介绍人的公钥也可能
14、是假的,但就要求作假者参介绍人的公钥也可能是假的,但就要求作假者参与这整个过程,还要策划很久,一般不可能。与这整个过程,还要策划很久,一般不可能。 PGP也支持使用也支持使用认证权威认证权威CA(由一个被普遍(由一个被普遍信任的机构担当),每个由他签字的公钥都被认信任的机构担当),每个由他签字的公钥都被认为是真实的,大家只要有他的公钥即可。为是真实的,大家只要有他的公钥即可。 认证这个人的公钥方便认证这个人的公钥方便,他的公钥流传广泛,他的公钥流传广泛,要假冒他的公钥很困难。要假冒他的公钥很困难。解决了解决了“先有鸡还是先有蛋先有鸡还是先有蛋”的问的问题题 私钥不存在被篡改的问题,但存在泄露的
15、问题。私钥不存在被篡改的问题,但存在泄露的问题。 RSA的私钥是一个很长的数字,用户不可能将它的私钥是一个很长的数字,用户不可能将它记住。记住。PGP的办法是让用户为随机生成的的办法是让用户为随机生成的RSA私钥指定私钥指定一个口令,只有用户给出口令才能将私钥释放出来一个口令,只有用户给出口令才能将私钥释放出来使用。使用。16.3 PEM PEM(Privacy Enhanced Mail)是为电子邮件提是为电子邮件提供安全的一个供安全的一个Internet标准建议草案。标准建议草案。PEM可以可以广泛用于广泛用于X.400,一般采用公开密钥体制实现。一般采用公开密钥体制实现。 PEM具有广泛
16、的适用性和兼容性,还可以在具有广泛的适用性和兼容性,还可以在Compuserve、America Online上采用。上采用。PEM在在应用层上实现端对端服务,具有机密性、数据源应用层上实现端对端服务,具有机密性、数据源认证、消息完整性和不可抵赖性。认证、消息完整性和不可抵赖性。 返回首页返回首页 报文在使用报文在使用PEM之前先要经过规范形式的处之前先要经过规范形式的处理,接着使用理,接着使用MD2或或MD5得出报文摘要,与报得出报文摘要,与报文拼接在一起后,用文拼接在一起后,用DES加密。加密后的报文加密。加密后的报文可再用可再用base64编码,然后发送给收信人。编码,然后发送给收信人。
17、 和和PGP类似,每个报文都是使用一次一密的方类似,每个报文都是使用一次一密的方法进行加密,并且密钥也是放在报文中一起在法进行加密,并且密钥也是放在报文中一起在网络上传送。当然对密钥还必须用网络上传送。当然对密钥还必须用RSA加密。加密。 PEM与与PGP相比,前者像一个相比,前者像一个OSI的标准,后的标准,后者则像一个者则像一个Internet的软件包。的软件包。16.4 S/MIME S/MIME是从是从PEM和和MIME发展而来的,也发展而来的,也利用单向散列算法和公钥加密体系。两者的不利用单向散列算法和公钥加密体系。两者的不同之处主要有两点:同之处主要有两点: 首先,它的首先,它的认
18、证机制认证机制依赖于层次结构的证书依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,整个信任关系基本是上一级的组织负责认证,整个信任关系基本是树状结构,就是所谓的树状结构,就是所谓的Tree of Trust; 返回首页返回首页 其次,其次,S/MIME将信件内容加密签名后作为特将信件内容加密签名后作为特殊的附件传送,其证书格式采用殊的附件传送,其证书格式采用规范规范,但,但与与SSL证书有一定差异,支持的厂商也比较少。证书有一定差异,支持的厂商也比较少。 S/MIME不只是用于不只是用于Internet的标准,它还能用的
19、标准,它还能用在专用网络上,但是它对在专用网络上,但是它对Internet电子邮件最有电子邮件最有效。因为效。因为Internet电子邮件要实现安全的通道是电子邮件要实现安全的通道是不可能的,所以就必须保证消息本身是安全的。不可能的,所以就必须保证消息本身是安全的。 1)使用加密可以保证信件内容不被偷窥使用加密可以保证信件内容不被偷窥。S/MIME采用了一种混合方法,叫做采用了一种混合方法,叫做数字信封数字信封:消息本身仍使用对称密码进行加密,然后用非消息本身仍使用对称密码进行加密,然后用非对称密码加密所使用的对称密钥,加密后的对对称密码加密所使用的对称密钥,加密后的对称密钥和经对称加密的消息
20、一起发送。称密钥和经对称加密的消息一起发送。2)S/MIME能够防止篡改:能够防止篡改:它使用单向散列算法它使用单向散列算法把消息的内容浓缩成一个惟一的摘要,然后把把消息的内容浓缩成一个惟一的摘要,然后把这个摘要签名后和消息一起发送。这个摘要签名后和消息一起发送。3)S/MIME还能够防止仿造,方法是通过数字还能够防止仿造,方法是通过数字签名签名。多数。多数S/MIME程序为了保护私钥,在用程序为了保护私钥,在用户使用私钥前会要求用户输入口令。户使用私钥前会要求用户输入口令。 当今最权威证书授权机构是当今最权威证书授权机构是VeriSign,它的公它的公钥实际上已经预置在多数钥实际上已经预置在多数S/MIME程序里,所以程序里,所以验证验证VeriSign的签名实际上很方便。由的签名实际上很方便。由VeriSign私钥签过名的用户公钥则为该用户的证书。私钥签过名的用户公钥则为该用户的证书。