国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種針對側信道建模攻擊中數(shù)據(jù)不平衡的新方法*

2021-09-14 07:37:24鄭夢策南杰慧羅志敏胡紅鋼
密碼學報 2021年4期
關鍵詞:類別軌跡標簽

汪 平, 鄭夢策, 南杰慧, 羅志敏, 胡紅鋼

中國科學技術大學 中國科學院電磁空間信息重點實驗室, 合肥230027

1 引言

側信道攻擊(Side Channel Attack, SCA) 是一種利用運行加密算法的物理設備所泄露的側信息來恢復秘密信息的攻擊[1]. 常用的側信息包括時間、能量消耗、電磁輻射等. 側信道攻擊主要分為建模攻擊和非建模攻擊, 其中建模攻擊近年來得到了迅速的發(fā)展, 尤其是與深度學習(Deep Learning, DL) 的結合.建模攻擊主要包括建模階段和攻擊階段. 在建模階段, 假設攻擊者有一個與目標設備相同且完全控制的建模設備, 然后通過建模算法對建模設備的泄露特征進行刻畫并構建模板, 攻擊階段直接利用模板來恢復目標設備的秘密信息.

模板攻擊(Template Attack,TA)[2]可以看作是最早的建模攻擊,其原理是利用多元高斯正態(tài)分布對泄露噪聲進行建模. 隨著建模攻擊的發(fā)展, 一系列基于機器學習(Machine Learning, ML) 的建模攻擊被提出, 其中兩個比較常用的模型是支持向量機(Support Vector Machine, SVM)[3]和隨機森林(Random Forest, RF)[4], 在攻擊無防護和有防護的密碼實現(xiàn)上都取得了不錯的成果[5,6]. 近年來, 隨著DL 的發(fā)展,更多基于DL 的建模攻擊被不斷提出, 其中Maghrebi 等人最早嘗試將DL 應用在建模攻擊上[7]. 相比于傳統(tǒng)建模攻擊, 無需進行興趣點選取、對齊等預處理操作, 并且某些網(wǎng)絡結構具有天然的抵抗側信道防護的性質, 比如卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN) 的平移不變性可以減輕軌跡抖動帶來的影響[8]. 后續(xù)又有很多研究者對于深度學習在建模攻擊上的應用做了很多優(yōu)化工作[9,10].

在建模攻擊中, 我們通常要選擇泄露模型來計算每條軌跡對應中間值的標簽, 比如說漢明重量、漢明距離以及最低最高有效位等. 假設針對的是一個8 位S 盒, 其輸出結果范圍是0 到255, 如果直接使用該S 盒輸出作為標簽, 那么數(shù)據(jù)就是平衡的, 因為在采集軌跡時通常輸入的是隨機明文, 所以S 盒輸出可以看作是均勻分布的. 而如果使用HW/HD 這樣的泄露模型來計算標簽, 就會導致數(shù)據(jù)不平衡問題. 這里我們以HW 為例, 當HW 為0 或8 時, 那么只有當S 盒的輸出為全0 或全1 時才滿足, 而這樣的數(shù)據(jù)只占1/256; 同樣的, 當HW 等于4 時, 數(shù)據(jù)占有最高的比例70/256. 當我們在這樣的不平衡數(shù)據(jù)集上進行建模時, 就會導致模型的類別預測比例也不平衡[11,12], 降低模型的攻擊效果. 需要說明的一點是, 盡管使用HW/HD 這樣的泄露模型存在數(shù)據(jù)不平衡的問題, 但其縮減標簽空間的高效性是不可忽視的, 假設中間值是16 位, 如果直接使用中間值作為標簽, 那么就有65 536 種類別, 而使用HW/HD 計算的標簽只有17種, 當數(shù)據(jù)的類別過多時, 不僅會大大增加計算代價, 也難以訓練出有效的模型. 另一方面, 在適用的場景下HW/HD 能量模型可以準確刻畫泄露的差異性, 從而更有效地構建模型.

