内容


使用 Domino 6 安全交换消息

Comments

让我告诉您一个叫 Jed 的人的故事,这个人在石油业(用得克萨斯州话说叫“bidness”)中干了大约 30 个年头。多数人都知道,石油业需要在地面上钻很多洞。因此 Jed 经常从石油设备供应商那里租借设备,包括钻井装备、拖车和油泵。他有时候也购买油管和其他硬件。

一天,Jed 善良的侄子 Jethro 出现在门口要找一份工作。于是,Jed 就让 Jethro 作“Hondo County 所有服务的供应商管理副董事”。(Jethro 很喜欢这个长长的头衔。)几个月后,Jethro 打电话告诉 Jed 前门堆满了很多没有预定的装备。起初,Jed 怀疑毛手毛脚的 Jethro 可能确实订过这些设备,但是后来忘了。Jethro 坚持说他一件也没有定过,应该退回去。不幸的是,设备租赁公司想要送货费和整整一天的租金——由于这些设备的类型,这可是一笔不小的数目。因此,Jed 和这家公司联系,要求他们验证订单是否确实是 Jethro 发出的。

经过彻底的调查后,终于发现这家公司雇用了 Jethro 的表妹 Ellie May。Ellie 的前男友 Bob Hacker 在他们吵架分手后非常恼火。于是 Bob 冒冒失失地以 Jethro 的名义向 Ellie 发了一份假邮件,订购了 30 辆油罐车和 14 座钻井塔,要求送到 Jethro 的家里。

一旦澄清了事实,Jed 马上就明白应该如何避免再次发生这种意外了。他没有去 Beverly Hills 购买带有保留球道的昂贵写字楼。而是打电话给 IBM 要求给 Jethro 和供应商建立安全的消息通道。(您也许在想,“只要为每个供应商建立网页,然后使用 SSL(安全套接字层)就可以高枕无忧了。”当然这是一种办法,但是这样就破坏了我们的故事,也中断了您关于保护消息的学习。而且虽然很难相信,但不是每个人都有 Web 站点,很多公司就使用电子邮件作为交易的基础。)

本文介绍了我们的虚构主人公如何实现供应商和自己的安全消息。我们假设您熟悉 Notes 和 Domino。(是否看过那部老的电视剧“The Beverly Hillbillies”完全不重要。)

SMTP

我们都知道 Lotus Notes/Domino 是一种健壮、安全、可伸缩的消息系统。不幸的是,并非每个人都有 Notes/Domino。因此我们花点时间来讲述跨供应商的消息解决方案:安全 SMTP 消息。

SMTP(简单邮件传输协议,Simple Mail Transfer Protocol)是在 Internet 上广泛流行的电子邮件的事实标准。事实上,最初的规范是 1982 年发布的标准(RFC 821),当时我们还不知道有 Internet。(据了解,定义 URL 的标准到 1994 年才发布。)如果在 Internet 上发送消息,您就会用到 SMTP。Notes/Domino 完全支持 SMTP 消息,为保护消息的安全提供了很多强有力的机制。

差不多在定义 SMTP 的同时,PKI 也发展起来了。 PKI(公共密钥基础设施,Public Key Infrastructure)是一种安全系统,由受信任的第三方(称为认证权威或 CA)提供用户和服务器的数字身份,并使用 X.509 V3 数字证书发布这些身份。身份由非对称的密钥对组成:任何人都可以使用(包括这个名字)的公钥(Public Key)和只有用户知道的唯一的私钥(Private Key)。然后可以使用这个密钥对通过加密来利用数字身份安全地交换文本。

密钥对在消息发送中有两种基本使用方式:

  • 消息完整性
    发送方根据消息的内容创建消息摘要(也称为哈希码、指纹或者水印)。发送方用自己的私钥加密消息摘要。摘要附加在要发送的消息上。摘要不很长,通常是 128 位。因为非对称密钥加密技术的特点,接收方可以使用发送方的公开密钥(因为可以公开得到)验证消息摘要(比如, MD5),确认消息是否来自发送方,也可以检查消息在传输中是否被篡改。
  • 消息加密
    发送方使用接收方的公开密钥(可以通过公开的数字证书得到)加密消息,然后接收方使用私钥解密消息。

这些技术在 Internet 世界中被称为 S/MIME(安全的 MIME)。

抗抵赖(Nonrepudiation)

