安全电子邮件系统的设计与实现

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

安全电子邮件系统的设计与实现

摘要随着电子邮件越来越广泛的应用,电子邮件的安全性问题也越显突出,文章提

出了一种提供数据加密和数字签名的安全电子邮件系统,并详细讨论了其设计与实现

技术。

关键词电子邮件,MOSS,数字签名,数据加密

1 前言

近年来,伴随Internet的迅猛发展,电子邮件以其使用方便、快捷等特点已经成为Internet上最普及的应用。但是,由于电子邮件在Internet上未加任何保密措施的情况下,均以不加密的可读文件被传输,这样就存在邮件被人偷窥、篡改、截获、以及身份被人伪造等若干不安全因素,由此限制了电子邮件在重要信息传递与交换领域的应用。

目前国外已经出现了很多安全电子邮件软件,但是,由于他们对安全产品出口的限制以及国外软件可能存在“安全后门”,研制和开发具有自主知识产权的安全电子邮件软件,具有重大的政治意义和经济价值。

本文介绍的基于Windows平台上用Visual c++6.0开发的安全电子邮件系统,提供了电子邮件的保密性、完整性、不可否认性及身份认证。

2设计与实现

本文实现的功能:收发邮件、转发邮件、答复邮件等标准邮件客户端功能;为防止邮件被窃听,自动加密邮件;防止邮件被篡改及伪冒、发送方抵赖,自动执行数字签名;为保证私钥高度安全,支持本地产生RSA密钥;地址簿除方便易用,还具有许多特殊的如公钥环管理等功能;支持从文件中导入及自动从邮件中获取公钥或数字证书;支持BIG5与GB2312的内码转换以及UUEncode编码方式;支持多帐户以及口令保护;支持拨号上网以及打印功能。

2.1总体设计

系统有多个功能模块构成,总体结构如图1所示。

(1)个人密钥管理

个人密钥管理模块完成产生RSA密钥对、安全

地保存私钥、发布公钥、作废公钥的功能。

根据用户提供的信息(密钥长度、随机数种子、保护口令以及含用户名的基本信息),采用RSA算法生成模块产生公钥、私钥对。

图1 安全电子邮件系统结构图

采用MD5和IDEA加密算法对RSA私钥、用户口令以及随机数种子进行加密,实现安全保存。

本系统提供两种方式实现公钥的发布。一是基于信任模式下的方式:将公钥发送到文件或者通过E-mail发送;另一种是基于层次结构证书认证机构的认证方式:申请数字证书。

作废密钥也提供两种方式:本地删除和申请作废证书。后一种适用于公钥发布选择第二种方式的用户。

(2)发送邮件

发送邮件模块完成撰写邮件、格式化邮件、SMTP协议的实现功能。

撰写邮件由邮件编辑器完成。

格式化邮件严格按MIME协议来进行,对普通邮件直接发送,而对安全邮件按照MOSS协议对邮件执行数字签名和加密:采用MD5对格式化后

的邮件M生成数字摘要,用RSA私钥采用RSA算法对数字摘要进行数字签名,数子签名与M合成签名后的邮件;然后用随机生成的会话密钥采用IDEA算法对签名后的邮件进行加密,并且用收件人的公钥采用RSA算法对会话密钥加密。

SMTP协议的实现程序是基于WindowsSo ckets来开发的,本文采用CAsyncSocket(非阻塞)来封装WinSock API。

(3)接收邮件

接收邮件实现了POP3协议、解析邮件的功能。

解析邮件完成对邮件解密以及对数字签名验证的功能:将接收到的安全邮件依照MOSS协议拆分为两部分, 加密的会话密钥部分通过口令验证后取得私钥来恢复会话密钥。另一部分签名邮件通过从公钥环中取出发件人的公钥来验证数字签名,最后提示验证结果。

(4)地址簿

地址簿模块除完成了普通地址簿管理功能外,主要实现了安全电子邮件系统地址簿的特殊功能:接收公钥、发送公钥、删除公钥,下载最新作废证书列表(CRL)。有三种方式接收公钥:从文件中接收、从电子邮件中获取、下载数字证书。将接收到的公钥信息都存放到地址簿的公钥环文件中,而从地址簿中发送公钥可发送到文件也可通过电子邮件发送。

2.2安全电子邮件协议MOSS(MIME Object

Security Services)

国外出现比较著名的安全电子邮件产品有PE M、PGP、S/MIME、MOSS。PEM认证机构的结构太严格而缺乏足够的灵活性;PGP采用社会信任链的方式进行密钥传播,更适合于一般场合下的安全通信;S/MIME针对企业级用户设计,由于认证机制依赖于层次结构的证书认证机构,仍然不适合国内的普通用户的使用。

本文采用MOSS协议作为安全电子邮件的标准。因为MOSS协议对密钥管理和算法要求都较灵活,表现为:用户使用MOSS协议仅需有密钥对,不必拥有证书;MOSS中没有对消息体的限制;MOSS对算法没有特别的要求,它可以使用许多不同的算法;M OSS对用户公钥的标识进行了扩展,用户可以使用任意字符。

MOSS有三种功能:

数据加密:提供和保障邮件的保密性;

数字签名:防止邮件伪冒、发送方抵赖。

数字签名和数据加密:对只签名或只加密的数据可以进行嵌套。

三种功能均通过以下步骤完成:首先,为了保证发送者和接收者用于计算数字签名或数据加密的数据是一致的,将要签名或被加密的数据体转换成M IME格式;其次,产生签名或数据加密钥匙和其他控制信息;然后将控制信息封装到适当的MIME内容类型中;最后,将控制信息体和数据体封装到Multipar t/signed(encrypted)内容类型中。

另外,本系统中客户端与公钥服务器间通讯采用CAPP协议,它是本实验室自定义协议,参照POP协议制定,服务器端口为11370端口。

3结束语

电子邮件作为Internet上应用最广泛和使用最频繁的服务,如何保证其安全性,是网络安全领域中的一个重要课题,由于众所周知的原因,我们不能直接采用国外的安全产品,因此开发具有自主知识产权的适合中国国情的安全电子邮件系统软件,不仅具有重要的政治意义, 而且会产生巨大的经济效益。

本文基于公钥加密体制和对称加密算法相结合的方法,遵循MOSS协议,实现了一个提供保密性、完整性和不可否认性以及身份认证的安全电子邮件系统, 使得在Internet上利用电子邮件传递重要机密信息成为可能。

参考文献

[1] Jonathan B.Postel,“Simple Mail Transfer Protocol”,RFC821,August 1982.

[2] S.Crocker,“MIME Object Security Services”,RFC1848,October1995.

[3] K.Yamamoto,Anintegrationof PGP and MIME,In Proc.of 1996 IEEE Symposium On Research in Networkand DistributedSystemSecur ity,pages 17-24,1996.

[4] Earlisle Adams & Steve LIoyd 著,冯登国《公开密钥基础设施》,人民邮电出版社,2001.1.

[5]卢开澄,《计算机密码学》,清华大学出版社,1998.

[6] 刘彩虹、陆倜,“Internet E-mail的核心协议研究与实现”,《计算机工程与应用》,2001年37卷.

相关文档
最新文档