解決這種不平衡問題的方法有多種, 一種比較常見的方法就是利用數(shù)據(jù)擴張來構建平衡的數(shù)據(jù)集.Picek 等人使用多種數(shù)據(jù)采樣的方法, 尤其是合成少數(shù)類過采樣技術(Synthetic Minority Oversampling Technique, SMOTE) 取得了不錯的效果[12]. 當然也有其它類型的方法, 比如可以利用分層建模的方式來緩解這種不平衡問題[13]. 本文將繼續(xù)延伸數(shù)據(jù)擴張技巧在側信道建模攻擊中數(shù)據(jù)不平衡問題上的應用,我們首次提出使用生成對抗網(wǎng)絡來生成軌跡, 并利用生成軌跡擴張原始的不平衡數(shù)據(jù)集, 從而提高訓練模型的攻擊效果. 實驗結果也表明相比于直接利用原始軌跡來合成的軌跡, 由生成對抗網(wǎng)絡所生成的軌跡,能夠更有效地降低數(shù)據(jù)不平衡問題對攻擊結果的影響, 減少攻擊成功所需的軌跡條數(shù).

本文的章節(jié)安排如下: 第2 節(jié)介紹相關背景知識, 第3 節(jié)介紹條件生成對抗網(wǎng)絡的原理, 以及生成軌跡時訓練集的構建方法, 第4 節(jié)為實驗結果與分析, 第5 節(jié)為本文結論.

2 背景知識

2.1 側信道建模攻擊

使得似然得分最大的猜測密鑰就是我們認為正確的密鑰:

通常我們所使用的側信道評估指標猜測熵(Guess Entropy, GE)[14]就是指猜測密鑰對應似然得分所構成的降序向量中, 正確密鑰k?所處的位置.

2.2 數(shù)據(jù)擴張

數(shù)據(jù)擴張(Data Augmentation, DA)[15]是一種正則化的技巧, 用來處理模型在訓練過程中出現(xiàn)的過擬合現(xiàn)象, 從而構建更健壯的模型. 當然, 這一方法更多的還是運用在圖像領域, 比如對圖像做平移和反射, 改變圖像通道的強度等操作有效地降低了錯誤率[16]. 而在側信道領域中, 近幾年來也有一些研究者將DA 引入到建模攻擊中, Eleonora Cagli 等人最早利用DA 這一技巧來減少模型的過擬合, 主要是通過對軌跡平移和添加抖動來合成新的軌跡[8]. Picek 等人通過數(shù)據(jù)采樣的方法, 來緩解數(shù)據(jù)不平衡問題對建模攻擊的影響[12]. 此外, 還有一些其它相關的工作[17,18].

2.3 條件生成對抗網(wǎng)絡

生成對抗網(wǎng)絡(Generative Adversarial Network, GAN) 是由Ian J. Goodfellow 于2014 年提出的[19], 主要作為一個生成模型來學習數(shù)據(jù)的分布. 為了學習真實數(shù)據(jù)x的分布pdata, 我們需要通過一個非線性函數(shù)G(z;θg) 將一個先驗噪聲分布pz(z) 映射到pdata, 而這個非線性函數(shù)G就是生成器, 假設生成器學習到的數(shù)據(jù)分布為pg, 我們的目標是盡可能的讓pg接近pdata.

判別器同樣是一個非線性函數(shù)D(x;θd), 給出一個樣本來自pdata而不是pg的概率. 然后我們交替的訓練判別器和生成器,并調整判別器的參數(shù)θd和生成器的參數(shù)θg,使得logD(X)最大,log(1?D(G(z)))最小. 這一訓練過程可以看作生成器G和判別器D之間的最大最小游戲, 使用一個目標函數(shù)表示就是:

我們在基于ML、DL 進行側信道建模攻擊時, 訓練集中每條軌跡都有對應的label, 而GAN 本身是無監(jiān)督學習, 生成的軌跡是沒有標簽的. 所以使用有條件的GAN 即CGAN[20]來生成軌跡, CGAN 與GAN 的不同之處就在于, 在訓練G和D時, 需要加入額外的信息y, 可以是數(shù)據(jù)的label, 也可是某一分布下的數(shù)據(jù). 此時的目標函數(shù)則變成了:

圖1 展示了CGAN 的簡單架構, 生成器G的輸入為噪聲和指定label, 判別器D的輸入為真實軌跡和生成軌跡及其對應label.

圖1 條件生成對抗網(wǎng)絡Figure 1 Conditional generative adversarial network

3 CGAN 在建模攻擊中數(shù)據(jù)不平衡問題上的應用原理及方法

3.1 網(wǎng)絡結構

3.1.1 CGAN

我們所使用生成器和判別器的主體構成是全連接網(wǎng)絡, 當然也可以使用其它類型的網(wǎng)絡結構, 比如基于卷積的. 這里給出兩者的整體結構, 以ASCAD.h5 數(shù)據(jù)集所使用的模型為例, 如圖2 所示.

對于圖2(a) 的生成器, 首先是通過embedding 層將標簽編碼成與噪聲維度相同的向量, 接著通過multiply 層將噪聲與標簽結合起來(也可以使用其它的實現(xiàn)方式, 比如通過numpy 中的concatenate 函數(shù)來直接拼接兩個向量), 然后輸入到Sequential 中, Sequential 代表的是生成器的主體部分, 可以看到輸入是100 維, 輸出即為軌跡的維度700. Sequential 由(Dense, LeakyReLU, BatchNormalization) 這三層按順序重復堆疊N次,N的選取依據(jù)具體的數(shù)據(jù)集. 圖2(b) 的判別器的輸入部分是類似的, 只不過標簽要變成與軌跡維度相同的向量, 然后與軌跡相結合, 中間層類似, 而輸出是一個標量, 代表對輸入軌跡真假的判斷得分. 對于ASCAD.h5、AES_HD、AES_RD 三個數(shù)據(jù)集, 我們在訓練CGAN 模型時, 使用的優(yōu)化器是Adam, 訓練參數(shù)學習率、迭代次數(shù)、批處理尺寸依次為[(0.0001, 100, 100), (0.0001, 150, 200),(0.0001, 100, 200)], 這里給出的是直接使用不平衡數(shù)據(jù)集生成軌跡的訓練參數(shù), 3.2 節(jié)將要提到的另外三種方法在訓練CGAN 時對應的訓練參數(shù)有微小的差異, 需要進行微調. 關于生成軌跡的更多細節(jié), 包括軌跡的質量評估等請參考我們的另一篇文獻[21].

注1 embedding、multiply、Sequential 等這些都是Keras 深度學習開源庫(keras-2.2.4) 中的相關函數(shù).

3.1.2 攻擊模型

這里我們所選取的攻擊模型是多層感知機. 對于ASCAD 數(shù)據(jù)集, 模型使用了文獻[9] 中對應的超參數(shù); 而AES_HD、AES_RD 兩個數(shù)據(jù)集, 則是使用10 折疊交叉驗證來選取模型的超參數(shù), 包括結構參數(shù)和訓練參數(shù). 10 折疊交叉驗證的含義是, 將建模集劃分成訓練集和驗證集(每次劃分是不一樣的), 然后分別訓練10 次, 并將10 次在驗證集上的結果取平均. 數(shù)據(jù)集ASCAD.h5、AES_HD、AES_RD 對應模型的隱藏層和每層神經(jīng)元個數(shù)分別為[(200, 200, 200, 200, 200), (200, 200, 200, 200, 256), (200,256,256, 256, 200)]. 中間層和最后一層的激活函數(shù)分別為ReLU 和Softmax. 三個模型對應的訓練參數(shù)學習率、迭代次數(shù)、批尺寸依次為[(0.0001, 100, 200), (0.00001, 150, 256), (0.00001, 100, 200)], 所使用的優(yōu)化器都是RSMProp. 另外, 要補充的一點是當我們將生成的軌跡加入到原始訓練集后, 重新訓練模型時,有可能之前的超參數(shù)此時并不是最優(yōu)的, 因此可以進行簡單的微調.

3.2 構建CGAN 訓練集的不同方法

