---- 安全mime(s/mime)是internet上信息安全方面事实上的标准。许多组织以s/mime作为他们内部的公共密钥结构(pki)的基础。前面部分介绍了s/mime在信息安全方面的特点和能力,以及微软exchange 2000密钥管理服务器(kms)上的s/mime的一些新特性。现在我们转到客户端来,深入研究s/mime和客户端有关的部分,以及怎样在x.50Array和mime的基础之上构建s/mime系统。
mime和s/mime
---- internet电子邮件由一个邮件头部和一个可选的邮件主体组成,其中邮件头部含有邮件的发送方和接收方的有关信息。对于邮件主体来说,特别重要的是,ietf在rfc 2045~rfc 204Array中定义的mime规定,邮件主体除了ascii字符类型之外,还可以包含各种数据类型。用户可以使用mime增加非文本对象,比如把图像、音频、格式化的文本或微软的word文件加到邮件主体中去。mime中的数据类型一般是复合型的,也称为复合数据。由于允许复合数据,用户可以把不同类型的数据嵌入到同一个邮件主体中。在包含复合数据的邮件主体中,设有边界标志,它标明每种类型数据的开始和结束。
---- s/mime在安全方面的功能又进行了扩展,它可以把mime实体(比如数字签名和加密信息等)封装成安全对象。rfc 2634定义了增强的安全服务,例如具有接收方确认签收的功能,这样就可以确保接收者不能否认已经收到过的邮件。微软将在未来的office 2000新版本中包含这些服务。s/mime增加了新的mime数据类型,用于提供数据保密、完整性保护、认证和鉴定服务等功能,这些数据类型包括“应用/pkcs7-mime”(application/pkcs7-mime)、“复合/已签名”(multipart/signed)和“应用/pkcs7-签名”(application/pkcs7-signature)等。如果邮件包含了上述mime复合数据,邮件中将带有有关的mime附件。在邮件的客户端,接收者在阅读邮件之前,s/mime应用处理这些附件。如表1所示,附件的扩展名因复合数据类型所提供的s/mime服务的不同而异。在mime的头部,标识了mime附件的名字。一些邮件客户端,如果没有安装具有s/mime能力的系统,或安装的是早期s/mime的版本,也需要通过这些附件来识别邮件中和s/mime有关的内容。其他邮件客户端则更是完全依靠复合数据信息识别mime实体。
---- s/mime只保护邮件的邮件主体,对头部信息则不进行加密,以便让邮件成功地在发送者和接收者的网关之间传递。
透明和不透明的签名
---- 如表1所示,用户可以使用application/pkcs7-mime数据类型或multipart/signed和 application/pkcs7- signature等复合数据类型标记邮件的邮件主体。每个应用执行不同的签名类型:透明的(clear)和不透明的(opaque)。这两种签名类型可以在s/mime和非s/mime邮件客户端之间交换已签名的邮件。透明签名的邮件把数字签名同已签名的数据区分开来,不透明的签名邮件将签名和信息绑定在同一个二进制文件中。图1显示了透明签名的邮件格式,图2显示了不透明签名的邮件格式。
| 表1 s/mime和mise的内容类型扩展 | ||||
| mise内容类型 | mise子类型 | s/mime类型 | s/mime服务 | 附件扩展名 |
| 应用 | pkcs7-mims | 签名数据 | 保证数据的完整性、认证和无法否认接收; 使用不透明签名 | .p7m |
| 封装数据 | 保证数据的真实性 | .p7m | ||
| 复合 | signed | na | 保证数据的完整性、认证和无法否认接收; 使用透明签名 | na |
| 应用 | pkcs7- signature | na | 保证数据的完整性、认证和无法否认接收; 使用透明签名 | .p7s |


---- 通过outlook 2000或outlook web access(owa),系统管理员可以看出透明和不透明签名邮件的区别。浏览透明签名邮件的明文不需要s/mime处理。outlook 2000的预览窗口如图3所示,透明签名邮件的内容可以直接显示出来。但对于不透明签名邮件,系统管理员必须双击它,以便让s/mime对邮件进行处理,才能看到内容。owa不支持s/mime,所以只能通过owa的接口阅读透明签名的邮件;不透明签名的和加密的邮件则显示一个smime.p7m附件。

