Microsoft Corporation
2001年10月
適用于:
Microsoft? Office XP
摘要: 本文介紹了 Microsoft Office XP 智能標(biāo)記的安裝和安全性。
目錄
簡介
Microsoft 公司在 Microsoft? Office XP 中發(fā)布了一個(gè)令人激動(dòng)的新技術(shù),稱為“智能標(biāo)記”。Office XP 中的智能標(biāo)記技術(shù)是一種可擴(kuò)展的應(yīng)用程序編程接口 (API),它能夠?qū)崟r(shí)、動(dòng)態(tài)地識(shí)別用戶輸入,并根據(jù)輸入及識(shí)別出的文本提供一組相應(yīng)的用戶操作。一個(gè)典型的案例就是用戶在包含相關(guān)工作信息的文檔中鍵入文本。文檔的內(nèi)容可能包括業(yè)務(wù)伙伴的姓名、財(cái)務(wù)信息、地址或任何相關(guān)業(yè)務(wù)數(shù)據(jù)。用戶的組織可使用智能標(biāo)記來動(dòng)態(tài)識(shí)別數(shù)據(jù)并提供相應(yīng)的用戶操作。當(dāng)用戶打開文檔時(shí),相關(guān)數(shù)據(jù)將帶有小的下劃虛線。此時(shí),用戶可將光標(biāo)置于該文本上來顯示智能標(biāo)記操作。
大多數(shù)組織在將可執(zhí)行代碼引入他們的計(jì)算環(huán)境時(shí)都非常慎重。所有可能執(zhí)行惡意代碼的情況都被視為嚴(yán)重的安全風(fēng)險(xiǎn)。智能標(biāo)記的設(shè)計(jì)考慮了這些安全問題。雖然智能標(biāo)記在文檔內(nèi)運(yùn)行,但當(dāng)文檔通過電子郵件傳輸時(shí),實(shí)際代碼并不隨之傳輸。要使智能標(biāo)記能夠正常執(zhí)行,必須在使用智能標(biāo)記的計(jì)算機(jī)上進(jìn)行安裝和注冊(cè)。智能標(biāo)記充分利用了現(xiàn)有的安全技術(shù)和方案,例如代碼簽名和證書。此外,單機(jī)用戶或網(wǎng)絡(luò)管理員還可以采取許多安全措施和設(shè)置,從而完全控制哪些代碼可在其環(huán)境中執(zhí)行。
安裝和部署
每個(gè)智能標(biāo)記均由一個(gè)“識(shí)別器”和一個(gè)“操作”組件兩部分構(gòu)成,它們都是組件對(duì)象模型 (COM) DLL。此外,包含智能標(biāo)記的文檔將含有一個(gè)或多個(gè) XML 數(shù)據(jù)島,用于標(biāo)識(shí)智能標(biāo)記可識(shí)別的文本。
因?yàn)橹悄軜?biāo)記是由 COM DLL 組成的,所以代碼并不真正隨文檔傳輸。也就是說,無法使用智能標(biāo)記傳輸惡意代碼。而且,智能標(biāo)記用戶還可以獲得應(yīng)用于所有 COM DLL 的安全防范措施的全部好處。要在計(jì)算機(jī)中安裝智能標(biāo)記,必須安裝和注冊(cè)代碼。通常情況下,可使用基于 Web 的下載包進(jìn)行安裝。組織也可以通過證書頒發(fā)機(jī)構(gòu)來簽名 COM DLL,以保證用戶和管理員確切地了解指定計(jì)算機(jī)中所安裝的內(nèi)容。
安裝
安裝智能標(biāo)記與安裝任何 COM DLL 的方法相同。首先將智能標(biāo)記復(fù)制到本地計(jì)算機(jī),然后使用注冊(cè)程序(如 regsvr32.exe)進(jìn)行注冊(cè),之后必須重新啟動(dòng) Microsoft Office XP。可以使用 Visual Studio? 安裝程序創(chuàng)建智能標(biāo)記安裝包以幫助完成此過程,這是一種很好的方法。有關(guān)使用 Visual Studio 安裝程序來創(chuàng)建智能標(biāo)記安裝包的詳細(xì)信息,請(qǐng)參閱 MSDN? Online Office Developer Center (英文)中的“Smart Tag SDK”。
安裝智能標(biāo)記 DLL 后,必須將其位置寫入注冊(cè)表。
作為 Office XP 的一部分,智能標(biāo)記“識(shí)別器”注冊(cè)在 /HKCU/Software/Microsoft/Office/Common/Smart Tag/Recognizers 注冊(cè)表文件夾中。
智能標(biāo)記“操作”注冊(cè)在 /HKCU/Software/Microsoft/Office/Common/Smart Tag/Actions 注冊(cè)表文件夾中。
自定義智能標(biāo)記也必須在相同位置注冊(cè),方法是在正確位置創(chuàng)建一個(gè)新注冊(cè)鍵。新鍵值必須是識(shí)別器和操作 DLL 的類 ID 編號(hào) (CLSID)。因此,當(dāng) Office XP 在注冊(cè)表中查詢已安裝的智能標(biāo)記列表時(shí),會(huì)找到所有自定義智能標(biāo)記的 CLSID 和相關(guān)的智能標(biāo)記 DLL。
部署
當(dāng)前用于 COM 對(duì)象的任何標(biāo)準(zhǔn)部署方法也適用于智能標(biāo)記的部署。利用策略模板可以自動(dòng)部署智能標(biāo)記。有關(guān)使用策略模板的詳細(xì)信息,請(qǐng)參閱 Office Resource Kit (ORK)(英文)。也可以使用諸如 Microsoft Systems Management Server 等系統(tǒng)管理產(chǎn)品或通過 Web 來分發(fā)智能標(biāo)記。Office XP 應(yīng)用程序中的“自動(dòng)更正選項(xiàng)”對(duì)話框的“智能標(biāo)記”選項(xiàng)卡(“工具”|“自動(dòng)更正選項(xiàng)”|“智能標(biāo)記”選項(xiàng)卡)中還包含一個(gè)“其他智能標(biāo)記”按鈕,允許用戶從 Microsoft 下載新的智能標(biāo)記。管理員可以關(guān)閉“其他智能標(biāo)記”功能或使用管理策略將其重定向到自己網(wǎng)絡(luò)中的某臺(tái)服務(wù)器。
許多組織希望使用第三方或內(nèi)部開發(fā)的智能標(biāo)記。Microsoft 強(qiáng)烈建議通過諸如 Verisign (英文)等證書頒發(fā)機(jī)構(gòu)對(duì)這些智能標(biāo)記進(jìn)行數(shù)字簽名。
更新智能標(biāo)記
包含智能標(biāo)記的文檔將含有 XML 數(shù)據(jù)島,用于標(biāo)識(shí)智能標(biāo)記可識(shí)別的字符串。另一個(gè)數(shù)據(jù)島通常包含一個(gè)稱為“下載位置 URL”的屬性,智能標(biāo)記開發(fā)人員可將用戶定向到這個(gè) URL,以便他們獲取更新的智能標(biāo)記。網(wǎng)絡(luò)管理員可以使用管理策略覆蓋此 URL,將所有智能標(biāo)記請(qǐng)求定向到其他位置。當(dāng)用戶處于防火墻之后時(shí),通常會(huì)這樣處理。網(wǎng)絡(luò)管理員將用戶需要的智能標(biāo)記放在防火墻內(nèi)的服務(wù)器上,以免用戶下載外來代碼和有潛在危害的代碼。
安全性考慮
部署智能標(biāo)記之后,用戶還可以通過 Microsoft Word 2002、Excel 2002 和 Outlook? 2002 中的設(shè)置來控制智能標(biāo)記在計(jì)算機(jī)系統(tǒng)中的工作方式。這些設(shè)置屬于宏安全設(shè)置,可在“工具”|“宏”|“安全性...”菜單下的宏安全設(shè)置中找到。
-
宏安全級(jí)別
圖 1 所示為“安全級(jí)”對(duì)話框。此設(shè)置用于確定應(yīng)用程序的安全級(jí)別:“低”、“中”或“高”。圖 1:“安全級(jí)”對(duì)話框
-
可靠來源
圖 2 所示為“可靠來源”對(duì)話框。如果選中“可靠來源”選項(xiàng)卡中的“信任所有安裝的加載項(xiàng)和模板”復(fù)選框,應(yīng)用程序?qū)延脩粢寻惭b的自定義智能標(biāo)記加載到內(nèi)存中,而不管智能標(biāo)記 DLL 是否被簽名。此復(fù)選框默認(rèn)被選中。如果需要加強(qiáng)對(duì)宏安全性的控制,用戶或管理策略可以取消選中該復(fù)選框。圖 2:“可靠來源”對(duì)話框
信任圖表
表 1 中的信任圖表確切地解釋了 Office XP 處理安裝在用戶系統(tǒng)中的自定義智能標(biāo)記的方式。Office XP 處理系統(tǒng)的方式取決于以下因素:
-
是否選中“信任所有安裝的加載項(xiàng)和模板”?
此設(shè)置默認(rèn)被選中。 -
智能標(biāo)記是否被數(shù)字簽名?
Microsoft 強(qiáng)烈建議所有開發(fā)人員通過證書頒發(fā)機(jī)構(gòu)(如 Verisign)對(duì)智能標(biāo)記進(jìn)行簽名。 -
智能標(biāo)記是否來自可靠來源?
應(yīng)用程序能夠識(shí)別已由用戶或管理員標(biāo)識(shí)為可靠來源。這可以是用戶自己的組織(對(duì)于內(nèi)部開發(fā)的智能標(biāo)記),也可以是其他公司(如 Microsoft)。
結(jié)果
根據(jù)這些設(shè)置,Office XP 將以下列方式之一處理智能標(biāo)記。Office XP 將:
-
不給出提示就將智能標(biāo)記加載到內(nèi)存
智能標(biāo)記加載到內(nèi)存不需用戶干涉,也沒有提示。 -
顯示數(shù)字簽名提示
詢問用戶是否接受已經(jīng)過數(shù)字簽名的智能標(biāo)記。該對(duì)話框包含一個(gè)復(fù)選框,允許用戶將此智能標(biāo)記的來源標(biāo)識(shí)為將來可以信任的來源。對(duì)于所有數(shù)字簽名的加載項(xiàng)也使用該對(duì)話框,它并非智能標(biāo)記所獨(dú)有。 -
不把智能標(biāo)記加載到內(nèi)存
智能標(biāo)記不加載到內(nèi)存。這是一個(gè)無提示過程,不需要用戶確認(rèn),也不顯示對(duì)話框。 -
提示用戶啟用宏
此對(duì)話框警告用戶當(dāng)前文檔中含有宏。用戶可以選擇在當(dāng)前文檔中啟用宏,這會(huì)將智能標(biāo)記加載到內(nèi)存;也可以選擇禁用宏,不加載智能標(biāo)記。除非用戶改變安全設(shè)置,否則每次打開包含智能標(biāo)記的文檔時(shí)都會(huì)看到此對(duì)話框。
表 1:信任圖表
保密性考慮
除了考慮進(jìn)入組織的文檔的內(nèi)容外,當(dāng)文檔在用戶間或組織間傳送時(shí),用戶和管理員還必須考慮其保密性。雖然智能標(biāo)記一般不會(huì)危及保密性,但準(zhǔn)確地了解使用智能標(biāo)記的文檔所傳輸?shù)男畔⒎N類以及如何在需要時(shí)控制數(shù)據(jù)的傳輸是十分重要的。
智能標(biāo)記持久性
通過電子郵件、網(wǎng)絡(luò)或其他媒體傳輸包含智能標(biāo)記的文檔時(shí),可執(zhí)行代碼并不隨之傳輸。只有將智能標(biāo)記安裝在計(jì)算機(jī)上,并在該計(jì)算機(jī)上查看文檔時(shí)才執(zhí)行代碼。智能標(biāo)記中隨實(shí)際文檔傳輸?shù)闹皇?XML 數(shù)據(jù)島,它用于標(biāo)識(shí)智能標(biāo)記可識(shí)別的文本。某些情況下,被識(shí)別的信息可能是保密的。例如,一個(gè)組織有一個(gè)可以識(shí)別其客戶名稱的智能標(biāo)記,而客戶列表是不公開的,這樣,對(duì)于分發(fā)到組織之外的文檔,就希望在其中禁用該智能標(biāo)記。通過在應(yīng)用程序中關(guān)閉“嵌入智能標(biāo)記”復(fù)選框即可實(shí)現(xiàn)此目的。此復(fù)選框的位置如下:
-
Microsoft Word 2002
在“工具”|“選項(xiàng)”|“保存”選項(xiàng)卡中。請(qǐng)參閱圖 3。 -
Microsoft Excel 2002
在“工具”|“自動(dòng)更正選項(xiàng)”|“智能標(biāo)記”選項(xiàng)卡中。請(qǐng)參閱圖 4。 -
Microsoft Outlook
2002
使用 Word 作為默認(rèn)郵件編輯器來創(chuàng)建新郵件。然后單擊“工具”|“選項(xiàng)”|“常規(guī)”選項(xiàng)卡中的“電子郵件選項(xiàng)...”按鈕,在“常規(guī)”選項(xiàng)卡中,取消選中“在電子郵件中保存智能標(biāo)記”。請(qǐng)參閱圖 5。如果禁用這些選項(xiàng),智能標(biāo)記數(shù)據(jù)將不隨文檔傳輸。
圖 3:Word 2002 嵌入智能標(biāo)記選項(xiàng)
圖 4:Excel 2002 工作簿中嵌入智能標(biāo)記選項(xiàng)
圖 5:Outlook 2002 在電子郵件中保存智能標(biāo)記選項(xiàng)
收件人的體驗(yàn)
事實(shí)上,如果通過文檔將智能標(biāo)記從一個(gè)用戶發(fā)送到另一用戶,文檔收件人的體驗(yàn)取決于其本地安全設(shè)置和已安裝的智能標(biāo)記。當(dāng)用戶在文檔中遇到識(shí)別文本的智能標(biāo)記時(shí),通常會(huì)看到帶有小下劃虛線的被識(shí)別出的文本。如果用戶將光標(biāo)置于下劃線上,智能標(biāo)記圖標(biāo)就會(huì)顯示。單擊此按鈕時(shí),將會(huì)列出與該智能標(biāo)記相關(guān)聯(lián)的操作清單。如果智能標(biāo)記具有相關(guān)聯(lián)的“下載位置 URL”屬性,則這些操作中將包含一個(gè)“檢查新操作”。但是請(qǐng)注意,如果智能標(biāo)記既沒有操作,也沒有“下載位置 URL”屬性,用戶將不會(huì)看到下劃線或智能標(biāo)記操作按鈕。然而,這并不意味著文檔中沒有智能標(biāo)記。相反,文檔仍可能包含含有智能標(biāo)記元數(shù)據(jù)的 XML 數(shù)據(jù)島。保密性圖表對(duì)此進(jìn)行了詳細(xì)解釋。
保密性圖表
表 2 所示為保密性圖表。各種保密性設(shè)置將影響智能標(biāo)記在文檔中的嵌入方式,該圖表可幫助開發(fā)人員理解使用智能標(biāo)記時(shí)的保密性問題。
設(shè)置
以下設(shè)置將影響智能標(biāo)記在文檔中的嵌入方式,以及收件人的用戶體驗(yàn):
-
“嵌入智能標(biāo)記”復(fù)選框中是否有選中標(biāo)記?
是否選中“嵌入智能標(biāo)記”復(fù)選框。 -
智能標(biāo)記是否具有相關(guān)聯(lián)的操作?
是否有任何操作與該智能標(biāo)記相關(guān)聯(lián)。智能標(biāo)記僅用于識(shí)別文本,而不提供任何可見的用戶操作。 -
智能標(biāo)記是否具有“下載位置 URL”屬性?
智能標(biāo)記是否具有相關(guān)聯(lián)的“下載位置 URL”。此屬性是在智能標(biāo)記的設(shè)計(jì)過程中設(shè)置的。
結(jié)果
根據(jù)用戶的保密性設(shè)置和已安裝的智能標(biāo)記,下列行為可能對(duì)保密性和文檔收件人的體驗(yàn)產(chǎn)生影響:
-
XML 嵌在文檔中
文檔中嵌入了指定識(shí)別文本的 XML 數(shù)據(jù)島。 -
收件人打開文檔時(shí),將看到帶有下劃線的智能標(biāo)記文本。
如果智能標(biāo)記識(shí)別出文檔中的文本,該文本將帶有下劃線,并且當(dāng)光標(biāo)置于文本上時(shí),會(huì)顯示智能標(biāo)記按鈕。 -
收件人可以使用相應(yīng)操作
單擊智能標(biāo)記按鈕時(shí),智能標(biāo)記的所有可用操作將顯示在下拉菜單中。 -
收件人可以使用“檢查新操作”
下拉菜單中將顯示“檢查新操作”。 -
沒有出現(xiàn)任何上述情況
文檔不包含智能標(biāo)記或與智能標(biāo)記相關(guān)的 XML 標(biāo)記。
表 2:保密性圖表
其他考慮
性能
智能標(biāo)記識(shí)別器在后臺(tái)線程中運(yùn)行。所以,它們不影響用戶的輸入或應(yīng)用程序的使用。文本從應(yīng)用程序傳遞給這些識(shí)別器。智能標(biāo)記運(yùn)行時(shí),識(shí)別文本的列表保存在內(nèi)存中。為確定首先進(jìn)行智能標(biāo)記的文本,Word 使用類似于拼寫檢查器所使用的算法。Excel 僅在選定單元格時(shí)才檢查智能標(biāo)記識(shí)別,每次檢查一個(gè)單元格。也就是說,電子表格可見部分的文本具有最高的優(yōu)先級(jí),這樣用戶就不必等待智能標(biāo)記。
如果安裝了多個(gè)識(shí)別器,它們的執(zhí)行順序是任意的。開發(fā)人員應(yīng)盡可能避免創(chuàng)建一直依賴于數(shù)據(jù)庫連接或 Web 訪問的識(shí)別器,因?yàn)樗鼈儾豢赡苁冀K可用。如果依賴于這種功能的識(shí)別器運(yùn)行很慢的話,就會(huì)妨礙其他識(shí)別器的運(yùn)行。
識(shí)別沖突
創(chuàng)建智能標(biāo)記時(shí),開發(fā)人員還應(yīng)意識(shí)到有可能發(fā)生識(shí)別沖突。智能標(biāo)記開發(fā)人員需要為自定義智能標(biāo)記定義一個(gè) XML 名稱空間。這樣可以保證自定義智能標(biāo)記之間的獨(dú)立性。
首先,很有可能會(huì)出現(xiàn)兩個(gè)智能標(biāo)記將同一文本識(shí)別為兩個(gè)不同的智能標(biāo)記類型的情況。例如,“Greal”可能被同時(shí)識(shí)別為公司名稱類型和化學(xué)制品類型。此時(shí),兩個(gè)智能標(biāo)記都將識(shí)別該文本,并向用戶提供級(jí)聯(lián)菜單,以便用戶選擇要執(zhí)行的智能標(biāo)記。
也可能出現(xiàn)兩個(gè)識(shí)別器識(shí)別重疊文本的情況。例如,假設(shè)有兩個(gè)識(shí)別器:“識(shí)別器 A ”和“識(shí)別器 B”。識(shí)別器 A 將“123 大街,D 單元”識(shí)別為“街道名”智能標(biāo)記,而識(shí)別器 B 將“123 大街”識(shí)別為“街道名”智能標(biāo)記。此時(shí),兩個(gè)識(shí)別器將重疊區(qū)域識(shí)別為同一種類型,用戶只能任意選擇并接受其中的一個(gè)智能標(biāo)記。請(qǐng)注意,在 Excel 中,識(shí)別器只識(shí)別單元格中的全部內(nèi)容。
最佳方案
Microsoft 向使用智能標(biāo)記和關(guān)注安全性問題的組織提出如下建議:
-
對(duì)智能標(biāo)記 DLL 進(jìn)行數(shù)字簽名
在任何開發(fā)過程中(包括智能標(biāo)記開發(fā)),應(yīng)將對(duì) COM DLL 進(jìn)行數(shù)字簽名作為一標(biāo)準(zhǔn)步驟。 -
使用適當(dāng)?shù)暮臧踩O(shè)置
對(duì)于大多數(shù)設(shè)置來說,默認(rèn)設(shè)置可以提供足夠的安全保障。如果需要更高的安全控制級(jí)別,請(qǐng)取消選中“信任所有安裝的加載項(xiàng)和模板”復(fù)選框,并將宏安全級(jí)別設(shè)置為“高”或“中”。 -
管理保密性
如果您的組織使用了智能標(biāo)記來識(shí)別敏感數(shù)據(jù),請(qǐng)關(guān)閉在所有與外部交流的文檔中嵌入的智能標(biāo)記。 -
在防火墻內(nèi)重定向智能標(biāo)記
安裝有防火墻的組織可考慮在防火墻內(nèi)為所有智能標(biāo)記設(shè)置一個(gè)本地分發(fā)點(diǎn),使用策略模板將“下載位置 URL”和“檢查新智能標(biāo)記”功能定向到此位置。
總結(jié)
用戶和管理員越來越關(guān)注安全問題。Microsoft 已經(jīng)采取了一些很好的措施來幫助管理員管理網(wǎng)絡(luò)安全問題。其中包括 Office 應(yīng)用程序內(nèi)的“數(shù)字簽名”支持、策略模板和安全設(shè)置等。智能標(biāo)記在這種安全環(huán)境中運(yùn)行良好,因?yàn)椴]有真正的代碼隨嵌入了智能標(biāo)記的文檔一起傳輸。此外,最終用戶還可以使用 Office XP 控制智能標(biāo)記的許多功能,所以智能標(biāo)記不會(huì)為惡意代碼提供進(jìn)入環(huán)境的途徑。盡管如此,管理員在管理網(wǎng)絡(luò)安全方面仍需謹(jǐn)慎小心。因此必須理解智能標(biāo)記的概念、它在應(yīng)用程序環(huán)境中的功能以及給企業(yè)環(huán)境帶來的好處。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
