System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及加密傳輸,具體涉及一種基于sm2算法和sm4算法的握手協議的方法和系統。
技術介紹
1、在數據傳輸中,一些平臺的一級域名使用超文本傳輸協議(hypertext?transferprotocol,http),請求體在網絡中是明文傳輸,數據安全無法得到有效保證,容易被中間人竊聽和攔截。由于http傳輸的數據未經加密,攻擊者可以在通信的兩端之間插入自己的惡意內容,改變傳輸的數據,或者進行釣魚攻擊,從而對通信進行干擾和破壞等安全問題。隨著密碼技術和計算機技術的發展,可使用安全超文本傳輸協議(hypertext?transferprotocol?secure,https)來替代傳統的http協議,https協議內置于其瀏覽器中,https用于對數據進行壓縮和解壓操作,并返回網絡上傳送回的結果,https應用了安全套接字層(secure?sockets?layer,ssl)作為應用層的子層,從而保證通信的私密性,類https請求包括單一的http請求和單一的https請求。
2、然而,部分站點因為局限性和安全要求,無法使用通用的https,還有一些站點對安全性要求極高,僅基于https設置一道保障,其安全性仍可能無法滿足需求;且在相關技術中,當前的ssl協議通常基于rsa算法、ecdhe算法和des算法來實現,https協議使用證書,證書的簽發在國外根認證機構,需要定期續期和維護,使用不便且具有較大的限制。
技術實現思路
1、針對現有技術的不足,本專利技術提供了一種基
2、為實現以上目的,本專利技術通過以下技術方案予以實現:
3、第一方面,本申請實施例提供了一種基于sm2算法和sm4算法的握手協議的方法,用于客戶端,該方法包括:獲取會話過程中首次的第一請求信息;基于第一請求信息觸發預設的握手程序,向服務端發送基于sm2算法生成的會話級別的第一sm2公鑰和第一客戶端隨機數密文信息,以用于服務端通過第一sm2公鑰對第一客戶端隨機數密文信息進行解密,得到第二客戶端隨機數;接收服務端發送的sm4密文信息、第二sm2公鑰和目標隨機數密文信息;基于sm2算法生成的第一sm2私鑰對sm4密文信息進行解密,得到sm4目標密鑰;
4、基于sm4目標密鑰和第二sm2公鑰,對目標隨機數密文信息進行處理,以核驗數據交互過程并生成第二服務端隨機數目標密文信息;將第二服務端隨機數目標密文信息發送至服務端,以進行防篡改驗證來完成客戶端和服務端之間的握手過程,并確定sm4目標密鑰為會話級別的對稱加密密鑰;通過預設的目標交互策略對第一請求信息進行處理,向服務端發送生成的會話請求數據密文信息,以從服務端接收會話返回密文信息并解密確定會話返回明文信息。
5、根據本申請實施例的第一方面,前述基于第一請求信息觸發預設的握手程序,向服務端發送基于sm2算法生成的會話級別的第一sm2公鑰和第一客戶端隨機數密文信息,包括:基于sm2算法生成第一sm2公私鑰對和第一客戶端隨機數,第一sm2公私鑰對包括第一sm2公鑰和第一sm2私鑰,第一客戶端隨機數用于防篡改;通過第一sm2私鑰對第一客戶端隨機數進行加密,得到第一客戶端隨機數密文信息;
6、將第一sm2公鑰和第一客戶端隨機數密文信息發送至服務端。
7、根據本申請實施例的第一方面,前述基于sm4目標密鑰和第二sm2公鑰,對目標隨機數密文信息進行處理,以核驗數據交互過程并生成第二服務端隨機數目標密文信息,包括:通過sm4目標密鑰對目標隨機數密文信息進行解密和拆分,得到第三客戶端隨機數和第二服務端隨機數;對第一客戶端隨機數和第三客戶端隨機數進行比對;在第一客戶端隨機數和第三客戶端隨機數一致的情況下,通過sm4目標密鑰對第二服務端隨機數進行加密,得到第二服務端隨機數中間密文信息;基于第二sm2公鑰對第二服務端隨機數中間密文信息進行加密,得到第二服務端隨機數目標密文信息。
8、根據本申請實施例的第一方面,前述基于sm2算法和sm4算法的握手協議的方法還包括:接收會話過程中處于第一請求信息之后的第二請求信息;其中,目標交互策略對第一請求信息和第二請求信息的處理過程一致。
9、根據本申請實施例的第一方面,前述通過預設的目標交互策略對第一請求信息進行處理,向服務端發送生成的會話請求數據密文信息,以從服務端接收會話返回密文信息并解密確定會話返回明文信息,包括:基于對稱加密密鑰對第一請求信息進行加密,得到會話請求數據密文信息;將會話請求數據密文信息發送至服務端;接收服務端發送的會話返回密文信息,并通過對稱加密密鑰對會話返回密文信息進行解密,得到會話返回明文信息。
10、第二方面,本申請實施例提供了一種基于sm2算法和sm4算法的握手協議的方法,用于服務端,該方法包括:接收客戶端發送的第一sm2公鑰和第一客戶端隨機數密文信息;通過第一sm2公鑰對第一客戶端隨機數密文信息進行解密,得到第二客戶端隨機數;從密鑰庫中獲取第二sm2公私鑰對,并生成第一服務端隨機數,第二sm2公私鑰對包括第二sm2公鑰和第二sm2私鑰;基于第一sm2公鑰、第二sm2私鑰、第二客戶端隨機數和第一服務端隨機數生成sm4目標密鑰,基于第一sm2公鑰對sm4目標密鑰進行加密得到sm4密文信息,對第二客戶端隨機數和第一服務端隨機數進行組合并基于sm4目標密鑰加密,得到目標隨機數密文信息;向客戶端發送sm4密文信息、第二sm2公鑰和目標隨機數密文信息,以用于客戶端基于sm2算法生成的第一sm2私鑰對sm4密文信息進行解密,得到sm4目標密鑰;并基于sm4目標密鑰和第二sm2公鑰,對目標隨機數密文信息進行處理,以核驗數據交互過程并生成第二服務端隨機數目標密文信息;接收客戶端發送的第二服務端隨機數目標密文信息;基于第二sm2私鑰和sm4目標密鑰對第二服務端隨機數目標密文信息進行解密,以生成第三服務端隨機數并核驗數據交互過程;接收客戶端發送的會話請求數據密文信息;對會話請求數據密文信息進行解密,并向客戶端發送生成的會話返回密文信息。
11、根據本申請實施例的第二方面,前述基于第一sm2公鑰、第二sm2私鑰、第二客戶端隨機數和第一服務端隨機數生成sm4目標密鑰,基于第一sm2公鑰對sm4目標密鑰進行加密得到sm4密文信息,對第二客戶端隨機數和第一服務端隨機數進行組合并基于sm4目標密鑰加密,得到目標隨機數密文信息,包括:基于第一sm2公鑰、第二sm2私鑰、第二客戶端隨機數和第一服務端隨機數,通過sm2算法協商出sm4目標密鑰;通過第一sm2公鑰對sm4目標密鑰進行加密并進行16進制處理,得到sm4密文信息;對第二客戶端隨機數和第一服務端隨機數進行組合,得到隨機數組合信息;通過sm4目標密鑰對隨機數組合信息進行加密,得到目標隨機數密文信息。
12、根據本申請實施例的第二方面,前述基于第二sm2私鑰和sm4目標本文檔來自技高網...
【技術保護點】
1.一種基于SM2算法和SM4算法的握手協議的方法,其特征在于,用于客戶端,所述方法包括:
2.如權利要求1所述的基于SM2算法和SM4算法的握手協議的方法,其特征在于,所述基于所述第一請求信息觸發預設的握手程序,向服務端發送基于SM2算法生成的會話級別的第一SM2公鑰和第一客戶端隨機數密文信息,包括:
3.如權利要求1所述的基于SM2算法和SM4算法的握手協議的方法,其特征在于,所述基于所述SM4目標密鑰和所述第二SM2公鑰,對所述目標隨機數密文信息進行處理,以核驗數據交互過程并生成第二服務端隨機數目標密文信息,包括:
4.如權利要求1所述的基于SM2算法和SM4算法的握手協議的方法,其特征在于,還包括:接收會話過程中處于所述第一請求信息之后的第二請求信息;其中,所述目標交互策略對所述第一請求信息和所述第二請求信息的處理過程一致;
5.一種基于SM2算法和SM4算法的握手協議的方法,其特征在于,用于服務端,所述方法包括:
6.如權利要求5所述的基于SM2算法和SM4算法的握手協議的方法,其特征在于,所述基于所述第一SM
7.如權利要求5所述的基于SM2算法和SM4算法的握手協議的方法,其特征在于,所述基于所述第二SM2私鑰和所述SM4目標密鑰對所述第二服務端隨機數目標密文信息進行解密,以生成第三服務端隨機數并核驗數據交互過程,包括:
8.如權利要求7所述的基于SM2算法和SM4算法的握手協議的方法,其特征在于,所述對所述會話請求數據密文信息進行解密,并向客戶端發送生成的會話返回密文信息,包括:
9.一種基于SM2算法和SM4算法的握手協議的系統,其特征在于,用于客戶端,所述系統包括:
10.一種基于SM2算法和SM4算法的握手協議的系統,其特征在于,用于服務端,所述系統包括:
...【技術特征摘要】
1.一種基于sm2算法和sm4算法的握手協議的方法,其特征在于,用于客戶端,所述方法包括:
2.如權利要求1所述的基于sm2算法和sm4算法的握手協議的方法,其特征在于,所述基于所述第一請求信息觸發預設的握手程序,向服務端發送基于sm2算法生成的會話級別的第一sm2公鑰和第一客戶端隨機數密文信息,包括:
3.如權利要求1所述的基于sm2算法和sm4算法的握手協議的方法,其特征在于,所述基于所述sm4目標密鑰和所述第二sm2公鑰,對所述目標隨機數密文信息進行處理,以核驗數據交互過程并生成第二服務端隨機數目標密文信息,包括:
4.如權利要求1所述的基于sm2算法和sm4算法的握手協議的方法,其特征在于,還包括:接收會話過程中處于所述第一請求信息之后的第二請求信息;其中,所述目標交互策略對所述第一請求信息和所述第二請求信息的處理過程一致;
5.一種基于sm2算法和sm4算法的握手協議的方法,其特征在于,用于服務端,所述方法包括:
6.如權利要求5所述的基于sm2算法和sm4算...
【專利技術屬性】
技術研發人員:董飛,解波,梁龍,范群松,姜南,余無闋,羅俊,
申請(專利權)人:安徽省征信股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。