Microsoft Corporation
2001年10月
适用于:
Microsoft® Office XP
摘要: 本文介绍了 Microsoft Office XP 智能标记的安装和安全性。
目录
简介
Microsoft 公司在 Microsoft® Office XP 中发布了一个令人激动的新技术,称为“智能标记”。Office XP 中的智能标记技术是一种可扩展的应用程序编程接口 (API),它能够实时、动态地识别用户输入,并根据输入及识别出的文本提供一组相应的用户操作。一个典型的案例就是用户在包含相关工作信息的文档中键入文本。文档的内容可能包括业务伙伴的姓名、财务信息、地址或任何相关业务数据。用户的组织可使用智能标记来动态识别数据并提供相应的用户操作。当用户打开文档时,相关数据将带有小的下划虚线。此时,用户可将光标置于该文本上来显示智能标记操作。
大多数组织在将可执行代码引入他们的计算环境时都非常慎重。所有可能执行恶意代码的情况都被视为严重的安全风险。智能标记的设计考虑了这些安全问题。虽然智能标记在文档内运行,但当文档通过电子邮件传输时,实际代码并不随之传输。要使智能标记能够正常执行,必须在使用智能标记的计算机上进行安装和注册。智能标记充分利用了现有的安全技术和方案,例如代码签名和证书。此外,单机用户或网络管理员还可以采取许多安全措施和设置,从而完全控制哪些代码可在其环境中执行。
安装和部署
每个智能标记均由一个“识别器”和一个“操作”组件两部分构成,它们都是组件对象模型 (COM) DLL。此外,包含智能标记的文档将含有一个或多个 XML 数据岛,用于标识智能标记可识别的文本。
因为智能标记是由 COM DLL 组成的,所以代码并不真正随文档传输。也就是说,无法使用智能标记传输恶意代码。而且,智能标记用户还可以获得应用于所有 COM DLL 的安全防范措施的全部好处。要在计算机中安装智能标记,必须安装和注册代码。通常情况下,可使用基于 Web 的下载包进行安装。组织也可以通过证书颁发机构来签名 COM DLL,以保证用户和管理员确切地了解指定计算机中所安装的内容。
安装
安装智能标记与安装任何 COM DLL 的方法相同。首先将智能标记复制到本地计算机,然后使用注册程序(如 regsvr32.exe)进行注册,之后必须重新启动 Microsoft Office XP。可以使用 Visual Studio® 安装程序创建智能标记安装包以帮助完成此过程,这是一种很好的方法。有关使用 Visual Studio 安装程序来创建智能标记安装包的详细信息,请参阅 MSDN® Online Office Developer Center (英文)中的“Smart Tag SDK”。
安装智能标记 DLL 后,必须将其位置写入注册表。
作为 Office XP 的一部分,智能标记“识别器”注册在 /HKCU/Software/Microsoft/Office/Common/Smart Tag/Recognizers 注册表文件夹中。
智能标记“操作”注册在 /HKCU/Software/Microsoft/Office/Common/Smart Tag/Actions 注册表文件夹中。
自定义智能标记也必须在相同位置注册,方法是在正确位置创建一个新注册键。新键值必须是识别器和操作 DLL 的类 ID 编号 (CLSID)。因此,当 Office XP 在注册表中查询已安装的智能标记列表时,会找到所有自定义智能标记的 CLSID 和相关的智能标记 DLL。
部署
当前用于 COM 对象的任何标准部署方法也适用于智能标记的部署。利用策略模板可以自动部署智能标记。有关使用策略模板的详细信息,请参阅 Office Resource Kit (ORK)(英文)。也可以使用诸如 Microsoft Systems Management Server 等系统管理产品或通过 Web 来分发智能标记。Office XP 应用程序中的“自动更正选项”对话框的“智能标记”选项卡(“工具”|“自动更正选项”|“智能标记”选项卡)中还包含一个“其他智能标记”按钮,允许用户从 Microsoft 下载新的智能标记。管理员可以关闭“其他智能标记”功能或使用管理策略将其重定向到自己网络中的某台服务器。
许多组织希望使用第三方或内部开发的智能标记。Microsoft 强烈建议通过诸如 Verisign (英文)等证书颁发机构对这些智能标记进行数字签名。
更新智能标记
包含智能标记的文档将含有 XML 数据岛,用于标识智能标记可识别的字符串。另一个数据岛通常包含一个称为“下载位置 URL”的属性,智能标记开发人员可将用户定向到这个 URL,以便他们获取更新的智能标记。网络管理员可以使用管理策略覆盖此 URL,将所有智能标记请求定向到其他位置。当用户处于防火墙之后时,通常会这样处理。网络管理员将用户需要的智能标记放在防火墙内的服务器上,以免用户下载外来代码和有潜在危害的代码。
安全性考虑
部署智能标记之后,用户还可以通过 Microsoft Word 2002、Excel 2002 和 Outlook® 2002 中的设置来控制智能标记在计算机系统中的工作方式。这些设置属于宏安全设置,可在“工具”|“宏”|“安全性...”菜单下的宏安全设置中找到。
-
宏安全级别
图 1 所示为“安全级”对话框。此设置用于确定应用程序的安全级别:“低”、“中”或“高”。图 1:“安全级”对话框
-
可靠来源
图 2 所示为“可靠来源”对话框。如果选中“可靠来源”选项卡中的“信任所有安装的加载项和模板”复选框,应用程序将把用户已安装的自定义智能标记加载到内存中,而不管智能标记 DLL 是否被签名。此复选框默认被选中。如果需要加强对宏安全性的控制,用户或管理策略可以取消选中该复选框。图 2:“可靠来源”对话框
信任图表
表 1 中的信任图表确切地解释了 Office XP 处理安装在用户系统中的自定义智能标记的方式。Office XP 处理系统的方式取决于以下因素:
-
是否选中“信任所有安装的加载项和模板”?
此设置默认被选中。 -
智能标记是否被数字签名?
Microsoft 强烈建议所有开发人员通过证书颁发机构(如 Verisign)对智能标记进行签名。 -
智能标记是否来自可靠来源?
应用程序能够识别已由用户或管理员标识为可靠来源。这可以是用户自己的组织(对于内部开发的智能标记),也可以是其他公司(如 Microsoft)。
结果
根据这些设置,Office XP 将以下列方式之一处理智能标记。Office XP 将:
-
不给出提示就将智能标记加载到内存
智能标记加载到内存不需用户干涉,也没有提示。 -
显示数字签名提示
询问用户是否接受已经过数字签名的智能标记。该对话框包含一个复选框,允许用户将此智能标记的来源标识为将来可以信任的来源。对于所有数字签名的加载项也使用该对话框,它并非智能标记所独有。 -
不把智能标记加载到内存
智能标记不加载到内存。这是一个无提示过程,不需要用户确认,也不显示对话框。 -
提示用户启用宏
此对话框警告用户当前文档中含有宏。用户可以选择在当前文档中启用宏,这会将智能标记加载到内存;也可以选择禁用宏,不加载智能标记。除非用户改变安全设置,否则每次打开包含智能标记的文档时都会看到此对话框。
表 1:信任图表
保密性考虑
除了考虑进入组织的文档的内容外,当文档在用户间或组织间传送时,用户和管理员还必须考虑其保密性。虽然智能标记一般不会危及保密性,但准确地了解使用智能标记的文档所传输的信息种类以及如何在需要时控制数据的传输是十分重要的。
智能标记持久性
通过电子邮件、网络或其他媒体传输包含智能标记的文档时,可执行代码并不随之传输。只有将智能标记安装在计算机上,并在该计算机上查看文档时才执行代码。智能标记中随实际文档传输的只是 XML 数据岛,它用于标识智能标记可识别的文本。某些情况下,被识别的信息可能是保密的。例如,一个组织有一个可以识别其客户名称的智能标记,而客户列表是不公开的,这样,对于分发到组织之外的文档,就希望在其中禁用该智能标记。通过在应用程序中关闭“嵌入智能标记”复选框即可实现此目的。此复选框的位置如下:
-
Microsoft Word 2002
在“工具”|“选项”|“保存”选项卡中。请参阅图 3。 -
Microsoft Excel 2002
在“工具”|“自动更正选项”|“智能标记”选项卡中。请参阅图 4。 -
Microsoft Outlook
2002
使用 Word 作为默认邮件编辑器来创建新邮件。然后单击“工具”|“选项”|“常规”选项卡中的“电子邮件选项...”按钮,在“常规”选项卡中,取消选中“在电子邮件中保存智能标记”。请参阅图 5。如果禁用这些选项,智能标记数据将不随文档传输。
图 3:Word 2002 嵌入智能标记选项
图 4:Excel 2002 工作簿中嵌入智能标记选项
图 5:Outlook 2002 在电子邮件中保存智能标记选项
收件人的体验
事实上,如果通过文档将智能标记从一个用户发送到另一用户,文档收件人的体验取决于其本地安全设置和已安装的智能标记。当用户在文档中遇到识别文本的智能标记时,通常会看到带有小下划虚线的被识别出的文本。如果用户将光标置于下划线上,智能标记图标就会显示。单击此按钮时,将会列出与该智能标记相关联的操作清单。如果智能标记具有相关联的“下载位置 URL”属性,则这些操作中将包含一个“检查新操作”。但是请注意,如果智能标记既没有操作,也没有“下载位置 URL”属性,用户将不会看到下划线或智能标记操作按钮。然而,这并不意味着文档中没有智能标记。相反,文档仍可能包含含有智能标记元数据的 XML 数据岛。保密性图表对此进行了详细解释。
保密性图表
表 2 所示为保密性图表。各种保密性设置将影响智能标记在文档中的嵌入方式,该图表可帮助开发人员理解使用智能标记时的保密性问题。
设置
以下设置将影响智能标记在文档中的嵌入方式,以及收件人的用户体验:
-
“嵌入智能标记”复选框中是否有选中标记?
是否选中“嵌入智能标记”复选框。 -
智能标记是否具有相关联的操作?
是否有任何操作与该智能标记相关联。智能标记仅用于识别文本,而不提供任何可见的用户操作。 -
智能标记是否具有“下载位置 URL”属性?
智能标记是否具有相关联的“下载位置 URL”。此属性是在智能标记的设计过程中设置的。
结果
根据用户的保密性设置和已安装的智能标记,下列行为可能对保密性和文档收件人的体验产生影响:
-
XML 嵌在文档中
文档中嵌入了指定识别文本的 XML 数据岛。 -
收件人打开文档时,将看到带有下划线的智能标记文本。
如果智能标记识别出文档中的文本,该文本将带有下划线,并且当光标置于文本上时,会显示智能标记按钮。 -
收件人可以使用相应操作
单击智能标记按钮时,智能标记的所有可用操作将显示在下拉菜单中。 -
收件人可以使用“检查新操作”
下拉菜单中将显示“检查新操作”。 -
没有出现任何上述情况
文档不包含智能标记或与智能标记相关的 XML 标记。
表 2:保密性图表
其他考虑
性能
智能标记识别器在后台线程中运行。所以,它们不影响用户的输入或应用程序的使用。文本从应用程序传递给这些识别器。智能标记运行时,识别文本的列表保存在内存中。为确定首先进行智能标记的文本,Word 使用类似于拼写检查器所使用的算法。Excel 仅在选定单元格时才检查智能标记识别,每次检查一个单元格。也就是说,电子表格可见部分的文本具有最高的优先级,这样用户就不必等待智能标记。
如果安装了多个识别器,它们的执行顺序是任意的。开发人员应尽可能避免创建一直依赖于数据库连接或 Web 访问的识别器,因为它们不可能始终可用。如果依赖于这种功能的识别器运行很慢的话,就会妨碍其他识别器的运行。
识别冲突
创建智能标记时,开发人员还应意识到有可能发生识别冲突。智能标记开发人员需要为自定义智能标记定义一个 XML 名称空间。这样可以保证自定义智能标记之间的独立性。
首先,很有可能会出现两个智能标记将同一文本识别为两个不同的智能标记类型的情况。例如,“Greal”可能被同时识别为公司名称类型和化学制品类型。此时,两个智能标记都将识别该文本,并向用户提供级联菜单,以便用户选择要执行的智能标记。
也可能出现两个识别器识别重叠文本的情况。例如,假设有两个识别器:“识别器 A ”和“识别器 B”。识别器 A 将“123 大街,D 单元”识别为“街道名”智能标记,而识别器 B 将“123 大街”识别为“街道名”智能标记。此时,两个识别器将重叠区域识别为同一种类型,用户只能任意选择并接受其中的一个智能标记。请注意,在 Excel 中,识别器只识别单元格中的全部内容。
最佳方案
Microsoft 向使用智能标记和关注安全性问题的组织提出如下建议:
-
对智能标记 DLL 进行数字签名
在任何开发过程中(包括智能标记开发),应将对 COM DLL 进行数字签名作为一标准步骤。 -
使用适当的宏安全设置
对于大多数设置来说,默认设置可以提供足够的安全保障。如果需要更高的安全控制级别,请取消选中“信任所有安装的加载项和模板”复选框,并将宏安全级别设置为“高”或“中”。 -
管理保密性
如果您的组织使用了智能标记来识别敏感数据,请关闭在所有与外部交流的文档中嵌入的智能标记。 -
在防火墙内重定向智能标记
安装有防火墙的组织可考虑在防火墙内为所有智能标记设置一个本地分发点,使用策略模板将“下载位置 URL”和“检查新智能标记”功能定向到此位置。
总结
用户和管理员越来越关注安全问题。Microsoft 已经采取了一些很好的措施来帮助管理员管理网络安全问题。其中包括 Office 应用程序内的“数字签名”支持、策略模板和安全设置等。智能标记在这种安全环境中运行良好,因为并没有真正的代码随嵌入了智能标记的文档一起传输。此外,最终用户还可以使用 Office XP 控制智能标记的许多功能,所以智能标记不会为恶意代码提供进入环境的途径。尽管如此,管理员在管理网络安全方面仍需谨慎小心。因此必须理解智能标记的概念、它在应用程序环境中的功能以及给企业环境带来的好处。