差分能量分析介绍(二)
差分功率分析
1、基本分析方法
????????差分功率分析DPA是一種統(tǒng)計方法,用于分析測量集,以確定數(shù)據(jù)相關(guān)的相關(guān)性。基本方法包括將一組記錄道劃分為子集,然后計算這些子集的平均值之差。如果將哪個記錄道分配給每個子集的選擇與記錄道中包含的測量值不相關(guān),則隨著記錄道數(shù)量的增加,子集平均值的差異將接近零。否則,如果劃分為子集與跟蹤測量相關(guān),則平均值將接近非零值。如果有足夠的記錄道,無論測量中存在多少噪聲,都可以分離出極小的相關(guān)性。
???????
?圖6典型DPA結(jié)果(從上到下)顯示第1輪中第一個S盒輸出的LSB為1的能量跡平均值、LSB為0的記錄道平均值、頂部兩條記錄道之間的差值以及Y軸放大系數(shù)為15的差值
2、舉例分析
????????圖6顯示了典型成功DPA結(jié)果的組成部分。在這種情況下,目標設(shè)備是執(zhí)行AES的同一智能卡,并且子集基于第一輪中第一個S盒輸出的LSB的實際值。圖中顯示了四道。最上面的一道是整個過程中LSB為1的記錄道的平均值覆蓋前兩輪AES加密的時間間隔。第二條記錄道是LSB為0的記錄道的平均值。前兩條記錄道似乎是相同的,因為平均值之間的差異遠小于總功耗變化。第三條記錄道顯示了前兩條記錄道的差異,并且看起來幾乎相同yflat-再次,因為差異很小。第四條(最低)軌跡顯示Y軸比例增加15倍的平均值差異,DPA結(jié)果清晰可見。
????????泄漏區(qū)域在最低記錄道中以尖峰形式可見。當目標設(shè)備首次計算S盒輸出位時,出現(xiàn)第一個尖峰。當在第一輪剩余時間進一步處理該位時,會出現(xiàn)更多尖峰。到第一輪結(jié)束時,AES中間產(chǎn)物不再與S盒輸出的LSB相關(guān)e表示與其他位混合以及密碼的雪崩。因此,在第二輪或之后的差分記錄道中未發(fā)現(xiàn)尖峰。圖6顯示尖峰之間的噪聲相對較小,因為使用的記錄道數(shù)(4000)與單個記錄道內(nèi)的噪聲相比,噪聲較高。雖然更多的記錄道產(chǎn)生更清晰的結(jié)果,但通常沒有理由使用更多的數(shù)據(jù)來區(qū)分所需的信號。
????????DPA測試顯示的信息由選擇函數(shù)決定。選擇函數(shù)用于將跟蹤分配給子集,通常基于加密計算中一個或多個中間產(chǎn)物的可能值的經(jīng)過教育的猜測。如果最終的DPA跟蹤顯示顯著峰值,密碼分析員將ws選擇函數(shù)輸出與(或等于)目標設(shè)備實際計算的值相關(guān)。如果未觀察到相關(guān),則選擇函數(shù)輸出不相關(guān)(或相關(guān)性太小,無法觀察)。選擇函數(shù)可以是單個位的預測值,例如S盒或乘法器的輸出位。也可以使用更復雜的函數(shù),例如寄存器中某位的值與覆蓋該位的位的值之間的預測差。選擇函數(shù)也可以是多個位的函數(shù)。例如,如果預測多位中間值等于常數(shù)(或不同的中間值),則選擇函數(shù)可能輸出1以及其他輸出0。
????????選擇函數(shù)的選擇是DPA過程的關(guān)鍵部分,因為它封裝了關(guān)于設(shè)備中可能存在的泄漏的工程直覺。DPA中使用的選擇函數(shù)通常是二進制值函數(shù)。
3、典型的DPA攻擊包括以下階段
- 該初步階段涉及開發(fā)與設(shè)備通信的方法,以調(diào)用加密操作并記錄其響應(yīng)。測量設(shè)備(如由PC驅(qū)動的數(shù)字示波器)也連接到目標設(shè)備。根據(jù)設(shè)備的可用性和可用性,可以使用與設(shè)備電源線或地線串聯(lián)的電阻器或電流探針。在加密組件附近進行的測量通常具有更好的質(zhì)量,盡管也可以使用更多質(zhì)量較低的記錄道。如果無法插入電阻器(例如,如果設(shè)備使用內(nèi)部電池),則設(shè)備的內(nèi)阻通常足夠。E-field和M-field探測器也可用于對設(shè)備進行EM攻擊,方法與DPA相同。對于觸發(fā),測量系統(tǒng)通常連接到設(shè)備的I/O線。
- 這是數(shù)據(jù)收集階段。在目標設(shè)備執(zhí)行加密操作時記錄電源跟蹤。每個捕獲的跟蹤與相關(guān)的加密數(shù)據(jù)(例如,明文或密文)一起存儲在PC上。根據(jù)需要,可通過添加模擬濾波器、調(diào)整帶寬或采樣率以及探索SPA信號特征以去除不相關(guān)區(qū)域來改善跟蹤質(zhì)量和捕獲效率信號處理這一可選階段涉及在軟件中處理軌跡,以消除對準誤差、隔離感興趣的特征、突出顯示信號和降低噪聲。在許多情況下,只需要簡單的時間對齊,或者可以完全忽略此步驟。
- 在此階段,關(guān)于形成的部分鍵的不同假設(shè)用于定義用于分析的選擇函數(shù)。然后將每個選擇函數(shù)應(yīng)用于與每個跟蹤相關(guān)聯(lián)的加密數(shù)據(jù),從而得出關(guān)于下一個測試階段的中間狀態(tài)的預測。預測和選擇函數(shù)生成
- 平均階段為每個選擇函數(shù)計算由選擇函數(shù)輸出定義的輸入子集的平均值。這一步通常是計算最密集的階段。
- 分析DPA測試結(jié)果,以確定最可能的候選關(guān)鍵點猜測。這個過程可以通過可視化或使用自動化工具來完成。
最后三個步驟(預測、平均和評估)通常是迭代的。例如,對于AES-256,第一輪密鑰通常在第二輪密鑰開始攻擊之前找到。在其他情況下,例如,如果正在使用自適應(yīng)選擇的輸入消息,則還可以重復附加步驟。
總結(jié)
以上是生活随笔為你收集整理的差分能量分析介绍(二)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 差分能量分析介绍(一)
- 下一篇: 差分能量分析介绍(三)