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

发布时间:2004-08-02 作者:李菲 李晖

    电子邮件利用计算机的存储、转发原理,克服时间、地理上的差距,通过计算机终端和通信网络进行文字、声音、图像等信息的传递。它是Internet上的一项重要应用。
    随着Internet的高速发展,作为Internet上最受欢迎的服务,E-mail已渗透到人们日常生活的方方面面[1]。著名调查机构Forrester Research公司的调查指出:2003年有2 400亿封的E-mail被寄出,而到2004年4月底,仅全球厂商就至少发出2 000亿封E-mail。作为有效的行销利器,电子邮件行销产业价值达48亿美元。据eMarketer公司估计,美国有61%的中等公司经常应用电子邮件作为一种重要的网上广告形式,70%的市场经理认为电子邮件很重要[2]。
    与此同时,网络的安全状况却越来越让人担忧。邮件的误递、节点用户有意无意的窥探、部分网民的恶作剧、垃圾邮件的肆意侵扰,所有的这些均给网络通信带来极大安全隐患,更不用说还有电脑黑客的恶意攻击[3]。现实生活中电子邮件的安全隐患问题越来越突出,目前人们对电子邮件的态度是爱恨交加,既期望享受电子邮件带来的便利,又恐惧恶意、垃圾邮件的侵扰。在这样的情况下,发展邮件的安全保密技术被刻不容缓地摆到安全专家的面前。

1 电子邮件的安全隐患
    为解决电子邮件的安全隐患问题,应首先分析一下普通电子邮件有哪些安全隐患(见图1)。

 

(1)授权侵犯
    被授权以某一目的使用某一系统电子邮件的某一人将权限用于其他非授权的目的,这就是授权侵犯,也称为“内部攻击”。

(2)假冒
    某一人或某一实体假装成另一人或另一实体,窃取合法用户的权利或特权,接受、篡改、删除重要电子邮件,发送虚假邮件欺骗收信方。用户身份仿冒是最常见的一种网络攻击方式,传统的对策是依靠用户的登录密码来对用户身份进行认证。但用户密码在登录时是以明文方式在网络上进行传输的,很容易被攻击者在网络上截获,进而对用户的身份进行仿冒,导致身份认证机制被攻击。

(3)旁路控制
    为了获得非授权的权利和特权,某个攻击者会在Internet上发掘用户系统的缺陷或安全上的脆弱之处,侵入系统内部,非法使用用户的邮件权力或特权。由于现阶段电子邮件的传输大多以明文的方式在网上传输,攻击者只需在网络的传输链路上通过物理或逻辑手段就能对数据进行非法截取、监听,进而得到用户或服务方的敏感信息。

(4)拒绝服务攻击
    拒绝服务攻击阻止正常邮件服务,使邮件系统变得脆弱。如“炸信箱”就是发送大量的垃圾邮件造成对方收发电子邮件困难。拒绝服务攻击的方法有3种:第一,直接轰炸,使用一些发垃圾邮件的专用工具,通过多个简单邮件传输协议(SMTP)服务器进行发送。这种方法的特点是速度快,直接见效。第二,使用“电邮卡车”之类的软件,通过一些公共服务的服务器对信箱进行轰炸。这种轰炸方式很少见,但是危害很大。攻击者一般使用国外服务器,只要发送一封电子邮件,服务器就可能向被炸用户发成千上万的电子邮件,迫使用户只好更换新的信箱。第三,给目标电子信箱订阅大量的邮件广告。

(5)误投
    用户一次不小心的操作,导致邮件投送给陌生人或不希望收信的人,其结果不但造成尴尬,更重要的是泄漏邮件信息。

2 现行邮件安全措施
    现在普遍使用的电子邮件系统,如Outlook express及Foxmail,具有签名加密认证功能。但是Outlook Express获取收方证书很不方便,必须通过某种手段获得收方证书文件,然后手工导入。Outlook Express的加密是通过数字证书结合安全/多用途互联网邮件扩充(S/MIME)规范来完成的,通过加密措施确保电子邮件的安全。
    如果不使用安全邮件系统确保邮件的安全性,而使用防火墙或安全套接层(SSL)协议来实现,将会遇到更大的麻烦。防火墙基于整个系统或网站层次的安全措施,无法对个人邮件系统进行保护。当攻击者绕过系统直接攻击个人用户时,这些安全措施就形同虚设。SSL协议中的加密算法是非自主的加密算法,不符合中国的密码管理政策。而且SSL协议处于TCP/IP协议的应用层与传输层之间,在邮件系统中使用SSL只能提供用户到邮件服务器间的加密安全,无法实现端到端的安全通信。