那么这些对 Jed 有什么用呢?在讨论这个问题之前,我们先说一说抗抵赖。这是把一个终端用户和某项动作或者事务绑定在一起的过程。抗抵赖性提供了发生过某个动作的证据,并且可以跟踪到特定的实体(用户或者公司)。在这个 Jethro 和 Jed 的示例中,Ellie 在执行设备订货之前可以先验证消息的完整性。消息的验证可以使用数字签名来完成。这称为消息完整性。

S/MIME 是解决这类问题的办法之一。Jed 和 Jethro 需要通过 Internet 发送重要的消息。因为 Internet 是一个公共空间,像 Bob Hacker 这样怀有恶意的人不用费多少力气就能截获消息。在我们的示例中,Bob 从 STMP 电子邮件的另一个地址骗取了 Jethro 的地址。看起来可能是这个样子:

Hidden Header Info (start)
				
Return-Path: <JethroB@jedco.xyz>
Received: from relay.hondo.texas.vendor.biz ([10.11.12.13])
	by amailserver.somecompanysomwhere.biz
	(InterMail vM.6.00.05.02 201-2115-109-103-1231231231) with ESMTP
	for <Ellie-May@thevendorcompany.xyz>; Tue, 23 Mar 2004 04:05:11 -0500
				
Date: Tue, 23 Mar 2004 04:04:13 -0500 (EST)
Message-Id: <11234234-23864-64000886-1234234>
From: Jethro VP at Jeds Company <Jethro@jedco.xyz>
To: <Ellie-May@thevendorcompany.xyz>
Subject: Please order all of this stuff for me
MIME-Version: 1.0
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: 7bit
	
        Hidden Header Info (end)
				
Dear Cousin Ellie:
Jed wants me to rent some equipment. We are going to drill for oil
over in front of my home. Send me this stuff -
30 tanker trucks
14 drilling rigs
Thanks,
Jethro

Ellie 收到这条消息后,作为真实的消息接受了它,于是把设备发到了 Jethro 的家里。

让我们看一种能够确保消息确实来自 Jethro 的公开的标准方法。如前所述,S/MIME 提供了一种发送和接收安全的 MIME 消息的方法。 MIME (Multipurpose Internet Mail Extensions)定义了电子消息的格式。MIME 规范描述了通过各种不同的字符集和多媒体传递文本的一种方式。

消息保密

安全的消息是通过数字证书系统创建的。证书是和特定用户或者服务器联系的数字身份的一部分。在我们的示例中,数字身份(非对称密钥对)放在每个用户的邮件系统中。数字身份的第一部分(公开公钥)以数字证书的形式放在公共目录中,第二部分(私钥)放在邮件客户的手中:

图 1. S/MIME 配置
S/MIME 配置
S/MIME 配置

在我们的例子中,Jethro 向 Ellie 发送了一条消息。Jethro 通过目录中的数字证书发现 Ellie 的公开密钥并向她发送一条消息。Jethro 的工作站软件加密该消息,然后将其通过 Internet(SMTP) 发送给 Ellie 的工作站。当 Ellie 打开消息的时候,会自动使用相应的私钥解密。现在 Ellie 可以反转这个过程。如果她有 Jethro 的公开密钥(或者对 Jethro 的密钥所存放的目录有访问权),她就可以给 Jethro 返回一条加密的消息。这个过程由 S/MIME 协议实现。虽然真正的加密过程非常复杂,前面的示例说明了这个概念,并大体上说明了操作的过程。

到目前为止,我们讨论了基本的 S/MIME 加密过程。这个过程将防止 Bob Hacker 读到传输中的消息。那么如何防止 Bob 模仿 Jethro 发送消息呢?在过去没有办法避免这种情况。现在人们提出了几种不同的方案,包括逆向 DNS 检查等等。本文中我们主要讨论加密和数字签名。

消息完整性

用于阅读加密邮件的同一个数字证书也可用于数字签署文档。数字签名相当于计算机中的手写签名或者手印。数字签名是一种向消息附加“个人”身份的数学方法。数字签名依赖于公共密钥加密学。通常消息交换程序并不真正使用用户的私钥签署原始消息本身。相反,它生成消息的一个压缩版本。这个压缩版本就是前面所述的消息摘要。

