最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

即時通訊安全篇(十三):信創(chuàng)必學,一文讀懂什么是國密算法

2023-12-14 11:30 作者:nickkckckck  | 我要投稿

本文由NetworkFox分享,來源于華三通信,原題“什么是國密算法?”,本文有修訂和改動。

1、引言

最近幾年經(jīng)常能聽到IM應(yīng)用的開發(fā)者討論國產(chǎn)信創(chuàng)方面的技術(shù)問題,在某些場景下,國密算法是硬性要求,所以學習一下國密算法還是很有必要的。

國密算法是指由中國國家密碼管理局發(fā)布的密碼算法標準,旨在保障國家信息安全。目前,國家密碼管理局已發(fā)布了一系列國產(chǎn)商用密碼標準算法,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖沖之密碼算法(ZUC)等。通過在金融、電子政務(wù)及安防等領(lǐng)域廣泛應(yīng)用國密算法,在對敏感數(shù)據(jù)進行機密性、完整性和可用性保護的同時,減少對外部密碼產(chǎn)品的依賴,提升國家信息安全水平。

本文將盡量以通俗易懂的文字,為你分享國密算法的種類、技術(shù)原理和應(yīng)用場景等。

?

?

技術(shù)交流:

- 移動端IM開發(fā)入門文章:《新手入門一篇就夠:從零開發(fā)移動端IM》

- 開源IM框架源碼:https://github.com/JackJiang2011/MobileIMSDK(備用地址點此)

(本文已同步發(fā)布于:http://www.52im.net/thread-4552-1-1.html)

2、系列文章

本文是IM通訊安全知識系列文章中的第12篇,此系列總目錄如下:

《即時通訊安全篇(一):正確地理解和使用Android端加密算法》

《即時通訊安全篇(二):探討組合加密算法在IM中的應(yīng)用》

《即時通訊安全篇(三):常用加解密算法與通訊安全講解》

《即時通訊安全篇(四):實例分析Android中密鑰硬編碼的風險》

《即時通訊安全篇(五):對稱加密技術(shù)在Android平臺上的應(yīng)用實踐》

《即時通訊安全篇(六):非對稱加密技術(shù)的原理與應(yīng)用實踐》

《即時通訊安全篇(七):用JWT技術(shù)解決IM系統(tǒng)Socket長連接的身份認證痛點》

《即時通訊安全篇(八):如果這樣來理解HTTPS原理,一篇就夠了》

《即時通訊安全篇(九):你知道,HTTPS用的是對稱加密還是非對稱加密?》

《即時通訊安全篇(十):為什么要用HTTPS?深入淺出,探密短連接的安全性》

《即時通訊安全篇(十一):IM聊天系統(tǒng)安全手段之通信連接層加密技術(shù)》

《即時通訊安全篇(十二):IM聊天系統(tǒng)安全手段之傳輸內(nèi)容端到端加密技術(shù)》

《即時通訊安全篇(十三):信創(chuàng)必學,一文讀懂什么是國密算法》(* 本文)

3、為什么需要國密算法?

3.1國密算法的產(chǎn)生背景

在網(wǎng)絡(luò)信息傳輸和存儲過程中,數(shù)據(jù)的保密性和安全性是一項重要的需求。

傳統(tǒng)的國際標準加密算法雖然安全可靠,但由于無法保證源代碼的安全性,因此存在著源代碼被外部惡意攻擊者滲透或篡改的風險。為了構(gòu)建安全的行業(yè)網(wǎng)絡(luò)環(huán)境并增強國家行業(yè)信息系統(tǒng)的“安全可控”能力,中國積極開展了針對信息安全需求的研究和探索。

自2007年開始,中國制定了國密算法標準,并于2010年正式發(fā)布。

經(jīng)過多年的發(fā)展、改進和完善,國密算法已成為中國自主研發(fā)的密碼算法標準,并在各行業(yè)得到廣泛應(yīng)用。它的誕生不僅顯著提升了中國在密碼技術(shù)領(lǐng)域的核心競爭力,還為國家信息安全建設(shè)作出了重要貢獻。

3.2國密算法的特點

國密算法具備如下特點:

1)安全性高:國密算法采用了嚴密的密碼學原理和復雜的運算方式,具有較高的安全性。它在加密、數(shù)字簽名和哈希等功能上都能提供可靠的保護,抵抗了各種傳統(tǒng)和現(xiàn)代密碼攻擊手段。

