付朋俠



摘要 密碼技術是信息安全保障的核心,為確保密碼算法的自主可控,降低敏感信息泄露和信息系統遭受攻擊的風險,國家密碼管理局制定并發布了國產密碼算法及相關密碼行業標準。本文對國產密碼算法的現狀進行簡單的介紹,并對信息系統進行國產密碼算法升級提出改造方案。
關鍵詞 國產密碼算法;數字證書認證系統;SSL網關
中圖分類號 TN91
文獻標識碼 A
文章編號2095-6363(2015)10-0104-02
1 背景
2013年的棱鏡門事件,暴露出我國計算機及網絡系統等信息化基礎設施長期依賴國外產品,面臨安全隱患。2014年2月,中央網絡安全和信息化領導小組宣告成立,習近平總書記親自擔任組長,信息安全被提升至國家層面。
密碼技術是信息安全保障的核心,我國絕大部分行業核心領域長期以來都是沿用國際通用的密碼算法體系,主要包括DES、3DES、AES、RSA、SHA-1、MD5等密碼算法。國產密碼算法是我國自主研制、具有自主知識產權的一系列密碼算法,具有較高安全性,由國家密碼管理局認可和推廣,主要用于對不涉及國家秘密內容但又具有敏感性的內部信息、行政事務信息、經濟信息等進行加密保護。隨著密碼技術和計算技術的發展,以及RSA預留后門、RSA1024算法風險等事件影響,根據國家密碼管理局的要求,公鑰密碼算法要盡快升級為國產密碼算法,中央辦公廳也提出要求,“各金融機構要在2013-2015年全面完成主要應用系統使用國產密碼算法的升級改造”,信息系統進行國產密碼算法升級改造已成為當務之急,成為我國實現信息安全自主可控的主要手段之一。
2 國產密碼現狀
近年來,國家密碼管理局公開了自主研發的SM2、SM3、SM4等一系列密碼算法和標準,用以保障我國信息安全。算法簡要介紹如下。
1)國產SM2算法。國產SM2算法是一種基于橢圓曲線理論實現的非對稱算法,是國際上ECC橢圓曲線算法的優化。與橢圓曲線算法的主要區別在于選擇的一些參數不同,少數實現細節有細微調整優化。SM2算法的總體安全性和性能等方面和ECC算法一樣,是目前已知的公鑰體制中對每比特所提供加密強度最高的一種算法。SM2加密強度為256位,其安全性與目前使用的RSA1024相比具有明顯的優勢。
2)國產SM3算法。國產SM3算法,是一種雜湊算法。即對于給定長度為k(k<264)的消息,SM3雜湊算法經過填充、迭代壓縮和選裁,生成雜湊值,雜湊值長度為256比特。該算法與非對稱算法組合能夠實現數字簽名功能。
3)國產SM4算法。國產SM4算法,是一種分組對稱密碼算法。該算法的分組長度為128比特,密鑰長度為128比特。加密算法與密鑰擴展算法都采用32輪非線性迭代結構。解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。
據國家商用密碼管理辦公室網站統計,目前,國家密碼管理局已組織引導產業界開發并公布了967項商用密碼通用產品;224項支持SM2/3/4密碼算法的商用密碼產品;352項支持SM2橢圓曲線密碼算法的通用產品。密碼產品包括SSL網關、數字證書認證系統、密鑰管理系統、金融數據加密機、智能密碼鑰匙、智能IC卡、PCI密碼卡等多種類型,目前已初步形成形式多樣、功能互補的產品鏈,并保持著持續增長的勢頭,在國家主導的行業中更多地采用國家密碼管理局的密碼算法,必將成為趨勢。
3 典型信息系統架構及改造方案
目前,我國典型的信息系統通常都涉及到數字證書認證系統、SSL網關以及口令加密、數據加密等功能,典型系統架構如圖1所示。
在實施國產密碼算法改造過程中,通常包括以下幾方面工作。
3.1 改造數字證書認證系統
根據國家密碼管理局要求,全國大部分電子認證服務機構目前已完成了電子認證服務系統公鑰密碼算法升級,支持SM2橢圓曲線密碼算法,并接入國家電子認證信任源點。各機構若是采用第三方電子認證服務,則只需要改造注冊審批系統(RA);若是自建數字證書系統,則需要對密鑰管理中心(KMC)、認證中心(CA)以及注冊審批系統(RA)進行改造。
1) KMC系統。KMC系統是電子認證系統的子系統。它的功能是管理加密證書的密鑰,并為CA的證書用戶提供加密密鑰。KMC系統通過改造后能夠全面支持國產密碼算法,產生基于國產密碼算法的加密密鑰。2)CA系統。CA系統是電子認證系統的核心,主要功能是實現數字證書生命周期的管理,同時還負責用戶證書狀態的發布。電子認證機構升級CA系統后須能夠完成國產算法證書的簽發,并能夠進行國產算法證書的申請、下載、凍結、更新、吊銷等操作。3)RA系統。RA系統實現電子認證系統中證書的注冊審核工作,完成對證書申請信息的錄入和審核,代用戶向CA申請并下載數字證書。RA在進行數字證書申請過程中,可以支持產生國產密碼算法的申請,并能夠進行國產算法數字證書的下載與更新。
3.2 改造應用信息系統
1)客戶端。客戶端若使用USBKey作為證書介質,應需要更換證書,則應考慮USBKey介質的適配性,采用支持國密證書的USBKey產品供應商。如果使用文件證書,則無需考慮介質。
2) SSL網關。若采用硬件方式,可采用支持國密算法的SSL網關。若采用軟件方式,目前主流的應用服務器中間件如WebLogic、WebSphere暫不支持國密算法,修改系統配置后,可以支持2048位的RSA算法以保障安全性。
3)密碼算法。若系統中采用了加密或者哈希算法,應采用對應的國產密碼算法替代對應的國際算法,國產密碼算法與國際密碼算法的對應關系如表1所示。
4)其他密碼產品。其他密碼產品如簽名驗簽服務器、密碼卡等,可按照國家密碼管理局公布的產品目錄進行升級或替換。
推進國產密碼算法實施建議。國產密碼算法在不同領域的應用,涉及芯片,操作系統,密碼專用產品,應用產品,中間件、數據庫等多個環節,需要從最底層芯片到應用的完整產業鏈支持。而完整產業鏈的培育是一個長期的工作,包括了標準規范制定、產品研發、檢測體系建設、應用驗證、大規模應用等不同工作。為順利實施國產密碼在金融、電力、醫療、通信等關鍵行業的推廣,需要確定指導全局、委托可行的總體實施策略,順利推進相關工作的開展。
根據實際工作需要特點,不同領域國產密碼算法應用推廣實施的可按照如下圖路徑實施。