在使用CGAN 生成軌跡的時候, 如果我們直接使用原始的訓練集來生成軌跡, 那么CGAN 模型同樣會受到數(shù)據(jù)不平衡問題的影響, 可能會導致生成的軌跡更偏像于主類軌跡, 所以我們設計了四種不同的方法來構建CGAN 的訓練集, 減少這一問題帶來的影響, 方法如下:

(1) 直接使用原始不平衡的數(shù)據(jù)集來生成軌跡(generate with imbalanced data).

(2) 考慮到label = 4 的軌跡所占比例最高, 而且通常不平衡數(shù)據(jù)下所訓練模型對測試集的預測也更偏向label = 4, 甚至大多數(shù)時候模型對測試集的整體預測精度在27%[11]左右, 而這一精度實際上也是label = 4 的軌跡所占比例, 因此label = 4 是不平衡問題中最主要的影響因素, 所以我們將label = 4 的軌跡單獨拿出, 然后將剩余的軌跡作為CGAN 的訓練集(generate without label= 4).

(3) 選擇類別占比相同的軌跡作為一個訓練集, 比如說, label= 0, 8 對應的軌跡組成一個CGAN 的訓練集, 生成軌跡對應的label 也等于0 和8, 因此, 我們需要分別將label = 0, 8、label = 1, 7、label = 2, 6、label = 3, 5 對應的軌跡分成四組訓練集, 然后分別生成軌跡(generate with two labels).

(4) 將所有類別的軌跡數(shù)量減少到占比最少的類別對應的軌跡數(shù)量, 然后構成CGAN 的平衡訓練集,舉個例子, label = 0 的軌跡在原始訓練集中有128 條, 然后我們從其他類別中也分別取128 條軌跡, 構成一個平衡的訓練集(generate with balanced data).

3.3 生成軌跡的質量評估方法

生成軌跡并不像生成圖片一樣, 即使看起來與原始軌跡相似, 但無法觀察到是否包含了與原始軌跡一致的泄露. 我們通常使用相關能量分析(Correlation Power Analysis, CPA)[22]對軌跡進行興趣點選取也即泄露分析, 這一方法同樣適用于生成軌跡. 因此, 結合生成軌跡與原始軌跡的CPA 結果并對比兩者的泄露位置以及強度, 可以有效的對生成軌跡進行簡單評估[21]. 經(jīng)過CPA 評估后, 需要將生成軌跡加入到原始訓練集中, 重新構建攻擊模型, 驗證是否能改善攻擊結果. 除此之外, 利用差分能量分析(Differential Power Analysis, DPA)[23]同樣可以評估生成軌跡, 只不過是非線性的.

3.4 擴充原始訓練集

在文獻[8,12] 中, 雖然都使用了數(shù)據(jù)擴張的方法, 但對于如何擴張原始數(shù)據(jù)的實現(xiàn)細節(jié)并未給出. 在本文中, 我們以主類label = 4 的軌跡數(shù)量為基準, 擴充其它類別的軌跡數(shù)量. 這里以label = 0 為例, 假設所有類別的軌跡數(shù)量共有1000 條, 依據(jù)漢明重量分布(1/256, 8/256, 28/256, 56/256, 70/256, 56/256,28/256, 8/256, 1/256), 可以得到類別為0 和4 的軌跡分別約有4 和273 條, 那么我們需要生成269 條label 為0 的軌跡并加入這1000 條軌跡集中, 使得label 為0 和4 對應的軌跡數(shù)量相同. 實際場景下, 訓練集中各類別的數(shù)量是接近這個分布的, 沒有必要去計算每個類別的真實數(shù)量, 結合漢明重量分布, 直接使用總的軌跡數(shù)量來估算每個類別對應的軌跡數(shù)量, 就像我們上面的舉例. 因此, 除了label = 4 對應的軌跡不需要生成, 其它類別的軌跡都需要生成.

此外, 在擴充原始訓練集時, 并不是加入的生成軌跡越多越好. 因為生成軌跡的分布與原始軌跡的分布仍然存在差異, 當我們加入的生成軌跡越來越多, 會導致模型所學習的泄露分布偏向生成軌跡, 反而使得模型的攻擊效果降低.