3 安全邮件系统的设计
    为了能解决应用层邮件的安全需求,必须设计跨地域企业级安全邮件应用,需要有一个中心管理用户证书和通信簿,并且要简便易用。为此,本文给出一种安全邮件系统的设计。
    安全邮件系统由一个邮件客户端软件和轻量目录访问协议(LDAP)证书服务器构成。系统根据当前的协议(如SMTP、POP3、MIME、S/MIME、RFC3370、RFC2315、RFC3369和PKCS等相关协议文档)开发。从功能原理上,安全邮件客户端与邮件服务器和证书库(如LDAP服务器)的关系如图2所示,邮件客户端通过SMTP和POP3协议来联系邮件服务器,通过LDAP协议[4]来联系证书服务器。


    在安全邮件系统中,除了实现一般邮件客户端的功能以外,还实现了S/MIME的安全操作[5—7]。也就是说,在安全邮件系统中人们可以接收、发送、转发、答复邮件,对发送的邮件进行签名和加密,对接收的加密邮件进行验证签名与解密、整理通信录、从远程证书服务器获取收信人公钥证书等工作。图3列举了邮件主体和界面与多个功能模块之间的关系。


    功能模块的功能是由安全邮件主体控制和调用有特殊功能的类来实现的。安全邮件系统中实现的类主要有实现POP3协议的类——CPOP3、实现SMTP协议的类——CSMTP、实现S/MIME安全封装的类——CS/MIME_Construct、实现与LDAP服务器通信的类——CLDAP、实现Base-64编码解密的类——Cbase-64,以及实现多种密码算法的类——CAlgCrypto。

3.1 签名加密部分的设计
    S/MIME给电子邮件提供以下几种安全服务:认证、消息完整性、来源不可抵赖性(使用数字签名)、保密性、数据安全(使用加密)。S/MIME可以用在传统邮件上以加强发送邮件的安全并对接收到的加密邮件进行解密。S/MIME还可以被用于邮件以外的应用中,例如它可以跟其他的传输机制(如HTTP)结合用来传送MIME信息。
    在发送邮件的安全处理流程中,在生成安全邮件时,签名使用发信人的私钥,加密使用收信人公钥保护下的内容密钥。同时还考虑到了检测抄送邮件地址的公钥证书(如没有该地址的公钥证书而邮件却要进行加密时,则不允许给该抄送地址发信)。这是因为没有该地址的公钥证书,如果要发信的话只能发送未加密的信,而这样做会降低邮件的安全等级,攻击者可以从这些邮件的接收者那里得到未加密的消息而不需要对截取的加密信息进行解密。当客户机没有证书或想更新已有证书时,用户可以依靠身份和密码登陆LDAP服务器获取证书。

3.2  LDAP证书库服务器的实现
    为了实现邮件来源认证和不可抵赖性要求,引入了公钥基础设施(PKI)概念。PKI是提供公钥加密和数字签名服务以确保整个系统安全的体系。PKI由认证中心(CA)、目录、PKI应用系统及安全策略4部分组成(见图4)。通过PKI,收发信双方共同信任签发其数字证书的CA,从而完成身份认证,信息传输存储的完整性、机密性和不可否认性。

3.3 证书系统的设计
    安全邮件系统用LDAP服务器提供证书发布服务,并控制LDAP目录,以完成存取访问控制。LDAP目录服务器中存储用户属性、数字证书及证书废止列表(CRL)。LDAP认证服务系统如图5所示。

3.4 目录的设计
    安全邮件系统的LDAP目录服务器实现的要点在于目录的设计。LDAP服务器要实现通信簿的功能,还要实现证书库的功能。这就要求提供的目录结构方案能够区分每一个人,并且能够提供他们相应的电子邮件地址和公钥证书。本文在设计中采用两种思路:

(1)将公钥与证书分开且均作为LDAP目录的属性。但这存在着安全问题,如果没有安全措施保证,无法确保公钥和其他相关内容在传输中不被人恶意窃听或篡改。

(2)只将证书作为LDAP目录的属性,在传输中只传输CA签名的证书,因个人无法伪造CA的签名,证书以明文形式传输。
    第一种方案如考虑在通信链路上进行加密传输,安全性就可以保证,同时对用户端而言简单易行。第二种方案对用户的实际使用并不方便。由于标准证书是经过DER编码的,在使用公钥之前必须经过解码从证书中提取公钥,同时发送而来的其他LDAP属性无法保障传输的安全性,还存在有人恶意用过期证书替换当前证书的可能,因此系统使用改进后的第一种方案获取证书和其他属性值。

4 大企业安全邮件系统
    基于局域内部网的安全邮件系统还可以改进以能够应用到大企业Intranet中。大型或超大型企业除了总部以外,往往在全国各地或全球各地都有分支机构。企业内部员工的电子邮件通信已经不仅仅局限于内部网络,各地的员工之间的电子邮件通信要经过外部的多个网关和路由器,这些电子邮件的安全问题更应该受到重视。图6给出了一种扩展的大企业Intranet的安全邮件系统。
    比如某个大企业在多个城市都有分部,那么它的每个分部的邮件系统都设成图6的形式。邮件服务器和证书服务器放在外面,有路由器将其与Internet网和内部网隔开。LDAP证书服务器里存放的是本分部的员工证书,当一个分部的员工想和另一个分部的员工进行安全邮件通信时,员工向本地证书服务器提出请求,本地证书服务器检查自己的目录,将请求联接到另一分部的证书服务器上,取得证书,发给员工。

 

    在大企业网相对应的目录中,LDAP的目录采用树形结构,企业在全球各地有许多分公司(如北京、伦敦、纽约等分公司)。若北京的员工A想与纽约的员工B进行认证安全通信,需调出B的证书。此时A向北京的证书服务器提出请求,北京的证书服务器检查自身目录,将请求转发给纽约的证书服务器,纽约的证书服务器在目录中查得证书,转发给北京的证书服务器,再由北京的证书服务器将B的证书交给A,从而保障大企业邮件系统的安全。

5 参考文献
[1] 王育民, 刘建伟. 通信网的安全——理论与技术 [M]. 西安: 西安电子科技大学出版社, 1999.
[2] Robert W. Goodbye to E-mail [J]. IEEE Spectrum, 2004,(1):88.
[3] Jean M, Christian D J. Privacy Recovery with Disposable Email Addresses [J]. IEEE Security & Privacy, 2003,(6): 35—39.
[4] RFC3377. Lightweight Directory Access Protocol (v3):Technical Specification [S]. Network Working Group, 2002.
[5] RFC2632. S/MIME Version 3 Certificate Handling [S]. Network Working Group, 1999.
[6] RFC2633. S/MIME Version 3 Message Specification [S]. Network Working Group, 1999.
[7] RFC2634. Enhanced Security Services for S/MIME [S]. Network Working Group, 1999.


收稿日期:2004-04-23

[摘要] 电子邮件的安全问题是目前实际网络应用中被广泛关注的热点问题之一。文章分析了当前电子邮件在安全方面的隐患,设计了一种实现内联网端到端的安全电子邮件系统,并详细介绍了安全电子邮件系统中签名加密、轻量目录访问协议(LDAP)证书库、目录等部分的设计思路。文章还给出了把安全电子邮件系统扩展应用在大企业Intranet中的方案。

[关键词] 电子邮件;安全;安全/多用途互联网邮件扩充;公钥基础设施;轻量目录访问协议

[Abstract] Email security is currently one of the hot-spot issues in network applications, drawing broad attention. Based on the analysis of the shortcomings of current email systems, this paper presents an end-to-end secure email system on Intranet, putting emphasis on the design of digital signature encryption, Lightweight Directory Access Protocol (LDAP) certificate server and system directory. At last, it gives solutions of implementing such a system on an enterprise Intranet.

[Keywords] E-mail; security; S/MIME; PKI; LDAP