國密瀏覽器如何完成SM2國密SSL協議協商

國密瀏覽器需要遵循國密SSL協議規範GM/T 0024-2014。 GM/T 0024-2014沒有單獨規範 SSL協議的文件,而是在SSL VPN技術規範中定義了國密SSL協議。國密SSL協議(SSL VPN協議包括握手協議、密碼規格變更協議、報警協議、網關到網關協議和記錄層協議。握手協議用於身份鑑別和安全參數協商;密碼規格變更協議用於通知安全參數的變更;報警協議用於關閉通知或對錯誤進行報警;網關到網關協議用於建立網關和網關的傳輸層隧道;記錄層協議用於傳輸數據的分段、壓縮及解壓縮、加密及解密、完整性校驗等。 

 

一、SSL握手協議的過程

國密SSL握手協議過程如下:

(1)交換Hello消息來協商密碼套件,交換隨機數,決定是否會話重用;

(2)交換必要的參數,協商預主密鑰

(3)交換證書信息,用於驗證對方

(4)使用預主密鑰和交換的隨機數生成主密鑰

(5)向記錄層提供安全參數

(6)驗證雙方計算的安全參數的一致性、握手過程的真實性和完整性

 

國密瀏覽器客戶端發送Hello消息給服務端,服務端迴應服務端Hello消息。國密瀏覽器客戶端Hello和服務端hello用於在客戶端和服務端進行基於ECC算法(或其他密碼算法)的協商,以及確定安全傳輸能力,包括協議版本、會話表示、密碼套件等屬性,併產生和交換隨機數。

在客戶端hello和服務端hello之後是身份驗證和密鑰交換過程。包括服務端證書、服務端密鑰交換,客戶端證書、客戶端密鑰交換。在服務端發送完hello之後,發送自己的證書消息,服務端密鑰交換消息。如果服務端需要驗證客戶端身份,則向客戶端發送證書請求信息,客戶端返回消息。

然後國密瀏覽器客戶端發生密鑰交換消息,協商密鑰交換算法。接着客戶端發送密碼規格變更消息,然後客戶端立即使用剛協商的算法和密鑰,加密併發送握手結束消息。服務端迴應密碼規格變更消息,使用剛協商的算法和密鑰加密併發送握手結束消息。至此,握手過程結束,服務端和客戶端開始數據安全傳輸。

 

二、國密標準支持的密碼套件

國密SSL協議規範要求,客戶端(國密瀏覽器)所支持的密碼套件列表,按照密碼套件使用的優先級順序排列,優先級最高的密碼套件排在首位。每個密碼套件包括一個密碼交換算法、一個加密算法和一個校驗算法。服務器端將在密碼套件列表中選擇一個與之匹配的密碼套件,如果沒有可匹配的密碼套件,應返回握手失敗報警消息並關閉連接。GMT 0024-2014國密標準支持的密碼套件如下表所示。其中,實現ECC和ECDHE的算法爲SM2,實現IBC和IBSDH的算法爲SM9,RSA算法的使用應符合國家密碼管理主管部門的要求。 

 

三、國密瀏覽器展示國密SSL證書的效果

使用密信國密瀏覽器訪問配置國密SSL證書的站點(國密SSL測試站點sm2test.ovss.cn),實現SM2 SSL證書的顯示效果如下圖。點擊瀏覽器安全鎖標識,詳情中顯示該連接使用GM/T 0024-2014(國密SM2),使用ECC_SM4_SM3進行加密,同時使用SM3進行訊息身份驗證並使用SM2作爲密鑰交換機制。 

密信瀏覽器(MeSince Browser)是沃通CA子公司密信技術獨立研發的一款國密瀏覽器。密信瀏覽器(MeSince Browser)基於 Chromium開源項目開發,完整支持SM2/SM3/SM4等國產密碼算法及安全協議,遵循國家標準技術規範,併兼容國際算法體系,同時支持國密算法SSL證書和國際算法SSL證書,滿足國密算法使用需求,提供簡潔快速的瀏覽體驗。目前,密信瀏覽器已推出Windows版本(32位和64位),未來將逐步推出Linux、Mac及移動端版本。 

 

密信國密瀏覽器(www.mesince.com/browser)的發佈具有重要意義,密信國密瀏覽器與沃通提供的國密SM2 SSL證書、服務器國密算法支持模塊等產品相結合,形成從客戶端、服務器端到數字證書的國密算法全生態支持體系。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章