密鑰管理的重要性
- 所有的密碼技術都依賴於密鑰。決定整個密碼體制安全性的因素將是密鑰的保密性。
- 在考慮密碼系統的應用設計時,特別是在商用系統的設計時,需要解決的核心問題是密鑰管理問題,而不是密碼算法問題。
- 密鑰的管理本身是一個很復雜的課題,而且是保證安全性的關鍵點。
密鑰管理的目的和要求
密鑰管理是一門綜合性的技術,涉及密鑰的產生、檢驗、分發、傳遞、保管、使用、銷毀的全部過程,還與密鑰的行政管理制度以及人員的素質密切相關。
密鑰管理的目的
維持系統中各實體之間的密鑰關系,以抗擊各種可能的威脅:
- 密鑰的泄露
- 秘密密鑰或公開密鑰的身份的真實性喪失
- 未經授權使用
密鑰管理系統的要求
- 密鑰難以被非法竊取
- 在一定條件下獲取了以前的密鑰用處也很小
- 密鑰的分配和更換過程對用戶是透明的
密鑰管理的原則
-
全程安全原則
必須在密鑰的產生、存儲、備份、分發、組織、使用、更新、終止和銷毀等的全過程中對密鑰采取妥善的安全管理。 -
最小權利原則
應當只分發給用戶進行某一事物處理所需的最小的密鑰集合 -
責任分離原則
一個密鑰應當轉職一種功能,不要讓一個密鑰兼任幾種功能 -
密鑰分級原則
可減少受保護的密鑰的數量,又可簡化密鑰的管理工作。一般可將密鑰划分為三級:主密鑰,二級密鑰,初級密鑰。 -
密鑰更新原則
密鑰必須按時更新。否則,即使是采用很強的密碼算法,使用時間越長,敵手截獲的密文越多,破譯密碼的可能性就越大 -
密鑰應當有足夠的長度
密碼安全的一個必要條件是密鑰有足夠的的長度。密鑰越長,密鑰空間就越大,攻擊就越困難,因而也就越安全。 -
密碼體制不同,密鑰管理也不相同
由於傳統密碼體制與公開密鑰密碼體制是性質不同的兩種密碼,因此它們在密鑰管理方面有很大的不同。
對稱密鑰管理技術
密鑰分配
- 需求:
① 通信雙方共享密鑰,且不為他人所知
② 為保證通信安全,密鑰必須經常變動 - 密鑰分配方法:
① 密鑰由A選擇,並親自交給B(人工)
② 第三方選擇密鑰吼親自交給A和B(人工)
③ A或B使用最近使用過的密鑰加密新密鑰再發給另一方
④ A和B與第三方C均有秘密通道,則C可將密鑰分別秘密發給A和B - 典型的對稱密鑰分配模式:
密鑰分配中心(KDC)負責分發密鑰給需要的用戶。
- 分散式密鑰控制
- 其他密鑰分配方案
隨機數的應用
- 密鑰分配時的臨時交互號nonce,防止重放攻擊
- 會話密鑰產生
- RSA公鑰加密中密鑰的產生
- 密文分組連接、密文反饋鏈接和輸出反饋鏈接使用的IV
BBS發生器是現在產生安全偽隨機數的普遍方法。它的安全性是基於大數分解的困難。
公鑰密碼的管理技術
- 密鑰分配
① 公鑰分配
② 公鑰密碼用於傳統密碼體制的密鑰分配 - 公鑰分配方法
① 公鑰的公開發布
② 公鑰可訪問目錄
③ 公鑰授權
④ 公鑰證書
公開發布
- 方法簡便
- 缺乏安全性,任何人都可以偽造其他人的公鑰
公開可訪問目錄
- 類似於電話號碼簿
- 用戶注冊必須通過安全的認證通信
- 缺點:一旦攻擊者獲得管理員的私鑰即可以傳遞偽造的公鑰。
公鑰授權
參數\(N_1\)用來防重放、驗證身份,參數\(N_2\)只用來驗證身份。
公鑰證書
- 通信雙方使用證書來交換密鑰,而不是通過公鑰管理員
- 證書包含用戶編號和公鑰,由證書管理員產生。
- \(C_A=E_{KRauth}[T,ID_A,K_{Ua}]\)
利用公鑰密碼分配傳統密碼體制的密鑰
- 簡單的密鑰分配
- 具有保密性和真實性的密鑰分配
- 混合方法
利用公鑰密碼分配主密鑰
利用主密鑰實現秘密的會話密鑰分配
KDC與每一個用戶分別共享一個秘密的主密鑰
簡單的密鑰分配
- 協議簡單
- 可以抗竊聽攻擊
- 容易受中間人攻擊:重放截獲的信息、對消息進行替換
具有保密性和真實性的密鑰分配方法
Diffie-Hellman密鑰交換
- 舉例說明:
- 一個方便理解的圖:
- 該算法僅能完成密鑰交換,使得兩個用戶可以安全地交換密鑰,用於后續的通訊過程,
- 算法的安全性建立在:
① 求關於素數的模素數冪運算相對容易
② 計算離散對數非常困難
③ 對於大素數,求離散對數被認為不可行 - 容易受到中間人攻擊