签署的消息使用私钥拼凑成消息摘要。(它就是实际签署的消息。)接收方收到消息之后,使用发送方的公开密钥整理出消息摘要。按照约定,任何人都可以使用签署者已知的公钥阅读签署的消息摘要。

为了生成消息摘要,您需要一种加密编码机制。创建消息摘要有很多不同的算法。比如,MD2、MD4 和 MD5 都是由 RSA Security开发的哈希函数。它们都生成 128 位的摘要。MD5 算法是事实上的标准摘要哈希算法。公共领域版本可用于 Internet 上的多数平台,被广泛用于完整性检查系统。此外, SHA-1(安全哈希算法,Secure Hashing Algorithm)是由 NIST 发起的哈希函数,已经被美国政府采纳为标准。这种算法生成 160 位的摘要。

签署文档时,可以验证这篇文档是谁签署(并且可能发送)的。如前所述,利用在 Internet 上发送的消息,很容易修改 From 字段并冒充发送方的身份。如果 Jed 要求发送方数字签署所有的订单,他就可以证明消息却是发自供应商。(这里假设确实收到了订单而且 Jed 的订单处理部门没有出错。)这样就提供了事实上不可伪造的证据,说明确实发生了特定活动(在我们的示例中,就是执行了由已知的一方发起的事务)。这一点可以通过使用 X. 509 V3 格式发布的数字证书来完成(当然要假定供应商对证书由完全的控制,未经授权的用户不可能有该证书)。这个过程既可用于订单的发送方,也可用于接收方。

(还记得 MD2 和 MD5 消息摘要吗?如果改变了消息中的一个字符,那么消息摘要中大约有一半字符要改变。很难改变消息而同时保持消息摘要不变。对于那些不精通高等数学的人来说,这是不可能的。)

验证数字签名的过程如图 2 所示:

图 2. 数字签名验证过程
 数字签名验证过程
数字签名验证过程

在图 2 所示的例子中,Mike 数字签署了一条消息并将其发送给 Bubba。Bubba 的软件自动尝试通过公共目录验证签名是否来自 Mike。

封闭证书发布系统和公开证书发布系统

发布证书有两种基本的系统:封闭式(私有层次)系统与公开式(公共层次)系统。

封闭私有证书发布系统

封闭系统的证书权限是一个实体的一部分。从理论上,您可以有多个组织或者组织单位,您也可以分散支持和维护这些组织证明者的职责。在一个封闭系统中,您的公司就起着 CA 的作用。这样做有很多原因。比如您可能有几个银行分行,并希望在这些分行之间加密数据。这种情况下,您就是 CA 并发布证书。实际上,您应该把证明锁起来再放上警卫(真正的人!),通过严格控制的机制传递钥匙。您可以使用公司级的单个 CA 也可以使用多个 CA。

封闭系统的好处是:

  • 您就是 CA,并控制所有的证书。
  • 您控制用户和证书的绑定。(比方说,您应该在实际看到某个人时才发出证书,尽管这样看起来有点过于僵化!)
  • 您管理证书的结构、命名、验证和截至日期。
  • 命运掌握在您自己的手中。没有人能够使用证书或者模仿您,至少从理论上是这样。(本文后面还将讨论这一点。)

封闭 CA 系统的主要缺点是,因为您就是 CA,所以需要一个支持结构来处理这种职责。其中包括安装和维护适当的软件和/或硬件来实现这一解决方案。您还需要支持人员来管理证书(证书期满,人们可能需要更改自己的姓名等等)。此外,您还需要一种策略来处理相关人员离开您的公司这样的问题(后面还会提到更多)。

如果您是自己的 CA,那么只要别人无法染指您想控制多长时间都行。不幸的是,创建一个证书需要某个人(或某些东西)作为证明者和 CA 接触。CA 证明者是存在于某个地方(文档、文件、硬盘驱动或者软盘等等)的物理实体。因此,总存在这种可能性,某个未经授权的人获得了没有很好保护的 CA 的副本。虽然 CA 文件有口令,但是口令也可能在您的管理员离开或者跳槽到其他公司时而泄露出去。一旦 CA 证书落到不正当的人手中,外部的人就可以创建证书伪装成您公司的一个合法成员。如果您确实要做自己的 CA,就和您的软件供应商商议决定保护 CA 证书的方法。

开放式公共证书发布系统

个人或者公司可以到公共系统请求证书。公共 CA 通常是一个独立的实体,提供发布证书的服务。在某些情况下,这种 CA 被称为第三方 CA。

