密鑰管理簡介
密鑰,即密匙,一般泛指生產、生活所應用到的各種加密技術,能夠對個人資料、企業機密進行有效的監管,密鑰管理就是指對密鑰進行管理的行為,如加密、解密、破解等等。
密鑰管理包括,從密鑰的產生到密鑰的銷毀的各個方面。主要表現于管理體制、管理協議和密鑰的產生、分配、更換和注入等。對于軍用計算機網絡系統,由于用戶機動性強,隸屬關系和協同作戰指揮等方式復雜,因此,對密鑰管理提出了更高的要求。
密鑰的種類
a) 基本密鑰或初始密鑰:基本密鑰是用戶選出的由系統分配給用戶的可能在較長時間內用戶所專用的密鑰,又稱用戶密鑰。基本密鑰和會話密鑰一起啟動和控制由某種算法所構成的密鑰產生器,依次產生用于加密數據的密鑰流
b) 會話密鑰:會話密鑰是兩個通信終端用戶在一次交換數據時所采用的密鑰,當用其保護傳輸密鑰時稱為數據加密密鑰,當用其保護文件時,稱之為文件密鑰。會話密鑰可以由通信雙方互相約定,也可由系統動態地賦予通信雙方,故又稱專用密鑰
c) 密鑰加密密鑰,密鑰加密密鑰是對通信中傳送的會話或文件密鑰進行加密時所采用的密鑰,通信網中每一個結點都有這樣的一個密鑰
d) 主機主密鑰:主機主密鑰是對密鑰加密密鑰進行加密的密鑰,存儲于主處理器中。
密鑰管理目的和適用范圍
目的:
規范公司產品開發及生產過程中密鑰使用的保密要求,以防止因不當操作發生信息泄露。
適用范圍:
本規定適用于公司產品設計開發及生產過程中密鑰使用的管理。
密鑰管理的基本任務與要求
1、安全數據的產生
開始進行個人化之前,必須創建相應的加密密鑰,必須按本部分的規定進行。至少應生成以下的密鑰:
a)發卡行主密鑰(KMC):用來派生KMAC、KENC和KDEK三個密鑰。
●KMAC——用來鎖閉中國金融集成電路(IC)卡的應用區,并對個人化過程中裝載到卡片的個人化數據進行檢驗,證實它們完整無損,且沒有被修改;
●KENC——用來生成IC卡密文和驗證主機密文;
●KDEK——用來加密在個人化過程中寫入卡片的保密數據。
KMC對每個發卡行是獨有的,而KMAC、KENC和KDEK對每張卡是獨有的。
b)主密鑰(MDK)——用來導出:UDK——用于聯機的卡認證和發卡行認證。
就每個BIN(銀行標識碼)而言,MDK通常是唯一的,而UDK對每張卡都必須是唯一的。c)發卡行公私鑰對——通常由發卡行生成,公鑰應傳輸給中國金融集成電路(IC)卡認證機構,供其創建發卡行公鑰證書。私鑰被保存在發卡行的HSM(主機加密模塊)內。
d)密鑰交換密鑰(KEK)——用來對發卡行個人化輸入文件中的機密數據進行加密,每個發卡行的KEK必須是唯一的。
e)傳輸密鑰(TK)——用來對數據準備系統向個人化系統傳送的發卡行個人化輸入文件中的機密數據進行加密。
作為選擇,也可以用發卡行公私鑰對生成這些密鑰。
f)ICC公私鑰對——IC卡利用這一對密鑰執行DDA和CDA/AC密文生成算法。其中,公鑰須經過發卡行私鑰的簽名,才能獲得發卡行公鑰證書。每張卡的ICC公私鑰對必須是獨一無二的。
g)MDKENC——用來導出:UDKENC——用來加密發卡行的腳本機密信息。
h)MDKMAC——用來校驗發卡行的腳本信息。
2、密鑰的形成與分發
不同類型的加密算法支持《EMV卡個人化規范:2003》中的不同功能。然而,當加密算法沒有得到正確實施時,加密算法的預定作用將受到負面的影響。一種安全的實施將取決于規范所需的不同密鑰被簽發者管理的好壞程度。以下材料的目的是提供不同算法類型所扮演的加密角色的一個概述,以及提出安全地管理密鑰所必需的基本要求。a)非對稱(SM2/RSA)密鑰管理IC卡的安全性取決于私鑰(簽名)的保護。不能保證用來對靜態或動態數據元簽名的私鑰的安全性將使IC卡面臨被偽造的風險。私鑰面臨的主要風險包括:——成功地解決ECDLP問題,以及成功地分解RSA模數;——私鑰自身的泄漏。
為了限制這些風險所代表的潛在的泄露問題,我們推薦使用以下發卡行要求。私鑰(簽名)的安全性取決于許多因素,包括:
——SM2/RSA密鑰模數位的長度,例如:256或者1024和1152;——組成公鑰/私鑰模數的主要數字的質量;
——用來從物理上保障(保護)私鑰(簽名)不受未經授權的訪問和暴露/危害的影響的方法,特別是當IC卡或其它安全加密設備(SCD)使用它們時為密鑰提供的保護。
SM2/RSA密鑰生成當生成SM2/RSA公私鑰對時,推薦在一臺物理安全的設備的受保護內存中完成這個過程。這種設備必須包含一個隨機或偽隨機數字生成器,執行原始校驗例程,并支持篡改響應機制。
——SM2/RSA私鑰(簽名)可能對物理安全設備而言是暫時性的;
——密鑰生成將利用一個隨機或偽隨機過程,以使得不可能預測出任何密鑰或者確定密鑰空間中的某些密鑰比其它任意密鑰可能性更大;
——個人計算機或其它類似的不安全設備,即不被信任的設備,將永遠不能用來生成SM2/RAS公私鑰對。
密鑰傳輸和存儲為了保護公私鑰對的完整性,對發卡行而言,確保這種密鑰數據使用以下步驟非常重要:
——公鑰應能被確保安全以及用一種能夠保證它們完整性的方式來傳輸。推薦公鑰始終在諸如一個證書之類的數據結構中傳輸,或者可以跟一個報文鑒別碼(MAC)來保證完整性,這個報文鑒別碼是由一個僅用于該用途的密鑰按照ISO9807定義的算法應用于公鑰和相關數據而得。也推薦使用雙重控制技巧來確保公鑰的接收方有辦法驗證它的發送方和完整性,即通過公鑰上的一個校驗值的單獨和獨立的傳輸來實現這一點;
——私鑰必須用一種能夠保證它們的完整性和私密的方式來保障安全和傳輸。傳輸機制可能包括:
一臺安全加密設備;
利用至少與加密相等力量的對稱算法來對被保護密鑰的私鑰進行解密;作為幾個部分(在IC卡上保障安全),并使用一個對稱算法來進行解密。
對稱密鑰管理JR/T0025中的對稱密鑰用于特殊的事務功能。對稱密鑰是在個人化期間從一個主導出密鑰(MasterDerivationKey)中導出的。最終的卡片級密鑰是唯一的。發卡行主密鑰包括:
——發卡行主導出密鑰(IDKAC):用來導出卡片密鑰,該密鑰用于生成稱為應用密文(AC)的MAC;
——發卡行安全報文主密鑰(IMKSMCIMKSMI):用來導出卡片密鑰,這些卡片密鑰用在卡片和驗證系統之間的安全報文中,即卡片鎖定、應用鎖定/解鎖、更新卡片特定數據和修改PIN。
密鑰生成發卡行將使用以下原則來使密鑰數據在創建期間泄漏的機會最小化:
——在生成密鑰時,它們必須要么在一臺由篡改響應機制保護的物理安全的設備中生成,要么必須由授權的工作人員以一部分一部分的形式生成(見下文)。設備必須包含一個隨機或偽隨機的數字生成器;
——任何時候一個未被保護的密鑰都不能存在于一臺物理安全的設備的被保護內存之外。任何時候物理安全的設備都不能輸出純文本的密鑰,除非作為密碼或者以兩個或更多部分的形式輸出;
——當密鑰由授權工作人員通過一個將各部分組合的過程來生成時,必須要求每一方生成一個和要生成的密鑰一樣長的部分。密鑰組合過程在一個物理安全的設備內部進行。此外,組合各部分的方法應當是,知道了各部分的任何一個子集也無法知道密鑰值。分開的密鑰由一個管理機構掌握,至少應有一個部分持有人是發卡行的一名員工;
——應當為實際密鑰的全部計算校驗位;
——個人電腦或類似的不安全設備永遠不能用來生成密鑰資料;
——如果發現任何密鑰存在于一個物理安全的設備之外,或者密鑰的各個部分被人所知,或者有被單個人掌握的嫌疑,那么該密鑰將被認為已被泄漏,并且必須用一個新的密鑰來替換它。密鑰傳輸和存儲對稱密鑰可能需要被傳輸和存儲。例如包括將對稱密鑰從發卡行的站點傳輸給一個第三方的處理商或卡片個性化供應商。當對稱密鑰正被傳輸或存儲時,以下措施將限制數據泄漏的潛在危險:
——對稱密鑰可以被安全地轉移到一塊安全令牌或智能卡的保護之下,以進行傳輸和存儲;
——對稱密鑰只能以以下方式在安全令牌或智能卡的受保護內存之內進行傳輸或存儲:
利用雙重控制和分持機密的原則,以兩個或更多部分的形式作為密碼,密碼是用一個由各方安全地建立的傳輸或存儲密鑰來創建的。
3、根密鑰明文數據的保存
根密鑰明文數據的保存要求如下:
a)一旦接收到密鑰資料,負責的密鑰管理人員必須立即檢查郵包是否篡改,并且必須驗證內容;
b)如果接收的管理人員對密鑰數據的完整性有任何不確定的地方,必須立即通知發送方。發送方與接收方商議決定密鑰數據將來的狀況。關于繼續使用密鑰資料的任何決定的基礎必須記錄在案并由雙方保留;
c)如果硬拷貝數據要保留任意一段時間,那么各個硬拷貝組成部分、安全令牌或智能卡必須保存在一個序列化的保密信封中;
d)這個序列化的保密信封必須持續保存在一個物理安全的容器中,這個容器僅能由指定的密鑰管理人員或預備人員訪問。每次對密鑰數據的訪問都必須記入日志,包括時間、日期、信封序列號、目的和簽名。這些日志將可以向任何相應的請求機構提供;
e)密鑰資料永遠不能在超過任務所需的訪問必需的時間之后保留在保密信封和它們的物理安全的環境之外。
4、其他密鑰數據的保存
下面給出了關于密鑰存儲問題的一些一般的指導,它適用于非對稱和對稱密鑰存儲:
a)PC板的使用
一塊向主機提供加密服務的PC板可以看作是HSM的一種形式和類似的期望保護級別。
注:使用加密安全設備的主要原因是保護密鑰。如果使用HSM主機的系統自身是不安全的,那么攻擊者將更容易危害系統的軟件功能,而忽略HSM。
b)訪問控制
所有在卡外和HSM外保存的密鑰都應當保持在至少雙重的控制之下。c)HSM和IC安全內存
一般而言,HSM將包含單獨的存儲和處理設備,而密鑰資料將跨內部硬件總線傳送。由于這個原因,當檢測到了危害時,HSM清除(或歸零)它的內存是很重要的。此外,HSM的硬件設計解決電磁輻射的問題也很重要。HSM一般設計位于一個安全的環境之中。
5、人員管理
負責管理加密密鑰和密鑰要素及其它密鑰數據設備的人員必須由技術副總指派。指派專人負責監控密鑰數據時,必須落實足夠的保密控制措施,以保證任何個人或未經認可的個人沒有任何機會讀取密鑰的數據成分。密鑰保管人必須是正式受托的職員,決不可以是臨時傭工或顧問。另外,為了確保服務的連續性,可以把候補人員當作主要密鑰管理人的“備份”。選擇“備份”管理人的標準應該和選擇主要密鑰管理人的標準相同。密鑰管理人的責任重大,而且是發卡行安全協議的一個基本組成部分,他們所要管理的密鑰數據是發卡行發卡程序中最重要的加密操作碼。每個發卡行應對內部密鑰管理程序和下列業務的有關人員的作用進行核查:
a)密鑰管理人員的職責包括密碼資料的控制、驗證和安全存儲;
b)密鑰管理人或其“備份”的責任是:
●接收和安全存儲密鑰元;
●對讀取和使用密鑰數據的記錄或日志進行管理,包括讀取次數、日期、目的和重新安全存儲情況;
●對傳輸給發卡行控制權限以外的其它所有指定人員的密鑰數據進行驗證;
對過期密鑰元的銷毀進行簽名作證;
●時常根據需要將密鑰數據輸入安全加密模塊;
●依據數據所有人的通知,指導和監視過期密碼資料的銷毀。
c)密鑰數據最初生成時的密鑰管理人,應負責保護該數據,并將其轉發給接收單位的指定密鑰管理人,這個責任還包括對數據收訖進行驗證。
-
密鑰管理
+關注
關注
0文章
23瀏覽量
7593
發布評論請先 登錄
相關推薦
評論