3.5 攻擊流程與結果評估

首先, 分別訓練原始訓練集和擴充后的訓練集并構建模型, 接著對測試集進行100 次攻擊, 然后取平均作為最終的攻擊結果, 并對比平衡前與平衡后的模型攻擊效果. 每次測試集中的軌跡都是從攻擊集中隨機選取的一個子集, 對于AES_RD 數(shù)據(jù)集, 因為整個攻擊集中的軌跡都作為測試集, 因此我們通過打亂軌跡的順序來保證平均結果的可靠性.

4 實驗

4.1 實驗數(shù)據(jù)

首先要說明的一點是, 我們并未攻擊無防護的AES 軟件實現(xiàn), 主要的原因是對無防護的AES 進行建模攻擊確實要容易很多. 所以, 在不平衡的數(shù)據(jù)下訓練出來的模型也可以使用很少的軌跡完成一次成功攻擊, 那么即使用了一些平衡數(shù)據(jù)集的技巧, 攻擊結果并不會有太明顯的提升. 這一點我們從文獻[12] 中對DPAv4 的攻擊結果也可以看出來.

4.1.1 AES_HD

首先, 我們對一個無防護的AES 硬件實現(xiàn)進行攻擊測試, 因為AES 的硬件實現(xiàn), 有很多并行操作, 所以信噪比很低, 攻擊難度很大. 該AES 算法是由VHDL 編寫并在帶有Xilinx Virtex-5 FPGA 的Sasebo GII 上實現(xiàn). 能量軌跡通過放置在電源線上解耦電容的高靈敏度近場電磁探針來完成采集, 并由Teledyne LeCroy Waverunner 610zi 示波器進行采樣. AES_HD 共包含了100 000 條軌跡, 每條軌跡有1250 個樣本點, 并且適合攻擊的地方是最后一輪中將密文寫入寄存器時:

這里c12和c8都是子密文. 求c12與密鑰k?異或值的S 盒逆, 實際上是求c12所在寄存器上一次寫入的值, 因此有一個寄存器跳變的關系, 所以適合的泄露模型為HD.

注2 AES_HD 軌跡集可以在https://github.com/AESHD/AES_HD_Dataset 上獲取.

4.1.2 ASCAD

接著, 我們針對有一階掩碼防護的AES 實現(xiàn)進行攻擊, 測試帶有高階防護的軌跡. ASCAD 是由Prouff等人提供的一個公開數(shù)據(jù)集[9], 旨在為未來基于深度學習的測信道相關工作提供一個評估基準. 該數(shù)據(jù)庫中的軌跡來自于帶有一節(jié)掩碼防護的AES 軟件實現(xiàn), 包含了對齊與非對齊兩種類型的軌跡. 這里我們使用了對齊的軌跡集ASCAD.h5, ASCAD.h5 由兩部分組成, 建模軌跡集50 000 條和攻擊軌跡集10 000 條. 每條軌跡包含了700 個樣本點, 并且對應于第一輪的第三個S 盒執(zhí)行過程. 結合HW 泄露模型, 我們的建模對象是:

注3 ASCAD 軌跡集可以在https://github.com/ANSSI-FR/ASCAD 上獲取.

4.1.3 AES_RD

最后, 我們測試了帶有非對齊防護措施的AES 軟件實現(xiàn). 該加密算法是在一個有8 位Atmel AVR微控制器的智能卡上實現(xiàn), 同時加入了隨機延遲的防護措施[24], 此防護的目的是使攻擊者所采集到的軌跡是非對齊的, 增加攻擊的難度. AES_RD 數(shù)據(jù)集共有50 000 條軌跡, 每條軌跡有3500 個樣本點, 攻擊的對象是第一輪的第一個S 盒:

注4 AES_RD 軌跡集可以在https://github.com/ikizhvatov/randomdelays-traces 上獲取.

4.2 實驗結果

4.2.1 ASCAD 攻擊結果

