KMS結構與安裝 微軟公司的Exchange Server一直提供高級安全功能,以便用戶保護其郵件信息的安全。這些高級安全功能保證信息的機密性和完整性,並檢查信息發送者身份的真實性,它提供端到端信息保護,從發送者簽名、加密信息開始,直到接收者閱讀信息,信息在傳輸過程中的各個環節,甚至在Exchange Server的信息存儲器(Information Store,IS)和用戶的個人文件夾中,都一直處於加密保護狀態。Exchange圍繞可選的密鑰管理服務器(Key Management System,KMS)構造了高級安全體系。本文將討論Exchange 2000 Server的KMS版本,以及KMS和以前的Exchange Server 5.5版本的主要不同之處,並討論有關微軟Outlook 2000 和Outlook Express 5.0 Secure MIME(S/MIME)的特點。 KMS基礎和互操作 Exchange的高級安全功能具有一個獨特的密鑰恢復特性,即可以使用戶恢復丟失或刪除的加密密鑰。需要注意的是,不要把密鑰委托保管和密鑰恢復相混淆; 前者負責有關部門(如政府機構)對用戶加密數據的訪問,而後者負責用戶訪問他們自己的加密數據。 在高級安全體系中,密鑰恢復是基於服務器的。對於每一位可以使用高級安全功能的用戶,KMS數據庫中保存著當前和過去的加密密鑰,這體現了雙重密鑰的工作方式,即用戶有一對密鑰用於加密,另一對密鑰用於簽名。如果高級安全體系僅僅使用一對密鑰,並把這對私人密鑰保存在KMS數據庫中用於密鑰恢復,它就不能保證可信的數字簽名服務。數字簽名要求用戶能夠訪問只有他自己才能訪問的私人簽名密鑰,否則任何人都可以模仿該用戶。因此,Exchange Server只把簽名密鑰對保存在客戶端。基於服務器的安全要求更多的管理職能,系統管理員必須在高級安全體系中對用戶進行登記,定期地備份KMS數據庫,以便必要時恢復用戶的加密密鑰。 經過不斷發展,Exchange Server KMS目前已經能夠發布實用的安全消息。最初,KMS只產生X.509版本1的證書。Exchange Server 5.5 Service Pack 1(SP1)在這方面做了重要改進。在SP1中,用戶可以向產生X.509 版本3證書的微軟認證服務器(Microsoft Certificate Server,MCS)提供證書底稿。現在,KMS已成為注冊機構。按照公鑰體系(PKI)的定義,除了產生和廢除證書外,,注冊機構執行所有證書管理的任務。證書機構負責證書的產生和廢除;而注冊機構識別用戶,產生證書需求。由於KMS的這一重大改進,高級安全功能和企業PKI開始完全集成在一起。 開放標准對於互通性非常重要。KMS高級安全功能既按照使用國際電信聯盟的電信技術部(ITU-T)定義的證書格式制定X.509標准,也使用Internet 的安全信息標准S/MIME,因此具有良好的互通性。S/MIME是混合密碼方案的優秀典型,它把對稱及不對稱密碼和散列法的功能捆綁在一起。1999年7月,IETF在RFC 2632~2634中描述了S/MIME 3.0標准。在高級安全方面,互通性是非常重要的,即安全系統是否支持雙密鑰對,目前並非所有廠商的S/MIME產品都支持雙密鑰對系統。 KMS結構 基本的Exchange 2000 KMS結構和以前具備高級安全功能的密鑰管理服務系統沒有較大的區別。新的KMS仍然使用一個私人JET數據庫(kmsdir.edb)保存由KMS管理的賬戶和口令,以及用戶的私人密鑰、簽名和保密歷史。Exchange 2000 KMS仍然從KMS數據庫獲取一個密鑰,並使用這個密鑰加密和解密JET數據庫。系統管理員必須在每次KMS啟動時手工地輸入口令,用它作為啟動參數;或者把口令放在磁盤中,半自動地啟動KMS。但是,Exchange 2000 KMS提供了一種新的選擇,以便系統管理員可以改變數據庫啟動口令。這項特性增強了安全機制。如果需要改變口令,只需用鼠標右鍵點擊“Key Manager”( 密碼管理)按鈕,選擇所有的項目,就能夠改變口令。 為了使128位KMS數據庫加密功能更加強大,新的KMS仍然使用Exchange獨特的加密服務提供者(Cryptographic Service Provider,CSP)。一旦發生KMS離線的情況, Exchange 2000的系統助理(System Attendant,SA)可以起到緩沖存儲的作用,存儲與KMS相關用戶的請求。例如,當一個用戶在高級安全系統上進行登記而KMS處於離線狀態時,那麼該用戶提交的簽名證書請求將一直由SA存儲,直到KMS在線。 由於微軟在Exchange 2000 和Windows 2000之間實現了目錄集成,現在活動目錄(Active Directory,AD)可以存儲更多的內容,包括證書、證書廢除表(Certificate Revocation List,CRL)和加密參數等。 為了讓Exchange 2000的KMS能使用X.509 版本3證書,系統管理員可以把KMS連接到證書服務器上,他們不再需要在證書服務器上安裝特殊的CA策略模塊expolicy.dll。Windows 2000的證書服務器所包含的策略模塊已經支持Exchange 2000。為了與Outlook 97及早期版本的S/MIME兼容,新的KMS仍然支持X.509版本1證書格式。 要使KMS能夠產生X.509版本1格式的證書,可以進行如下操作:雙擊“Key Manager”按鈕,輸入KMS管理口令,點擊“Enrollment”(登錄)選項卡,選擇“I have Outlook 97 or older clients in my organization. Issue Version 1 and version 3 certificates”(在我的組織中有Outlook 97或早期客戶可以發行版本1和版本3證書)復選框,如圖1所顯示的那樣。於是,在用戶登錄時,KMS就能夠自動檢測客戶端的情況。然後,KMS根據檢測結果,針對不同的客戶產生不同的證書。如果客戶采用的是Outlook 97,那麼產生一個X.509 版本 1證書; 如果客戶采用的是Outlook 98或更高版本,則除了產生一個X.509版本1證書,還向證書服務器發出請求,申請產生一個X.509 版本3證書。 高級安全服務器端的安裝 在安裝Exchange 2000高級安全功能之前,需要安裝Windows 2000、Exchange 2000、AD和Windows 2000 CA。利用Windows 2000 CA是Exchange 2000 KMS和以前版本的重要區別。系統管理員必須把CA和AD集成起來,這項集成也稱為企業CA,同時需要加載機器登錄代理(Machine Enrollment Agent)、Exchange用戶(Exchange User)和Exchange用戶簽名(Exchange User Signature)模板。本文把隨模板一起加載的CA稱為KMS-CA。Windows 2000的證書模板對決定CA可以發布哪種類型的證書提供了比較靈活的方法。有了Windows 2000的發行候選者2(Release Candidate 2,RC2),就可以利用機器登錄代理、Exchange用戶和Exchange用戶簽名證書模板等。
Exchange 2000有一個新的安裝向導。在安裝向導下安裝KMS,要在“組件選擇”(Component Selection)對話框中選擇解壓縮微軟Exchange 2000,解壓縮微軟Exchange消息和協作,並選擇微軟Exchange密鑰管理服務,然後在左邊列點擊“Install”(安裝)即可。和Exchange服務器的早期版本一樣,系統管理員在安裝KMS時,可以選擇軟盤或手工這2種啟動方式。安裝進程創建一個新的叫做Exchange KMS服務器的Windows 2000程序組,並且頒發一個機器登錄代理證書到密鑰管理(KM)服務器。安裝進程也將改變AD的配置名稱,從而反映出那些和Exchange 2000管理組相關結構的變化。 Exchange 2000管理組是Exchange 2000對象的邏輯分組; 系統管理員通過管理組進行管理。在Exchange 2000上安裝了KMS之後,系統管理員會注意到KMS擴展了AD框架,並且在Exchange 2000機構內的每個管理組加上了高級安全容器(Advanced Security Container)。與Exchange Server 5.5(它每個節點包含一個KM服務器)不同,Exchange 2000 KMS現在鏈接到某一個管理組,每個管理組可以包含一個KM服務器。為了使Exchange Server機構中的所有信箱啟用高級安全功能(即S/MIME),系統管理員需要至少在一個Exchange 2000服務器上安裝KMS。從技術上講,在包含多個節點的跨國Exchange服務組織上,設立一個KM服務器一般就足夠了。然而,由於行政的原因,系統管理員往往需要安裝多個KM服務器。因為某個分部可能不喜歡設在國外的中心來管理自己的S/MIME設置。一般來說,擴容不成問題,除非需要登錄超過10萬個高級安全用戶。 圖2所示的高級安全容器可以包括2個對象:加密設置對象和密碼管理對象。後者僅當管理組包含有KM服務器時才有效。加密設置對象在每個管理組中都有效,系統管理員可以為每個組設置不同的加密參數。 和Exchange Server 5.5的KMS一樣,新的KMS在加密配置的設置方面,與Exchange Server 4.0/5.0在實現S/MIME方面有所不同。從表面上看,Exchange Server和S/MIME與Exchange Server上的安全郵件操作有關,但事實上它們是指客戶端的郵件安全操作,因為所有基於郵件安全的加密操作都發生在客戶端。兩種設置的不同之處在於客戶端對於S/MIME協議和Exchange 4.0/ 5.0安全信息協議的支持。客戶端軟件所選擇的對於郵件信息的加密算法依賴於客戶端的軟件版本和首選的加密算法。 在客戶端軟件版本方面,Outlook有2個版本,即一個北美版本和一個國際版本。微軟為北美版本提供了比國際版本更強的加密算法,因為美國出口法禁止出口密鑰長度超過56位的加密軟件。在北美以外的地區,系統管理員可以使用服務器門密碼系統(Server Gates Cryptography,SGC)輸出僅用於電子商務和某些電子郵件的128位加密算法。最近對於美國出口法的修改可能會很快導致國際加密標准的改變。 至於首選的加密算法,系統管理員可以為每個管理組的加密配置對象設置首選的加密算法。如果在發送端和接收端都有多個加密算法可用,客戶軟件為客戶郵件信箱所屬的管理組選擇首選的加密算法集。因為算法越強,越需要客戶端具有更強的處理能力,在加密強度並非至關重