什么是國(guó)密算法?
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
![]() ![]() 什么是國(guó)密算法?國(guó)密算法是指由中國(guó)國(guó)家密碼管理局發(fā)布的密碼算法標(biāo)準(zhǔn),旨在保障國(guó)家信息安全。目前,國(guó)家密碼管理局已發(fā)布了一系列國(guó)產(chǎn)商用密碼標(biāo)準(zhǔn)算法,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖沖之密碼算法(ZUC)等。通過在金融、電子政務(wù)及安防等領(lǐng)域廣泛應(yīng)用國(guó)密算法,在對(duì)敏感數(shù)據(jù)進(jìn)行機(jī)密性、完整性和可用性保護(hù)的同時(shí),減少對(duì)外部密碼產(chǎn)品的依賴,提升國(guó)家信息安全水平。 為什么需要國(guó)密算法?國(guó)密算法的產(chǎn)生背景在網(wǎng)絡(luò)信息傳輸和存儲(chǔ)過程中,數(shù)據(jù)的保密性和安全性是一項(xiàng)重要的需求。傳統(tǒng)的國(guó)際標(biāo)準(zhǔn)加密算法雖然安全可靠,但由于無法保證源代碼的安全性,因此存在著源代碼被外部惡意攻擊者滲透或篡改的風(fēng)險(xiǎn)。為了構(gòu)建安全的行業(yè)網(wǎng)絡(luò)環(huán)境并增強(qiáng)國(guó)家行業(yè)信息系統(tǒng)的“安全可控”能力,中國(guó)積極開展了針對(duì)信息安全需求的研究和探索。自2007年開始,中國(guó)制定了國(guó)密算法標(biāo)準(zhǔn),并于2010年正式發(fā)布。 經(jīng)過多年的發(fā)展、改進(jìn)和完善,國(guó)密算法已成為中國(guó)自主研發(fā)的密碼算法標(biāo)準(zhǔn),并在各行業(yè)得到廣泛應(yīng)用。它的誕生不僅顯著提升了中國(guó)在密碼技術(shù)領(lǐng)域的核心競(jìng)爭(zhēng)力,還為國(guó)家信息安全建設(shè)作出了重要貢獻(xiàn)。 國(guó)密算法的特點(diǎn)國(guó)密算法具備如下特點(diǎn): •安全性高:國(guó)密算法采用了嚴(yán)密的密碼學(xué)原理和復(fù)雜的運(yùn)算方式,具有較高的安全性。它在加密、數(shù)字簽名和哈希等功能上都能提供可靠的保護(hù),抵抗了各種傳統(tǒng)和現(xiàn)代密碼攻擊手段。 •高效性與靈活性:國(guó)密算法在保證安全性的同時(shí),注重算法的效率。它的加密速度和運(yùn)行效率相對(duì)較高,同時(shí)也能適應(yīng)不同的密碼長(zhǎng)度和密鑰長(zhǎng)度,以滿足不同場(chǎng)景的需求。 •標(biāo)準(zhǔn)化廣泛:國(guó)密算法已被國(guó)家標(biāo)準(zhǔn)化機(jī)構(gòu)認(rèn)可和采用。它符合國(guó)際密碼學(xué)標(biāo)準(zhǔn)的基本要求,具備與國(guó)際算法相媲美的能力。同時(shí),國(guó)密算法也在國(guó)內(nèi)推廣和應(yīng)用廣泛,成為中國(guó)信息安全領(lǐng)域的基礎(chǔ)核心算法之一。 •自主創(chuàng)新:國(guó)密算法是中國(guó)自主研發(fā)的密碼算法,所以對(duì)于算法的實(shí)現(xiàn)和推廣都具有獨(dú)立的掌控能力。這意味著中國(guó)可以更好地保護(hù)自己的國(guó)家信息安全,減少對(duì)外依賴,提高自主抵抗能力。 •面向多領(lǐng)域應(yīng)用:國(guó)密算法不僅局限于某個(gè)特定領(lǐng)域的應(yīng)用,它適用于金融業(yè)、電子商務(wù)、通信、物聯(lián)網(wǎng)、區(qū)塊鏈等不同領(lǐng)域的信息安全保護(hù)。它的廣泛應(yīng)用范圍使得國(guó)密算法可以滿足不同行業(yè)的安全需求。 國(guó)密算法如何工作?國(guó)密算法包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9以及祖沖之密碼算法(ZUC)等。其中,SM1、SM4、SM7、祖沖之密碼(ZUC)屬于對(duì)稱算法;SM2、SM9屬于非對(duì)稱算法;SM3屬于雜湊算法。 下文將主要介紹國(guó)密算法中的常用算法SM1、SM2、SM3和SM4的實(shí)現(xiàn)和應(yīng)用。 SM1算法的實(shí)現(xiàn)和應(yīng)用SM1算法是國(guó)密算法中的一種對(duì)稱加密算法,其特點(diǎn)是加解密使用相同密鑰。利用SM1對(duì)稱加密算法加解密數(shù)據(jù)的過程。 SM1算法未公開,僅以IP核(Intellectual Property Core,一種預(yù)先做好的集成電路功能模塊)的形式存在于芯片中。SM1算法主要用于小數(shù)據(jù)量的加密保護(hù),因此被廣泛用于研制智能IC卡、智能密碼鑰匙、門禁卡、加密卡等安全產(chǎn)品。 SM2算法的實(shí)現(xiàn)和應(yīng)用SM2算法是基于ECC(Elliptic Curve Cryptography)橢圓曲線的非對(duì)稱加密算法,包括了SM2-1橢圓曲線數(shù)字簽名算法、SM2-2橢圓曲線密鑰交換協(xié)議和SM2-3橢圓曲線公鑰加密算法,分別用于實(shí)現(xiàn)數(shù)字簽名、密鑰協(xié)商和數(shù)據(jù)加密等功能。 SM2算法在許多領(lǐng)域都有廣泛的應(yīng)用。在電子商務(wù)領(lǐng)域,SM2算法被用于保護(hù)用戶個(gè)人信息的安全傳輸,確保用戶在網(wǎng)上交易過程中的隱私和財(cái)產(chǎn)的安全。在互聯(lián)網(wǎng)金融領(lǐng)域,SM2算法被用于數(shù)字支付、電子銀行等場(chǎng)景,實(shí)現(xiàn)用戶身份認(rèn)證和交易的安全性。此外,SM2算法還適用于物聯(lián)網(wǎng)領(lǐng)域,保護(hù)物聯(lián)網(wǎng)設(shè)備之間的通信安全,確保數(shù)據(jù)的可靠傳輸。 數(shù)據(jù)加密在非對(duì)稱加密算法中,可對(duì)外公布的密鑰稱為“公鑰”,只有持有者所知的密鑰稱為“私鑰”。發(fā)送者使用接收者的公鑰來加密消息,接收者用自己的私鑰解密和讀取該消息。 利用SM2非對(duì)稱加密算法加解密數(shù)據(jù)的過程。 密鑰協(xié)商由于橢圓曲線的計(jì)算復(fù)雜性高,破解難度大,因此SM2算法在密鑰協(xié)商技術(shù)領(lǐng)域也起著關(guān)鍵作用。利用SM2算法進(jìn)行密鑰協(xié)商的過程。 (1) 會(huì)話雙方生成自己的私鑰(隨機(jī)數(shù))。 (2) 會(huì)話雙方由私鑰、ECC橢圓曲線參數(shù)G各自計(jì)算出公鑰。 (3) 會(huì)話雙方將自己的公鑰傳遞給對(duì)方,傳遞過程公開。由于橢圓曲線的計(jì)算復(fù)雜性高,破解難度大,因此攻擊者難以通過公鑰和橢圓曲線參數(shù)G反推出私鑰。 (4) 雙方將自己的私鑰與對(duì)方的公鑰進(jìn)行運(yùn)算,最終得到相同的會(huì)話密鑰,該會(huì)話密鑰可作為共享密鑰用于對(duì)稱加密(例如SM4算法)通信。 數(shù)字簽名數(shù)字簽名是一種用于驗(yàn)證信息完整性、真實(shí)性和來源的技術(shù)手段。它通常用于確保數(shù)據(jù)在傳輸或存儲(chǔ)過程中沒有被篡改,并且可以追溯到特定的發(fā)送方。發(fā)送方使用自己的私鑰對(duì)消息進(jìn)行加密,生成數(shù)字簽名。接收方使用發(fā)送方的公鑰對(duì)簽名進(jìn)行解密和驗(yàn)證,以驗(yàn)證消息的完整性和真實(shí)性。 在數(shù)字簽名應(yīng)用中,SM2算法通常與SM3摘要算法一起使用。 SM3算法的實(shí)現(xiàn)和應(yīng)用SM3雜湊(Hashing)算法是國(guó)密算法中的一種摘要算法。SM3算法通過哈希函數(shù)將任意長(zhǎng)度的消息壓縮成固定長(zhǎng)度的摘要。摘要具有唯一性,即不同信息生成的摘要不同,且無法由摘要恢復(fù)出原始信息,更無法偽造信息獲得相同摘要,因此SM3算法被廣泛用于實(shí)現(xiàn)數(shù)字簽名、數(shù)據(jù)完整性檢測(cè)及消息驗(yàn)證等功能。 基于SM3算法的特點(diǎn),在信息安全領(lǐng)域,SM3算法被用于保護(hù)密碼學(xué)協(xié)議、數(shù)字證書和電子簽名等數(shù)據(jù)的完整性。在區(qū)塊鏈領(lǐng)域,SM3算法被用于加密貨幣的區(qū)塊生成和鏈上交易的校驗(yàn),確保區(qū)塊鏈的安全性。此外,SM3算法還可以應(yīng)用于密碼學(xué)隨機(jī)數(shù)的生成和偽隨機(jī)序列的校驗(yàn)等領(lǐng)域,增加了數(shù)據(jù)的安全性和可靠性。ChatGPT中文網(wǎng)站:https://aigc.cxyquan.com 利用SM2算法和SM3算法對(duì)用戶數(shù)據(jù)進(jìn)行數(shù)字簽名認(rèn)證及完整性校驗(yàn)的過程。 (1) 用戶A發(fā)送的數(shù)據(jù)A經(jīng)過SM3哈希算法運(yùn)算生成摘要A。 (2) 摘要A經(jīng)過用戶A的私鑰加密生成數(shù)字簽名。 (3) 用戶A的明文數(shù)據(jù)和數(shù)字簽名經(jīng)加密算法(SM1/SM2/SM4)加密成密文后發(fā)送給用戶B。加密算法以非對(duì)稱加密算法SM2為例,即加解密使用不同密鑰。 (4) 密文到達(dá)用戶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哈希運(yùn)算生成摘要A’。對(duì)比摘要A和摘要A’: ο摘要A’=摘要A,數(shù)據(jù)完整; ο摘要A’≠摘要A,數(shù)據(jù)被篡改,丟棄本次數(shù)據(jù)。 SM4算法的實(shí)現(xiàn)和應(yīng)用與SM1算法分類相同,SM4算法同樣為分組對(duì)稱加密算法,但SM4算法實(shí)現(xiàn)公開。 分組加密算法是將明文數(shù)據(jù)按固定長(zhǎng)度進(jìn)行分組,用同一密鑰逐組加密,密文解密時(shí)同樣使用相同密鑰逐組解密。SM4算法實(shí)現(xiàn)簡(jiǎn)單,因此加解密速度較快,消耗資源少,主要用于大數(shù)據(jù)量的加密和解密,例如靜態(tài)儲(chǔ)存或數(shù)據(jù)信號(hào)傳輸通道中數(shù)據(jù)的加解密。 在網(wǎng)絡(luò)安全領(lǐng)域,SM4算法被用于保護(hù)網(wǎng)絡(luò)傳輸和存儲(chǔ)的敏感數(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)域,保護(hù)加密貨幣的交易安全等領(lǐng)域,為相關(guān)系統(tǒng)和數(shù)據(jù)的安全提供了保障。 加解密模式SM4算法支持ECB、CBC、CFB等多種分組模式,下文將介紹ECB和CBC兩種基礎(chǔ)模式。 •ECB模式 SM4算法基于ECB模式對(duì)數(shù)據(jù)加解密的過程。 (1) 發(fā)送端將明文按固定長(zhǎng)度分組,對(duì)每個(gè)明文分組分別使用相同的密鑰進(jìn)行加密生成密文分組。完整的密文由所有密文分組按序排列組合而成。 (2) 接收端將密文按固定長(zhǎng)度分組,對(duì)每個(gè)密文分組分別使用相同的密鑰進(jìn)行解密生成明文分組。所有明文分組按序排列組合而成完整的明文數(shù)據(jù)。 ECB模式實(shí)現(xiàn)簡(jiǎn)單,各段數(shù)據(jù)間互不影響,有利于并行運(yùn)算,但相同的明文塊會(huì)被加密成相同的密文塊,不能提供嚴(yán)格的數(shù)據(jù)保密性。
SM4算法基于CBC模式對(duì)明文加密的過程。 (1) 將明文按固定長(zhǎng)度分組。 (2) 明文分組1與初始向量IV進(jìn)行異或運(yùn)算,異或運(yùn)算的結(jié)果經(jīng)密鑰加密后得到密文分組1。 (3) 剩余的明文分組依次與前一個(gè)密文分組進(jìn)行異或運(yùn)算后再加密,得到對(duì)應(yīng)的密文分組。 (4) 完整的密文由所有密文分組按序排列組合而成。 SM4算法基于CBC模式對(duì)密文解密的過程。 (1) 將密文按固定長(zhǎng)度分組后,對(duì)密文分組進(jìn)行倒序處理。 (2) 對(duì)密文分組n先使用密鑰進(jìn)行解密,密文分組n解密后的數(shù)據(jù)與密文分組n-1進(jìn)行邏輯逆運(yùn)算,得到明文分組n。 (3) 同理,剩余的密文分組解密后再與前一個(gè)密文分組進(jìn)行邏輯逆運(yùn)算,得到對(duì)應(yīng)的明文分組。 (4) 最后,密文分組1用密鑰解密后的數(shù)據(jù)是與初始向量進(jìn)行邏輯逆運(yùn)算,然后得到明文分組1。 (5) 完整的明文由所有明文分組按序排列組合而成。 CBC模式安全性高于ECB,但明文塊不能并行計(jì)算,且誤差會(huì)傳遞下去。 國(guó)密算法與國(guó)際標(biāo)準(zhǔn)算法的對(duì)比國(guó)密算法和國(guó)際標(biāo)準(zhǔn)算法都是現(xiàn)代密碼學(xué)中常用的加密算法,但在技術(shù)和優(yōu)劣方面存在一些區(qū)別。常見國(guó)密算法與國(guó)際標(biāo)準(zhǔn)算法各參數(shù)性能的對(duì)比如下:
國(guó)密算法的典型應(yīng)用場(chǎng)景有哪些?AD-WAN縱向IP/MPLS組網(wǎng)國(guó)密算法可以與AD-WAN技術(shù)結(jié)合,應(yīng)用于IP/MPLS縱向網(wǎng)場(chǎng)景。通過AD-WAN智能運(yùn)維平臺(tái),實(shí)現(xiàn)國(guó)密配置一鍵下發(fā),在網(wǎng)絡(luò)中構(gòu)建國(guó)密數(shù)據(jù)加密通道,實(shí)現(xiàn)基于國(guó)密的端到端的IPsec隧道保護(hù)。 ![]() 國(guó)密算法在端到端的IPsec隧道中的工作原理如下: (1) 在IKE密鑰協(xié)商階段,使用IKE協(xié)議進(jìn)行密鑰協(xié)商過程中,采用SM2算法生成會(huì)話密鑰。 (2) 在身份認(rèn)證階段,本端使用SM2和SM3算法生成身份信息的數(shù)字簽名,并使用SM1或SM4算法和會(huì)話密鑰對(duì)身份信息和數(shù)字簽名進(jìn)行加密;對(duì)端收到加密的身份信息后,使用相同的會(huì)話密鑰解密,然后通過SM2和SM3算法進(jìn)行身份認(rèn)證。 (3) 在數(shù)據(jù)傳輸階段,本端使用SM2和SM3算法生成用戶數(shù)據(jù)的數(shù)字簽名,并使用SM1或SM4算法以及會(huì)話密鑰對(duì)用戶數(shù)據(jù)和數(shù)字簽名進(jìn)行加密;對(duì)端收到加密的用戶數(shù)據(jù)后,使用相同的會(huì)話密鑰解密,然后通過SM2和SM3算法進(jìn)行數(shù)據(jù)完整性檢查。 4G/5G VPDN業(yè)務(wù)組網(wǎng)4G/5G VPDN(Virtual Private Dialup Network,虛擬專有撥號(hào)網(wǎng)絡(luò))業(yè)務(wù)是在4G/5G無線網(wǎng)絡(luò)中采用撥號(hào)方式實(shí)現(xiàn)的一種虛擬專有網(wǎng)絡(luò)業(yè)務(wù)。它利用L2TP技術(shù)為客戶構(gòu)建與互聯(lián)網(wǎng)隔離的隧道,以滿足客戶分支和總部?jī)?nèi)網(wǎng)通信的需求。VPDN組網(wǎng)同時(shí)支持將L2TP和IPsec技術(shù)結(jié)合,通過L2TP完成用戶認(rèn)證確保接入安全,并利用IPsec保障通信數(shù)據(jù)安全。 (1) 4G/5G VPDN組網(wǎng)中分支網(wǎng)關(guān)由4G/5G路由設(shè)備擔(dān)任,通過撥號(hào)接入運(yùn)營(yíng)商網(wǎng)絡(luò)。 (2) 運(yùn)營(yíng)商對(duì)4G/5G路由設(shè)備的APN(Access Point Name,接入點(diǎn)名稱)、賬戶、SIM/USIM卡信息進(jìn)行認(rèn)證。 (3) 4G/5G路由設(shè)備認(rèn)證通過后被運(yùn)營(yíng)商判斷是VPDN用戶,同時(shí)由運(yùn)營(yíng)商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ā)起隧道建立請(qǐng)求。 (4) L2TP隧道建立后,LAC設(shè)備會(huì)通過此隧道向LNS設(shè)備透?jìng)饔脩舻恼J(rèn)證信息。LNS設(shè)備向總部?jī)?nèi)網(wǎng)的AAA服務(wù)器發(fā)起對(duì)VPDN用戶的二次認(rèn)證,認(rèn)證通過后為VPDN用戶分配一個(gè)企業(yè)內(nèi)網(wǎng)IP地址。分支終端用戶和總部可以開始通信。 (5) 分支網(wǎng)關(guān)與總部網(wǎng)關(guān)設(shè)備上均安裝有國(guó)密板卡,通過IPsec協(xié)商建立起端到端的IPsec隧道,使用國(guó)密算法對(duì)傳輸?shù)臄?shù)據(jù)報(bào)文進(jìn)行加密保護(hù)和數(shù)據(jù)完整性檢查。 (6) 經(jīng)IPsec加密后的數(shù)據(jù)報(bào)文在LAC設(shè)備處進(jìn)行L2TP封裝后,通過L2TP隧道傳輸?shù)絃NS。 (7) LNS收到數(shù)據(jù)報(bào)文后首先對(duì)L2TP報(bào)文進(jìn)行解封裝,然后經(jīng)過IPsec解密還原出數(shù)據(jù)報(bào)文,根據(jù)報(bào)文目的IP地址轉(zhuǎn)發(fā)報(bào)文。 該文章在 2024/6/15 8:33:17 編輯過 |
相關(guān)文章
正在查詢... |