對稱密鑰管理系統
本文主要介紹了對稱密鑰管理系統的體系結構、密鑰管理流程、安全通道協議、標准管理消息格式等。詳情可以去查看GM/T0051和GM/T0050的相關內容。
密鑰管理應用與被管設備間的密鑰管理協議,通過GM/T0050定義的安全通道承載。
密鑰管理系統調用GM/T0050—2016中9.2.1的初始化設備管理環境API接口,獲取與被管設備的安全通道句柄,調用GM/T0050-2016中9.4的安全通道數據發送接口,將密鑰管理指令封裝在安全通道消息PDU中發送至被管密碼設備。
整體流程
整體架構
按照密鑰產生機制划分為以下架構:
管理流程
以下為上圖模塊的詳細內容以及密鑰功能介紹:
- 密鑰管理中心統一產生和分發各系統、各型號被管設備的業務密鑰,實現業務密鑰的產生、分發、備份、查詢、更新、歸檔和銷毀。
密鑰管理系統主要功能是管理業務密鑰,同時應具備身份認證、審計管理功能,以確保管理系統的安全。
密鑰管理系統根據具體情況采用多級管理中心的方式。
主控模塊:管理、調度其他模塊的關鍵模塊,完成策略配置、密鑰分發、密鑰查詢等主要密管功能。
密鑰生成策略的配置包括是否使用專用密鑰生成裝置、密鑰生成的數量及長度要求等,由密鑰管理系統根據密鑰管理應用需求制定,密鑰分發策略的配置包括一系列組合條件。
其他策略的配置包括密鑰查詢方式、通用密鑰生成裝置封裝格式的導入等操作
當策略條件滿足時,將觸發相應的密鑰管理操作。
- 密鑰生成/存儲:以通用密鑰生成裝置和專用密鑰生成裝置分別產生通用格式密鑰和專用格式密鑰。
通用密鑰生成裝置生成隨機數,主控管理模塊根據被管設備密鑰格式配置文件的要求將所產生的隨機密鑰封裝為原子密鑰。
-
密鑰分發:根據密鑰分發策略進行在線分發或離線分發。在線密鑰分發過程應遵循本標准制定的密鑰分發協議。離線分發支持多種分發介質,包括專用密鑰加載裝置、通用移動密鑰加載裝置等,應遵循介質的安全分發協議。
-
被管設備接收和執行標准密鑰管理命令。
被管設備的密鑰管理代理由設備廠商定制。
密鑰配置文件
格式要求
密鑰格式配置文件:
- txt格式;
- 5種基本屬性:
- [密鑰適配系統名稱] < 128字節
- 密鑰適配設備型號] < 128字節
- [配置類型]:0-原子密鑰結構,1-密鑰生成參數
- [密鑰生成參數表] → 專用密鑰生成裝置:待產生原子密鑰的密鑰生成參數表
- [密鑰模板表] → 通用密鑰生成裝置:待產生原子密鑰模板碼流表
文件內容
專用密鑰生成裝置生成N個量子密鑰時使用ParaData參數碼流直接調用接口,填寫入ParaData結構。
通用密鑰生成裝置生成N個量子密鑰時所采用的原子密鑰模板表中各個碼流表格式如下:
待加密數據必須填充,方法為:
第一個字節為0x80,氣候為若干個0x00,填充到分組長度整數倍。
指令采用網絡字節序傳輸。
原子密鑰生成存儲
密鑰生成裝置在密鑰管理主機中的主控模塊下發的密鑰格式配置文件的指導下生成了符合要求的原子密鑰,再與密管密碼機進行通信,將這些原子密鑰進行轉加密存儲到密鑰庫中。
密鑰生成裝置與密管密碼機通過證書機制互相通過身份認證后,需要通過協商會話密鑰去加密原子密鑰,並最終將原子密鑰安全地保存到密鑰庫中。
密管密碼機與密鑰生成裝置間的會話密鑰協商
在通過證書認證機制后,密管密碼機與密鑰生成裝置間通過各自的證書公私鑰進行如下會話密鑰協商操作:
- 密鑰生成裝置自身生成一個隨機數\(R_{A}\),發起密鑰協商申請,用密管密碼機的證書公鑰加密該隨機數,並用自己的私鑰進行簽名,保證數據的真實性和完整性,發送給密管密碼機;
- 密管密碼機收到密鑰協商申請后,用密鑰生成裝置的證書公鑰進行驗簽,驗簽通過后,再用自己的證書私鑰解密得到隨機數\(R_{A}\),並自己生成一個隨機數\(R_{B}\),最后用密鑰生成裝置的公鑰對兩個隨機數進行加密,並用自己的證書私鑰進行簽名返回給密鑰生成裝置。另一方面,密管密碼機將兩個隨機數進行異或,異或后的結果作為后續與密鑰生成裝置間通信的會話密鑰;
- 密鑰生成裝置接收到密管密碼機返回的響應后,用密管密碼機的證書公鑰進行驗簽,驗簽成功后用自己的證書私鑰解密得到隨機數\(R_{B}\),隨后將兩個隨機數進行異或得到會話密鑰;
- 至此,密鑰生成裝置和密管密碼機之間就建立了安全通道,共享了會話密鑰。
PS:此處的信息發送方和接收方皆為個人的理解,標准中未明確提及。
將原子密鑰加密導出到密管密碼機
密管密碼機調用int SMF_GenAtomKey();
函數,基於簽名機制向密鑰生成裝置指定會話密鑰加密原子密鑰的算法,隨后密鑰生成裝置返回對應的原子密鑰密文。
密管密碼機收到原子密鑰密文后,再用自己本地的主密鑰進行轉加密,格式化封裝后存儲於密鑰庫中。
下圖為密鑰生成裝置接口:
兩方的原子密鑰密文傳遞為:
標准密鑰格式封裝
將原子密鑰密文存儲到密鑰庫之前,需要將密文按照標准格式進行封裝。
在密鑰分發之前,同樣需要將原子密鑰密文進行標准格式封裝。
注意:存儲和分發的封裝時采用的加密密鑰是不同的。
密鑰分發
對稱密鑰管理應用指令
消息尾中的HMAC,標准中采用的是SM3算法。
建立安全通道
安全通道的建立過程和上述的密管密碼機與密管密碼機與密鑰生成裝置間的會話密鑰協商相似,在此不再贅述。
被管設備注冊
分中心向總中心進行注冊時也需要采用離線方式,注冊流程與密碼被管設備的注冊流程類似。
安全通道中的密管指令
基於GM/T 0050安全通道協議的密管指令如下:
黑字:指令名稱
紅字:主要數據
安全通道數據發送接口:將密鑰管理指令封裝在安全通道消息PDU中發送至被管理要設備。
指定的密鑰類型:參考GM/T0006-2012密碼應用標識規范-6.3.1密鑰分類標識。
下面詳細介紹一下密鑰管理指令PDU中的詳細格式:
-
分發保護密鑰協商
-
密鑰申請請求
-
密鑰分發請求
-
密鑰銷毀請求
-
密鑰啟用請求
參考:
GMT 0051-2016 密碼設備管理-對稱密鑰管理技術規范
GMT 0050-2016 密碼設備管理-設備管理技術規范