鹿福祥 陳傳祿 胡進(jìn)偉 陳鵬 張登
摘 要:從密碼模塊上保障數(shù)據(jù)隱私和安全是一種行之有效的手段,因此近年來(lái)對(duì)密碼模塊的安全性評(píng)估倍受關(guān)注。非入侵式攻擊緩解技術(shù)是密碼模塊安全指標(biāo)之一,本文結(jié)合GM/T 0083-2020國(guó)密標(biāo)準(zhǔn)對(duì)IEC 17825-2016進(jìn)行了學(xué)習(xí)與解讀。主要針對(duì)非入侵式攻擊方法與安全功能的關(guān)聯(lián)性、基本測(cè)試項(xiàng)目和流程、通過(guò)/失敗測(cè)試指標(biāo)、緩解技術(shù)等方面進(jìn)行了解讀。希望能為相關(guān)人員對(duì)標(biāo)準(zhǔn)及測(cè)試方法的理解和密碼模塊安全設(shè)計(jì)、應(yīng)用、評(píng)估提供些許參考。
關(guān)鍵詞:非入侵式攻擊,緩解技術(shù),側(cè)信道攻擊,密碼模塊
DOI編碼:10.3969/j.issn.1674-5698.2023.07.015
0 引 言
為貫徹落實(shí)《密碼法》合理使用密碼技術(shù)保護(hù)關(guān)鍵信息基礎(chǔ)設(shè)施,2022年11月7日,發(fā)布了GB/T39204-2022《信息安全技術(shù) 關(guān)鍵信息基礎(chǔ)設(shè)施安全保護(hù)要求》[1]。在密碼行業(yè)委員會(huì)、高校學(xué)者、企業(yè)專(zhuān)家等相關(guān)方的共同推進(jìn)下,我國(guó)已發(fā)布商用密碼相關(guān)國(guó)家標(biāo)準(zhǔn)31項(xiàng)、行業(yè)標(biāo)準(zhǔn)116項(xiàng)、ISO/IEC標(biāo)準(zhǔn)7項(xiàng)[2]。我國(guó)正在建立結(jié)構(gòu)合理、配套協(xié)調(diào)的密碼標(biāo)準(zhǔn)體系,為迎接信息網(wǎng)絡(luò)安全“密碼+”新時(shí)代鋪墊基石。
密碼算法的實(shí)現(xiàn)需要一個(gè)載體,往往應(yīng)用過(guò)程中需要將密碼算法嵌入到物理設(shè)備。如:現(xiàn)在常見(jiàn)的智能門(mén)鎖、共享單車(chē)、移動(dòng)支付等設(shè)備都采用了不同的密碼技術(shù),設(shè)備中都包含了相應(yīng)的密碼模塊。ISO/IEC 19790:2012和GB/T 37092-2018中都定義密碼模塊應(yīng)該包含硬件、軟件、固件或者其中組合的集合,集合至少一個(gè)核準(zhǔn)的密碼算法、功能或過(guò)程實(shí)現(xiàn)的一項(xiàng)密碼服務(wù)。密碼模塊是實(shí)現(xiàn)密碼算法、密鑰管理等功能的硬件、軟件等一體的組件,根據(jù)不同程度的安全要求將其劃分成4個(gè)不同安全等級(jí)(或者5個(gè)等級(jí)),從1至4級(jí)安全要求不斷提高[3]。常見(jiàn)的密碼模塊安全要求相關(guān)標(biāo)準(zhǔn)如:ISO/IEC 19790:2012、GM/T 0028-2014、GM/T 0039-2015、ISO/IEC 24759-2017、GB/T 37092-2018等,這些標(biāo)準(zhǔn)中都包含了非入侵式攻擊、緩解非入侵式攻擊的檢測(cè)方法或相關(guān)要求。這些標(biāo)準(zhǔn)為密碼模塊的設(shè)計(jì)、研發(fā)、生產(chǎn)、集成建設(shè)、運(yùn)維、應(yīng)用安全測(cè)評(píng)等活動(dòng)提供依據(jù)。密碼模塊安全標(biāo)準(zhǔn)對(duì)安全等級(jí)1級(jí)、2級(jí)的要求僅需要通過(guò)文件聲明密碼模塊是如何緩解非入侵式技術(shù)攻擊的措施。對(duì)安全等級(jí)3級(jí)、4級(jí)的要求,需要實(shí)驗(yàn)室對(duì)密碼模塊抵抗非入侵式攻擊的能力進(jìn)行測(cè)試,來(lái)證明密碼模塊具有標(biāo)準(zhǔn)中列出的非入侵式攻擊緩解技術(shù)[4]。
1 標(biāo)準(zhǔn)解讀
為了確定密碼模塊是否符合I S O / I E C19790:2012中的安全等級(jí)3級(jí)、4級(jí)的要求。ISO/IEC17825:2016標(biāo)準(zhǔn)中規(guī)定了非侵入性攻擊緩解測(cè)試指標(biāo)與ISO/IEC 19790中規(guī)定的安全功能相關(guān)性[5]。ISO/IEC 17825采用的測(cè)試方法具有可靠性、有效性、可重復(fù)性、成本適中、易實(shí)現(xiàn)等優(yōu)點(diǎn)。
ISO/IEC 17825:2016包含了分組密碼算法和公鑰密碼算法非侵入性攻擊緩解測(cè)試方法,和判定通過(guò)/失敗的指標(biāo)。結(jié)合我國(guó)商用密碼算法的獨(dú)特性和創(chuàng)新性,2020年12月28日國(guó)家密碼管理局發(fā)布了GM/T0083-2020,該標(biāo)準(zhǔn)規(guī)定了應(yīng)用國(guó)產(chǎn)商用算法的密碼模塊非入侵式攻擊測(cè)試方法及其判定指標(biāo)[2]。
1.1 非入侵式攻擊方法與安全功能的關(guān)聯(lián)性
密碼模塊安全性評(píng)估應(yīng)當(dāng)根據(jù)其安全功能特點(diǎn)、模塊特性、應(yīng)用場(chǎng)景,來(lái)選擇相應(yīng)的非入侵式攻擊緩解技術(shù)。其中,計(jì)時(shí)分析攻擊(TA)、簡(jiǎn)單能量分析攻擊(SPA)、簡(jiǎn)單電磁分析攻擊(SEMA)、差分能量分析攻擊(DPA)、電磁分析攻擊(EMA)等攻擊技術(shù)成熟容易實(shí)現(xiàn),對(duì)密碼模塊的威脅最大,受到學(xué)術(shù)界和測(cè)評(píng)界廣泛關(guān)注[4]。ISO/ I EC17825:2016中也針對(duì)這幾種非入侵式攻擊緩解情況規(guī)定了測(cè)試方法和要求。
表1中的“適用”意味著安全功能容易受到這些類(lèi)型的攻擊,“不適用”意味著安全功能不容易受到這些類(lèi)型的攻擊[5]。
1.2 非侵入性攻擊和緩解技術(shù)
沒(méi)有任何標(biāo)準(zhǔn)和檢測(cè)技術(shù)能夠完全保證密碼設(shè)備可免受非入侵式攻擊的侵?jǐn)_。ISO/ IEC 17825和GM/T 0083的測(cè)試目的是評(píng)估已使用非侵入性攻擊緩解技術(shù)的密碼模塊,能否在期望的安全級(jí)別上提供抵抗非入侵式攻擊的能力,驗(yàn)證在設(shè)計(jì)和實(shí)施階段采取了足夠的注意來(lái)緩解非侵入性攻擊。測(cè)試的基本原理是以非入侵的方法從密碼模塊周?chē)崛∥锢硇畔?,檢測(cè)這個(gè)物理信息與密碼模塊的CSP(關(guān)鍵秘密參數(shù))是否有依賴(lài)關(guān)系。如果通過(guò)這種依賴(lài)關(guān)系足夠開(kāi)展非入侵式攻擊,則認(rèn)為密碼模塊存在泄露,不能通過(guò)非入侵式攻擊測(cè)試。如果收集到的物理信息與CSP不存在依賴(lài)關(guān)系或者現(xiàn)有技術(shù)條件檢測(cè)不到,則認(rèn)為不存在泄露通過(guò)測(cè)試。
在密碼模塊安全性測(cè)試中,應(yīng)依次進(jìn)行TA、SPA / SEM A、DPA / DEMA分析攻擊的抵抗能力測(cè)試。圖1給出了非入侵式攻擊的測(cè)試框架,測(cè)試人員應(yīng)當(dāng)按照?qǐng)D中順序進(jìn)行測(cè)試。必要時(shí)進(jìn)行高級(jí)的測(cè)試如:Mico-architectural TA、Markov SPA、AdressbitDPA、高階DPA攻擊等[5]。下文分別介紹了TA、SPA/SEMA、DPA/DEMA[6]緩解技術(shù)的測(cè)試流程如圖2~4所示。
1.3 計(jì)時(shí)攻擊的泄露測(cè)試
圖2計(jì)時(shí)攻擊的泄漏分析流程可分為兩個(gè)階段。第一階段,測(cè)量幾個(gè)不同CSP和固定文本的執(zhí)行時(shí)間。如果測(cè)量的加/解密執(zhí)行時(shí)間與不同CSP沒(méi)有明顯的統(tǒng)計(jì)學(xué)相關(guān)性,那么測(cè)試?yán)^續(xù)到第二階段;否則,測(cè)試失敗。第二階段,使用不同的明文和固定的CSP進(jìn)行加/解密操作。如果加/解密操作的執(zhí)行時(shí)間與不同明文之間無(wú)明顯的統(tǒng)計(jì)學(xué)相關(guān)性,測(cè)試通過(guò)。否則,測(cè)試失敗。當(dāng)密碼模塊的執(zhí)行時(shí)間難以準(zhǔn)確測(cè)量,應(yīng)使用被測(cè)密碼模塊芯片的時(shí)鐘周期ε作為容錯(cuò)值。比較時(shí)間值(或兩個(gè)平均時(shí)間值)T 1和T 2,如果|T 1-T 2 |<ε不成立,則測(cè)試不通過(guò)[5]。因?yàn)楦呒?jí)時(shí)間分析攻擊存在一定的威脅,所以泄露測(cè)試不僅應(yīng)計(jì)算均值差,還應(yīng)計(jì)算方差或者其他統(tǒng)計(jì)學(xué)特征,以便檢測(cè)是否存在二階或高級(jí)計(jì)時(shí)泄漏。
1.4 簡(jiǎn)單能量/電磁分析泄露測(cè)試
簡(jiǎn)單能量/電磁分析攻擊測(cè)試流程圖如圖3所示。首先,測(cè)試實(shí)驗(yàn)室應(yīng)獲取與所需安全等級(jí)相關(guān)的物理測(cè)量值,在非侵入性攻擊緩解通過(guò)/失敗測(cè)試指標(biāo)中,對(duì)不同安全等級(jí)的密碼模塊測(cè)試,采集信息的時(shí)間和數(shù)據(jù)量有不同要求。其次,對(duì)每個(gè)側(cè)信道測(cè)量值,使用交叉關(guān)聯(lián)的方法來(lái)檢索指令序列。交叉關(guān)聯(lián)方法是一種識(shí)別重復(fù)操作的有效方法,若交叉關(guān)聯(lián)方法識(shí)別出與關(guān)鍵安全參數(shù)相關(guān)的指令操作序列[7],則密碼模塊測(cè)試失敗。
1.5 差分能量/電磁分析泄露測(cè)試
差分能量/電磁分析泄露測(cè)試流程如圖4。首先,從待測(cè)設(shè)備上收集對(duì)應(yīng)測(cè)試安全等級(jí)所需物理測(cè)量值,通過(guò)濾波、動(dòng)態(tài)對(duì)齊、靜態(tài)對(duì)齊技術(shù)對(duì)測(cè)量值曲線進(jìn)行預(yù)處理。然后計(jì)算SNR(信噪比),若SNR足夠進(jìn)行密碼算法的中間值分析,則計(jì)算出對(duì)應(yīng)的中間值,再對(duì)預(yù)處理的測(cè)量值曲線進(jìn)行統(tǒng)計(jì)學(xué)假設(shè)檢驗(yàn)。通常進(jìn)行Welch t檢驗(yàn),如果同一時(shí)間點(diǎn)測(cè)量值的T表明顯著性不同,則認(rèn)為存在泄露。如果發(fā)現(xiàn)所有的點(diǎn)都存在顯著性不同,需要重新分析測(cè)量值曲線對(duì)齊和SNR的計(jì)算是否正確。
統(tǒng)計(jì)檢驗(yàn)按以下方法進(jìn)行。側(cè)信道軌跡將被分為兩個(gè)子集,并使兩個(gè)子集之間正在處理的敏感信息具有顯著性不同。這兩個(gè)子集的設(shè)計(jì)要求根據(jù)待測(cè)設(shè)備、中間值、密碼算法特性等影響因素不同進(jìn)行單獨(dú)設(shè)計(jì)。在ISO/IEC 17825中有給出RSA、AES通過(guò)調(diào)整明文、密文、中間值等CSP設(shè)計(jì)不同的子集。對(duì)于每種算法,都要進(jìn)行多次Welch t檢驗(yàn),每次都針對(duì)不同類(lèi)型的泄漏;每個(gè)測(cè)試應(yīng)重復(fù)兩次,使用兩個(gè)不同的數(shù)據(jù)集;減少假陽(yáng)性的出現(xiàn)[1]。
圖5假設(shè)檢驗(yàn)測(cè)試流程圖中,設(shè)計(jì)兩個(gè)不同CSP收集對(duì)應(yīng)的物理測(cè)量值分別進(jìn)行T檢驗(yàn),觀察|T 1|和|T 2| ,若均超過(guò)了C值則認(rèn)為該位置存在泄露,否者認(rèn)為該點(diǎn)通過(guò)測(cè)試;收集到的物理測(cè)量值涉及很多個(gè)點(diǎn),逐個(gè)進(jìn)行假設(shè)檢驗(yàn)測(cè)試,得出最后測(cè)試結(jié)果。置信度99.999%對(duì)應(yīng)于C=4.5,也可以進(jìn)行調(diào)整[8]。由于一次實(shí)驗(yàn)中可能會(huì)出現(xiàn)一些假陽(yáng)性,所以需要重復(fù)Welch t檢驗(yàn);多次測(cè)試失敗才可以拒絕一臺(tái)設(shè)備。對(duì)于每種密碼算法,都要進(jìn)行多次t檢驗(yàn),每次都針對(duì)不同類(lèi)型的泄漏。每次測(cè)試應(yīng)重復(fù)兩次,使用兩個(gè)不同的數(shù)據(jù)集。在進(jìn)行統(tǒng)計(jì)試驗(yàn)前,檢測(cè)實(shí)驗(yàn)室應(yīng)明確使用那一組物理測(cè)試值曲線進(jìn)行試驗(yàn)。將物理測(cè)試值曲線分為兩組,組1和組2。組1和組2為兩個(gè)不相交的數(shù)據(jù)集,用于執(zhí)行兩個(gè)獨(dú)立的Welch t檢驗(yàn)。其中A 1和B 1代表不同的子集,μA 1 、μB 1和σA 1 、σB 1代表各自的均值和標(biāo)準(zhǔn)差,N A 1、N B 1代表子集A 和B 的大小,通過(guò)如下公式計(jì)算|T 1 |:
然后通過(guò)相同的方法計(jì)算|T 2|,最后與C進(jìn)行比較,判斷是否存在顯著性不同。除了t檢驗(yàn),還可以采用NICV(歸一化類(lèi)間方差)進(jìn)行多位或高階的泄露檢測(cè)[9]。
2 非侵入性攻擊緩解通過(guò)/失敗測(cè)試指標(biāo)
對(duì)于安全等級(jí)3級(jí)和4級(jí)需要通過(guò)I S O / I E C1782 5標(biāo)準(zhǔn)規(guī)定測(cè)試項(xiàng)目,不同等級(jí)對(duì)應(yīng)測(cè)試通過(guò)/失敗指標(biāo)不同,主要體現(xiàn)在物理測(cè)量值收集時(shí)間、物理測(cè)量值曲線數(shù)量、數(shù)據(jù)的預(yù)處理(數(shù)據(jù)對(duì)齊、濾波等)、測(cè)試儀器設(shè)備等要求不同[10]。目前主要的非入侵式攻擊緩解技術(shù),如:采用平衡指令分支技術(shù)、隨機(jī)延時(shí)插入技術(shù)、盲化操作技術(shù)、隱藏技術(shù)、掩碼技術(shù)等來(lái)減少操作依賴(lài)性或數(shù)據(jù)依賴(lài)性,在GM/T 0083-2020第6章節(jié)有非入侵式攻擊緩解方法的介紹[4]。
3 結(jié) 語(yǔ)
非入侵式攻擊緩解技術(shù)測(cè)試是密碼模塊安全性測(cè)試重要的一部分,特別是安全等級(jí)3級(jí)和4級(jí)必須具有非入侵式攻擊緩解技術(shù)并通過(guò)測(cè)試。
為了避免測(cè)試消耗過(guò)多的財(cái)力和精力,并由于測(cè)評(píng)技術(shù)的發(fā)展一般滯后于技術(shù)等原因,I SO/ I EC17825標(biāo)準(zhǔn)中的測(cè)試方法不能完全保證密碼模塊能夠避免非入侵式攻擊。但是通過(guò)測(cè)試可驗(yàn)證密碼模塊設(shè)計(jì)和實(shí)踐中充分考慮了非入侵式攻擊緩解技術(shù),能夠有效緩解現(xiàn)存的非入侵式攻擊。ISO/IEC 17825-2016和GM/T 0083-2020標(biāo)準(zhǔn)的實(shí)施有助于高安全性密碼模塊設(shè) 計(jì)、生產(chǎn)和應(yīng)用。
參考文獻(xiàn)
國(guó)家市場(chǎng)監(jiān)督管理總局,國(guó)家標(biāo)準(zhǔn)化管理委員會(huì). GB/T39204-2022,信息安全技術(shù) 關(guān)鍵信息基礎(chǔ)設(shè)施安全保護(hù)要求[S].
田敏求,夏魯寧,張眾,等. 我國(guó)密碼行業(yè)標(biāo)準(zhǔn)綜述(下) [J]. 信息技術(shù)與標(biāo)準(zhǔn)化, 2019(04):52-55.
Kusumah R M I T, Andriawan Y. Implementation ofcryptography module security certification based on SNI ISO/IEC 19790: 2012-security requirements for cryptographymodule[C]//2019 international seminar on intelligent technologyand its applications (isitia). IEEE, 2019: 216-221.
中華人民共和國(guó)國(guó)家密碼管理局.GM/T 0083-2020,密碼模塊非入侵式攻擊緩解技術(shù)指南[S]. 北京: 中國(guó)標(biāo)準(zhǔn)出版社,2020.
Information technology - Security techniques - Testingmethods for the mitigation of non-invasive attack classesagainst cryptographic modules:ISO/IEC 17825-2016.
陳華,習(xí)偉,范麗敏,等. 密碼產(chǎn)品的側(cè)信道分析與評(píng)估[J].電子與信息學(xué)報(bào), 2020,42(08):1836-1845.
Ding A A, Chen C, Eisenbarth T. Simpler, faster, and morerobust t-test based leakage detection[C]// Internationalworkshop on constructive side-channel analysis and securedesign, 2016: 163-183.
Becker G, Cooper J, Demulder E, et al. Test vector leakageassessment (TVLA) methodology in practice[C]// InternationalCryptographic Module Conference, 2013: 1001-1013.
Bhasin S, Danger J-L, Guilley S, et al. NICV: normalized interclassvariance for detection of side-channel leakage[C]// 2014International Symposium on Electromagnetic Compatibility,Tokyo, 2014: 310-313.
馮登國(guó), 周永彬, 劉繼業(yè). 能量分析攻擊[M]. 北京: 科學(xué)出版社, 2010.