1. 程式人生 > >(轉)關於金鑰管理的幾個設計原則

(轉)關於金鑰管理的幾個設計原則

關於金鑰管理的幾個設計原則

網路安全有賴於金鑰管理的有效性,即保證密碼的產生,儲存,傳輸和使用的安全性,這就要求對金鑰進行有效的管理。

1,任何密碼不以明文的方式進行儲存,除非是放在足夠安全的密碼裝置內。人工分配的金鑰必須以金鑰分量方式分別由不同的多個可信任的實體保管,不得直接以明文方式由單個實體掌握,對密碼裝置的任何操作均無法使得金鑰以明文方式出現於密碼裝置之外;


2,保證金鑰的分離性,不同通訊實體之間使用不同的金鑰,且這些金鑰不能存在相關性,即一對通訊實體之間的安全通訊出現問題,不應引起另一對實體的安全通訊,包含這四個實體中有兩個實體相同的情況;


3,金鑰需要具備一定的備份機制,當系統出現故障導致金鑰的丟失,應該能通過對金鑰備份的回覆,來確保系統是可修復的,但金鑰的備份不應該降低金鑰管理的安全性。



4,金鑰必須具備有效期,當舊金鑰過期時,需要及時進行金鑰的替換,同時,新金鑰安全性和舊金鑰的安全性應該分離,即舊金鑰即使洩漏也不應該引起新金鑰的安全性出現問題.


5,金鑰管理需要具備層次性。

       網路要求每次交易的PIN保密.MAC的計算以及其它資訊的加密所使用的金鑰互不相同,作到一次一密.而為了保證交易的延續性,這些金鑰均要由一個實體產生並安全地傳輸到另一個與之通訊的實體, 這就要求通訊雙方必須共同使用一個加密金鑰(KEK),以加密上述的各種工作金鑰,KEK不能通過網路進行傳輸,而只能在系統使用前裝入,或者通過兩個實體各自分別產生一個相同的金鑰作為KEK,有了KEK,便解決了會話金鑰的傳輸問題。

       在網路中,商戶、髮卡行均需要與為數眾多的實體進行安全通訊,這就要求系統中具有大量的金鑰(會話金鑰和KEK),這些金鑰無法全部儲存在安全密碼裝置中,因此需要使用主金鑰(MFK)對這些金鑰加密儲存於密碼裝置之外的主機資料庫中。

   一級:MFK,主金鑰,儲存於密鑰裝作中,用於加密KEK和SK,以儲存在密碼裝作外。
   二級:KEK,金鑰加密金鑰,用於SK的加密傳送,每對通訊實體都有一相同的KEK。

   三級:SK,會話金鑰,用於加密PIN,產生MAC和驗證MAC等。

6,金鑰和金鑰屬性

       KEK和SK都具有金鑰屬性,用於功能分離和使用合法性檢驗,以提高系統的邏輯安全.金鑰的屬性包含此金鑰的層次(

標識KEK或SK).使用有效次數.MFK序號.金鑰用途和金鑰校驗值等內容,金鑰屬性與金鑰一起使用,密碼裝置根據金鑰屬性校驗金鑰使用的合法性.控制金鑰的誤用.金鑰校驗值由相應金鑰值與屬性在MFK的加密下產生.金鑰屬性僅與相應金鑰的明文儲存在主機中,也僅用於主機安全密碼裝置,不進行傳輸。