ASCAD.h5 共有50 000 條訓練集, 我們按照漢明重量分布對label 從0 到8, 不包括label = 4, 分別生成了對應數(shù)量為(13 450, 12 100, 8200, 2700, 2700, 8200, 12 100, 13 450) 的軌跡, 然后加入到原始訓練集中, 攻擊結果如圖3 所示.

圖3 ASCAD.h5 的攻擊結果Figure 3 Attack results of ASCAD.h5

從圖3 的攻擊結果可以看到, 對原始訓練集進行平衡, 有效地減少了成功攻擊所需的軌跡條數(shù), 其中由3.2 節(jié)方法(2) 構成的訓練集所生成的軌跡加入到原始訓練集后, 訓練出的模型具有最好的攻擊效果,僅需約700 條軌跡就能夠恢復出密鑰, 而原始訓練集構建的模型需要2000 條以上的軌跡才有可能成功恢復密鑰, 在文獻[9] 中, 其關于使用HW 作為標簽的攻擊結果中可以看出在使用1000 條軌跡后GE 收斂到0 仍然需要不少的軌跡. 其它三種方法需要約1100 條軌跡可以進行一次成功的攻擊.

4.2.2 AES_HD 攻擊結果

對于AES_HD 數(shù)據(jù)集, 我們同樣是使用了50 000 條軌跡作為訓練集, 各類別的軌跡所生成的數(shù)量與ASCAD 實驗中是一致的, 具體的攻擊結果如圖4 所示.

圖4 AES_HD 的攻擊結果Figure 4 Attack results of AES_HD

從圖4 可以看到, 原始不平衡訓練集得到的模型在25 000 條軌跡內是無法恢復出密鑰的, 而我們的方法, 最少只需用約11 000 條軌跡就能夠進行一次成功的攻擊, 對應的CGAN 訓練集構成方法為同比例類別的軌跡兩兩組合來生成軌跡. 在文獻[12] 中同樣是基于MLP 模型, 對AES_HD 進行攻擊, 使用了SMOTE 技巧, GE 是在約15 000 條軌跡后收斂到零. 相比之下, 我們的方法對不平衡問題具有更好效果,或者說CGAN 生成的軌跡能夠為模型帶來更多有用信息.

4.2.3 AES_RD 攻擊結果

AES_RD 數(shù)據(jù)集共有50 000 條軌跡, 我們使用了25 000 條軌跡作為訓練集, 按照漢明重量分布, 對各類別添加的軌跡數(shù)量為(6725, 6065, 4100, 1350, 1350, 4100, 6050, 6725), 攻擊結果如圖5 所示.

圖5 AES_RD 的攻擊結果Figure 5 Attack results of AES_RD

在文獻[12] 中, 對應的攻擊結果在25 000 條攻擊軌跡下, 即使用SMOTE 技巧來平衡原始訓練集,GE 仍然無法收斂到零. 而我們的方法能夠帶來顯著的提升, 四種方法在25 000 條軌跡之內都能夠成功恢復密鑰, 并且只需使用將近一半的攻擊軌跡. 其中最好的結果是只需約7500 條軌跡, 對應的方法是直接基于原始訓練集來生成軌跡.

4.3 實驗結果分析

(1) 盡管可以看到我們的方法對于攻擊結果有明顯的改善, 但只從攻擊結果上無法看出是如何改善不平衡問題的. 因此, 這里我們以ASCAD 的實驗為例, 分別繪制出使用原始不平衡訓練集所構建模型以及優(yōu)化后模型的類別預測比例, 兩次攻擊都使用相同的3000 條軌跡. 圖6(a) 中正確預測的類別label = 4 所占比例最高, 其它正確預測的類別個數(shù)很少, 甚至label = 0, 1, 7, 8 對應的軌跡沒有一條被正確分類. 而通過CGAN 所生成的軌跡對原始訓練集平衡后, 模型的類別預測比例有了明顯的改善, 其中l(wèi)abel = 2, 3, 5, 6 的對應軌跡被正確預測的數(shù)量大幅增加, 并且原始訓練集中占比很少的類別也出現(xiàn)了被正確預測的軌跡, 比如label = 1, 7. 從整個混淆矩陣來看,優(yōu)化后模型的類別預測比例更加平衡, 而不是只集中在像label = 3, 4, 5 這樣的主類上.

