0引言
密碼技術(shù)是保護(hù)網(wǎng)絡(luò)與信息系統(tǒng)安全的核心技術(shù),廣泛地應(yīng)用到金融、交通、通信等各行各業(yè),為國家安全和經(jīng)濟(jì)民生發(fā)展發(fā)揮著重要作用。然而,現(xiàn)在仍有大量的系統(tǒng)在使用MD5、SHA1、RC4和DES這些不安全的算法。
此外,部分系統(tǒng)未按照國家相關(guān)標(biāo)準(zhǔn)正確規(guī)范地使用密碼技術(shù)及服務(wù),勢必給信息系統(tǒng)帶來了嚴(yán)重的安全隱患。
因此,確保信息系統(tǒng)安全穩(wěn)定地運行,需要做好商用密碼應(yīng)用安全性評估,以保證商用密碼合規(guī)、正確、有效地應(yīng)用。由于國產(chǎn)密碼算法自身的性能等原因,使得商用密碼算法未大面積地應(yīng)用,提高商用密碼性能也是當(dāng)前主要任務(wù)之一。
信息系統(tǒng)密碼應(yīng)用安全性評估,是規(guī)范密碼應(yīng)用、維護(hù)網(wǎng)絡(luò)空間安全的基本要求,同時密碼測評又可促進(jìn)國產(chǎn)密碼在各個行業(yè)的廣泛應(yīng)用。
當(dāng)前,國密算法在系統(tǒng)應(yīng)用中的推廣和普及程度還不夠。制約國密算法推廣普及的最重要的一個原因就是性能。
本文列舉了密碼測評工作對國密算法高性能實現(xiàn)的多種需求,并對各種需求下的密碼適用性進(jìn)行初步分析。
1信息系統(tǒng)密碼應(yīng)用的基本要求
1.1商用密碼安全性評估
商用密碼應(yīng)用安全性評估,簡稱密評,是指在釆用商用密碼技術(shù)、產(chǎn)品和服務(wù)集成建設(shè)的網(wǎng)絡(luò)和信息系統(tǒng)中,對其密碼應(yīng)用的合規(guī)性、正確性和有效性等進(jìn)行評估。
合規(guī)性是指密碼算法、密碼協(xié)議、密鑰管理、密碼產(chǎn)品和服務(wù)使用合規(guī),即按照《商用密碼管理條例》等密碼法規(guī)和行業(yè)相關(guān)的密碼使用要求,使用符合國家密碼法規(guī)和標(biāo)準(zhǔn)規(guī)定的商用密碼算法,使用經(jīng)過國家密碼管理局審批的密碼產(chǎn)品或服務(wù);按照《信息系統(tǒng)密碼應(yīng)用基本要求》等標(biāo)準(zhǔn),進(jìn)行相應(yīng)的密碼應(yīng)用建設(shè)方案設(shè)計。
正確性是指密碼算法、密碼協(xié)議、密鑰管理、密碼產(chǎn)品和服務(wù)使用正確,即系統(tǒng)中釆用的標(biāo)準(zhǔn)密碼算法、協(xié)議和密鑰管理機(jī)制按照相應(yīng)的密碼國家和行業(yè)標(biāo)準(zhǔn)進(jìn)行正確的設(shè)計和實現(xiàn);密碼保障系統(tǒng)建設(shè)或改造過程中密碼產(chǎn)品和服務(wù)的部署和應(yīng)用正確。
有效性是指信息系統(tǒng)中釆用的密碼協(xié)議、密鑰管理系統(tǒng)、密碼應(yīng)用子系統(tǒng)和密碼安全防護(hù)機(jī)制不僅設(shè)計合理,而且在系統(tǒng)運行過程中能夠發(fā)揮密碼效用,保障信息的機(jī)密性、完整性、真實性、抗抵賴性。
1.2信息系統(tǒng)密碼應(yīng)用的基本要求
根據(jù)GM/T 0054《信息系統(tǒng)密碼應(yīng)用基本要求》從4個方面對信息系統(tǒng)的密碼應(yīng)用進(jìn)行評估,即總體要求、密碼技術(shù)應(yīng)用要求、密鑰管理和安全管理。
密碼技術(shù)應(yīng)用要求、密鑰管理和安全管理從四個不同的安全等級進(jìn)行要求,總體要求提出了對密碼算法、密碼協(xié)議、密碼產(chǎn)品和密碼服務(wù)要滿足相關(guān)標(biāo)準(zhǔn)和符合國家密碼管理部門的要求。
1.2.1密碼技術(shù)應(yīng)用要求
GM/T 0054《信息系統(tǒng)密碼應(yīng)用基本要求》密碼技術(shù)應(yīng)用要求分為物理和環(huán)境安全、網(wǎng)絡(luò)和通信安全、計算和設(shè)備安全以及應(yīng)用和數(shù)據(jù)安全。
其中,物理和環(huán)境安全實現(xiàn)對信息系統(tǒng)所在機(jī)房等重要區(qū)域的物理防護(hù),密碼應(yīng)用要求涉及重要區(qū)域的物理訪問控制,以及電子門禁系統(tǒng)進(jìn)出記錄和視頻監(jiān)控音像記錄的存儲完整性。
網(wǎng)絡(luò)和通信安全實現(xiàn)對信息系統(tǒng)與經(jīng)由外部網(wǎng)絡(luò)連接的實體進(jìn)行網(wǎng)絡(luò)通信時的安全防護(hù),密碼應(yīng)用要求主要涉及通信過程中實體身份真實性、數(shù)據(jù)機(jī)密性和數(shù)據(jù)完整性,以及網(wǎng)絡(luò)邊界訪問控制和設(shè)備接入控制。
計算和設(shè)備安全實現(xiàn)對信息系統(tǒng)中各類設(shè)備和計算環(huán)境的安全防護(hù),密碼應(yīng)用要求主要涉及對登錄設(shè)備用戶的身份鑒別、遠(yuǎn)程管理通道的建立、可信計算環(huán)境的建立、重要可執(zhí)行程序來源的真實性,以及系統(tǒng)資源訪問控制信息、設(shè)備的重要信息資源敏感安全標(biāo)記、重要可執(zhí)行程序完整性、日志記錄的完整性。
應(yīng)用和數(shù)據(jù)安全實現(xiàn)對信息系統(tǒng)中應(yīng)用及其數(shù)據(jù)的安全防護(hù),密碼應(yīng)用主要涉及應(yīng)用的用戶身份鑒別、訪問控制,以及應(yīng)用相關(guān)重要數(shù)據(jù)的存儲安全、傳輸安全和相關(guān)行為的不可否認(rèn)性。
其中重要數(shù)據(jù)應(yīng)根據(jù)密碼解決方案以及實際需求來確定,一般地,重要數(shù)據(jù)包括但不限于鑒別數(shù)據(jù)、重要業(yè)務(wù)數(shù)據(jù)、重要個人信息、重要審計數(shù)據(jù)、重要配置數(shù)據(jù)、重要視頻數(shù)據(jù)等。
1.2.2密鑰管理
信息系統(tǒng)密鑰管理應(yīng)包括對密鑰的生成、存儲、分發(fā)、導(dǎo)入、導(dǎo)出、使用、備份、恢復(fù)、歸檔與銷毀等全生命周期進(jìn)行管理和策略制定的全過程。
1.2.3安全管理
安全管理從管理制度、人員管理、建設(shè)運行和應(yīng)急處置四個方面提出了第一級到第四級的密碼應(yīng)用安全管理要求,需要健全責(zé)任主體管理機(jī)制來確保密碼技術(shù)被正確、合規(guī)和有效地實施。
2密碼技術(shù)及高性能需求
隨著應(yīng)用場景的不同,各種應(yīng)用環(huán)境對密碼算法的性能及安全性需求出現(xiàn)了不同的要求。下面將從物理和環(huán)境、網(wǎng)絡(luò)和通信、設(shè)備和計算和應(yīng)用和數(shù)據(jù)四個層面從密評角度分析國密算法在性能方面對其影響。
2.1物理和環(huán)境安全
物理和環(huán)境安全是信息系統(tǒng)安全最基礎(chǔ)部分,需要利用密碼技術(shù)有效地保護(hù)進(jìn)入機(jī)房等重要場所的人員身份的真實性以及視頻、進(jìn)出記錄數(shù)據(jù)的完整性。
一般采用基于SM7算法的非接觸式邏輯加密卡或者基于SM1/SM7算法的非接觸式CPU卡方式實現(xiàn)一卡一密進(jìn)行身份鑒別。
基于非接觸式IC卡門禁系統(tǒng)的密碼應(yīng)用包含3個子系統(tǒng):應(yīng)用系統(tǒng)、密鑰管理系統(tǒng)和發(fā)
卡系統(tǒng)。門禁系統(tǒng)密碼應(yīng)用示意圖如圖1所示:
圖1門禁系統(tǒng)密碼應(yīng)用示意圖
對于視頻數(shù)據(jù)的完整性保護(hù)一般采用對數(shù)據(jù)做MAC計算或者做數(shù)字簽名,由于視頻數(shù)據(jù)產(chǎn)生都是動態(tài)的、實時的,直接對完整的所有視頻數(shù)據(jù)做MAC計算或數(shù)字簽名效率非常低,影響方案的可實施性。
為了提高計算效率,可以采取將視頻相關(guān)信息,如用戶名、設(shè)備編號、幀序列號等,隱藏在視頻編碼壓縮域中,在視頻解碼階段,計算MAC值并與原來MAC值對比。
2.2網(wǎng)絡(luò)和通信安全
信息系統(tǒng)中各個部件之間的互聯(lián)互通需要網(wǎng)絡(luò)來實現(xiàn)。網(wǎng)絡(luò)層需要實現(xiàn)以下密碼功能:對通信雙方的身份進(jìn)行鑒別、對通信過程中的數(shù)據(jù)做完整性保護(hù)、通信過程中的敏感數(shù)據(jù)或整個報文做機(jī)密性保護(hù)、對網(wǎng)絡(luò)邊界訪問控制信息或系統(tǒng)資源訪問控制信息的完整性進(jìn)行保護(hù)和建立一條安全信息傳輸通道對網(wǎng)絡(luò)中的安全設(shè)備進(jìn)行集中管理。
另外,對于四級系統(tǒng),連接到內(nèi)部網(wǎng)絡(luò)的設(shè)備需要做認(rèn)證。保護(hù)網(wǎng)絡(luò)通信完全可以采用SSL/TLS協(xié)議或者IPSec協(xié)議。
SSL協(xié)議、IPSec協(xié)議都是一種網(wǎng)絡(luò)層的綜合密碼協(xié)議,為網(wǎng)絡(luò)通信過程提供了數(shù)據(jù)的機(jī)密性、完整性以及數(shù)據(jù)源的身份鑒別和抗重放攻擊。通常在網(wǎng)絡(luò)層部署SSL VPN或IPSec VPN設(shè)備。
由于我國密碼行業(yè)標(biāo)準(zhǔn)支持“雙證書+雙中心”機(jī)制,即加密證書和簽名證書,用于數(shù)據(jù)加密的密鑰對由密鑰管理中心生成,用于數(shù)字簽名的密鑰由用戶生成。采用符合國密標(biāo)準(zhǔn)雙證書機(jī)制提高了安全性,另一方面,對于用戶和系統(tǒng)而言,帶來了一定的效率降低以及管理成本上升,其次,服務(wù)器端做簽名驗證時,SM2數(shù)字簽名的驗證算法需要做多倍點運算,其算法效率較RSA簽名驗證算法低。
對于通信數(shù)據(jù)的機(jī)密性可采用SM4算法對數(shù)據(jù)加密保護(hù),完整性可采用HMAC-SM3算法。SM4算法的性能較AES有一定差距,在某些實時性要求高的通信加密應(yīng)用場景中,SM4算法可能難以滿足需求,此時可考慮采用序列算法,如我國的ZUC算法,但目前TLS/SSL協(xié)議尚不支持ZUC算法。
為了保證網(wǎng)絡(luò)邊界訪問控制信息、系統(tǒng)資源訪問控制信息的完整性,可以配置合規(guī)的SSL或IPSec VPN設(shè)備,利用設(shè)備自身的密碼保護(hù)機(jī)制對訪問控制列表的完整性進(jìn)行保護(hù)。
然而,一些系統(tǒng)僅僅部署了防火墻等安全產(chǎn)品,市面上這些防火墻等安全產(chǎn)品并未使用密碼技術(shù)或者使用了未認(rèn)證的密碼模塊。
首先,未使用或者使用了不合規(guī)的密碼技術(shù)的安全產(chǎn)品會影響到系統(tǒng)通信過程中的安全性;
其次,這些安全產(chǎn)品增加密碼功能必然對系統(tǒng)的性能有所降低。為了提高性能同時又保證其安全性,自然對密碼算法的高性能實現(xiàn)提出了要求。
綜上所述,為提高系統(tǒng)通信過程的安全性且對系統(tǒng)通信的性能影響不大,就必然對國密算法高性能實現(xiàn)提出了更高的要求。做好國密算法的高性能實現(xiàn),可以幫助國密算法更好地普及。
2.3設(shè)備和計算安全
設(shè)備和計算層面主要利用密碼技術(shù)保證終端設(shè)備、服務(wù)器、安全設(shè)備和操作系統(tǒng)等算法運行及計算環(huán)境安全。計算與設(shè)備層需要實現(xiàn)以下密碼功能:對系統(tǒng)中登錄設(shè)備的用戶進(jìn)行身份鑒別、對系統(tǒng)日志、訪問控制信息、重要程序或文件、重要信息資源敏感標(biāo)記進(jìn)行完整性保護(hù)以及遠(yuǎn)程管理時身份鑒別信息需做機(jī)密性保護(hù)。
設(shè)備與計算層面的用戶登錄認(rèn)證中的用戶一般是指登錄到設(shè)備的管理員、運維人員等,實現(xiàn)身份鑒別常用的方法利用智能密碼鑰匙對管理員進(jìn)行身份鑒別,遠(yuǎn)程管理時,鑒別信息的機(jī)密性通過https協(xié)議登錄到堡壘機(jī),然后由SSH協(xié)議加密傳輸?shù)侥繕?biāo)服務(wù)器。
目前,SSH協(xié)議不支持國密算法,所以,急需兼容國密算法的SSH協(xié)議及相關(guān)產(chǎn)品和標(biāo)準(zhǔn),以保證用戶登錄安全。
設(shè)備與計算層面的完整性保護(hù)實現(xiàn)方式有兩種:一種是使用內(nèi)置的密碼模塊如加密卡、密碼芯片、軟件密碼模塊等;另外一種是通過在外部部署密碼機(jī)或者智能密碼鑰匙等密碼產(chǎn)品,尤其是外部部署的加密設(shè)備,一般對性能要求較高。
當(dāng)前,操作系統(tǒng)、芯片等領(lǐng)域在國產(chǎn)化方面還有所欠缺,使用合規(guī)的密碼技術(shù)才能有效地彌補系統(tǒng)的安全性,同時也對國產(chǎn)密碼算法的性能提出了更高的要求。
2.4應(yīng)用和數(shù)據(jù)安全
應(yīng)用和數(shù)據(jù)層面主要是對信息系統(tǒng)中業(yè)務(wù)應(yīng)用以及系統(tǒng)的業(yè)務(wù)數(shù)據(jù)、用戶身份鑒別數(shù)據(jù)、系統(tǒng)資源訪問控制信息、重要資源信息敏感標(biāo)記和日志等安全提出基于密碼技術(shù)的要求。
應(yīng)用與數(shù)據(jù)層需要實現(xiàn)以下密碼功能:對登錄的用戶進(jìn)行身份鑒別、保證系統(tǒng)資源訪問控制信息和重要資源信息敏感標(biāo)記和日志的完整性、對傳輸和存儲過程中數(shù)據(jù)的機(jī)密性和完整性進(jìn)行保護(hù)、重要程序的安裝及卸載進(jìn)行安全控制,對于四級信息系統(tǒng),需要實現(xiàn)抗抵賴性。
在某些對數(shù)據(jù)源頭需要利用密碼技術(shù)提供保護(hù)的應(yīng)用場景下,僅僅依賴于網(wǎng)絡(luò)層和設(shè)備層提供的密碼技術(shù)是不夠的,仍需要在應(yīng)用和數(shù)據(jù)層提供密碼技術(shù)進(jìn)行保護(hù)。
例如,網(wǎng)絡(luò)層的密碼算法的不安全實現(xiàn)導(dǎo)致系統(tǒng)不安全,如“OpenSSL心臟出血”漏洞,此時如果數(shù)據(jù)在應(yīng)用層也是加密處理的,數(shù)據(jù)傳輸過程中的機(jī)密性依然有保證。反之,數(shù)據(jù)經(jīng)網(wǎng)絡(luò)層和應(yīng)用層面的兩次加密,顯然對通信的性能有所降低,同時增加了成本。故而,只有提高國密算法的性能才能降低這些不利的影響。
系統(tǒng)的應(yīng)用涉及各行各業(yè),每種應(yīng)用需求都不一樣,所需要保護(hù)的數(shù)據(jù)也不同。在該層面所涉及的密碼技術(shù)及實現(xiàn)方式與上述兩個層面基本相同,所面臨的問題也類似,如用戶身份鑒別、訪問控制信息完整性保護(hù)等。重要數(shù)據(jù)存儲加密和重要程序加載卸載的安全控制這部分需求是上述層面所沒有的。
存儲的機(jī)密性一般可以采用內(nèi)置的密碼模塊對數(shù)據(jù)加密保護(hù)或者將重要的數(shù)據(jù)傳輸?shù)椒?wù)器密碼機(jī)中,利用服務(wù)器密碼機(jī)進(jìn)行加密,將密文存儲在數(shù)據(jù)庫中,部分用戶直接利用數(shù)據(jù)庫自帶的加密功能進(jìn)行機(jī)密性保護(hù)。
對于業(yè)務(wù)用戶特別多的行業(yè)或場景,其加密存儲對算法的性能要求非常高,此時,SM4算法性能與AES算法相比有一定差距,特別是AES算法利用英特爾芯片指令集—AES-NI加速優(yōu)化后差距更加明顯。重要程序加載卸載的安全一般可以借助數(shù)字簽名技術(shù)對其代碼簽名或者做MAC運算保護(hù)其完整性。
3其他應(yīng)用場景
隨著信息技術(shù)的飛速發(fā)展,智能手機(jī)等電子產(chǎn)品隨處可見,方便了人們的生活、辦公,如手機(jī)銀行、移動辦公等,帶來便利的同時也引入了新的安全問題。近年來,對移動終端及其APP的軟硬件攻擊層出不窮。
為了保護(hù)智能終端的數(shù)據(jù)安全,可以采用白盒加密或者協(xié)同簽名等技術(shù)。密碼算法的白盒實現(xiàn)可以有效地保護(hù)密鑰在算法運行過程中被攻擊,但是其實現(xiàn)的查找表的規(guī)模非常大,較算法的標(biāo)準(zhǔn)實現(xiàn)所需要的存儲空間較大、運行效率較低,不適合資源受限的場景下應(yīng)用。
協(xié)同簽名技術(shù)的基本思想是用戶的簽名私鑰不再僅由用戶產(chǎn)生,其子私鑰分別由用戶和后臺服務(wù)器各自生成,對文件的簽名需要雙方利用各自的私鑰對文件交互式計算,最終生成簽名結(jié)果,實現(xiàn)方式如圖2所示。
林等提出的方案在產(chǎn)生協(xié)同簽名的密鑰對時,客戶端和服務(wù)器端分別需要做一次模逆運算和一次點乘運算,計算各自的子密鑰對,且服務(wù)器端與客戶端要做兩次交互。
協(xié)同簽名產(chǎn)生過程中客戶端與服務(wù)器端需要交互兩次,其中客戶端需要計算一次點乘運算,服務(wù)器端需要計算兩次點乘運算,較標(biāo)準(zhǔn)的SM2數(shù)字簽名算法效率下降不少。
Lindell提出基于同態(tài)加密函數(shù)Paillier實現(xiàn)了的協(xié)同簽名方案,其實現(xiàn)方法與林的方案相似,不同的是簽名過程中的隨機(jī)數(shù)借助同態(tài)函數(shù)保護(hù)。
客戶端需要計算一次點乘計算、一次Paillier加密運算和一次解密運算,服務(wù)器端需要計算一次點乘、一次加法同態(tài)運算和一次乘法同態(tài)運算,其效率相對更低。
圖2協(xié)同簽名示意圖
4結(jié)語
密碼技術(shù)是保護(hù)網(wǎng)絡(luò)與信息系統(tǒng)安全的核心技術(shù)。信息系統(tǒng)安全穩(wěn)定的運行離不開商用密碼應(yīng)用安全性評估,以確保商用密碼合規(guī)、正確、有效地應(yīng)用。
由于國產(chǎn)密碼算法自身的性能等原因,使得商用密碼未大面積應(yīng)用,還需提高商用密碼性能以便更好地推廣商密算法,實現(xiàn)信息系統(tǒng)的安全自主可控。