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