圖6 ASCAD 攻擊結果的混淆矩陣Figure 6 Confusion matrices for attack results of ASCAD

(2) 關于四種構成CGAN 訓練集的方法, 從上面的三個實驗中, 可以看到?jīng)]有哪一種方法是絕對的好, 要實際測試過后才能確定. 比如上面的關于ASCAD 的實驗, 去除主類label = 4 對應的軌跡來構成CGAN 的訓練集是最好的方法, 我們從其原始訓練集對應模型的類別預測比例可以看出, label = 4 對模型的影響很大, 因此直接拿掉label = 4 的軌跡來做軌跡生成, 效果更好. 而在AES_RD 的實驗中, 我們也看到直接使用不平衡的原始訓練來生成軌跡, 效果更好, 這也說明在某些情況下, CGAN 的訓練集需要由所有類別的軌跡來構成. 因此, 在使用CGAN 生成軌跡解決不平衡問題時, 要盡可能多嘗試幾種構建其訓練集的方法.

(3) 對比Picek 等[12]的相關工作, 我們的方法顯然更加有效. 直觀上來看, 兩種方法都是利用原始訓練集中的軌跡來合成新的軌跡, 從信息論的角度來說, 信息并未增多, 但實際上合成的軌跡能夠增加信息的完整性. 簡單地說就是, 某一少數(shù)類別的軌跡都來自同一分布, 由于相應的軌跡數(shù)量過少, 無法表現(xiàn)出這一分布下的全部信息. 相比于SMOTE 中的軌跡合成方法, CGAN 是通過學習輸入軌跡所包含的分布, 盡可能使所生成的軌跡靠近原有分布, 這樣生成的軌跡顯然能夠體現(xiàn)出原有分布中的更多信息, 更好地對少數(shù)類別樣本缺失的信息進行彌補.

5 結論

本文研究了在基于機器學習和深度學習的側信道建模攻擊中, 使用HW 和HD 作為標簽帶來的數(shù)據(jù)不平衡問題. 我們首次提出使用條件生成對抗網(wǎng)絡來生成軌跡, 從而構建平衡的數(shù)據(jù)集. 實驗結果表明, 由平衡后的訓練集所構建的模型具有更好的類別預測比例, 能夠有效減少成功攻擊所需的軌跡條數(shù), 在有一階掩碼防護軟件實現(xiàn)、非對齊防護軟件實現(xiàn)以及無防護硬件實現(xiàn)的三種AES 數(shù)據(jù)集上均有很好的攻擊效果.

致謝

感謝中國科學技術大學信息科學實驗中心提供的軟硬件服務.

猜你喜歡
類別軌跡標簽
軌跡
軌跡
無懼標簽 Alfa Romeo Giulia 200HP
車迷(2018年11期)2018-08-30 03:20:32
軌跡
不害怕撕掉標簽的人,都活出了真正的漂亮
海峽姐妹(2018年3期)2018-05-09 08:21:02
進化的軌跡(一)——進化,無盡的適應
中國三峽(2017年2期)2017-06-09 08:15:29
標簽化傷害了誰
服務類別
新校長(2016年8期)2016-01-10 06:43:59
基于多進制查詢樹的多標簽識別方法
計算機工程(2015年8期)2015-07-03 12:20:27
論類別股東會
商事法論集(2014年1期)2014-06-27 01:20:42
仁布县| 海城市| 南漳县| 青海省| 红原县| 铜陵市| 互助| 团风县| 保德县| 贡觉县| 安溪县| 永仁县| 土默特左旗| 佳木斯市| 乐安县| 尖扎县| 德清县| 长葛市| 柳江县| 巴青县| 科尔| 洛川县| 丘北县| 商河县| 辽宁省| 谢通门县| 德钦县| 象州县| 泗阳县| 巴彦县| 澜沧| 巴楚县| 蒙阴县| 西宁市| 浮山县| 奉新县| 宝鸡市| 洪洞县| 吴江市| 漠河县| 隆化县|