使用公共系统的好处是:

  • 尽管您不是 CA,都可以通过公共 CA 建立服务以提供代表您的证书。您仍然可以控制证书,但是不能控制根证书。
  • 您可以控制用户到证书的绑定。很多厂商都提供了自动化的系统来注册用户和发布证书。
  • 您管理证书的结构、命名、验证和到期时间,但是如前所述您不能控制根证书。
  • 无论如何,开放式公共系统的代价要小于封闭式系统,因为您不需要部署支持该系统的基础设施和人员。
  • 多数知名的公共系统都有良好的记录。(我们没有听说哪个公共基础设施出过故障。)

使用开放式公共系统的一个不利之处是您不能拥有证书的根。因此,从事这项服务的某个人可以创建未经授权的证书。如果您的公司和公共 CA 打交道,您需要考虑供应商的服务水平、法律上的义务和责任、商业道德记录和 Certificate Practice Statement (CPS)。其中的每一项都需要审核并达成一致意见。此外,还要确定一旦违反这些问题所造成的后果。最后,您还应当签署一份 Service Provider 协议。协议规定了服务供应方的权利和义务,以及公司的要求或者对服务的购买。

底线:在使用公共 CA 之前咨询您的法律部门。

选择证书发布系统

那么哪一个系统更好呢,封闭式私有系统还是开放式公共系统?在了解您所要解决的业务问题之前不要对技术进行选择。下面这些问题我们建议您在做出决策之前应该加以考虑:

  • 业务需求是什么?需要什么,现在支持什么?
  • 用户需求是什么?
  • 代价有多大?
  • 需要什么样的支持?
  • 需要解决什么样的用户问题(用户的多少、分布、类型(办公室内用户、漫游用户、远程用户)、带宽、语言)?
  • 需要什么样的培训(用户、管理员、桌面帮助)?
  • 如果危及根证书 CA 怎么办?(无论公共系统还是私有系统都要考虑这个问题。)
  • 这种技术可用于其它应用程序或业务服务吗?
  • 需要什么样的服务水平?
  • 把用户绑定到证书采用什么样的过程?(应该在 Certificate Practice Statement 中详细规定。)

Domino CA

Notes 和 Domino 6 提供了很多可用于接收和发送 SMTP 消息的特性。在 Domino 6 中包括一个 PKI 管理进程。这个进程称为 Certificate Authority (CA) 进程。这个 CA 进程是一种非常强大的工具,可以自动为 Notes 6 客户或者任何 Web 用户发出证书。CA 进程作为自动化的服务器任务在 Domino 6 服务器上运行。这项任务允许您设置 Domino CA。该 CA 可以创建、管理、更新证书,并提供拒绝服务(称为证书撤销列表,即 CRL,Certificate Revocation List)。一台服务器上只能有一个 CA 进程实例运行,但是您可以在每台服务器上创建多个证明。

数字签名鉴别

Notes/Domino 中数字签名的工作过程如下。再回到我们的示例,Jethro 向 Ellie 发送了一条消息。Ellie 希望检查消息是否被改动过,并且是否确实发自 Jethro。消息如下:

Hello Ellie: How are you today? I would like to order 100 units of oil equipment. Please send it to the office on the 5th. Thanks, Jethro(你好,Ellie。我希望订购 100 单位的石油设备,请发送到第 5 号办公室。谢谢,Jethro)

下表列出了这条消息中每个字符的 ASCII 码、十六进制码和二进制编码:

图 3. ASCII、十六进制和二进制编码
 ASCII、十六进制和二进制编码
ASCII、十六进制和二进制编码

现在 Jethro 要签署该消息,使用一般的 MD5 工具生成如下所示的消息摘要:

64b26c7702f7151a321c07bf767abcf3

现在让我们来修改消息,就像使用“中间人”攻击的黑客那样:

Hello Ellie: How are you today? I would like to order 1000units of oil equipment. Please send it to the office on the 5th. Thanks, Jethro(你好,Ellie。我希望订购 1000 单位的石油设备,请发送到第 5 号办公室。谢谢,Jethro)

注意这里只增加了一个字符,数字 100 上增加了一个 0,结果定货量变成了 Jethro 所希望的 10 倍。这个字符的编码如下:

字符 ASCII 十六进制 二进制 0 48 30 110000

