毛高麗
信息系統國產密碼算法應用改造的探索與實踐——以福建廣播電視大學系統為例
毛高麗
(福建廣播電視大學,福建福州,350003)
密碼技術是支撐國家網絡安全戰略的核心技術,廣泛應用具有自主知識產權的國產密碼算法是保障網絡安全的重要舉措。當前信息技術領域密碼算法主要分為對稱加密、非對稱加密和數字摘要三類。福建廣播電視大學(簡稱電大)系統現使用的密碼技術是以SM系列屏法為代表的國內自主知識產權的商用密碼算法。
密碼技術;國產密碼算法;密碼應用改造
隨著科技發展和信息化進程的加速,信息技術已成為我國經濟與社會發展的基礎條件,網絡安全也成為國家安全戰略的重要組成部分。密碼技術是網絡安全的核心技術和重要支撐,主要用于身份認證、敏感數據存儲、通信傳輸加密、數字簽名等各類安全業務場景,在保障信息的機密性、完整性和抗抵賴性方面具有重要作用。
近年來,我國密碼技術發展迅速,公開發布了具有自主知識產權和高安全強度的商業密碼算法及相關行業標準,對于確保密碼算法的自主可控,降低敏感信息泄露和信息系統遭受攻擊的風險具有十分重要的意義。同時,國產密碼基礎設施也逐步建成并提供服務,為各類信息系統尤其是自行開發建設的信息系統實施密碼改造創造了技術條件和應用環境。
(一)密碼的起源與發展
人類使用密碼的歷史可追溯至公元前400多年伯羅奔尼撒戰爭,古希臘人用腰帶纏繞在約定長度和粗細的木棍上以書寫情報,使之展開時成為雜亂無章的字母序列,從而確保情報傳遞時的安全。此后密碼技術伴隨著人們記錄和傳遞信息方式的變革而不斷演進。機械化時代,無線電是最主要的通信技術,與之相伴的摩爾斯電碼作為現代密碼算法的鼻祖而家喻戶曉。至信息化時代,高性能計算機的出現和普及為密碼技術的突飛猛進奠定了基礎,也促使這項技術擺脫了軍事專用的局限性制約,廣泛應用到教育、通訊、金融、商務等方方面面,成為人們日常生活不可或缺的一部分。
(二)密碼算法簡介及應用場景
當前信息技術領域密碼算法主要分為對稱加密、非對稱加密和數字摘要三類。
對稱加密采用單鑰密碼系統,即使用一個密鑰同時作為信息加密和解密的依據。它的優點是計算量小、加密速度快,適合快速加密大量數據;缺點是加、解密雙方需事先協商確定密鑰,密鑰管理工作量大也存在泄露風險。目前國際上通用的對稱加密算法以美國研發的DES、3DES、AES和瑞士研發的IDEA為主,其大量應用于注重加解密效率且對密鑰安全性要求不高的領域,如一般數據的加密存儲、傳輸,以及訪問控制等場景。
非對稱加密亦稱公鑰密碼系統,需要使用兩個不同的密鑰(公鑰和私鑰)分別進行加密和解密。其中公鑰是公開的,私鑰是加密或解密單方自行建立保管的,因此這一對密鑰無需在通信之前預先同步,較對稱加密安全性更高。但由于公、私鑰生成的過程相對復雜,導致加、解密時間消耗較長,計算速度慢,僅適合加密少量數據。目前通用的非對稱加密算法以美國研發的RSA和DSA為主,常見于安全關注度較高的領域,且一般由第三方機構CA(Certificate Authority)證書中心負責保證公鑰的合法性,如身份認證、數字證書等。
數字摘要是將任意長度信息轉換成“摘要”生成固定長度特征碼的算法,主要通過哈希(Hash)函數實現,理想狀態是任意不同明文“摘要”而得的密文總是不同,而相同明文“摘要”結果必定一致。數字摘要算法可與非對稱加密算法結合使用,將大量數據摘要而得簡短數據從而進行非對稱加密,為數據安全提供雙重保障。目前常用的摘要算法包括SHA、MD5等,多應用在一致性認證、數字簽名等領域。
(三)當前密碼算法的主要問題
三類主要密碼技術多以國外研發的算法為主,尤其是美國研發的DES、AES、RSA和SHA等算法,在互聯網應用領域占據絕對主導地位。但于我國而言,當前主流算法風險高、隱患大,主要體現在兩個方面:
1.安全性挑戰日益嚴峻。一些密碼算法的安全性由其密鑰長度決定,面對當下呈幾何級數增長的計算能力,被破解的隱憂也顯著增加;此外,個別算法因其自身設計缺陷,從數學計算角度已不再可靠,但或因歷史原因、或因暫無可替代而仍被大量使用。
2.風險可控性較低。大部分密碼算法知識產權歸屬國外機構,既難以判斷是否存在后門及漏洞,也難以對其進行改造、改進和深度利用,等同于將網絡安全的命脈拱手交予他人掌控。2014年路透社披露的RSA公司應美國國家安全局要求設置移動終端加密技術后門的丑聞就充分暴露出國外密碼算法風險可控性較低的隱患。
因此,密碼算法關系網絡安全,關乎國家安全,實施信息系統國產密碼應用改造如箭在弦、勢在必行。
1996年我國決定大力發展商用密碼,此后以SM系列算法為代表的國內自主知識產權的商用密碼算法快速生根發芽并逐步成熟,與之配套的信息產業鏈也不斷完善,初步具備了廣泛商用的條件。
SM系列算法主要包含SM1、SM2、SM3、SM4等四種算法,其中SM1算法與AES算法相當,為分組標準對稱算法,采用硬件實現,具體算法不公開。
SM2算法是一種基于橢圓曲線算法(ECC)的非對稱密鑰算法,加密強度為256位。其安全性遠勝于目前主流的RSA-1024算法,密鑰生成速度和解密加密速度也較優于RSA算法。作為一種公鑰算法,可以完成簽名、密鑰交換以及加密應用過程,支持近128G字節數據長度,加密結果增加96個字節。
SM3也叫密碼雜湊算法,屬于數字摘要算法的一種。其可將長度為L(L<264)比特的數據經過填充和迭代壓縮,生成長度為256比特的雜湊值,其抗碰撞攻擊的能力明顯優于MD5算法,適用于數字簽名和驗證、消息認證碼的生成與驗證以及隨機數的生成,可滿足多種密碼應用的安全需求。
SM4算法為對稱加密分組密碼算法,分組長度為128比特,密鑰長度為128比特。加密算法與密鑰擴展算法都采用32輪非線性迭代結構,解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反。該算法是我國制定無線局域網鑒別和保密基礎結構(WAPI)標準的組成部分,同時也可以用于其它環境下,如可信計算系統的數據加密與保護。
(一)找應用
實施國產密碼改造首先要明確改造范圍、確定具體的改造對象。改造范圍以自行開發建設的系統為主,可逐步擴大到委托國內外軟件廠商研發但享有版權的信息系統。在此基礎上,進一步找準密碼技術在各系統中的應用模塊。
以福建電大系統為例,現使用密碼技術的功能模塊及具體算法如下表所示:

