投递文章投递文章 投稿指南投稿指南 RSS订阅RSS订阅

安全E-mail标准的比较与分析

来源:iT堂整理 发布时间:2008-01-06 收藏 投稿 字体:【

【摘要】基于E-mail在Internet上的广泛应用,其安全性摆在一个重要的议题上。目前E-mail标准,包括官方的标准和事实上的标准,有MOSS、PEM、PGP、PGP/MIME和S/MIME等等,本文试从算法、信息格式、认证格式、信任管理四个角度对它们进行比较与分析,得出其特点,并给出了使用的建议。
【关键词】安全E-mail、MOSS、PEM、PGP、PGP/MIME、S/MIME
一、简介
E-mail可以说是Internet是最早的也是使用得最多的一种应用。为了保证E-mail在Internet上安全的运行,在理想的状态下,应该共有一个Internet E-mail的安全标准。所有的E-mail作者和厂商都要执行它,那么我们在Internet上将具有安全的电子邮件。本文将介绍现在常用的一些E-mail标准,包括官方的标准和事实上的标准,其中比较详细的介绍了MOSS、PEM、PGP、PGP/MIME和S/MIME,并对其进行比较与分析。其中MIME对象安全服务(MOSS)和保密增强邮件(PEM)是没有被广泛实现的标准。现在许多软件厂商都使用S/MIME作为安全E-mail的标准。S/MIME是在PEM的基础上建立起来的,但是它发展的方向与MOSS不同。它选择使用RSA的PKCS#7标准同MIME一起使用来保密所有的Internet E-mail信息。S/MIME的标准化工作是由一个由RSA数据安全组织协调的工业联合会进行的。PGP既是一个特定的安全E-mail应用,又是一个安全E-mail标准。尽管标准委员会并没有规定它是安全E-mail的标准,但PGP在全球的广泛应用已经使它成为一个事实上的标准。PGP对非商业的用户是免费的,它已经有了许多平台和操作系统的实现。
我们将安全的E-mail分为四个角度分析:(1)算法,(2)信息格式,(3)认证格式, (4)信任管理。本文详细比较了以上各种E-mail安全标准在这四个方面的不同表现,并对与这四个方面相关的标准进行了讨论。之所以选择这个方面进行介绍是因为这四个方面能够准确的反映出这些E-mail安全标准的本质特点,因此最能比较出它们的异同。
在讨论在这四个部分之前,简要描述一下安全的E-mail软件通常提供的服务是很有帮助的:
.保密/加密──保证只有希望的接收方能够阅读信息。
.信息完整性──保证发出的信息与接收到的完全一样,一个字符一个比特都不差。要说明的是发送一条信息并保证其完整性并不一定需要加密。
.验证──保证信息的发起者不是冒名顶替的。它同信息完整性一起可防止伪造。
.抗否认──证实发送者确实发送了信息而不管他是否承认。
二、安全E-mail的四个方面
1.算法
算法是任何一种密码系统的核心。使用什么样的算法直接关系到一个加密系统的强弱。所有的E-mail安全标准都使用两类加密算法,即秘密密钥算法和公开密钥算法。使用公钥算法是非常必要的因为秘密密钥的密钥分发几乎不可跟踪。要同100个使用秘密密钥算法的人进行通信,你将需要秘密的分发100个秘密密钥。然而与秘密密钥算法相比,公开密钥算法是很慢的。因此,对E-mail数据的加密大多使用秘密密钥。
公开密钥密码也可以用于对信息进行数字签名,但是这也会带来速度慢的问题。一个弥补办法是引进第三种算法,消息文摘算法。这个算法将待签名的数据的长度减少到一个非常短的长度,通常是128比特。
.算法安全
没有一种算法能够保证绝对的安全和不可破译。但是并不意味着密码算法的作用无足轻重。越来越多的事实促使密码人员相信我们现在使用的最安全的算法实际上是非常安全的。然而,公开一个算法(尤其是一个新的算法)的全部细节并被人们广泛理解是非常重要的,只有这样它的可靠性才能得到广泛验证。发明新的算法并且将其推广使用是可能的,但通常要在这种算法的安全性得到广泛证明后的若干年后才能被广泛接受。
.交互操作性
为了邮件能够安全的在Internet上进行传输,收发邮件的双方最好都使用同一种算法。如果双方使用不同的算法会带来交互操作性的问题,这会大大限制E-mail的的应用。
比如说甲使用RSA算法而乙使用椭园曲线算法。甲具有一个RSA密钥,乙具有一个椭园曲线密钥。那么很显然甲乙两人都必须要拥有两个密钥并且要具有能够实现这两种算法的软件,这样就不能充分享受网络给人们带来的好处。
要解决交互操作性的问题,必须为Internet E-mail安全标准选择一种通用的算法并使之标准化,但这是一件很困难的事情,因为许多算法都是专利的,它们的使用会受到非常严格的限制。
PEM确定使用的算法包括RSA、DES和MD-5。MOSS对算法没有特别的要求,它可以使用许多不同的算法,该标准没有推荐特定的算法。
S/MIME的信息格式(主要是PKCS#7)并不限制S/MIME只能使用某些特定的算法,但是S/MIME 96b实现指南给出了有关的推荐和限制。这种作法是比较好的,因为它既提供了现在实现交互操作性的指南又提供了将来的选择方案。该指南允许使用RSA算法、DES、RC-2、RC-3、RC-5、MD-5和SHA-1并且给出了建议的密钥长度。不过由于RSA、RC-2、RC-5算法都是RSA取得的专利,因此这可能会限制它的可用性。
S/MIME还提供了一种方法在发送每条信息时指示用户有哪些算法是可用的。这样收发安全E-mail的双方就可以协调使用最强的算法。
PGP使用RSA公开密钥算法来进行签名和加密。此外它还使用IDEA秘密密钥算法和MD-5消息文摘算法。因为PGP使用的都是著名的算法并且使用了较长的密钥,因此它是非常安全的,并不逊于任何通用的商业加密系统。
同绝大多数标准一样,认证和信息格式并不仅局限于某些特定的算法,但是对算法进行修改将会产生一些交互操作性问题。PGP公司正考虑放弃RSA算法转而使用Diffie Hellman和El Gamal算法来用于加密和签名,主要是因为这两种算法不久将不再受到美国专利的限制。
【建议】你的E-mail安全系统使用的算法使用那些已经被人们所熟知并且被认为是安全的。一种算法的设计上是非常复杂的,因此不能贸然使用那些未经检验的新算法。不仅选择一种合适的密码算法是一件比较困难的事情,而且还要选择这种算法的高质量的实现。在使用一个E-mail安全软件前,要确信它已经被一个可信的组织或个人很好的实现过。
选用那些标准化的算法,以增强交互性。毕竟在向小组外的人员发送E-mail时,E-mail安全算法的标准化将成为一个主要的问题,因为不同的算法之间往往是不能交互操作的。
2.信息格式
本文我们不对安全E-mail的信息格式进行详细的描述,而是把重点放在信息格式可能带来的几个问题上。各个加密标准之间最大的不同就在于信息格式。不同的安全E-mail标准都使用不同的信息格式,而它们又是互不兼容的。将来出现能够处理多种标准的信息格式的软件是可能的,但从定义上讲,它们是不兼容的。
.明文与MIME
最初的Internet E-mail的内容只包括明文。有了MIME标准后,就允许E-mail信息被分成多个部分和结构,并在E-mail中携带各个部分的类型信息,也开始可以携带非明文数据。最经常使用的就是携带各种附加文档,MIME允许携带国际字符集、HTML、音频、语音邮件、图象、多媒体等。
老一些的E-mail安全标准,如PEM和传统的PGP等,主要是设计用来处理明文的,因此不能携带MIME形式的邮件信息。为了满足E-mail发展的需要,人们又开出了一些新的标准如MOSS、S/MIME和PGP/MIME等来传送MIME形式的E-mail邮件信息。一些老一些的加密标准如PGP也能够保护磁盘上的单个文件。这些需要保密的文件可以作为附加文档进行传送,这样就将E-mail保密的范围扩大到不仅仅包括明文信息。然而它并不能保密信息的总体结构或附加文档,也不大可能无缝的同E-mail软件集成。
.E-mail软件集成
不同的标准在E-mail软件和安全软件的集成度上有很大的差别。在最糟糕的情况下,用户需要通过手工的裁减和沾帖或通过文件控制来提供两者的集成。在最理想的情况下,集成对用户来讲实际上是无缝的。它们能够发文件、回信并且就象处理其它的明文信息一样处理保密的信息。如果E-mail软件为这种集成提供了一个专门的接口,那么就很容易实现E-mail软件与安全软件的集成,当然也可以在E-mail软件中直接内置安全特性。
.清洁签名
清洁签名不需对信息进行加密就可保证其完整性和真实性。如,对政府官员发出的公开声明进行清洁签名将是非常吸引人的。对信息进行清洁签名的另一个非常吸引人的地方就是它可以被不具有安全E-mail软件和与安全E-mail软件使用的信息格式不符的用户读取。这可以使用户在即使无法验证的情况下也可以查看信息。当然这里不包括加密的情况,因为接收方没有办法在不具有相应的解密软件的情况下阅读加密的信息。
现在很难找到一种能够与同老一些的邮件程序、现有的MIME邮件程序和跨网关非MIME邮件程序都兼容的信息格式。对于明文信息来讲问题很简单,因为明文在所有的E-mail系统中都有很好的交互操作性。而对于MIME来讲,问题就要困难一些。
RFC 1847描述了专门为清洁签名MIME而设计的多部分/签名信息格式。尽管这种格式用在一些标准会产生其它的一些问题,但MOSS、PGP/MIME和S/MIME都使用这种格式。使用标准的MIME邮件程序接收一个RFC 1847格式的签名信息的用户将能够查看信息的全部MIME内容。如果具有很好集成的安全E-mail特性,他们将能够验证签名。
这似乎是很理想的,但是当安全特性集成得不好时问题就发生了。绝大部分E-mail软件并不具有内置的安全机制,也没有提供良好的安全集成所需的设备。从网关转到非MIME环境时也会产生其它的问题。在这两种情况下,接收方可以象通常一样查看信息,但是他们不可能去验证签名。即使具有能够对只包括文本的信息进行清洁签名的E-mail软件,也不可能去验证MIME信息。
S/MIME使用一种可以部分解决这个问题的信息格式,即signedData。业界提出的另一个方案涉及到围绕RFC 1847结构的叫“应用/mime”的MIME包裹。它通常可通过网关发将邮件送到特定的安全实现那里。这样的清洁签名后的信息可以被非MIME邮件程序和一些MIME邮件程序查看。
PEM选择了一个只能够保密文本信息的非常简单的信息格式,部分原因是因为MIME标准在当时还并不完善。MOSS是专门设计用来保密一条信息的全部MIME结构的。尽管MOSS并没有被广泛的使用,但我们前面在信息格式部分描述的安全多部分框架特别是清洁签名MIME E-mail却被广泛的采用。
S/MIME能很好的保密全部的MIME信息。被发送的保密信息也使用MIME进行标记和打包,使它们易于被绝大部分MIME E-mail软件识别和处理。在前面信息格式部分提到的E-mail软件的集成问题都适用于S/MIME。用户应该确保S/MIME实现能够同E-mail软件很好的集成起来。
除了使用多部分/签名的清洁签名格式外,S/MIME还提供了一个称为signedData的清洁签名格式。然而如果用户没有相应的S/MIME软件,那么它们几乎不可能解读安全E-mail信息。这些安全E-mail并没有加密,只是仅仅以一种不能被绝大部分现在的E-mail软件所理解的方式进行了格式化处理。现在要求S/MIME实现支持signedData格式,鼓励它支持多部分/签名格式。
PGP是设计用来保密文本和存储在磁盘上的文件的,它并不能用来保密MIME。它用于E-mail主要有两种工作方式。一种是文件在用户的硬盘上进行加密然后被作为保密的附加文档发送。另一种是信息的文本内容被加密。在同一条信息中使用这两种加密方式是可能的,但这样并不能保护附加文档的顺序或信息的总体结构。
就象S/MIME将PKCS#7与MIME结合起来一样,PGP/MIME将PGP和MIME标准的功能结合起来。这样PGP/MIME就能够保密带附加文档、国际字符集和多媒体的E-mail。PGP/MIME使用与传统的PGP完全一样的算法、认证格式和信任管理。它们的不同之处只体现在信息格式上。
PGP/MIME的信息格式与S/MIME类似,只有一个显著的不同是后向兼容性。PGP被广泛用来保密文本内容尤其是用于文本内容的清洁签名。用于清洁签名的PGP/MIME格式与传统的PGP不能后向兼容。传统的PGP通常是在在签名后的文本末尾增加签名,而PGP/MIME是在文本和签名之间插入MIME结构。PGP/MIME现在尚未被广泛采用。
【建议】如果E-mail的内容只包括明文,那么老一些的信息格式是可以接受的,问题是现在Internet E-mail携带的内容已经远远超过了明文的范畴,因此E-mail用户应该具有能够处理MIME的E-mail软件。
当选择安全的E-mail软件来保护MIME E-mail时,要确信它真正遵从它实现的特定标准,并且要检查它的集成程度。这可以通过测试它保护附加文档和其它的结构化媒体如HTML和图象的能力来进行判别。集成的程度可通过观察对信息进行加密和签名、接收保密的E-mail和使用它来完成基本的任务的难易程度来测试,这些基本的任务可能包括打开附加文档、回信、发送文件或检索等。
如果公共邮件的清洁签名对你很重要,那么就应该确保你的安全E-mail软件支持用于清洁签名的RFC 1847多部分/签名格式。如果你想对发送的每一条信息都进行签名或者你同一个部分成员使用的安全E-mail信息格式与你不同的小组定期通信时清洁签名都是很重要的。如果要求清洁签名过的信息可以让所有的接收方进行验证,就应该考虑另外的格式如S/MIME signedData或应用/mime包裹等。

最新评论:
评论内容:请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名 注册
热门文章
随机推荐
About iTtang - 联系方法  - 专题列表 - 友情链接  -  高级搜索   -  帮助中心  -