2)高效性與靈活性:國密算法在保證安全性的同時,注重算法的效率。它的加密速度和運行效率相對較高,同時也能適應(yīng)不同的密碼長度和密鑰長度,以滿足不同場景的需求。

3)標準化廣泛:國密算法已被國家標準化機構(gòu)認可和采用。它符合國際密碼學標準的基本要求,具備與國際算法相媲美的能力。同時,國密算法也在國內(nèi)推廣和應(yīng)用廣泛,成為中國信息安全領(lǐng)域的基礎(chǔ)核心算法之一。

4)自主創(chuàng)新:國密算法是中國自主研發(fā)的密碼算法,所以對于算法的實現(xiàn)和推廣都具有獨立的掌控能力。這意味著中國可以更好地保護自己的國家信息安全,減少對外依賴,提高自主抵抗能力。

5)面向多領(lǐng)域應(yīng)用:國密算法不僅局限于某個特定領(lǐng)域的應(yīng)用,它適用于金融業(yè)、電子商務(wù)、通信、物聯(lián)網(wǎng)、區(qū)塊鏈等不同領(lǐng)域的信息安全保護。它的廣泛應(yīng)用范圍使得國密算法可以滿足不同行業(yè)的安全需求。

4、國密算法應(yīng)用概述

國密算法包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖沖之密碼算法(ZUC)等。

其中:

  • 1)SM1、SM4、SM7、祖沖之密碼(ZUC)屬于對稱算法;

  • 2)SM2、SM9屬于非對稱算法;

  • 3)SM3屬于雜湊算法。

下文將主要介紹國密算法中的常用算法SM1、SM2、SM3和SM4的實現(xiàn)和應(yīng)用。

5、SM1算法的原理和應(yīng)用場景

SM1算法是國密算法中的一種對稱加密算法,其特點是加解密使用相同密鑰。利用SM1對稱加密算法加解密數(shù)據(jù)的過程。

SM1算法未公開,僅以IP核(Intellectual Property Core,一種預先做好的集成電路功能模塊)的形式存在于芯片中。

SM1算法主要用于小數(shù)據(jù)量的加密保護,因此被廣泛用于研制智能IC卡、智能密碼鑰匙、門禁卡、加密卡等安全產(chǎn)品。

6、SM2算法的實現(xiàn)和應(yīng)用場景

6.1概述

SM2算法是基于ECC(Elliptic Curve Cryptography)橢圓曲線的非對稱加密算法,包括了SM2-1橢圓曲線數(shù)字簽名算法、SM2-2橢圓曲線密鑰交換協(xié)議和SM2-3橢圓曲線公鑰加密算法,分別用于實現(xiàn)數(shù)字簽名、密鑰協(xié)商和數(shù)據(jù)加密等功能。

SM2算法在許多領(lǐng)域都有廣泛的應(yīng)用。

在電子商務(wù)領(lǐng)域:SM2算法被用于保護用戶個人信息的安全傳輸,確保用戶在網(wǎng)上交易過程中的隱私和財產(chǎn)的安全。

在互聯(lián)網(wǎng)金融領(lǐng)域:SM2算法被用于數(shù)字支付、電子銀行等場景,實現(xiàn)用戶身份認證和交易的安全性。

此外,SM2算法還適用于物聯(lián)網(wǎng)領(lǐng)域,保護物聯(lián)網(wǎng)設(shè)備之間的通信安全,確保數(shù)據(jù)的可靠傳輸。

6.2數(shù)據(jù)加密

在非對稱加密算法中,可對外公布的密鑰稱為“公鑰”,只有持有者所知的密鑰稱為“私鑰”。發(fā)送者使用接收者的公鑰來加密消息,接收者用自己的私鑰解密和讀取該消息。

利用SM2非對稱加密算法加解密數(shù)據(jù)的過程:

6.3密鑰協(xié)商

由于橢圓曲線的計算復雜性高,破解難度大,因此SM2算法在密鑰協(xié)商技術(shù)領(lǐng)域也起著關(guān)鍵作用。

利用SM2算法進行密鑰協(xié)商的過程:

  • 1)會話雙方生成自己的私鑰(隨機數(shù));

  • 2)會話雙方由私鑰、ECC橢圓曲線參數(shù)G各自計算出公鑰;

  • 3)會話雙方將自己的公鑰傳遞給對方,傳遞過程公開。由于橢圓曲線的計算復雜性高,破解難度大,因此攻擊者難以通過公鑰和橢圓曲線參數(shù)G反推出私鑰;

  • 4)?雙方將自己的私鑰與對方的公鑰進行運算,最終得到相同的會話密鑰,該會話密鑰可作為共享密鑰用于對稱加密(例如SM4算法)通信。

