发出到被接收的整个过程中,内容保密,无法修改,并且不可否认(privacy,integrity,non-repudation)。目前的Internet上,有两套成型的端到端安全电子邮件标准:PGP和S/MIME。
PGP是Pretty Good Privacy的简称,是一种长期一直在学术圈和技术圈内得到广泛使用的安全邮件标准。其特点是通过单向散列算法对邮件内容进行签名,以保证信件内容无法修改,使用公钥和私钥技术保证邮件内容保密且不可否认。发信人与收信人的公钥都分布在公开的地方,如FTP站点,而公钥本身的权威性(这把公钥是否代表发信人?)则可以由第三方、特别是收信人所熟悉或信任的第三方进行签名认证,没有统一的集中的机构进行公钥/私钥的签发。即在PGP系统中,信任是双方之间的直接关系,或是通过第三者、第四者的间接关系,但任意两方之间都是对等的,整个信任关系构成网状结构,这就是所谓的WEB of Trust。最近,基于PGP的模式又发展出了另一种类似的安全电子邮件标准,称为GPG,Gnu Privacy Guard。
S/MIME是Secure Multi-Part Intermail Mail Extension的简称。它是从PEM (Privacy Enhanced Mail)和MIME(Internet邮件的附件标准)发展而来的。 同PGP一样,S/MIME也利用单向散列算法和公钥与私钥的加密体系。与PGP不同的主要有两点:首先,它的认证机制依赖于层次结构的证书认证机构,所有下一级的组织和个人的证书由上一级的组织负责认证,而最上一级的组织(根证书)之间相互认证,整个信任关系基本是树状的,这就是所谓的Tree of Trust。其次,S/MIME将信件内容加密签名后作为特殊的附件传送。S/MIME的证书格式也采用X.509,但与一般浏览器网上购物使用的SSL证书还有一定差异,支持的厂商相对少一些。在国外,Verisign免费向个人提供S/MIME电子邮件证书;在国内也有公司提供支持该标准的产品。而在客户端,Netscape Messenger和Microsoft Outlook都支持S/MIME。
1.3.2 传输层的安全电子邮件技术
传统的邮件包括信封和信本身;电子邮件则包括信头和信体。现存的端到端安全电子邮件技术一般只对信体进行加密和签名,而信头则由于邮件传输中寻址和路由的需要,必须保证原封不动。然而,一些应用环境下,可能会要求信头在传输过程中也能保密,这就需要传输层的技术作为后盾。目前主要有两种方式实现电子邮件在传输过程中的安全,一种是利用SSL SMTP和SSL POP,另一种是利用VPN或者其他的IP通道技术,将所有的TCP/IP传输封装起来,当然也就包括了电子邮件。
SMTP,即Simle Mail Transfer Protocol,简单邮件传输协议,是发信的协议标准;POP,即Post Office Protocol,邮箱协议,是收信的协议。SSL SMTP和SSL POP即在SSL所建立的安全传输通道上运行SMTP和POP协议,同时又对这两种协议作了一定的扩展,以更好地支持加密的认证和传输。这种模式要求客户端的EMAIL软件和服务器端的EMAIL服务器都支持,而且都必须安装SSL证书。
基于VPN和其他IP通道技术,封装所有的TCP/IP服务,也是实现安全电子邮件传输的一种方法。这种模式往往是整体网络安全机制的一部分。
1.4 开发环境及运行环境
1.4.1开发环境
Microsoft Windows XP Professional
Visual C++ 6.0、Microsoft Access2007
1.4.2 运行环境
Intel Pentium 2及以上处理器,32M以上内存,4G以上硬盘
Microsoft Windows 9X/NT操作系统
800*600或以上的屏幕分辨率
2 应用系统开发理论基础
本章介绍了这次设计所需要用到的各种软件,包括Tomcat、JDK、JavaMail API等工具,也介绍了邮件客户端需要的SMTP和POP3协议等。
2.1 SMTP介绍
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,是一种提供可靠且有效电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知。
SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确定是存在的),然后消息文本就传输了。可以很简单地通过Telnet程序来测试一个SMTP服务器,SMTP使用TCP端口25。要为一个给定的域名决定一个SMTP服务器,需要使用MX(Mail eXchange)DNS。
在20世纪80年代早期SMTP开始被广泛地使用。当时它只是作为UUCP的补充,UUCP更适合于处理在间歇连接的机器间传送邮件。相反SMTP在发送和接收的机器始终都联网的情况下工作得最好。
SMTP独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP重要特性之一是其能跨越网络传输邮件,即"SMTP邮件中继"。通常,一个网络可以由公用因特网上TCP可相互间访问的主机、防火墙分隔的TCP/IP网络上TCP可相互访问的主机,以及其他LAN/WAN中的主机利用非TCP传输层协议组成。使用SMTP,可实现相同网络上处理机之间的邮件传输,也可通过中继器或网关是实现某处理机与其他网络之间的邮件传输。
在这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳IP地址。
Sendmail是最早实现SMTP的邮件传输代理之一。到2001年至少有50个程序将SMTP 实现为一个客户端(消息的发送者)或一个服务器(消息的接受者)。一些其他的流行的SMTP服务器包括Philip Hazel 的exim,IBM的Postfix,D.J.Bernstein的Qmail,以及Microsoft Exchange Server.
由于这个协议开始是基于纯ASCⅡ文本的,在二进制文件上处理得并不好。后来开发了用来编码二进制文件的标准,如MIME,以使其通过SMTP来传输。今天,大多数SMTP服务器都支持8位MIME扩展,它使二进制文件的传输变得几乎和纯文本一样简单。
( 注意:SMTP是一个"推"的协议,它不允许根据需要从远程服务器上"拉"来消息。要做到这点,邮件客户端必须使用POP3或IMAP上。另一个,SMTP服务器可以使用ETRN(Extended Turn,扩展回车)命令在SMTP上触发一个发送。)
垃圾邮件仍然是个重要的问题。原始的SMTP协议的局限之一在于它没有为发送方进行认证的功能。因此定义了SMTP-AUTH 扩展。由于SMTP 巨大安装基础的网络效应,广阔地修改SMTP或者完全替代它被认为是不现实的。Internet Mail 2000 就是这样一个为替换而做的建议。IRTF 的反垃圾邮件研究小组正在研究一些提供简单、灵活、轻量级的、可升级的源端认证的建议。最有可能被接受的建议是Sender Policy Framework 协议。
2.1.1 SMTP的工作原理及其模型
1、 SMTP的工作原理
SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器:二是从某一个服务器传输到另一个服务器。SMTP也是个请求/响应协议,命令和响应都是基于ASCⅡ文本,并以CR和LF符结束。响应包括一个表示返回状态的三位数字代码。SMTP在TCP协议25号端口监听连续请求。
连接和发送过程如下:
1)建立TCP 连接。
2)客户端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令;服务器端正希望以OK作为响应,表明准备接收。
3)客户端发送RCPT命令,以标识该电子邮件的计划接收人,可以有多个RCPT行;服务器端则表示是否愿意为收件人接收邮件。
4)协商结束,发送邮件,用命令DATA发送。
5)以"."号表示结束输入内容一起发送出去,结束此次发送,用QUIT命令退出。
2、 SMTP模型
SMTP设计基于以下通信模型:针对用户的邮件请
上一篇:
电子商务毕业论文
下一篇:
网上购物系统毕业设计论文