仅仅增加了一个字符就完全改变了消息摘要:

22e5f55fc05dbd816efbec72df8ff73f

当 Ellie 收到 Jethro 发出的消息时,她的 Lotus Notes 客户程序就会使用在一个目录中发布的包含 Jethro 的公开密钥的数字证书检查签名。如果签名有效,则重新散列该消息并通过比较检查其有效性。

设置 CA

为实现这个过程,我们首先从 Ellie 开始,使用 Domino 6 CA 进程为她创建一个 X.509 证书。在这个例子中,我们对签署和加密使用同一个证书(S/MIME)。几个月前,当 Jed 升级到 Notes/Domino 6 的时候,他设置了一个独立的注册服务器,它是使用 CA 服务器任务的专门的 Domino 服务器。这个任务管理和处理证书请求(包括 Notes 和 Internet 证书)。Jed 设置该 CA 进程为他的公司提供发布 Notes 和 Internet 证书的唯一机制。他还设置了一个注册权威(RA)角色,用于把证书批准/拒绝处理委托给组织中的低层次的管理员(如 Bubba)。

因为不需要向每个管理员提供证明 ID 和 ID 口令的直接访问权,所以 Jed 喜欢这种方法。在 Jed 激活了 CA 进程的证明之后,他把注册 RA 角色指定给一个管理员。于是这个 RA 可以注册用户并管理证书请求,而不需要直接访问证明者 ID 和口令。每个证明者都有一个已发出证书列表(ICL)数据库,这是在证明者迁移到 CA 进程时创建的。ICL 数据库保存了已经发出的每个没有过期的证书的副本。

图 4 说明了 Jed 用于 Notes/Domino 6 的基本体系结构:

图 4. Notes/Domino 6 安全体系结构
Notes/Domino 6 安全体系结构
Notes/Domino 6 安全体系结构

该体系结构包括一个 DMZ 层,保护受信任的网络。从外界发出的消息要由 DMZ 处理和审查,然后提交给一个 SMTP 服务器。SMTP 服务器把消息传递到一个消息服务器。发出的消息也进行同样的处理,终端用户(Jethro)从其客户程序发送了一条消息,然后该消息被传送到一个 SMTP 服务器。从那里再发送到 DMZ,然后由一个智能设备传递到目标接收方。

Jed 决定设置独立的 CA 注册服务器,把 CA 和其他服务器隔离开来。然后 Jed 在 server.id 文件中放上一个口令。这样就为服务器增加了一层保护。(显然服务器不能自动重新启动,这也是独立出 CA 服务器的原因之一,这样中断的 CA 服务器就不会影响到基于 SLA 的产品服务器。)此外,通过服务器文档中的访问限制把对服务器的访问限制为 CA 和 RA。另外该服务器也不发出交叉证书。因此,该服务器是孤立的,仅限于少量的个人和服务器。(Jed 还在这台服务器上设置了 IDPR 进程。)

然后 Jed 设置了独立的 X.509 CA 服务器。创建这个 CA 之后,Jed 和他的首席管理员把 X.509 CA 移植到 Domino CA 进程中。为此,他创建了两个 CA 角色,一个给自己,一个给堂弟 Billy Joe Bob。然后他设置了三个 RA 角色,分别给 Billy Joe Bob、Bubba 和自己。

使用证书

为了部署证书,Jed 指示 Bubba 给 Ellie 一个 X.509 证书。为此,Bubba 打开 Domino Administrator 客户程序并访问 Person(人员)和 Groups(组)附签,然后选择 Ellie 的姓名并选择 Action—— Add Internet Cert to Selected People(为选择的人员添加 seInternet 证书):

图 5. 添加 Internet 证书
添加 Internet 证书
添加 Internet 证书

Bubba 然后选择适当的证明者并单击 OK(确定)。完成上述操作后,将出现下面的消息表明证书已经分配成功:

图 6. 处理统计消息
处理统计消息

这基本上是一个单步操作。当下一次 Ellie 访问服务器时,新的 X.509 证书就会自动加入到她的 Notes ID 文件中。如果需要,Ellie 可以使用 Notes Client 中的 File(文件) - Security(安全) - User Security(用户安全)下拉菜单打开这个 ID 文件:

图 7. ID Properties 屏
ID Properties 屏
ID Properties 屏

