文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.02.021
中文引用格式: 王建新,李東旭,崔琦,等. FastICA在功耗分析去噪中的應(yīng)用[J].電子技術(shù)應(yīng)用,2017,43(2):88-91.
英文引用格式: Wang Jianxin,Li Dongxu,Cui Qi,et al. The application of the FastICA denoising in power analysis[J].Application of Electronic Technique,2017,43(2):88-91.
0 引言
功耗分析是一種利用密碼設(shè)備運(yùn)行時(shí)泄露的功耗信息進(jìn)行密鑰分析的方法??蒲腥藛T已經(jīng)研究出許多種方式來(lái)應(yīng)對(duì)噪聲,LE T H[1]等提出四階累積量來(lái)處理瞬時(shí)脈沖信號(hào),能夠有效減少高斯噪聲。SOUISSI Y[2]等人提出采用卡爾曼濾波器的方法來(lái)減少高斯噪聲。
但是傳統(tǒng)的去噪方法具有一定的局限性,需要知道有用信號(hào)和噪聲信號(hào)的特征。而應(yīng)用獨(dú)立成分分析技術(shù),不需要知道有用信號(hào)和噪聲具體分布,便能實(shí)現(xiàn)信號(hào)與噪聲的分離,適用于在噪聲頻率不確定或者是存在同步加密噪聲的情況下。
本文提出了將ICA技術(shù)應(yīng)用于側(cè)信道分析中,并用仿真加以實(shí)現(xiàn),通過(guò)對(duì)比去噪前后的信噪比,證明了此種思路的正確性。
1 獨(dú)立成分分析
1.1 發(fā)展概述
獨(dú)立成分分析(Independent Component Analysis,ICA)技術(shù)屬于盲信號(hào)分離技術(shù)(Blind Signal Separation,BSS)的一種[3]。1991年,HERAULT J和JUTTEN C[4]、SOROUCHYARI E[5]以及COMON P[6]在Signal Processing上發(fā)表了三篇關(guān)于盲信號(hào)分離的經(jīng)典文章。1994年,COMON P首次提出了獨(dú)立成分分析的概念。HYVIIRINEN A[7]等人提出了基于源信號(hào)非高斯性測(cè)度的快速固定點(diǎn)算法。
1.2 ICA理論介紹
ICA研究的問(wèn)題是分析混合信號(hào)各組成成分,并使之統(tǒng)計(jì)依賴性最小,從而達(dá)到分離源信號(hào)的目的。本文用S(t)表示源信號(hào)矩陣,用X(t)表示混合信號(hào),上述問(wèn)題可以表示為:
衡量信號(hào)分離程度的獨(dú)立性準(zhǔn)則通常可以用非高斯度來(lái)進(jìn)行衡量。本文基于快速固定點(diǎn)算法中,依據(jù)負(fù)熵最大化原則。
1.3 快速固定點(diǎn)算法(FastICA)理論介紹
1.3.1 負(fù)熵
FastICA算法用負(fù)熵來(lái)衡量非高斯性。負(fù)熵定義:
式中,Ng(Y)表示負(fù)熵,H(YGauss)表示高斯信號(hào)的熵,H(Y)表示信號(hào)熵。當(dāng)負(fù)熵Ng(Y)的值越大,信號(hào)的非高斯性越大,分離程度越高。
1.3.2 FastICA的步驟
FastICA的基本步驟包括:(1)球化;(2)白化;(3)牛頓迭代法。由于迭代是在盲信號(hào)的情況下,無(wú)法計(jì)算熵值,可以使用近似公式:
通常情況下,對(duì)于超高斯信號(hào),可以選擇函數(shù)(7);對(duì)于亞高斯信號(hào),選擇函數(shù)(8)。
快速固定點(diǎn)算法的具體步驟:
(1)對(duì)待分離數(shù)據(jù)進(jìn)行球化操作;
(2)對(duì)球化之后的數(shù)據(jù)進(jìn)行白化操作,得到v;
(3)建立具有單位范數(shù)的初始化向量w;
(4)根據(jù)式(6),更新w,并進(jìn)行矩陣標(biāo)準(zhǔn)化;
(5)判斷收斂,收斂就得到一個(gè)獨(dú)立分量,下一組數(shù)據(jù)執(zhí)行步驟(2),如不收斂返回步驟(4);
(6)得到全部獨(dú)立信號(hào)。
2 基于FastICA的功耗分析實(shí)驗(yàn)平臺(tái)
2.1 側(cè)信道平臺(tái)的搭建
側(cè)信道分析的平臺(tái)架構(gòu)圖如圖1所示。本文采用的加密算法為DES算法,采用的加密芯片為Mega16單片機(jī)最小系統(tǒng)板,采用的示波器是泰克公司的7104C數(shù)字存儲(chǔ)示波器。
2.2 去噪流程
把采集到的加密算法的功耗信號(hào)與高斯噪聲進(jìn)行混疊,利用于負(fù)熵的快速固定點(diǎn)算法對(duì)混合信號(hào)進(jìn)行區(qū)分,流程如圖2所示。
3 基于FastICA的實(shí)驗(yàn)分析
3.1 功耗和噪聲分離實(shí)驗(yàn)
首先進(jìn)行了側(cè)信道信息與高斯噪聲和隨機(jī)噪聲的分離實(shí)驗(yàn),分離過(guò)程中g(shù)函數(shù)選擇的是公式(6)。將DES密碼算法加密時(shí)單片機(jī)所泄露的功耗信息采集出來(lái)作為原始功耗信號(hào),在MATLAB中將功耗信號(hào)與噪聲進(jìn)行混疊,再使用算法分離。原始信號(hào)分別為DES加密信號(hào)、隨機(jī)噪聲、高斯噪聲,原始信號(hào)的曲線如圖3所示。
通過(guò)基于負(fù)熵的快速固定點(diǎn)算法進(jìn)行解混,分離信號(hào)如圖4所示。
通過(guò)上面結(jié)果圖可以看出,3組混合信號(hào)基本看不出DES加密的特征;而分離之后的3條曲線中,第二條能夠明顯看出DES加密的特征,另外兩條曲線則是噪聲。
3.2 兩種加密算法功耗信號(hào)分離實(shí)驗(yàn)
本文做了兩種加密算法的區(qū)分,使用的算法分別是DES和Present。此外,還混疊了一組高斯噪聲信號(hào)。其原始信號(hào)和分離后的信號(hào)分別在圖5、圖6中顯示。
3.3 計(jì)算信噪比
在前面的實(shí)驗(yàn)中,解混后信號(hào)無(wú)法與之前進(jìn)行信噪比的衡量,于是,本文提出了如下的方法:
(1)將混合信號(hào)通過(guò)FastICA算法進(jìn)行解混;
(2)將解混后信號(hào)矩陣中噪聲行向量置零;
(3)將步驟(2)得到的矩陣經(jīng)過(guò)FastICA反變換得到最終結(jié)果。
實(shí)驗(yàn)選DES加密信號(hào)與噪聲的兩通道混合曲線,經(jīng)過(guò)上述方法后,最終得到的去噪前后對(duì)比如圖7所示。
由圖7可以看出,通過(guò)上述提出的方法,可以將ICA分離信號(hào)還原到固有的幅值,并計(jì)算去噪前后的信噪比,本文中應(yīng)用的信噪比公式為:
式中,SNR表示信噪比,單位是dB;Psignal表示信號(hào)的能量;Pnoise表示噪聲的能量。結(jié)果如表1所示。
3.4 比較不同g函數(shù)分離能力
在實(shí)驗(yàn)中將g函數(shù)由式(7)更新為式(8),并將其代入到式(6)中,進(jìn)行DES加密信號(hào)與噪聲的分離實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖8所示。
分別使用式(7)和式(8)對(duì)同一組數(shù)據(jù)進(jìn)行實(shí)驗(yàn),用信噪比的提升量和MATLAB中運(yùn)算時(shí)間作比較,得到的對(duì)比結(jié)果如表2所示。
從表2可知,使用式(8)的分離效果要優(yōu)于式(7)。為了追尋原因,本文引入峭度值對(duì)信號(hào)進(jìn)行分析。峭度的公式如下:
式中kurt(x)表示峭度,如果值大于0,為超高斯信號(hào);如果等于0,為高斯信號(hào);如果小于0,為亞高斯信號(hào)。實(shí)驗(yàn)在MATLAB中應(yīng)用峭度函數(shù)計(jì)算,得到DES加密信號(hào)峭度值為-0.812 7,證實(shí)其為亞高斯信號(hào),而對(duì)于亞高斯信號(hào),本文提到式(8)的分離能力相較式(7)更為出色。
4 結(jié)論
本文針對(duì)側(cè)信道分析中存在的噪聲問(wèn)題,提出了一種用獨(dú)立成分分析技術(shù)對(duì)采集到的功耗信息進(jìn)行處理的方法。該方法能夠有效地實(shí)現(xiàn)從混疊信號(hào)中區(qū)分出功耗信號(hào)和噪聲,同時(shí)也能實(shí)現(xiàn)對(duì)不同加密算法的加密信號(hào)進(jìn)行區(qū)分。提出了用ICA反變換的方式還原信號(hào)的幅值,計(jì)算出處理前后的信噪比,使用獨(dú)立成分分析處理后的信噪比明顯比去噪前的信噪比高,證明了此種方法確實(shí)可以應(yīng)用到功耗分析去噪工作中。
參考文獻(xiàn)
[1] LE T H,CLEDIERE J,SERVIERE C,et al.Noise reduction in side channel attack using fourth-order cumulant[J].Information Forensics and Security,IEEE Transactions on,2007,2(4):710-720.
[2] SOUISSI Y,GUILLEY S,DANGER J,et al.Improvement of power analysis attacks using Kalman filter[C].Acoustics Speech and Signal Processing(ICASSP),2010 IEEE International Conference on.IEEE,2010:1778-1781.
[3] LEE W T.Independent component analysis:theory and applications[Book Review].IEEE Transactions on Neural Networks,1999,10(4):982.
[4] HERAULT J,JUTTEN C.Space or time adaptive signal processing by neural network models[J].Neural networks for computing.AIP Publishing,1986,151(1):206-211.
[5] SOROUCHYARI E.Blind separation of sources,Part III:Stability analysis[J].Signal Processing,1991,24(1):21-29.
[6] COMON P,JUTTEN C,HERAULT J.Blind separation of sources,Part II:Problems statement[J].Signal Processing,1991,24(1):11-20.
[7] HYVIIRINEN A,KARHUNEN J,OJA E.Independent component analysis[M].New York:Wiley and Sons,2001.
作者信息:
王建新,李東旭,崔 琦,肖超恩,陶勇勇
(北京電子科技學(xué)院 電子與通信工程系,北京100070)