6.4數(shù)字簽名

數(shù)字簽名是一種用于驗證信息完整性、真實性和來源的技術(shù)手段。它通常用于確保數(shù)據(jù)在傳輸或存儲過程中沒有被篡改,并且可以追溯到特定的發(fā)送方。

發(fā)送方使用自己的私鑰對消息進行加密,生成數(shù)字簽名。接收方使用發(fā)送方的公鑰對簽名進行解密和驗證,以驗證消息的完整性和真實性。

在數(shù)字簽名應(yīng)用中,SM2算法通常與SM3摘要算法一起使用。

7、SM3算法的實現(xiàn)和應(yīng)用場景

SM3雜湊(Hashing)算法是國密算法中的一種摘要算法。

SM3算法通過哈希函數(shù)將任意長度的消息壓縮成固定長度的摘要。摘要具有唯一性,即不同信息生成的摘要不同,且無法由摘要恢復出原始信息,更無法偽造信息獲得相同摘要,因此SM3算法被廣泛用于實現(xiàn)數(shù)字簽名、數(shù)據(jù)完整性檢測及消息驗證等功能。

基于SM3算法的特點,在信息安全領(lǐng)域,SM3算法被用于保護密碼學協(xié)議、數(shù)字證書和電子簽名等數(shù)據(jù)的完整性。在區(qū)塊鏈領(lǐng)域,SM3算法被用于加密貨幣的區(qū)塊生成和鏈上交易的校驗,確保區(qū)塊鏈的安全性。

此外,SM3算法還可以應(yīng)用于密碼學隨機數(shù)的生成和偽隨機序列的校驗等領(lǐng)域,增加了數(shù)據(jù)的安全性和可靠性。

利用SM2算法和SM3算法對用戶數(shù)據(jù)進行數(shù)字簽名認證及完整性校驗的過程:

  • 1)?用戶A發(fā)送的數(shù)據(jù)A經(jīng)過SM3哈希算法運算生成摘要A。

  • 2)?摘要A經(jīng)過用戶A的私鑰加密生成數(shù)字簽名。

  • 3)?用戶A的明文數(shù)據(jù)和數(shù)字簽名經(jīng)加密算法(SM1/SM2/SM4)加密成密文后發(fā)送給用戶B。加密算法以非對稱加密算法SM2為例,即加解密使用不同密鑰。

  • 4)密文到達用戶B處,經(jīng)加密算法(SM1/SM2/SM4)解密后,還原成明文數(shù)據(jù)和數(shù)字簽名。

  • 5)用戶B使用用戶A的公鑰解密數(shù)據(jù)包中的數(shù)字簽名:

  • ? ? ?解密成功,數(shù)據(jù)來源合法,得到摘要A;

  • ? ? ?解密失敗,數(shù)據(jù)來源非用戶A,丟棄本次數(shù)據(jù)。

  • 6)收到的數(shù)據(jù)包中的明文數(shù)據(jù)經(jīng)過SM3哈希運算生成摘要A’。對比摘要A和摘要A’:

  • ? ? ?摘要A’=摘要A,數(shù)據(jù)完整;

  • ? ? ?摘要A’≠摘要A,數(shù)據(jù)被篡改,丟棄本次數(shù)據(jù)。

8、SM4算法的實現(xiàn)和應(yīng)用

8.1概述

與SM1算法分類相同,SM4算法同樣為分組對稱加密算法,但SM4算法實現(xiàn)公開。

分組加密算法是將明文數(shù)據(jù)按固定長度進行分組,用同一密鑰逐組加密,密文解密時同樣使用相同密鑰逐組解密。

SM4算法實現(xiàn)簡單,因此加解密速度較快,消耗資源少,主要用于大數(shù)據(jù)量的加密和解密,例如靜態(tài)儲存或數(shù)據(jù)信號傳輸通道中數(shù)據(jù)的加解密。

在網(wǎng)絡(luò)安全領(lǐng)域,SM4算法被用于保護網(wǎng)絡(luò)傳輸和存儲的敏感數(shù)據(jù),如銀行卡信息、密碼等。在物聯(lián)網(wǎng)領(lǐng)域,SM4算法被用于物聯(lián)網(wǎng)設(shè)備之間的通信和數(shù)據(jù)加密,確保物聯(lián)網(wǎng)數(shù)據(jù)的隱私安全。

