亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CBAPD 網(wǎng)絡的側信道攻擊*

        2022-05-09 07:49:14李亞寧張美玲
        密碼學報 2022年2期
        關鍵詞:密鑰信道卷積

        鄭 東, 李亞寧, 張美玲

        西安郵電大學無線網(wǎng)絡安全技術國家工程實驗室, 西安 710121

        1 引言

        側信道攻擊[1]是一類強大的密碼分析攻擊, 它利用運行密碼算法的物理設備所泄露的一些物理信息來對密碼算法進行分析. 在物理設備執(zhí)行加密操作的過程中, 總會產(chǎn)生一些依賴于敏感變量或敏感操作的物理信息的泄露, 攻擊者會利用這些物理信息來對密鑰進行恢復. 一些研究人員針對側信道攻擊的各種角度進行分析. 例如: 王等人[2]提出了一種基于t檢驗的評估密碼設備的一階側信道信息泄露的方法; 戴等人[3]提出的雙重匹配架構可以在無觸發(fā)信號的側信道分析場景中對加解密區(qū)間進行快速定位.

        側信道攻擊通??梢苑譃榻9艉头墙9? 在側信道攻擊中廣泛使用的能量分析攻擊, 如差分能量分析攻擊(differential power analysis, DPA)[4]、相關能量分析攻擊(correlation power analysis,CPA)[5]以及簡單能量分析攻擊(simple power analysis, SPA) 等都屬于非建模攻擊. 在這一類攻擊中,攻擊者不能事先對攻擊目標進行操控來采集與加密操作相關的物理信息, 只有在攻擊時才能采集. 而在建模攻擊中, 攻擊者擁有一個與攻擊目標完全相同的設備, 可以操控設備執(zhí)行任意操作(如加解密等), 并采集所需要的泄露信息, 然后利用這些泄露信息建立一個模板, 以此來對攻擊目標進行攻擊. 常用的建模攻擊方法有模板攻擊[6]和基于機器學習的建模攻擊等.

        隨著近年來計算機硬件的飛速發(fā)展, 算力得到了極大的提高, 深度學習[7]技術也隨之成為各個研究領域的得力工具. 同樣的, 研究人員也把深度學習與側信道攻擊結合起來, 使得側信道攻擊的性能得到了一定的提升[8]. 相比于模板攻擊, 基于深度學習的側信道攻擊突破了模板攻擊的局限性. 首先, 模板攻擊都是建立在噪聲分布為多元高斯分布的假設之上, 而利用深度學習進行側信道攻擊則不需要此假設. 其次, 對于未對齊的能量跡和高維的數(shù)據(jù), 模板攻擊需要做一些預處理, 如使用主成分分析(principal component analysis, PCA) 技術[9]進行降維, 而使用卷積神經(jīng)網(wǎng)絡則并不需要預處理. 另外, 在性能方面, 即使傳統(tǒng)的模板攻擊與一些降維技術相結合, 其表現(xiàn)也不如卷積神經(jīng)網(wǎng)絡[10].

        2019 年, Timon[11]介紹了一種在非建模情況下基于深度學習的側信道攻擊的新方法. 這種方法只需要攻擊者從被攻擊設備中收集到使用某未知且固定密鑰情況下的有限數(shù)量的能量跡. Timon 的研究表明, 在進行非建模攻擊時, 可以利用卷積神經(jīng)網(wǎng)絡的平移不變性來針對異步的能量跡. 并且, 他們還證明了這種方法比經(jīng)典的非模板攻擊(例如CPA) 的性能更好. Zhou 等人[12]引入了廣義殘差網(wǎng)絡進行側信道攻擊. 在他們的實驗案例中, 廣義殘差網(wǎng)絡的性能優(yōu)于其他三個已經(jīng)發(fā)布的最新神經(jīng)網(wǎng)絡模型(ASCAD_CNN 模型、SPACE_CNN 模型和SCANet 模型), 甚至在公開的ASCAD 數(shù)據(jù)集上也優(yōu)于已發(fā)布的優(yōu)化的CNN 模型. 2020 年, Zhang 等人[13]提出了一種新的交叉熵比(CER) 指標來評估側信道攻擊中深度學習模型的性能. 在處理不平衡數(shù)據(jù)時, 相比于傳統(tǒng)的側信道評價指標猜測熵(GE) 和成功率(SR)[14], 使用CER 作為損失函數(shù)可以顯著地改善攻擊性能. 王等人[15]提出了一種使用改進殘差網(wǎng)絡和數(shù)據(jù)增強技術相結合的攻擊方法, 可以直接恢復密鑰字節(jié). 相比于直接使用經(jīng)典殘差網(wǎng)絡, 他們提出的改進的殘差網(wǎng)絡有效地減少了模型參數(shù)和訓練時間. 陳等人[16]提出了基于SincNet 的側信道攻擊, 在這種方法中他們將一種新的結構SincNet 加入了卷積神經(jīng)網(wǎng)絡, 有效地過濾了一些無關的信息. 相比于文獻[10] 提出的卷積神經(jīng)網(wǎng)絡, 其模型性能有了一定的提升.

        本文提出了一種在側信道攻擊中更加高效的卷積神經(jīng)網(wǎng)絡. 該網(wǎng)絡首先在卷積層后添加一個批標準化層, 并將卷積層中的激活函數(shù)去除, 然后再在批標準化層之后加入一個激活層. 為評估模型性能, 我們在ASCAD 公開數(shù)據(jù)集以及DPA-contest v4 公共數(shù)據(jù)集上進行了實驗. 實驗結果表明, 本文所設計的模型在ASCAD 同步數(shù)據(jù)集和最大異步量為50 個樣本點的數(shù)據(jù)集上, 比文獻[10] 所提出的卷積神經(jīng)網(wǎng)絡、文獻[16] 所提出的SincNet 模型和文獻[20] 所提出的模型性能更好, 攻擊成功時使用的能量跡數(shù)量在不同情形下可以減少34.426%~96.8%. 針對在能量跡中添加隨機延遲來抵抗側信道攻擊的對策, 本文提出的模型可以在一定程度上消除這種對策所帶來的影響.

        本文的組織結構如下: 第2 節(jié)為預備知識; 第3 節(jié)為本文提出的CBAPD 模型的具體結構及其原理;第4 節(jié)為本文對模型進行評估的實驗結果; 第5 節(jié)總結了全文.

        2 預備知識

        2.1 高級加密標準AES

        高級加密標準(advanced encryption standard, AES)[17]是目前使用最廣泛的對稱密碼之一, 其分組大小為128 位, 密鑰長度有128、192 和256 位三種選擇. 由于本文用到的公開數(shù)據(jù)集是使用AES-128和AES-256 進行加密的, 所以, 這里只考慮密鑰長度為128 位和256 位的情形. AES 是一種面向字節(jié)的分組密碼, 用P表示明文的一個字節(jié),K表示對明文P進行密鑰加(異或) 操作時所使用的密鑰字節(jié),Y表示經(jīng)過字節(jié)代換S 盒后的輸出, 則:

        因為S 盒的輸出與密鑰相關, 即S 盒輸出為敏感數(shù)據(jù), 所以可以選擇S 盒輸出作為攻擊點.

        2.2 卷積神經(jīng)網(wǎng)絡在側信道攻擊中的應用

        卷積神經(jīng)網(wǎng)絡[18]是一種專門用來處理具有類似網(wǎng)格結構的數(shù)據(jù)的神經(jīng)網(wǎng)絡, 例如時間序列數(shù)據(jù)(可以認為是在時間軸上有規(guī)律的采樣形成的一維網(wǎng)格) 和圖像數(shù)據(jù)(可以看作二維的像素網(wǎng)格). 在人工智能領域, 卷積神經(jīng)網(wǎng)絡常常被用來解決分類問題, 并且取得了一些很好的成果. 建模側信道攻擊可以映射為一個分類問題, 所以可以利用卷積神經(jīng)網(wǎng)絡來實施建模側信道攻擊.

        本文的攻擊場景: 攻擊者擁有與被攻擊設備E1完全相同的設備E2, 可以操控設備進行任意加密操作.

        首先是數(shù)據(jù)集制作階段, 攻擊者在設備E2中固定秘鑰下, 對n個隨機明文執(zhí)行加密操作. 一方面, 采集加密過程中的能量跡L=[l1,l2,··· ,ln], 然后將每一條能量跡中S 盒輸出對應的采樣點截取出來; 另一方面, 針對每一個隨機明文和密鑰按公式(1) 計算S 盒的輸出Y作為標簽(即一個隨機明文對應一條能量跡和一個標簽).

        在訓練階段, 攻擊者將制作好的數(shù)據(jù)集輸入搭建好的卷積神經(jīng)網(wǎng)絡中. 卷積神經(jīng)網(wǎng)絡對數(shù)據(jù)進行前向傳播, 之后在輸出層可以得到256 種分類(S 盒輸出的256 種可能) 對應的概率. 攻擊者取出概率最大的分類, 然后使用此分類和標簽計算損失函數(shù), 再使用梯度下降算法進行反向傳播, 更新卷積神經(jīng)網(wǎng)絡中神經(jīng)元的權重與偏置, 最終使得損失函數(shù)最小.

        在攻擊階段, 攻擊者對目標板E1采集能量跡, 然后將采集到的能量跡制作成數(shù)據(jù)集并輸入訓練好的模型. 模型對S 盒的輸出作出預測, 然后攻擊者將預測結果中概率最大的值取出來, 再對S 盒進行逆向查表操作, 利用已知明文推出密鑰.

        卷積神經(jīng)網(wǎng)絡最大的特點是引入了卷積層和池化層. 卷積層可以對輸入數(shù)據(jù)的特征進行提取, 不同的卷積核提取不同的特征. 數(shù)據(jù)經(jīng)過卷積層之后維度和參數(shù)量都會大大增加, 池化層的加入可以降低數(shù)據(jù)的維度, 同時還可以防止過擬合, 從而提高模型的容錯性.

        2.3 數(shù)據(jù)集

        本文一共使用了兩個數(shù)據(jù)集: 其一是2019 年Benadjila 等人[10]提出的ASCAD 公開數(shù)據(jù)集; 另外一個數(shù)據(jù)集是DPA-contest v4, 即DPA 競賽的第四版[19].

        2.3.1 ASCAD 公開數(shù)據(jù)集

        ASCAD 公開數(shù)據(jù)集包含了四個子數(shù)據(jù)集: ATMega8515_raw_traces.h5 原始數(shù)據(jù)集和從其中提取的三個數(shù)據(jù)集. 這三個數(shù)據(jù)集分別是完全同步的數(shù)據(jù)集ASCAD.h5、最大異步量為50 個樣本點的ASCAD_desync50.h5 和最大異步量為100 個樣本點的ASCAD_desync100.h5.

        原始數(shù)據(jù)集ATMega8515_raw_traces.h5 中包含一個元數(shù)據(jù)子集和一個能量跡子集. 元數(shù)據(jù)子集中有60 000 個隨機明文、對應的密文、密鑰和掩碼. 每個明文對應一條能量跡, 因此能量跡子集中有60 000條能量跡, 而每條能量跡有100 000 個采樣點. 原始能量跡是在8 位ATMega8515 硬件設備(工作頻率為4 MHz) 上運行帶有掩碼的AES-128 時在第一輪加密操作中使用數(shù)字示波器進行采樣得到的, 采樣頻率為2G/s.

        提取出來的數(shù)據(jù)集ASCAD.h5、ASCAD_desync50.h5 和ASCAD_desync100.h5 都包含一個訓練子集和一個攻擊子集. 訓練子集用于訓練模型, 攻擊子集用于評估模型的性能. 在訓練子集中包含50 000條能量跡、對應的標簽以及一個元數(shù)據(jù)集, 其中每條能量跡有700 個點, 此700 個點包含AES 第一輪加密過程中第三個S 盒的輸出. 元數(shù)據(jù)集中有50 000 條能量跡各自對應的明文、密文、密鑰、掩碼和異步量. 攻擊子集中能量跡數(shù)量為10 000 條, 其中每條能量跡有700 個點. 攻擊子集中還包含一個元數(shù)據(jù)集,元數(shù)據(jù)集中有10 000 條能量跡各自對應的明文、密文、密鑰、掩碼和異步量.

        2.3.2 DPA-contest v4 公開數(shù)據(jù)集

        DPA 競賽的第四版是由 Télécom ParisTech 組織在 2013 年推出的.本文使用的 DPAcontest v4 公開數(shù)據(jù)集源于 github 倉庫[20](https://github.com/gabzai/Methodology-for-efficient-CNN-architectures-in-SCA). 此數(shù)據(jù)集是在SASEBO-W 板控制的8 位ATmega163 智能卡上采集到的, 采樣率為500 MS/s, 其中每條能量跡包含了AES 第一輪操作的435 002 個采樣. 智能卡實現(xiàn)的是基于旋轉S 盒的帶有掩碼的AES-256.

        此數(shù)據(jù)集中共有訓練用的4500 條能量跡及其對應的標簽和明文, 其中每條能量跡有4000 個點. 標簽對應的是第一個帶掩碼的S 盒輸出, 即: 原始S 盒輸出與輸出掩碼的異或值. 攻擊時使用的能量跡共有500 條, 每條能量跡有4000 個點.

        2.4 模型評價指標

        本文使用的評價指標有rank、模型的精確度(accuracy) 和損失(loss).

        其中, rank 是側信道領域中最常用的評價指標, 它代表的是正確密鑰在所有可能密鑰中的排序, 通常會隨著攻擊時所使用的能量跡條數(shù)的增加而逐漸降低. 當rank 值降低為0 時, 表示深度學習模型將正確密鑰排到了所有可能密鑰的第一位, 即此時模型已經(jīng)成功找到了正確密鑰. 本文的目標是構建一個模型,使得rank 值降到0 并保持穩(wěn)定時使用的能量跡盡可能少.

        精確度(accuracy) 和損失值(loss) 是深度學習領域中評價模型性能的通用指標, 是模型在前向傳播過程中每一個epoch 結束之后進行計算的. 精確度的計算過程如下:

        Step1 將能量跡輸入模型, 計算預測結果y. 因為是針對密鑰的一個字節(jié)進行攻擊, 所以此時輸出的預測結果為此字節(jié)的256 種可能值分別對應的概率.

        Step2 將y中最大的概率值對應的索引號返回, 并將其與標簽進行比較.

        Step3 若將所有能量跡中預測結果正確的能量跡的數(shù)量記為N并賦初值0, 則當(Step2) 中最大概率值對應的索引號與標簽相同時, 代表模型預測正確,N的值加1.

        Step4 當模型將所有能量跡遍歷一遍后, 為一個epoch 結束. 此時, 精確度為:

        其中,M為訓練時使用的能量跡總條數(shù).

        本文使用的損失函數(shù)為Keras 庫中提供的多分類交叉熵損失函數(shù)(categorical crossentropy) , 其計算過程如下:

        其中,C為待分類的類別總數(shù), 在本文中C=256;x為輸入樣本;fi(x) 為對應的模型的輸出值;yi為第i個類別對應的實際標簽.

        3 基于CBAPD 網(wǎng)絡的側信道攻擊

        文獻[10] 中設計卷積神經(jīng)網(wǎng)絡模型的思路源于VGG-16, 在他們所設計的卷積神經(jīng)網(wǎng)絡中, 將激活函數(shù)放入了卷積層, 在卷積層之后是池化層. 通常情況下, 隨著神經(jīng)網(wǎng)絡層數(shù)的增加, 特征數(shù)據(jù)的分布會出現(xiàn)偏移或者變動, 導致反向傳播時低層神經(jīng)網(wǎng)絡的梯度消失, 神經(jīng)網(wǎng)絡收斂會越來越慢. 為了克服此缺點, 本文提出了CBAPD 模型(以convolutional, batch normalization, activation, pooling 和dropout 的首字母命名) .

        3.1 CBAPD 的網(wǎng)絡結構

        在本文所提出的CBAPD 模型中, 包含5 個塊, 每個塊包含一個卷積層、一個批標準化層、一個激活層和一個池化層. 在5 個塊之后有一個flatten 層、兩個全連接層、兩個舍棄層和一個輸出層. 其詳細結構見圖1.

        圖1 CBAPD 網(wǎng)絡結構Figure 1 Network structure of CBAPD

        3.2 CBAPD 網(wǎng)絡的原理

        本文對ASCAD 數(shù)據(jù)集中的原始能量跡進行相關性分析, 發(fā)現(xiàn)能量跡的敏感值范圍在[-54, 29]內. 因為卷積層中神經(jīng)元的初始化分布關于x=0 對稱, 故經(jīng)過卷積操作后其輸出在正負范圍內都有分布. 本文使用在正負范圍都可激活的激活函數(shù)進行實驗, 實驗結果表明Selu 激活函數(shù)性能最好. 由于Selu 激活函數(shù)在x <0 時對0 附近的值更敏感, 所以在激活層前加入批標準化層對數(shù)據(jù)進行處理, 使得偏移的數(shù)據(jù)重新分布在0 附近.

        3.2.1 卷積層

        卷積層是卷積神經(jīng)網(wǎng)絡中最重要的一層, 其主要功能是提取輸入數(shù)據(jù)的特征. 在卷積層中存在很多個卷積濾波器, 每個卷積濾波器在輸入數(shù)據(jù)上進行滑動, 并在滑動的過程中輸出其提取到的特征.

        在本文中, 卷積層參數(shù)使用了文獻[10] 中經(jīng)過實驗得出的結論. 基本原則是先學習輸入的能量跡的粗特征, 然后逐層細化. 另外, 過濾器數(shù)量越多, 性能越好, 但是消耗的時間也會增加, 所以為了平衡性能與時間, 最終選擇了以下參數(shù). 所有卷積層中卷積濾波器的大小都為11, 此參數(shù)是根據(jù)能量跡中S 盒相關的興趣點的個數(shù)來決定的. 第一個卷積層使用64 個卷積濾波器, 之后的每一個卷積層中卷積濾波器的數(shù)量都為前一個卷積層中卷積濾波器數(shù)量的2 倍, 而最后一個卷積層中卷積濾波器的個數(shù)與前一個卷積層中卷積濾波器的個數(shù)相同. 使用的填充模式為全0 填充, 此填充模式可以使輸入數(shù)據(jù)和輸出數(shù)據(jù)的大小保持相同.

        與文獻[10] 所設計的模型的不同之處在于, 本文將卷積層中的激活函數(shù)去除, 然后在卷積層之后加入了批標準化層, 并在批標準化后再加入激活層進行激活.

        3.2.2 批標準化層和激活層

        批標準化層是Ioffe 等人[21]提出的, 通過減少神經(jīng)網(wǎng)絡中的內部協(xié)變量移位來加快深度神經(jīng)網(wǎng)絡的訓練速度. 其中, 協(xié)變量移位定義為訓練過程中由于網(wǎng)絡參數(shù)的變化而引起的網(wǎng)絡激活分布的變化.

        神經(jīng)網(wǎng)絡對0 附近的數(shù)據(jù)更敏感, 但是隨著網(wǎng)絡層數(shù)的增加, 特征數(shù)據(jù)會出現(xiàn)偏移0 均值的情況. 標準化可以使數(shù)據(jù)符合均值為0, 標準差為1 的正態(tài)分布, 即把偏移的特征數(shù)據(jù)重新拉回到0 附近. 對應的,批標準化就是對一個batch 的數(shù)據(jù)做標準化處理, 使數(shù)據(jù)回歸標準正態(tài)分布, 常用在卷積操作和激活操作之間. 可以通過下式計算批標準化后的輸出特征圖:

        反向傳播時, 縮放因子γ和偏移因子β會與其他待訓練參數(shù)一同被訓練優(yōu)化. 標準正態(tài)分布后的特征數(shù)據(jù)通過縮放因子和偏移因子優(yōu)化了特征數(shù)據(jù)分布的寬窄和偏移量, 保證了網(wǎng)絡的非線性表達力.

        在卷積神經(jīng)網(wǎng)絡中, 激活層的主要作用是引入非線性. 由于在很多情況下, 線性的表達能力不夠, 使得網(wǎng)絡不能夠有效地模擬實際情況, 所以需要引入非線性來提升網(wǎng)絡的表達能力. 在激活層中常用的激活函數(shù)有Sigmoid、Tanh、Relu 等, 文獻[10] 中使用的激活函數(shù)為Relu, 其函數(shù)表達式為:

        由公式(7)可以看出, 當進入激活函數(shù)的值小于0 時, Selu 激活函數(shù)不會直接將其轉換為0, 即不會直接丟棄這一部分有效特征. 并且, 當輸入大于0 時, Selu 激活函數(shù)會將其微小的變化放大λ倍, 能夠更好地學習到能量跡的特征.

        為獲得敏感變量(S 盒輸出) 的數(shù)據(jù)特點, 利用相關系數(shù)p(h,Tr) 來定位與敏感變量相關性大的能量跡區(qū)間, 并以此分析出敏感變量的數(shù)據(jù)范圍. 其中h為S 盒輸出的漢明重量構成的列向量, Tr 為相應的能量跡,p(h,Tr) 結果如圖2 所示.

        由圖2 可以看出, 最高尖峰所對應的點為第492 個點, 即這一點所對應的時刻的能量消耗與敏感數(shù)據(jù)的相關性最大, 達到了0.649 96, 并且在第507、521、559、584 個點都分別對應了一個較小的尖峰. 所以這幾個點所對應時刻的能量消耗對敏感數(shù)據(jù)的依賴性較高.

        圖2 漢明重量與能量跡的相關系數(shù)Figure 2 Correlation coefficient of Hamming weights with traces

        使用ASCAD 數(shù)據(jù)集中的原始能量跡數(shù)據(jù)集對能量跡進行繪制, 如圖3 所示. 查找這五個點所對應的能量值的范圍如表1 所示.

        圖3 1000 條能量跡Figure 3 One thousand traces

        表1 尖峰所對應的點及能量跡取值范圍Table 1 Point corresponding to peak and value range of traces

        由表1 可知, 能量跡的敏感值范圍為[-54,29]. 在卷積層中, 過濾器中神經(jīng)元的初始化值的分布關于x= 0 對稱. 本文使用常用的幾種初始化函數(shù)進行實驗, 實驗結果表明: TensorFlow 框架中卷積層Conv1d 的默認初始化函數(shù)glorot_uniform 性能最好, 其頻數(shù)分布直方圖如圖4 所示. 此初始化函數(shù)上下限范圍為[-limit,limit], 其中:

        圖4 glorot_uniform 初始化函數(shù)頻數(shù)分布直方圖Figure 4 Histogram of frequency distribution of glorot_uniform initialization functions

        公式(9)中, fanin和fanout分別表示輸入和輸出神經(jīng)元的數(shù)量.

        我們使用在正負范圍內都有分布的激活函數(shù)進行實驗, 發(fā)現(xiàn)使用Selu 激活函數(shù)時模型的性能最好, 所以本文使用Selu 激活函數(shù)進行激活. 當進入Selu 激活函數(shù)的值小于0 時, 越靠近0, 激活函數(shù)對其越敏感. 因此, 本文加入批標準化層來對卷積后的值進行處理, 然后再將處理后的數(shù)據(jù)輸入激活層, 以此使得整個模型能夠學習到更多能量跡的特征.

        3.2.3 池化層

        池化層也叫下采樣層, 在卷積神經(jīng)網(wǎng)絡中的作用是保留主要特征的同時減少數(shù)據(jù)量, 防止模型過擬合.池化層還可以提升模型的尺度不變性和旋轉不變性, 并且當輸入做出少量平移時, 池化層也可以使其保持近似的不變.

        池化函數(shù)使用某一位置的相鄰輸出的總體統(tǒng)計特征來代替網(wǎng)絡在該位置的輸出. 目前常用的池化方法有最大池化和平均池化. 最大池化是在池化窗口中選擇一個最大的值, 用來代表這一窗口區(qū)域內的值,并將其輸出; 平均池化是計算池化窗口內所有值的平均值, 用這一平均值來表示此窗口區(qū)域內的值. 本文使用的是平均池化, 池化窗口大小均為2, 步長均為2. 通常情況下, 池化窗口大小和步長相同, 這樣所操作的輸入片段就不會發(fā)生重疊. 此參數(shù)的選擇參考了深度學習領域中的模型(VGG-16).

        3.2.4 舍棄層

        舍棄層是為了緩解深度學習模型的過擬合問題而提出來的. 在神經(jīng)網(wǎng)絡訓練的過程中常把隱藏層中的部分神經(jīng)元按一定比例暫時從神經(jīng)網(wǎng)絡中舍棄, 在使用神經(jīng)網(wǎng)絡時, 再把所有神經(jīng)元都恢復到神經(jīng)網(wǎng)絡中.

        在本文提出的CBAPD 模型中, 當使用同步數(shù)據(jù)集時, 沒有使用舍棄層, 而使用帶有對抗措施的數(shù)據(jù)集, 即ASCAD_desync50.h5 和ASCAD_desync100.h5 時, 使用了舍棄層. 這是因為當能量跡不同步時, 對于神經(jīng)網(wǎng)絡來說, 相當于引入了一些噪聲, 神經(jīng)網(wǎng)絡會將這些噪聲錯誤地識別為能量跡的特征, 從而造成過擬合現(xiàn)象, 導致在攻擊時不能展現(xiàn)其良好的性能. 所以, 在針對不同步的數(shù)據(jù)集時, 本文加入了舍棄層來減輕過擬合的影響. 使用ASCAD_desync50.h5 數(shù)據(jù)集時, 丟棄節(jié)點比例為0.2, 使用ASCAD_desync100.h5 數(shù)據(jù)集時, 丟棄節(jié)點比例為0.3.

        3.2.5 全連接層和輸出層

        全連接層的作用是利用前面網(wǎng)絡結構提取到的特征進行分類. 全連接層中神經(jīng)元的數(shù)量均為4096, 使用Relu 激活函數(shù). 此參數(shù)的選擇借鑒了AlexNet 網(wǎng)絡. 輸出層實質上也是一個全連接層, 它的作用是進行256 種密鑰可能值的分類, 所以使用了256 個神經(jīng)元, 使用的激活函數(shù)為Softmax. Softmax 激活函數(shù)是進行多分類任務時的經(jīng)典選擇.

        此外, 訓練時使用CategoricalCrossentropy 損失函數(shù)和RMSprop 優(yōu)化器, 學習率設置為0.000 01.由于CategoricalCrossentropy 損失函數(shù)易于使用標準的基于梯度的方法進行優(yōu)化, 所以是一個經(jīng)典的選擇. 對RMSprop、Adam、SGD 等優(yōu)化器進行實驗, 結果表明使用RMSprop 優(yōu)化器時模型性能最好. 學習率是在1e-07~0.001 范圍內進行實驗得到的最佳選擇.

        4 實驗

        4.1 實驗配置

        本文中所有的實驗都使用了Keras 深度學習開源庫和TensorFlow 后端(tensorflow-gpu-2.4.0rc0) ,運行在搭載了Intel-i9-10900k 處理器和一塊NVIDIA RTX-3090 顯卡的硬件平臺, 并且使用了ASCAD公開數(shù)據(jù)集和DPA-contest v4 公共數(shù)據(jù)集1https://github.com/qwserft/Side-channel-attacks-based-on-CBAPD-network.

        4.2 模型性能對比

        在訓練過程中, 關于能量跡數(shù)量的選擇問題, 我們進行了一些測試, 實驗結果顯示: 訓練數(shù)據(jù)量越小,模型性能越差, 恢復密鑰所需能量跡越多. 故本文使用了數(shù)據(jù)集中所有用于訓練的能量跡.

        4.2.1 ASCAD 數(shù)據(jù)集攻擊性能對比

        我們使用2.3.1 節(jié)中介紹的數(shù)據(jù)集來訓練模型, 并且重現(xiàn)了文獻[10,16,20] 的模型, 以此來作對比. 訓練時均使用了訓練子集中所有的50 000 條能量跡, 使用2.4 節(jié)中所介紹的三種評價指標rank、accuracy和loss 來比較這三個模型的性能. 當目標數(shù)據(jù)集為ASCAD.h5 時, 實驗結果如圖5、6 和7 所示.

        圖5 ASCAD 數(shù)據(jù)集模型訓練損失對比Figure 5 Model training loss comparison of ASCAD dataset

        由圖5 和圖6 可以看出: CBAPD 模型在經(jīng)過100 個epoch 后, 損失(loss) 可以降到0.7396, 精度(accuracy) 可以達到0.8786, 性能優(yōu)于其他三個模型. 由圖7 可以看出: 文獻[10] 所提出的模型需要510條能量跡以后, rank 才能完全降到0; 文獻[16] 所提出的SincNet 網(wǎng)絡攻擊成功時需要170 條能量跡; 文獻[20] 所提出的模型需要191 條能量跡才能攻擊成功. 相比而言, 本文所提出的CBAPD 模型在成功攻擊時僅需要50 條能量跡.

        圖6 ASCAD 數(shù)據(jù)集模型訓練精度對比Figure 6 Model training accuracy comparison of ASCAD dataset

        圖7 ASCAD 數(shù)據(jù)集攻擊結果Figure 7 Attack result of ASCAD dataset

        在ASCAD_desync50.h5 數(shù)據(jù)集上的實驗結果如圖8、9 和10 所示.

        圖8 ASCAD_desync50 數(shù)據(jù)集模型訓練損失對比Figure 8 Model training loss comparison of ASCAD_desync50 dataset

        圖9 ASCAD_desync50 數(shù)據(jù)集模型訓練精度對比Figure 9 Model training accuracy comparison of ASCAD_desync50 dataset

        由圖10 可以看出: CBAPD 模型在最大異步量為50 個樣本點的ASCAD 數(shù)據(jù)集中僅需要160 條能量跡就可以成功將正確密鑰排到第一位; 文獻[10] 所提出的模型在攻擊時使用了5000 條能量跡, rank 仍沒有完全降到0; 基于SincNet 的模型雖然在使用了270 條能量跡時將正確密鑰排到了第一位, 但是由圖10 可以看出, 之后還有小幅度的波動, 一直到1670 條能量跡之后, rank 值才完全降到了0; 文獻[20] 所提出的模型需要244 條能量跡才能成功恢復密鑰.

        圖10 ASCAD_desync50 數(shù)據(jù)集攻擊結果Figure 10 Attack result of ASCAD_desync50 dataset

        雖然文獻[10] 的模型精度(accuracy) 超過了CBAPD 模型并且損失(loss) 低于CBAPD 模型, 但其rank 指標并不佳, 所以可以推斷出其模型存在過擬合現(xiàn)象. 而基于SincNet 的模型在訓練了300 個epoch 后其模型的精度和損失仍然沒有達到CBAPD 模型的性能.

        在ASCAD_desync100. h5 數(shù)據(jù)集上的實驗結果如圖11、12 和13 所示.

        圖11 ASCAD_desync100 數(shù)據(jù)集模型訓練損失對比Figure 11 Model training loss comparison of ASCAD_desync100 dataset

        由圖13 可以看出, 在最大異步量為100 個樣本點的ASCAD 數(shù)據(jù)集上, CBAPD 模型僅需要1850條能量跡就可以找到正確密鑰; 基于SinNet 的網(wǎng)絡在使用4320 條能量跡之后rank 值才能完全為0; 文獻[10] 中的模型在使用5000 條能量跡后仍然有小幅度的抖動, rank 值并沒有完全為0; 文獻[20] 所提出的模型在使用了270 條能量跡后就成功恢復了密鑰.

        圖13 ASCAD_desync100 數(shù)據(jù)集攻擊結果Figure 13 Attack result of ASCAD_desync100 dataset

        同樣的, 雖然文獻[10] 的模型精度很高, 損失很低, 但是由其rank 圖可以推斷出, 其模型存在過擬合現(xiàn)象. 由此可見, 在全連接層加入舍棄層來舍棄一定比例的神經(jīng)元對整個模型的性能有非常大的提高作用,尤其在針對有異步對抗措施的情況下, 舍棄層的作用更加明顯.

        圖12 ASCAD_desync100 數(shù)據(jù)集模型訓練精度對比Figure 12 Model training accuracy comparison of ASCAD_desync100 dataset

        4.2.2 DPA-contest v4 數(shù)據(jù)集攻擊性能對比

        在DPA-contest v4 數(shù)據(jù)集上的實驗結果如圖14、15和16所示.

        圖14 DPA-contest v4 數(shù)據(jù)集模型訓練損失對比Figure 14 Model training loss comparison of DPA-contest v4 dataset

        在對模型進行訓練時, 均使用了數(shù)據(jù)集中提供的用于訓練的所有能量跡共4500 條. 由圖16 可以看出,CBAPD 模型和文獻[20] 所提出的模型在DPA-contest v4 數(shù)據(jù)集上只需要3 條能量跡即可恢復出密鑰,而文獻[10]所提出的模型和基于SincNet 的模型都未能將rank 值降到0, rank 曲線沒有收斂. 并且由圖14 和圖15 可以看出, CBAPD 模型性能非常好. 相比于文獻[20] 中專門針對DPA-contest v4 數(shù)據(jù)集來構建模型, 本文所提出的CBAPD 模型更具有通用性.

        圖15 DPA-contest v4 數(shù)據(jù)集模型訓練精度對比Figure 15 Model training accuracy comparison of DPA-contest v4 dataset

        圖16 DPA-contest v4 數(shù)據(jù)集攻擊結果Figure 16 Attack result of DPA-contest v4 dataset

        5 結論

        本文在基于深度學習的側信道攻擊方法中將一種新的卷積神經(jīng)網(wǎng)絡結構用于側信道分析, 并在ASCAD 公開數(shù)據(jù)集和DPA-contest v4 公開數(shù)據(jù)集上進行實驗. 實驗結果表明, 本文所提出的CBAPD 卷積神經(jīng)網(wǎng)絡能夠更加有效地學習能量跡的特征, 在針對帶有異步對抗措施的數(shù)據(jù)集時, CBAPD 模型可以更好地消除異步所帶來的影響, 從而大大降低了進行側信道分析時所需能量跡的數(shù)量.

        在未來的研究工作中, 我們將探索如何把深度學習技術與傳統(tǒng)的側信道攻擊技術相結合, 例如將側信道碰撞攻擊與深度學習技術相結合等.

        猜你喜歡
        密鑰信道卷積
        探索企業(yè)創(chuàng)新密鑰
        基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
        密碼系統(tǒng)中密鑰的狀態(tài)與保護*
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        基于傅里葉域卷積表示的目標跟蹤算法
        一種對稱密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機制的實現(xiàn)
        電信科學(2017年6期)2017-07-01 15:45:06
        基于導頻的OFDM信道估計技術
        一種改進的基于DFT-MMSE的信道估計方法
        基于MED信道選擇和虛擬嵌入塊的YASS改進算法
        少妇愉情理伦片| 成人av在线免费播放| 日本不卡一区二区三区久久精品| 美女扒开屁股让男人桶| 久久久久久伊人高潮影院| 精选麻豆国产AV| 日本熟妇视频在线中出| 熟女中文字幕一区二区三区| 中文无码日韩欧| 国产成人精品自在线无码| 日韩av免费在线不卡一区| 美女用丝袜脚玩我下面| 国产裸体xxxx视频在线播放| 国产欧美精品一区二区三区–老狼| 亚洲国产一区二区三区视频在线 | 人妻中文字幕在线网站| 久久精品国产www456c0m| 日韩中文字幕一区二区高清| 97中文乱码字幕在线| 97在线视频人妻无码| 国产成人亚洲日韩欧美| 色婷婷久久免费网站| 久久精品亚洲精品国产区| 欧美黑寡妇特a级做爰| 色综合久久久久久久久五月| 亚洲一区二区三在线播放| 国产人妻熟女呻吟在线观看| 亚洲色精品aⅴ一区区三区| 国产精品原创巨作av无遮| 国产高清自产拍av在线| 亚洲av无码无线在线观看| 欧美日韩亚洲国内综合网| 无码伊人久久大蕉中文无码| 中文字幕精品一区二区的区别| 真实国产老熟女无套中出| 亚洲综合伊人制服丝袜美腿| 国产一级黄色性生活片| 无码精品一区二区三区在线| 日本无遮挡吸乳呻吟视频| 亚洲 美腿 欧美 偷拍| 亚洲一区二区三区99|