---- 因为邮件的信息交换隐含了一个一步完成的协议,即在邮件传输完成之前,邮件的发送方和接收方之间没有交互,发送方可能不知道接收方的s/mime能力。不管邮件客户端是否具有s/mime能力,都可以阅读透明签名的邮件。然而,不透明签名邮件和透明签名邮件比较起来,有一个重要的优点,因为发送方和接收方之间的网关不能改变不透明签名邮件中mime数据的隐藏明文部分。当用户从一个邮件api(mapi)邮件客户,比如团体/工作组(corparate/workgroup)方式的outlook 2000发送一条透明签名邮件给一个smtp-mime邮件客户(例如outlook express 5.0),发送客户使用mapi规则格式化邮件。smtp网关将把邮件转换成mime格式。在转换过程中,同时也改变了邮件的明文部分,这将造成接收方的签名检查返回无效的结果,好像出现了非法入侵。这种无效错误在exchange 2000中不像在exchange server 5.5中出现得那么频繁。exchange 2000的流数据库(streaming database)存储本地的mime邮件,这样exchange 2000只有在绝对必须时才把mime邮件转换成mapi邮件,例如,当mapi客户想要阅读mime格式的邮件时。
---- 不成文的规矩是,当用户不知道接收方是否具有s/mime能力时,一般发送透明签名邮件; 向具有s/mime能力的客户端发送不透明签名的邮件。如果从一个本地的mapi客户端经过smtp或x.400网关发送邮件,例如,在两个通过smtp连接的mapi客户端之间,或者从mapi客户端向smtp客户端发送邮件时,也发送不透明签名的邮件。在outlook 2000 和outlook express 5.0上,用户可以选择任何一种签名方式。在outlook 2000上,通过邮件选项设置签名方式;在outlook express 5.0上,通过邮件客户的“高级安全”选项设置签名方式。
outlook和s/mime
---- outlook 2000是微软公司发布的、比较成熟的邮件客户端的最新版本。微软还提供outlook express 5.0,它是微软随internet explorer 5.0一起发行的基于internet的邮件客户系统,相对来说比较简单。系统管理员可以通过pop3或imap4把outlook express 5.0与exchange 2000或exchange server 5.5相连接。另外,也可以把一个邮件客户端通过轻型目录访问协议(lightweight directory access protocol,ldap)连接到一个目录上。表2显示了这些客户端的主要s/mime特性的概况。
| 表2 微软s/mime客户端特性的比较 | |||
| outlook 2000 | outlook 2000 internet mail | outlook 2000 express 5.0 | |
| 密钥恢复 | 是 | 否 | 否 |
| 支持cdp | 是 | 是 | 是 |
| 密钥存储 | 保护存储,选择系统密钥保护 | 保护存储,选择系统密钥保护 | 保护存储,选择系统密钥保护 |
| 支持透明和不透明签名 | 是 | 是 | 是 |
| s/mime登录 | kms,内部ca,商业ca | 内部ca,商业ca | 内部ca,商业ca |
| s/mime登录发起者 | kms管理员,用户 | 用户 | 用户 |
| 重新认证 | 自动 | 警告(取消和过期) | 警告(取消和过期) |
| 支持ldap | 是 | 是 | 是 |
| 支持pkcs#2 | 是 | 是 | 是 |
---- 系统管理员可以选择以下两种电子邮件方式安装outlook 2000:“团体/工作组”或“internet惟一邮件”(internet mail only)方式,或选择“无电子邮件方式”(no e-mail mode)。前两种电子邮件方式支持不同的协议:“团体/工作组”方式提供一个具备全部功能的mapi邮件客户端,它支持smtp和pop协议,并有ldap支持选项(通过ldap目录服务实现)。“internet惟一邮件”方式提供一个基于isp的邮件客户端,它支持smtp、imap、pop和ldap等协议。系统管理员可以在outlook 2000的邮件服务选项对话框中使用“重新配置邮件支持”按钮选择方式,outlook 2000在机器级为每个在本机上注册的用户重新配置电子邮件方式。
---- 从s/mime的观点看,这两种方式之间存在着根本的区别。当系统管理员希望为企业的邮件客户提供密钥恢复功能时,应该采用“团体/工作组”方式安装outlook 2000客户。因为这种方式使用户能够在exchange 2000的高级安全中登录客户,从而在邮件客户端可以充分利用exchange 2000存储在动态目录(ad)中的s/mime加密参数选择的优势。
验证登录和重新登录
---- 系统管理员负责exchange 2000高级安全登录的初始化,产生并分发客户可以用来登录s/mime验证和密钥的登录令牌。如表2所示,每个邮件客户都可以使用一个内部的或商用的ca来进行认证登录。对于由exchange 2000特有的证书模板加载的kms-ca,则可以生成可以产生高级安全证书。当系统管理员使用windows 2000企业版ca时,企业客户可以使用一个基于web(http://servername/certsrv)的或基于gui(即微软管理控制台的证书接口)的界面登录。如果一个用户从ca收到一个证书后,仍然不能发送s/mime签名的邮件,那么就要在outlook 2000上检查他的s/mime设置,或通过outlook express 5.0检查用户的邮件账号和s/mime证书之间是如何绑定的,如图4所示。
---- 证书重新登录与登录同样重要。本文所提到的每个微软邮件客户终端,都会警告用户什么时候其证书将过期,或者ca和kms管理员在什么时候将废除证书。与exchange server kms结合的outlook 2000的“团体/工作组”方式提供最高级的自动操作:出现一个对话框提示用户登录新证书,当用户接受提示后,ca立即产生证书。outlook 2000的“internet惟一邮件”方式或outlook express 5.0上的用户则必须重做登录,替换掉过期的或被废除的证书。
---- 在outlook 2000或outlook express 5.0上阅读签名邮件时,系统管理员系统不必安装个人的s/mime证书,或采用高级安全登录。如果outlook express 5.0的用户要发送加密邮件,甚至不需要个人的s/mime证书。当客户端收到一个有效签名的邮件时,软件会自动地把发送方加到outlook express的通信列表中。通信列表条目中包含有发送方的账户证书。outlook 2000要求用户手工地把发送方加到用户的通信列表或个人地址薄(personal address book,pab)中,而且要求用户在发送加密邮件时,需要具备个人的s/mime证书。
,以上内容由 华夏名网 搜集整理,如转载请注明原文出处,并保留这一部分内容。
| “华夏名网” http://www.sudu.cn 和 http://www.bigwww.com 是成都飞数科技有限公司的网络服务品牌,专业经营虚拟主机,域名注册,VPS,服务器租用业务。公司创建于2002年,经过6年的高速发展,“华夏名网”已经成为我国一家知名的互联网服务提供商,被国外权威机构webhosting.info评价为十大IDC服务商之一。 |
| 上一篇:Exchange 2000让电子邮件系统更加安全(4)-与Outlook的集成 -网管专栏,邮件服务 | 下一篇:Exchange 2000让电子邮件系统更加安全(1)-KMS结构与安装 -网管专栏,邮件服务 |