此外,SM4算法還可以應(yīng)用于區(qū)塊鏈領(lǐng)域,保護加密貨幣的交易安全等領(lǐng)域,為相關(guān)系統(tǒng)和數(shù)據(jù)的安全提供了保障。

SM4算法支持ECB、CBC、CFB等多種分組模式,下文將介紹ECB和CBC兩種基礎(chǔ)模式。

8.2加解密模式:ECB模式

SM4算法基于ECB模式對數(shù)據(jù)加解密的過程:

  • 1)發(fā)送端將明文按固定長度分組,對每個明文分組分別使用相同的密鑰進行加密生成密文分組。完整的密文由所有密文分組按序排列組合而成;

  • 2)接收端將密文按固定長度分組,對每個密文分組分別使用相同的密鑰進行解密生成明文分組。所有明文分組按序排列組合而成完整的明文數(shù)據(jù)。

ECB模式實現(xiàn)簡單,各段數(shù)據(jù)間互不影響,有利于并行運算,但相同的明文塊會被加密成相同的密文塊,不能提供嚴格的數(shù)據(jù)保密性。

8.3加解密模式:CBC模式

SM4算法基于CBC模式對明文加密的過程:

  • 1)將明文按固定長度分組;

  • 2)明文分組1與初始向量IV進行異或運算,異或運算的結(jié)果經(jīng)密鑰加密后得到密文分組1;

  • 3)剩余的明文分組依次與前一個密文分組進行異或運算后再加密,得到對應(yīng)的密文分組;

  • 4)完整的密文由所有密文分組按序排列組合而成。

SM4算法基于CBC模式對密文解密的過程:

  • 1)將密文按固定長度分組后,對密文分組進行倒序處理;

  • 2)對密文分組n先使用密鑰進行解密,密文分組n解密后的數(shù)據(jù)與密文分組n-1進行邏輯逆運算,得到明文分組n;

  • 3)?同理,剩余的密文分組解密后再與前一個密文分組進行邏輯逆運算,得到對應(yīng)的明文分組;

  • 4)最后,密文分組1用密鑰解密后的數(shù)據(jù)是與初始向量進行邏輯逆運算,然后得到明文分組1;

  • 5)完整的明文由所有明文分組按序排列組合而成。

CBC模式安全性高于ECB,但明文塊不能并行計算,且誤差會傳遞下去。

9、國密算法與國際標準算法的對比

國密算法和國際標準算法都是現(xiàn)代密碼學中常用的加密算法,但在技術(shù)和優(yōu)劣方面存在一些區(qū)別。

常見國密算法與國際標準算法各參數(shù)性能的對比如下:

?

10、國密算法的典型應(yīng)用場景有哪些?

10.1AD-WAN縱向IP/MPLS組網(wǎng)

國密算法可以與AD-WAN技術(shù)結(jié)合,應(yīng)用于IP/MPLS縱向網(wǎng)場景。

通過AD-WAN智能運維平臺,實現(xiàn)國密配置一鍵下發(fā),在網(wǎng)絡(luò)中構(gòu)建國密數(shù)據(jù)加密通道,實現(xiàn)基于國密的端到端的IPsec隧道保護。

國密算法在端到端的IPsec隧道中的工作原理如下:

1)在IKE密鑰協(xié)商階段,使用IKE協(xié)議進行密鑰協(xié)商過程中,采用SM2算法生成會話密鑰。

2)在身份認證階段,本端使用SM2和SM3算法生成身份信息的數(shù)字簽名,并使用SM1或SM4算法和會話密鑰對身份信息和數(shù)字簽名進行加密;對端收到加密的身份信息后,使用相同的會話密鑰解密,然后通過SM2和SM3算法進行身份認證。

3)在數(shù)據(jù)傳輸階段,本端使用SM2和SM3算法生成用戶數(shù)據(jù)的數(shù)字簽名,并使用SM1或SM4算法以及會話密鑰對用戶數(shù)據(jù)和數(shù)字簽名進行加密;對端收到加密的用戶數(shù)據(jù)后,使用相同的會話密鑰解密,然后通過SM2和SM3算法進行數(shù)據(jù)完整性檢查。

10.24G/5G VPDN業(yè)務(wù)組網(wǎng)