表福建電大系統密碼技術應用情況初步調查表
由上表可知,常見的密碼應用有用戶身份認證、文件加密、數據加密以及數字簽名等場景,其中用于存儲用戶名、密碼的身份認證模塊應用最為廣泛,幾乎涉及每個信息系統,可選為國產密碼改造的首要目標。
(二)選算法
確定密碼技術的應用模塊后,可選擇與其現有密碼算法功能及用途相一致的國產SM系列算法作為替代,具體為SM2替代RSA,用于數字簽名、非對稱傳輸加密等功能模塊;SM3替代SHA-1或MD5,用于用戶身份認證等功能模塊;以及SM4替代DES、AES等,用于文件加密和數據加密等功能模塊。
其中,SM3和SM4密碼標準清晰、算法過程相對簡單,可自行編程實現(如上文所示),推薦采用模塊化程序技術(如動態鏈接庫DLL等)將SM3和SM4密碼算法的實現程序打包封裝,供各類信息系統統一調用。SM2算法實現則較為復雜,且大多數情況下需配合可信的認證中心(CA)共同使用,因此建議采用國產的成熟的SM2軟件產品進行整體替代。
(三)穩推進
國產密碼改造不僅涉及密碼算法的替代與整合,還涉及到系統舊數據的遷移與驗證,更需考慮不同系統數據交互時的算法磨合。因此實施改造宜依循“先試點、后推廣”的總體原則穩步推進:即優先選擇運行環境較為獨立、重要程度中等的自建系統入手,改造具有較強代表性的密碼算法應用模塊,如身份認證;在單一系統或模塊改造測試基本成功的基礎上,及時編制國產密碼算法模塊接口調用規范,梳理建立完備的開發改造技術檔案;之后可以按照算法實現從易到難,重要程度從中到高,數據聯系從單一到復雜的順序逐步覆蓋各個改造對象。
(四)改造成效及問題淺析
推動福建電大信息系統實施國密算法改造,即是對國家網絡安全戰略的響應與實踐,亦是從根本上提升信息系統安全性,消除現有密碼算法自身缺陷和后門漏洞帶來的隱患。同時,SM2較于RSA以及SM4較于DES/AES,除安全性更高外,還具有軟硬件實現快、加解密速度快等效率優勢,有助于提高系統的運行性能,進一步改善用戶體驗。
另一方面,應用改造過程需充分重視并克服兩方面問題:
第一,新舊密碼算法并存共用環境下的自動識別問題。如檔案管理系統,若僅改造系統中的應用模塊,則會產生新數據采用國產密碼SM4算法加密,舊數據仍采用AES算法加密的現象,導致數據讀取時無法正確識別加密算法而造成解密失敗。因此應將舊數據重新過密納入改造范圍或對所有使用國密算法加密的新數據進行標記。
第二,部分B/S架構系統的密碼應用需要瀏覽器支持。如辦公自動化系統中的數字簽名功能即是通過瀏覽器的SSL功能模塊采用HTTPS協議與后臺服務器進行通訊。而現有主流瀏覽器,如IE、火狐(Firefox)、谷歌(Chrome)等,其SSL模塊僅支持RSA等非國產密碼算法,僅有360安全瀏覽器有支持國產密碼算法的版本,但尚處于試用階段。因此,此類密碼應用的改造宜等待相關瀏覽器產品成熟后再穩步實施、平滑過渡。
綜上所述,國產密碼算法安全可靠、技術成熟,充分具備了應用推廣可行性。逐步推進自建信息系統國產密碼的應用改造,有助于化解當前密碼體系可能被破解的網絡安全風險,也有助于在教育、通訊、金融等國計民生關鍵行業建立以國產密碼為主要支撐的網絡安全保障體系。
[1]盧開澄.計算機密碼學:計算機網絡中的數據保密與安全(第3版)[M].北京:清華大學出版,2003.
[2]何大可,唐小虎.現代密碼學[M].北京:人民郵電出版社,2009.
[3]國家密碼管理局.GM/T 0003-2012 SM2橢圓曲線公鑰密碼算法[Z].2012-03-21.
[4]國家密碼管理局.GM/T 0004-2012 SM3密碼雜湊算法[Z].2012-03-21.
[5]國家密碼管理局.GM/T 0002-2012 SM4分組密碼算法[Z].2012-03-21.
[6]王高麗,申延召.帶消息填充的29步SM3算法原根和偽碰撞攻擊[J].通信學報,2014,(2).
[7]楊憲萍.聚焦聚合聚力推進商密應用:對金融領域國產密碼應用的幾點思考[J].中國信息安全,2014,(11).
[責任編輯:陳曉蔚]
TP309
A
1008-7346(2016)01-0093-04
2016-01-02
毛高麗,女,江西高安人,福建廣播電視大學現代遠程教育技術處助教。