安全E-mail标准的比较与分析
3.认证
数字认证的功能类似于一个ID卡,它可以用来保护E-mail用户的文件和数据结构。它作为信任的传输者,将用户的公钥和身份联系起来。一个认包括三个部分:用户的公钥;身份信息如用户的姓名、地址等;一个安全地将认证的所有部分联系起来的签名。签名使用密码算法进行计算,这可以防止非法窜改。当向某人发送E-mail时,发送者使用来自认证的密钥去对其加密。当接收E-mail时,接收者使用验证的密钥来验证签名者的身份。
通常情况下认证是公开出版的,这可以容易将保密E-mail发给它们的接收者。认证通常不包括需要保持为秘密的信息。一些保密E-mail软件允许用户为他们邮件的每个接收者收集一个大的认证集合。其它的软件在每次发送信息时恢复接收方的密钥是可能的。
认证通常也携带代表发送者的其它信息,包括发送者的姓名、一个描述发送者已经认证了什么的说明和一个序列号。它们也可能携带有效日期和网络地址,发送者可能要同这个地址进行联系以验证认证是否被取消。
.PGP密钥
PGP密钥就是指PGP使用的认证格式。一个PGP密钥总是由端用户创建而并不需要发放机构。拥有者请求朋友使用他们的签名来证明自己是密钥的真正拥有者。
PGP的一个最大特点就是它能够被不止一个人签名,每个签名者可以表明附加到他/她的签名中的信任程度。这使得信任可以从对一个密钥的多个签名中计算出来。一个PGP密钥总共可以附加数十个签名。
一个PGP密钥还拥有一串独特的数字和字符,它们的作用类似于指纹。这些数字和字符串长度很短,因此可以记录下来或通过电话告诉对方。如果你想验证一个朋友的密钥,你可以给他们打电话并且请求他们去确认密钥的指纹。使用认证而不是PGP的实现有时也使用这种指纹方法。
.X.509认证
X.509是由ISO/CCITT标准机构创建的认证标准。这些认证比PGP密钥丰富得多,它能携带更多的信息。X.509最新的版本是X.509 v3,它具有一个能够添加发送者希望的任何信息的扩展机制。X.509认证只能够被签名者签名一次,这是与PGP密钥不一样的。X.509认证现在被政府机构、公共认证机构、组织和个人广泛使用。
.认证交互操作性
目前流行的PGP实现只有一种,因此所有的PGP密钥都是可交互操作的。然而如果将来有了设计用来扩展PGP功能的各种实现,这个情况可能就会发生变化。
X.509认证大部分是可交互操作的,因此几乎所有的实现都能够识别另一个X.509认证。当一个认证使用某个特定的实现无法理解的扩展时问题就产生了。比如当一个具有有效期的认证被一个不能理解有效期的实现接收时就会产生这样的问题。
为了解决这个问题,人们就定义了一个交互操作性模型,这个模型清楚地确定了一个认证中使用了哪些域。交互操作性模型通常是一个特定标准的一部分。
PEM采用一种简单的认证方法并使用X.509 v1标准。由于我们前面讲述的原因,它有时会出现一些问题。MOSS为认证选择了一种更通用的方法,它既支持自己的非常简单的格式也支持X.509。
S/MIME使用X.509 v1认证格式。实现指南中指出了如何在Internet E-mail地址和X.509需要的识别名之间进行映射,但是没有作出具体要求,因为不可能这样的一个映射方案可以在任何环境中都适用。
对PGP的认证被称为一个“PGP密钥”并且它是一个只被PGP使用的信息格式。PGP密钥很简单,它通常包括拥有者的姓名和公开密钥。它的最大特点是它们能够被多次签名。PGP公司已经表示在未来的版本中将使用X.509认证。
【建议】既然签名格式和实现各不相同,考虑它能够携带的信任信息的类型和它是否能足以保证所需的安全是很重要的。如,一些认证格式不能携带有效日期,一些格式不能携带认证说明,还有的可能不包括足够的能清楚的确认拥有者身份的信息。
发送保密E-mail时用户必须要选择与E-mail接收方相同的认证格式。因为用户必须要能够同接收方交换认证才能接收到对方的保密E-mail。这样用户要想同使用各种安全E-mail标准的用户进行通信可能就需要拥有多种不同格式的认证。
即使人们都使用同样的认证,交互操作性的问题也会照样存在,因为这些认证使用数据的方式总会有差别的。认证交互操作性也会受到算法交互操作性带来的影响,因为每个认证都包括一个特定算法的公开密钥。一个真正安全的E-mail交互操作性只有在认证所使用的特定算法或算法集标准化后才可能获得。
4.信任管理
信任管理要更多的依靠系统使用的组织环境。一个信任系统常常也称为“信任模型”。现在许多企业或公司将公司的标志发放给它的员工就是信任模型的一种例子,这个标志可以表明持有者与该公司或企业是有关系的。这种标志只对企业中和对那些同该企业有关的个人或组织有意义。
信任模型的另一个例子是护照。护照是用来表明一个人是某个国家的公民的一种证据。与普通的公司发放的标志不同的是,一个国家发放的护照一般在世界上任何地方都可以被识别和信任。
信任模型的另外一类例子就是在一圈朋友中产生的信任。如果一个人将另一个人介绍到一圈朋友中,这个行动就表达了该人可以被信任这样一种信息。信任传递的范围是非常有限的,而且信任能够以一种相关的方式进行推移。如,如果甲相信乙,并且乙相信丙,那么甲就可以相信丙。而发放企业标志和护照就不会出现这样的情况。
有了一个护照或标志,信息的安全就包含在一个很难伪造的物理物体中,并且用来签名的数字算法使认证也很难伪造。
.认证机构
一个认证机构(CA)就是一个发放认证的组织。在CA发放认证前,它可能要对申请者的背景或其它的情况进行调查以保证人员或组织的身份。一旦身份被验证后,CA就发放一个认证并对其签名。该认证此时就可被它的拥有者广泛分发。
CA可以是秘密的也可以是公开的。一个秘密的CA可以为一个企业或组织发放认证。CA将认证发放给它的成员,此时它的成员有了这些由CA签名后的认证后就被纳入一个组织的信任系统内。
一个公共CA为一般的公众发放认证,它可以由政府机构建立也可以由私人企业建立。有一些国家如丹表、澳大利亚等国正准备建立一个全国性的公共CA,美国的VeriSign现在拥有一个公共的商业CA机构。
在一圈朋友或两个商业伙伴之间的信任关系中并不存在一个中央的CA。这里个人之间相互验证。这样的信任系统建立起来非常容易,因为不需要一个中央认证机构,当然它是不能伸缩也不可能运行到Internet上的。
.信任链
为了通过认证在大规模的范围内有效的传递信任,需要一些信任分级或信任链。没有一个认证机构可以为全世界提供所有的认证。信任或认证链的基本思想是通信双方决定它们可以在双方都信任的第三方的基础上彼此信任。比如说你可能会具有
由不同的CA签名的认证,但是这些CA都信任第三个CA,那么信任链就通过第三个CA连接起来。
.直接信任
人们有可能通过交换认证并通过指纹确认来建立小范围的信任。即使没有指纹确认也有可能建议信任。如果一个用户使用认证成功的同某人交换了安全的E-mail,他就已经建立了一个安全的信道。在用户发送秘密信息前,他可以通过人工方式彼此验证双方的身份。比如说可以彼此讨论过去的一些经历或说一些只有双方才能听懂的话等。一旦已经确认了双方的身份,认证和密码技术将保证在以后双方继续进行通信时有一个安全的信道。认证不必被任何人签名。这种方法的不足是不能用在用户不了解的人身上,而且它将认证管理的责任放在终端用户那里。
PEM标准确定了一个简单而又严格的全球认证分级。所有的CA──不管是公共的、私人的、商业的还是其它的──都是这个分级中的一部分。这种做法会产生许多问题,由于根认证是由单一的机构进行的,但并不是所有的组织都信任这个认证机构。这个结构太严格了,它试图在认证结构分级而不是认证本身中实施认证,因而缺乏足够的灵活性。
S/MIME还从PEM确定的严格分级中吸取了教训。使用X.509认证意味着认证只能够带有一个签名,因此一对一的直接信任可以通过S/MIME来建立。
PGP简单的信任模型和广泛的可用性使它大受欢迎。它的信任模型不需任何服务器、认证机构或集成的设施就可以建立一个小组范围的信任。它将信任的管理完全放到端用户手里。这对许多用户来讲具有很大的吸引力,因为它大大简化了部署操作。
PGP信任模型的作用实际上就相当于把你的一个朋友介绍给你的另一个朋友。PGP密钥可以被几个人分别签名,这与每个认证只允许一个签名的其它的信任系统是不同的。这个多签名会产生一个信任网而不是一个严格的分级。PGP还允许你在对某人的密钥签名时注明你对此人的信任程度。一个想验证PGP密钥的人可能查看所有的签名。具有边界信任的三个人将会象具有完全信任的一个人一样。
这种作法既有有利的一面也有不利的一面。有利的一面是它与人们日常生活中的习惯很相似因此易于被人们理解和使用。不足的地方是它的可伸缩性差。它很适用于较小的组织或团体中的保密E-mail。用户可以在电话中验证彼此的身份然后对各自的PGP密钥进行签名。但如果用户想与一个自己从未遇到过的零售商建立信任的话,这个信任模型就有些无能为力了。PGP还具有几个用于认证有效日期或取消认证的功能,这是对大范围的安全信任是必要的。
三、结论
尽管现在各种安全E-mail标准都还不成熟,但将来各种保密E-mail的标准实现交互操作是有很大希望的。现在使用的算法、认证格式和信任管理系统将来可能会逐步趋于统一。在上面讨论的安全E-mail标准的四个部分中,信息格式是各种不同的标准唯一真正不可能相同的地方,但即使如此,这几种标准都支持多种格式和标准也是有可能的。因此,虽然短期内用户可能会遇到交互操作性的问题,但从长远的观点看,随着用户对交互操作性要求的增加解决这个问题是有可能的。
参考文献
《E-mail加密标准初探》余志华 中国计算机报9801
RFC 1847 - Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted
RFC 2311 - S/MIME Version 2 Message Specification
RFC 2015 - MIME Security with Pretty Good Privacy (PGP)
RFC 1848 - MIME Object Security Services
RFC 1991 - PGP Message Exchange Formats
ITU-T Recommendation X.509 (1997) | ISO/IEC 9594-8:1997,Information technology - Open Systems Interconnection
最新评论:
热门文章
RSS订阅






收 藏
推 荐