國密SSL協議在GM/T中沒有單獨規範的文件,而是在SSL VPN技術規範中定義了國密SSL協議。GMT 0024-2014《SSL VPN技術規範》中,國密SSL協議內容參照傳輸層安全協議(RFC 4346 TLS1.1),按照我國相關密碼政策和法規,結合我國實際應用需求及實踐經驗,在TLS 1.1的握手協議中,增加了ECC、IBC的認證模式和密鑰交換模式,取消了DH密鑰交換方式,修改了密碼套件的定義,另外就是增加了網關到網關協議。
國密SSL協議概述
國密SSL協議包括握手協議、密碼規格變更協議、報警協議、網關到網關協議和記錄層協議。握手協議用於身份鑑別和安全參數協商;密碼規格變更協議用於通知安全參數的變更;報警協議用於關閉通知和對錯誤進行報警;網關到網關協議用於建立網關到網關的傳輸層隧道;記錄層協議用於傳輸數據的分段、壓縮及解壓縮、加密及解密、完整性校驗等。
國密SSL握手協議
國密SSL握手協議族包含密碼規格變更協議、握手協議和報警協議3個子協議,用於通信雙方協商出可供記錄層使用的安全參數,進行身份驗證以及向對方報告錯誤等。
國密SSL握手協議協商的會話包括:
會話標識:有服務端選取的隨意的字節序列,用於識別活躍或可恢復的會話
證書:X.509 V3格式的數字證書,符合GM/T 0015
壓縮方法:壓縮數據的算法
密碼規格:指定的密碼算法
主密鑰:客戶端和服務端共享的48字節的密鑰
重用標識:標明能否用該會話發起一個新連接的標識
利用以上數據可以產生安全參數,利用握手協議的重用特性,可以使用相同會話建立多個連接。
國密SSL協議密碼套件
國密SSL協議定義了支持的密碼套件列表,每個密碼套件包括一個密鑰交換算法、一個加密算法和一個校驗算法。服務端將在密碼套件列表中選擇匹配的密碼套件,如果沒有可匹配的密碼套件,則握手失敗、關閉連接。
國密SSL協議標準中實現ECC和ECDHE的算法是SM2,實現IBC和IBSDH的算法是SM9;RSA算法的使用應符合國家密碼管理主管部門的要求。
國密SSL協議號
TLS協議號為0x0301/ 0x0302/ 0x0303,分別表示TLS 1.0/TLS 1.1 /TLS 1.2,而國密SSL版本號為0x0101。
國密SSL證書報文
國密SSL協議規範定義發送證書時需要發送兩個證書——簽名證書和加密證書,與標準TLS報文格式一樣,只是第一個證書是簽名證書,第二個證書是加密證書。
SNCA免費提供國密SSL證書試用服務,申請試用國密SSL證書可同時獲得配套RSA DV SSL證書,試用周期1個月,用於測試國密SM2 SSL證書的運行效果和SM2/RSA雙證書部署效果。