单击 Advanced Details 按钮可以查看证书的其他信息。因为 Ellie 只有一个证书,所以“Use this certificate as your default signing certificate(使用该证书作为默认签署证书)”选项是灰色的:

土 8. Certificate Advanced Details 屏
Certificate Advanced Details 屏
Certificate Advanced Details 屏

Jethro 还从管理员那里得到了用于 Microsoft Outlook 的证书。现在 Ellie 和 Jethro 都有了 X.509 证书。

公开密钥

按照定义,公开密钥是共享的。对于大型企业而言,这是通过目录的帮助和 LDAP 实现的。这个示例展示了利用本地的 Microsoft Outlook 地址簿和 Lotus Notes 个人地址簿的简单的战略方法。

第一步是 Ellie 和 Jethro 互相发送经过签署的消息。Jethro 从 Outlook 中创建一条新的消息,打开 Message Options(消息选项)对话框并选择“Add digital signature to outgoing message(对发出的消息添加数字签名)”:

图 9. 在 Microsoft Outlook 中签署消息
在 Microsoft Outlook 中签署消息
在 Microsoft Outlook 中签署消息

然后,Ellie 在她的 Notes 6 客户程序中向 Jethro 发送签署过的消息:

图 10. 在 Notes 6 中签署消息
在 Notes 6 中签署消息
在 Notes 6 中签署消息

这个模板中,有两个选项设置 Sign(签署)标记。这样就可以了,Notes 客户程序非常智能化,可以确定接收方是否是 Internet 用户,因此将使用 X.509 证书而非 Notes.id 文件签署消息。

这个过程获得了每个用户的公共密钥,这是通过自动使用 Lotus Notes 完成的。Notes 客户程序收到消息,获得交叉证书(提示用户并确认该操作之后),然后把发送方的公开密钥加入到地址簿中。一旦获得了公开密钥,两个用户就可以相互发送加密(S/MIME)的消息。

当 Ellie 在其 Notes 6 客户程序中第一次收到 Jethro 的消息时,系统将提示她在她的个人地址簿中创建一个 Internet Cross Certificate(交叉证书):

图 11. 提示发出交叉证书
提示发出交叉证书
提示发出交叉证书

当 Ellie 单击 Cross certify(交叉保证)按钮时,就在她的 Notes 6 客户程序个人地址簿中创建了一个交叉证书。然后,Ellie 选择 Actions - Tools - Add Sender to Address Book,将 Jethro 的信息添加到地址簿中(或者更新)。这时将显示下面的对话框:

图 12. Add Sender to Address Book 对话框
Add Sender to Address Book 对话框
Add Sender to Address Book 对话框

Ellie 单击 OK(确定)并完成操作,现在她就拥有了 Jethro 的公开密钥。现在还需要 Jethro 获得 Ellie 的公开密钥。Jethro 要执行的步骤非常简单。要记住 Ellie 曾经给 Jethro 发送过签署的消息。他只需要打开这条消息,然后他将看到一个提示,说他接收了签署的消息。在 Outlook 中提示信息如下:

图 13. Outlook 中的签署消息
Outlook 中的签署消息
Outlook 中的签署消息

Jethro 右击消息中 Ellie 的邮件地址,然后选择 Add to contacts(添加联系人)。这样就把 Ellie 的名称添加到了 Jethro 的地址簿中,也包括 Ellie 的公开密钥。现在,Jethro 可以向 Ellie 发送加密的 S/MIME 消息,Ellie 也可以这样做。下面的截屏图显示的是 Jethro 发送给 Ellie 的订单:

图 14. 发送加密的订单
发送加密的订单
发送加密的订单

结束语

如您所见,Notes/Domino 6 使得发送安全的邮件非常简单。Jethro 创建一个邮件并从地址簿中选择 Ellie,然后从 Options(选项)菜单中选择 Sign and Encrypt(签署和加密)并发送消息。Ellie 收到消息后自动解密,也可以使用签署并加密的回复进行确认。

现在 Jethro 可以向 Ellie 发送签署并加密的设备订单。这样 Bob Hacker 和他的同类就无法冒充 Jethro 了。此外,因为订单是秘密的,所以不会有人知道 Jethro 在他家的后门外发现了一个大油田。这些工作是通过使用 Notes/Domino 6 和 X.509 证书实现的。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=21497
ArticleTitle=使用 Domino 6 安全交换消息
publish-date=07062004