1. 程式人生 > >國密瀏覽器如何完成SM2國密SSL協議協商

國密瀏覽器如何完成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證書、伺服器國密演算法支援模組等產品相結合,形成從客戶端、伺服器端到數字證書的國密演算法全生態支援體系。

相關推薦

瀏覽器如何完成SM2SSL協議協商

開發十年,就只剩下這套架構體系了! >>>   

密信瀏覽器:推動SM2演算法和SSL證書應用

開發十年,就只剩下這套架構體系了! >>>   

密信瀏覽器,為SM2演算法普及提供生態支援

開發十年,就只剩下這套架構體系了! >>>   

JS版SM2演算法的簽名驗證

前段時間因工作需要,瞭解到在Github上已經有人實現了用JavaScript來寫簽名和驗籤,支援RSA、ECC、DSA等演算法,還能解析X.509證書,一時覺得JavaScript是無比強大。後面就研究了下JavaScript版的ECC演算法簽名驗證,自己再擴充套件實現了

SM系列和商介紹和對比

背景1 國密是咱大中國的國家密碼局認定和頒發的密碼演算法標準,SM 是一個系列,常用的包括SM1、SM2、SM3、SM4。 一般說商密是指商用密碼。更多是我們更加耳熟能詳的的密碼學標準。諸如AES、DAS、RSA、ECC橢圓曲線系列等加密演算法。 為什麼有了商密還

PSAM卡,演算法模組,SM1演算法模組,SM7演算法模組,封裝形式靈活多樣

                                                    國密PSAM卡 PSAM模組是將一顆具有作業系統(COS)的安全晶片封裝在DIP8或SOP8模組中,做成一個安全存取模組。將其嵌入到水、電、氣、暖智慧(卡)表、機頂

運行Chromium瀏覽器缺少google api鑰無法登錄谷歌賬號的解決辦法

谷歌 pan pps 無法 缺少 edit 賬號 bsp vcl 管理員身份運行CMD,然後依次輸入以下三行內容: setx GOOGLE_API_KEY "AIzaSyAUoSnO_8k-3D4-fOp-CFopA_NQAkoVCLw"setx GOOGLE_DEFAUL

Nginx負載均衡、ssl原理、生成ssl鑰對、Nginx配置ssl

lnmp架構Nginx負載均衡當用戶訪問nginx定制好的域名時,nginx通過轉發到幾臺真實的站點,通過upstream實現[root@centos7 vhost]# vim /usr/local/nginx/conf/vhost/load.confupstream www.tt.com#自定義域名{#

linux的Nginx負載均衡、ssl原理、生成ssl鑰對、Nginx配置ssl介紹

block server u tlsv1 host fda 彈出 配置ssl 重新編譯 openssl Nginx的負載均衡 1. 查找www.qq.com域名對應IP做測試 [root@gary-tao ~]# yum install -y bind-utils /

Nginx負載均衡、ssl原理、生產ssl鑰對、Nginx配置ssl

基於 location 顯示 工作流程 流程 創建 docs 有效 match 12.17 Nginx負載均衡 Nginx負載均衡即為當代理服務器將自定義的域名解析到多個指定IP時,通過upstream來保證用戶可以通過代理服務器正常訪問各個IP。 編輯配置文件

ssl(https)介紹、實驗環境生成鑰對、nginx配置SSL、https

ssl nginx配置ssl ssl介紹 https 生成SSL密鑰對 ssl原理 http與https區別 http默認端口為80,https默認端口為443;http傳輸數據為明文,https傳輸數據是加密的; http是HTTP協議運行在TCP之上。所有傳輸的內容都是明文,客戶端

15.Nginx負載均衡&SSL鑰對&Nginx配置SSL

Nginx負載均衡 SSL密鑰對 Nginx配置SSL [toc] 擴展 針對請求的uri來代理 http://ask.apelearn.com/question/1049 根據訪問的目錄來區分後端的web http://ask.apelearn.com/question/920 nginx

Nginx負載均衡,ssl原理,生成ssl鑰對,Nginx配置ssl

ssl nginx Nginx負載均衡負載均衡就是:將本應該這臺機器(或集群)要處理的請求(工作或負載),根據一定的算法,平均地分配到其他的機器(或集群)上去處理,這樣可以大大減少這臺機器(或集群)的工作量,防止因負載過大而造成響應超時或down機等意外情況的發生。一般大的網站和系統都使用了負載均衡!

五十、Nginx負載均衡、SSL原理、生成SSL鑰對、Nginx配置SSL

Nginx負載均衡 SSL原理 生成SSL密鑰對 Nginx配置SSL 五十、Nginx負載均衡、ssl原理、生成ssl密鑰對、Nginx配置ssl一、Nginx負載均衡代理一臺機器叫代理,代理兩臺機器就可以叫負載均衡。 代理服務器後有多個web服務器提供服務的時候,就可以實現負載均衡

50.Nginx負載均衡、ssl原理、生成ssl鑰對、Nginx配置ssl

Nginx負載均衡 ssl原理、 生成ssl密鑰對 Nginx配置ssl 一、Nginx負載均衡 dig www.qq.com curl -x127.0.0.1:80 www.qq.com vim /usr/local/nginx/conf/vhost/load.conf // 寫入

Nginx負載均衡、 ssl工作流程、生產ssl鑰對、Nginx配置ssl

LinuxNginx負載均衡 負載均衡即是代理服務器將接收的請求均衡的分發到各服務器中編輯虛擬主機配置文件vim /usr/local/nginx/conf/vhost/ld.conf 在配置文件中添加如下內容 upstream qq_com { ip_hash; server 61.135.

49次課(Nginx負載均衡、ssl原理、 生成ssl鑰對、 Nginx配置ssl

密碼 n) tin [] hat -- form proc adb Nginx負載均衡 查看網站ip 用qq.com的兩個ip去做負載均衡111.161.64.48 / 111.161.64.40 創建配置文件 [root@100xuni1 vhost]#

安卓、IOS端AEC鑰加密 Java端鑰解密通用實現(16進制表現形式)

har adp illegal 包括 encrypted key fin tac 轉換成 由於業務需求,需要實現在客戶端對重要信息進行加密,在服務端進行解密。客戶端包括IOS和安卓的 服務端位Java。 註意密鑰 需要保持一致,可以自己定義 。 安卓端加密代碼: =

webapi 下載Ftp檔案並返回流到瀏覽器完成檔案下載

ResultModel<HttpResponseMessage> resultModel = new ResultModel<HttpResponseMessage>(ResultStatus.Success); FtpWebResponse ftpWebResponse = nul

SQLSERVER加密解密函數(非對稱鑰 證書加密 對稱鑰)

它的 系統函數 程序 rec 選項 books password 存在 subject ENCRYPTBYASYMKEY() --非對稱密鑰 ENCRYPTBYCERT() --證書加密 ENCRYPTBYKEY() --對稱密鑰 ENCRYPTBYPASSPHRA