4G/5G VPDN(Virtual Private Dialup Network,虛擬專有撥號網(wǎng)絡(luò))業(yè)務(wù)是在4G/5G無線網(wǎng)絡(luò)中采用撥號方式實現(xiàn)的一種虛擬專有網(wǎng)絡(luò)業(yè)務(wù)。它利用L2TP技術(shù)為客戶構(gòu)建與互聯(lián)網(wǎng)隔離的隧道,以滿足客戶分支和總部內(nèi)網(wǎng)通信的需求。VPDN組網(wǎng)同時支持將L2TP和IPsec技術(shù)結(jié)合,通過L2TP完成用戶認證確保接入安全,并利用IPsec保障通信數(shù)據(jù)安全。

1)4G/5G VPDN組網(wǎng)中分支網(wǎng)關(guān)由4G/5G路由設(shè)備擔任,通過撥號接入運營商網(wǎng)絡(luò)。

2)運營商對4G/5G路由設(shè)備的APN(Access Point Name,接入點名稱)、賬戶、SIM/USIM卡信息進行認證。

3)4G/5G路由設(shè)備認證通過后被運營商判斷是VPDN用戶,同時由運營商AAA服務(wù)器向LAC(L2TP Access Concentrator,L2TP訪問集中器)設(shè)備下發(fā)L2TP隧道屬性,LAC設(shè)備將基于下發(fā)的L2TP隧道屬性信息向該VPDN用戶所屬總部的LNS(L2TP Network Server,L2TP網(wǎng)絡(luò)服務(wù)器)設(shè)備發(fā)起隧道建立請求。

4)L2TP隧道建立后,LAC設(shè)備會通過此隧道向LNS設(shè)備透傳用戶的認證信息。LNS設(shè)備向總部內(nèi)網(wǎng)的AAA服務(wù)器發(fā)起對VPDN用戶的二次認證,認證通過后為VPDN用戶分配一個企業(yè)內(nèi)網(wǎng)IP地址。分支終端用戶和總部可以開始通信。

5)分支網(wǎng)關(guān)與總部網(wǎng)關(guān)設(shè)備上均安裝有國密板卡,通過IPsec協(xié)商建立起端到端的IPsec隧道,使用國密算法對傳輸?shù)臄?shù)據(jù)報文進行加密保護和數(shù)據(jù)完整性檢查。

6)經(jīng)IPsec加密后的數(shù)據(jù)報文在LAC設(shè)備處進行L2TP封裝后,通過L2TP隧道傳輸?shù)絃NS。

7)LNS收到數(shù)據(jù)報文后首先對L2TP報文進行解封裝,然后經(jīng)過IPsec解密還原出數(shù)據(jù)報文,根據(jù)報文目的IP地址轉(zhuǎn)發(fā)報文。

11、相關(guān)文章

[1]?常用加解密算法與通訊安全講解

[2]?非對稱加密技術(shù)的原理與應(yīng)用實踐

[3]?IM聊天系統(tǒng)安全手段之通信連接層加密技術(shù)

[4]?IM聊天系統(tǒng)安全手段之傳輸內(nèi)容端到端加密技術(shù)

[5]?通俗易懂:一篇掌握即時通訊的消息傳輸安全原理

[6]?基于Netty的IM聊天加密技術(shù)學習:一文理清常見的加密概念、術(shù)語等

[7]?理論聯(lián)系實際:一套典型的IM通信協(xié)議設(shè)計詳解(含安全層設(shè)計)

[8]?微信新一代通信安全解決方案:基于TLS1.3的MMTLS詳解

[9]?手把手教你為基于Netty的IM生成自簽名SSL/TLS證書


(本文已同步發(fā)布于:http://www.52im.net/thread-4552-1-1.html)


即時通訊安全篇(十三):信創(chuàng)必學,一文讀懂什么是國密算法的評論 (共 條)

分享到微博請遵守國家法律
安达市| 金门县| 内乡县| 秦皇岛市| 楚雄市| 五原县| 调兵山市| 昌黎县| 莱州市| 溧水县| 顺平县| 昌宁县| 孟州市| 陆良县| 繁峙县| 西藏| 绩溪县| 林芝县| 西乌| 崇阳县| 山东| 迁安市| 北海市| 湖州市| 玉树县| 什邡市| 伊金霍洛旗| 郴州市| 凉城县| 苍梧县| 卢龙县| 龙游县| 汕尾市| 峨眉山市| 手游| 陆川县| 望奎县| 福鼎市| 西和县| 汝南县| 永仁县|