密鑰托管(Key Escrow)

電腦通訊 9547 1149 2014-11-24

美國政府1993年頒布了EES標準(Escrow EncryptIon Standard),該標準體現了一種新思想,即對密鑰實行法定托管代理的機制。如果向法院提供的證據表明,密碼使用者是利用密碼在進行危及國家安全和違反法律規定的事,經過法院許可,政府可以從托管代理機構取來密鑰參數,經過合成運送,就可以直接偵聽通信。其後,美國政府進一步改進並提出了密鑰托管(KeyEscrow〉政策,希望用這種辦法加強政府對密碼使用的調控管理。

密鑰托管技術又稱為密鑰恢復(Key Recovery),是一種能夠在緊急情況下獲取解密信息的技術。它用於保存用戶的私鑰備份,既可在必要時幫助國家司法或安全等部門獲取原始明文信息,也可在用戶丟失、損壞自己的密鑰的情況下恢復明文。因此它不同於一般的加密和解密操作。現在美國和一些國家規定:必須在加密系統中加入能夠保證法律執行部門可方便獲得明文的密鑰恢復機制,否則將不允許該加密系統推廣使用。

執行密鑰托管功能的機制是密鑰托管代理(KEA:Key Escrow Agent)。密鑰托管代理與證書授權認證中心是公鑰基礎設施的兩個重要組成部分,分別管理用戶的私鑰與公鑰。密鑰托管代理對用戶的私鑰進行操作,負責政府職能部門對信息的強制訪問,但不參與通信過程。證書授權認證中心作為電子商務交易中受信任和具有權威的第三方,為每個使用公開密鑰的客戶發放數字證書,並負責檢驗公鑰體系中公鑰的合法性;它參與每次通信過程,但不涉及具體的通信內容。認證中心可以不依賴於任何形式的密鑰托管機制而獨立存在;反過來,密鑰恢復基礎設施也可以獨立於任何一個密鑰認證機制。

所有傳送的加密信息都帶有包含會話密鑰的數據恢復域(DRF:Data Recovery Field),它由時間戳、發送者的加密證書及會話密鑰組成,與密文綁定在一起傳送給接收方。接收方必須通過數據恢復域才能獲得會話密鑰。

密鑰托管加密體制的結構

(1)用戶安全模塊(USC:User Security Component):是硬件設備或軟件程序,使用密鑰完成對數據的加密和解密,並將數據恢復域附加到加密數據上。

(2)密鑰托管模塊(KEC:Key Escrow Component):由密鑰托管結構控制,管理數據恢復密鑰的存儲、傳送和使用。它可以是密鑰管理基礎的組成部分。

(3)數據恢復模塊(DRC:Data Recovery Component):由算法、協議和設備組成。負責從密鑰托管模塊提供的私鑰信息和數據恢復域中包含的信息中恢復出數據加密密鑰,從而將密文解開。

安全密鑰托管的步驟

密鑰托管最關鍵,也是最難解決的問題是:如何有效地阻止用戶的欺詐行為,使所有用戶無法逃脫托管機構的跟蹤。為防止用戶逃避托管,密鑰托管技術的實施需要通過政府的強制措施進行。用戶必須先委託密鑰托管代理進行密鑰托管,取得托管證書後才能向證書授權認證中心申請加密證書。證書授權認證中心必須在收到加密公鑰對應的私鑰托管證書後,再簽發相應的公鑰證書。

為了防止密鑰托管代理濫用職權及托管密鑰被洩漏,用戶的私鑰被分解成若幹部分,由不同的密鑰托管代理負責保存。只有將所有的私鑰份量合在一起,才能恢復用戶私鑰的有效性。

進行密鑰托管的步驟如下:

(1)用戶選擇若干個密鑰托管代理,分給每一個代理一部分私鑰和一部分公鑰。托管代理根據所得到的密鑰份量產生相應的托管證書。證書中包括該用戶的特定標識符(UID:Unique Identify)、被托管的那部分公鑰和私鑰、托管證書的編號。密鑰托管代理還要用自己的簽名私鑰對托管證書進行加密,產生數字簽名,並將其附在托管證書上。

(2)用戶收到所有托管證書後,將證書和完整的公鑰遞交給證書授權認證中心,申請加密證書。

(3)證書授權認證中心檢驗每份托管證書的真實性,即是否每一個托管代理都保管了一部分有效的私鑰份量,並對用戶身份加以確認。完成所有的驗證工作後,證書授權認證中心生成加密證書,發送給用戶。

司法部門利用密鑰托管對信息的強制訪問

在必要時,司法部門可利用密鑰托管代理,通過數據恢復域實現對通信內容的強制訪問。

司法部門在取得授權後,首先監聽並截獲可疑信息,利用數據恢復域中發送者的加密證書獲得發送者的托管代理標識符及其對應的托管證書號,然後把自己的授權證書和托管證書號交給相應的密鑰托管代理。密鑰托管代理檢驗授權證書的真偽,並在確認真實無誤後向司法部門發送自己保管的那部分私鑰。在收集了所有的私鑰成分後,司法部門就能恢復出發送者的私鑰,再結合接收者的公鑰及時間戳,就能破解會話密鑰,進而破解整個密文。這個密文既可以是一個特殊加密的通信會話,也可以是一個加密存儲的文件。由於密鑰托管不參與通信過程,所以在通信雙方毫無察覺的情況下,司法部門就能審查通信內容。

密鑰托管系統的安全和成本

任何一個密鑰托管系統,都可能發送涉及到成千家公司和密鑰托管代理機構,甚至要求世界範圍內的法律執行部門進行合作。並且,隨著用戶級加密軟件和硬件性能的提高。密鑰恢復也相應地增加了難度。密鑰恢復使用到的實體數量和複雜性,對整個系統的安全和成本有很重要的影響。

密鑰托管系統的成本包括:密鑰恢復機構的操作成本、產品設計和工程代價、政府監督費用等。在密鑰托管系統的設計與實現方面,任何一個潛在的漏洞都可能讓非法用戶獲取相應數據的企圖得逞。密鑰恢復機制的操作一旦失敗,除了不能滿足法律執行部門的要求之外,還可能危害到其它正常的操作,甚至整個加密系統的最終安全,如密鑰被非法洩漏、有價值密鑰信息被竊取。

此外,密鑰恢復基礎設施本身具有一些被非法用戶認為極有攻擊價值的目標,如以集中方式存儲的通信密鑰及有關信息的數據庫。當用戶需要發送密鑰給密鑰恢復機構時,許多密鑰恢復系

統要求用戶先用代理機構的公鑰在本地對密鑰加密。如果密鑰恢復中心只有一個這樣的密鑰,那麼這個密鑰就具有關係全局的價值,但從安全角度上看是一個弱點。當然,為解決這個問題,一般密鑰恢復中心可以有很多個這樣的密鑰。但是在給用戶分發這些密鑰的時候,也個有一定的危險性。因此,在密鑰托管系統的設計階段,應該充分考慮托管系統的處理能力,以及可能引入的風險和需要付出的代價。



,