DOITAPP
DOIT数据智能产业媒体与服务平台
立即打开
DOITAPP
DOIT数据智能产业媒体与服务平台
立即打开

基于PGP的安全电子邮件传输的研究与实现

       1.1 电子邮件的安全需求

       电子邮件是Internet上最普及的应用。特别是目前电子邮件在电子商务及电子政务中的应用越来越广泛,如接收客户的订单、传送合同书、传送公文等等。因此电子邮件的安全需求便日益增强。

       电子邮件作为计算机网络信息交换的方式之一,从一开始就受到人们的重视,目前网络上最大的业务就是电子邮件。利用电子邮件,人们可以快速而便捷的互相交换信息。随着计算机网络在人类生活中的普及,电子邮件作为网上最普遍、最快捷的一种通信方式,已经成为很多人生活、工作中不可或缺的部分。

       随着计算机网络的飞速发展,人们的社会与经济活动越来越依赖于计机网络,越来越多的信息通过计算机网络进行传播,其中包含有许多个人和企业的机密敏感的信息。电子邮件是Internet上最早使用的服务之一,而且更由于其使用方便的特性,使其成为Internet上使用最广泛的服务之一。无论是在人们的日常生活还是在企业内部人员或企业之间的交流中,电子邮件己经成为人们互相传递信息的重要手段,由于电子邮件还具有携带附件的功能,许多重要的文件的传输也是通过电子邮件来完成的,因此电子邮件的安全性问题应当越来越得到使用者和开发人员的重视。

       安全电子邮件就是运用各种安全机制来保障邮件在Internet传送过程中的安全性,它应实现以下功能:机密性、完整性、身份认证、不可否认性。

       (1)机密性: 机密性是指保护信息不泄漏或不暴露给未授权掌握这一信息的实体,确保该信息仅仅是对被授权者可用。
       (2)完整性:信息完整性是指网络信息未经授权不能改变的特性,即网络信息在存储或传输过程中保持不被偶然或蓄意地删除、修改、伪造、乱序、重放、插入等破坏和丢失的特性。要求保持信息的原样,即信息的正确生成、正确存储和传输。
       (3)身份认证:身份认证提供了关于某个人或某个事物身份的保证,它确保一个通信是可信的。经过身份认证,不仅确保通信的两个实体是可信的,并且能保证第三方不能假冒这两个合法方中的任何一个来达到未授权传输或接受的目的。
       (4)不可否认性:不可否认性有时也称不可抵赖性,它可以防止参与某次通信交换的一方事后否认本次交换曾经发生过,不可否认性主要目的是保护通信用户免遭来自于系统其它合法用户的威胁。

       1.2 需要解决的与电子邮件相关的安全问题

       (1)窃听: 因为电子邮件需要在网络上传播,所以很容易成为窃听的目标。根据电子邮件的传输机制,进行窃听是很容易的,窃听不仅可以出现在局域网,在客户机和服务器之间的所有点上都有可能存在。邮件的内容和信封的内容都可以被窃听。
       (2)假冒:简单邮件传输协议(SMTP)不提供任何验证机制,所以伪造和篡改电子邮件是很容易的。伪造者只要给SMTP服务器提供合适的信封信息(如发送方或接收方电子邮件地址),并使用想要的数据产生有关的信件即可。与假冒相关的另一个安全问题是否认性问题,因为信件可以伪造,发送方可以否认他曾经发送过某个信件。
       (3)拒绝服务攻击:这种攻击通过破坏机器之间的网络通信,或者是通过耗用机器上的资源,如磁盘空伺、内存等来实现.
       (4)恶意邮件:例如邮件附件中附带有病毒程序,接收方运行后给接收方计算机系统带来严重破坏。

       2、安全电子邮件安全性问题的现状及发展趋势

       由于电子邮件的发送经常要通过不同的路由器进行转发,直到到达电子邮件最终接收主机,攻击者可以在电子邮件数据包经过这些路由器的时候把它们截取下来,这些都是我们所不能发现的。发送完电子邮件后,我们就不知道它会通过那些路由器最终到达主机,也无法确定在经过这些路由器的时候,是否有人把它截获下来,就像去邮局寄信,人们从无知道寄出去的信会经过那些邮局转发,那些人会接触到这封信。使用电子邮件就像在邮局发送一封没有粘封的信一样不安全。

       从技术上看,没有任何方法能够阻止攻击者截取电子邮件数据包,你不可能确定你的邮件将会经过哪些路由器,也不能确定经过这些路由器会发生什么,也无从知道电子邮件发送出去后在传输过程中会发生什么。也就是说,没有任何办法可以阻止攻击者截获需要在网络上传输的数据包。所以电子邮件虽然是一个很方便的信息交换工具,但易受攻击、无法鉴别身份、无法辨别信息的真伪等安全性缺点阻碍了电子邮件在电子政务和电子商务等领域中的应用。

       目前全国各地政府正在大力发展电子政务,开展政府上网工程。网上政府同样体现出权威性,网上政令的发布、公文的流转都需要高安全的电子邮件系统来保证。此外正在开展的如火如茶的电子商务活动,同样需要高安全的电子邮件系统来保证商业机密和双方的信任关系。因此迫切需要安全的电子邮件系统来保证政府、军队和企业等部门重要敏感信息传输的高安全性、高可靠性。

       那么,唯一一种办法是让攻击者截获了数据包但无法阅读它,这就像以前的军事无线电报一样,在发送无线电波传输电报时,人们不知道它们是否会被敌方截获,于是人们对电报的内容先进行加密处理,这样即使敌方截取到了电报,得到的也只是一大串毫无意义无序排列的字符,而只有正确密码对发送电报内容进行解密处理,才能阅读到原本的内容。和发送电报一样,在发送电子邮件前对其进行数字加密处理,在接收方接到电子邮件后对其进行解密处理,这样,即使攻击者截获了电子邮件,在没有正确密码解密的情况下,截获的信息只是一堆没有任何意义的乱码数据。

       因此,对在公共网络上传输的电子邮件进行相应的安全处理,在保持工nternet电子邮件服务的便利性、经济性、时效性和通用性的同时,有效解决使用电子邮件传输时所遇到的安全性问题具有重要的意义,在电子政务、电子商务等信息网络中有着广阔的应用前景,将产生良好的社会和经济效益。

       随着电子邮件用户及电子邮件使用的范围的迅速膨胀,电子邮件的安全性问题越来越成为使用者和开发者关心的问题,并且也成为Internet标准委员会的重点问题之一,出现了许多针对其协议和解决方案,包含服务器和客户端的解决方案。例如可以在服务器端的提供验证和过滤机制、邮件病毒扫描等功能。也可以在服务器端提供加密的功能以保证进行邮件传递的数据链路的安全。在服务器端提供加密虽然能提供一定的安全性能,但是邮件的内容仍然要以明文的形式存放在传输链路中间的服务器中,还是不能防止所有人(如网络管理员)的非法访问,因此对于邮件的保密性而言,端到端的加密要比加密链路更有效.所以当前应用最广泛的还是在客户端提供邮件的安全性,其中最重要的有PGP协议和S/MIME协议。

       PGP和S/MIME两个协议都采用了现代密码学技术,并且在不用改变现有的电子邮件协议的条件下为用户提供安全电子邮件服务。

       PGP和S/MIME两个协议的最大的不同在于证书的管理和信任建立的模型。PGP协议使用的是分布式的密钥证书管理,网状信任模型,而S/MIME协议则使用的是集中的证书管理,和严格的层次信任模型.在S/MIME协议的使用中,需要一个称为以(认证中心)的机构负责证书的签发、吊销、证书有效性的验证等事务,它被所有使用它的用户所信任,而在PGP中每个用户都可以被看成是一个"CA",每个PGP协议的使用者对这个"CA"信任与否由用户决定。

       目前,S/MIME被微软等一些大公司所承认,并基于它开发了相应的应用程序,但附加在其上的限制很多。一方面由于受出口的限制,在我国只能使用40位以下的加密强度:另一方面,其源程序是不公开的,不能得到更多的安全性验证。

       PGP由于其分散管理的特性,使用户在使用它是需要具有一定的相关知识,这在一定程度上限制了它的使用范围,但是目前PGP还是具有很多的使用者。另外,PGP的源程序是公开的且开发上不受出口限制。此外,用户也可以在集中密钥证书管理的体制下工作。

       目前在我国,也出现了一些专门针对电子邮件安全性的解决方案。但是由于起步较晚,应用范围非常有限,影响也较小,这与我国电子邮件的使用范围极其广泛的现实及不相称。因此,研究开发安全电子邮件的解决方案是非常有意义的。

       3.安全电子邮件系统结构与组成

       目前,互联网上所提供的电子邮件服务的拓扑结构如下图所示:

       设用户M通过ISP的邮件服务器A向用户N发送E-mail,邮件服务器A将M的邮件通过公网转发给另一ISP的邮件服务器B, B在收到所传来的E-mail后,按照邮件处理的有关协议及对用户所提供的服务来处理此邮件。N在登录邮件服务器B后,就可以接收到用户邮箱中的电子邮件了。但邮件服务器A和B都不是安全邮件服务器,而是公网的一部分或临时租用的,并且邮件是以明文的形式存放在用户邮箱中的,用户M、N对邮件服务器的信任也只局限于其可用性,也就是说,ISP的邮件服务器并不为用户提供安全电子邮件所必需具备的机密性、完整性、验证、签名、防抵赖等服务,只起到简单的邮件处理和转发功能,在这种情况下,攻击者终端就可以通过网络攻击和窃听等手段破坏和获得合法用户终端的数据。为此,从实际应用和经济性角度考虑,将邮件安全性的防线建立在用户终端,由用户终端负责其自身邮件的安全性。

       基于以上的需求分析,对于电子邮件客户端的选择,我准备采用Outlook Express。虽然Outlook Express己经提供了邮件加密、解密、签名、验证的功能,但是由于出口的限制,它只支持40位的低强度的加密算法,不能满足系统的需要,所以要使用上面PGP提供的安全服务来替换它。

       安全邮件客户端应包括以下几个主要模块:对Outlook Express访问控制模块,用户操作接口模块,加密、解密、签名和验证等安全服务实现模块,安全服务嵌入模块,密钥和信任管理模块、以及系统配置模块。其主要实现功能如下:

       (1)访问控制模块,完成对Outlook Express的访问控制.
       (2)用户接口模块用户提供各种操作接口。
       (3)服务嵌入模块用于将实现的PGP安全服务嵌入Outlook Express中。
       (4)安全服务提供各种安全服务.
       (5)密钥和信任管理模块完成密钥证书的管理和信任设定。
       (6)系统配置模块实现对系统的功能进行配置。

       4、主要特点

       (1)对电子邮件的正文及附件提供PGP的加密、解密、签名、验证功能以及压缩的功能;
       (2)开放性,支持其它基于PGP协议的电子邮件产品加密的邮件解密、和验证功能;
       (3)可扩展性,系统可以方便的添加新的密码学算法

       5、需求条件及支持平台

       根据前面系统方案的选择及系统设计,系统实现的平台为Windows操作系统,客户端继续使用Outlook Express,为此程序实现需要使用到多方面的Windows系统编程技术,而对于Windows程序设计而言,徽软提供的Visual C++无疑是最佳的开发工具。同时,PGP SDK的函数库也采用了C语言来实现,所以使用Visual C++对PGP SDK函数库的调用也最为方便。因此开发平台采用了Visual C++。

未经允许不得转载:DOIT » 基于PGP的安全电子邮件传输的研究与实现