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

        ?

        旁路功耗分析中不同平臺的差異化研究*

        2021-05-15 09:56:04
        密碼學報 2021年2期
        關鍵詞:掩碼毛刺旁路

        郭 箏

        智巡密碼(上海) 檢測技術有限公司, 上海201601

        1 引言

        旁路功耗分析是當前對密碼芯片威脅最大的攻擊方式之一, 其原理是利用CMOS 電路在翻轉時產(chǎn)生的功耗和數(shù)據(jù)相關的特征, 通過猜測算法的中間結果來恢復密鑰. 目前已有大量的分析方法被提出, 其中應用最為廣泛的就是差分功耗分析(DPA) 和由其衍生的相關性功耗分析(CPA). 一些實驗也證實, 如果不添加防護措施, 幾乎所有的密碼電路都易受此類攻擊的影響.

        為了抵御旁路功耗分析, 一種常用的有效方法是掩碼, 其原理是使得算法運算過程中的中間結果隨機化. 事實上, 在過去幾年中, 很多可選擇的針對DES 等分組密碼的掩碼方案被提出. 這些方法主要是考慮算法中非線性部分的掩碼, 該部分掩碼通常需要花費較大的電路代價; 相比之下, 線性部分容易進行掩碼的添加. 目前的安全芯片設計中幾乎都會實現(xiàn)線性部分的掩碼, 非線性部分則是根據(jù)電路代價選擇性添加.

        已有些研究提出了針對掩碼的安全性分析, 其中大多數(shù)研究者認為, 即使加了掩碼, 但由于電路延遲產(chǎn)生的毛刺, 仍舊使得電路運行過程中有真正的中間值泄露[1], 從而會使得分析成功. 文獻[2] 中基于SPICE 仿真證明了毛刺導致旁路信息泄露的現(xiàn)象. 文獻[3] 中討論了毛刺對于掩碼電路的影響. 文獻[4]中則利用功耗仿真的方法對電路中組合邏輯部分進行了建模, 并發(fā)現(xiàn)利用一階分析方法亦可以偵測到掩碼電路中的泄露信息, 作者攻擊了掩碼后非線性邏輯的輸出, 某些比特的信息泄露較大, 這說明電路實現(xiàn)方式會影響最終的攻擊效果和結果. 文獻[5] 中使用作者自己提出的仿真器對多款AVR 微控制器進行了仿真攻擊. 另有一些分析人員致力于研究抗毛刺的掩碼方案[6–8], 這些研究通常緊密依附于上述對于電路仿真的研究.

        同樣是研究掩碼的信息泄露, 本文的立足角度不同. 基于對一款通過安全認證的DES 實際芯片和相應電路代碼的功耗分析比較, 指出兩者之間在各類分析模型下的分析結果差異, 并利用功耗仿真曲線可層次化計算模塊消耗功耗的特點, 對泄露進行定位和解釋.

        值得一提的是, 本文的實驗過程將結合功耗仿真和FPGA 驗證的方法進行. 其中仿真功耗由于無噪聲的緣故, 所以可能泄露更多的信息, 以至于一些研究者認為其與真實情況相差過大, 不太具備參考價值.然而在本文看來, 功耗仿真是在代碼設計階段發(fā)現(xiàn)旁路信息泄露的重要手段, 有理由相信, 如果電路代碼的防護措施在仿真功耗分析下有效, 則該防護對于實際芯片也同樣有效.

        本文余下的章節(jié)安排如下. 第2 節(jié)將闡述分析對象的防護措施結構. 第3 節(jié)將展示利用功耗仿真分析的結果. 第4 節(jié)將展示通過FPGA 實現(xiàn)的分析結果. 第5 節(jié)是對泄露的分析. 第6 節(jié)是一些防護建議. 最后是總結, 并將針對仿真功耗、FPGA 等不同實現(xiàn)的分析方法, 給出一些未來可研究的方向.

        2 DES 密碼電路的防護結構

        本文選擇了一款已通過(國內(nèi)) EAL 4+ 安全認證的密碼芯片作為分析對象, 該密碼芯片中包含DES密碼算法, 采用了兩種防護措施. 第一種防護措施是僅對于線性部分的掩碼方案, 圖1 說明了DES 線性掩碼的運算結構.

        在該防護方法中, 線性部分都添加了掩碼, 且掩碼共同參與計算, 非線性部分的S 盒則利用原值進行計算. 每輪運算的掩碼不同, 在寄存器存取操作時, 去掉舊掩碼時先掩上新的掩碼, 且為了避免寄存器輸入端的毛刺現(xiàn)象, 輪運算寄存器置于新舊掩碼操作之間. 在算法計算過程中, 輪運算寄存器始終保持兩輪的掩碼.

        通常在攻擊硬件實現(xiàn)的密碼算法時, 首先會考慮對輪寄存器的數(shù)據(jù)存儲過程進行攻擊, 對于DES 算法, 可攻擊第一輪計算結果覆蓋明文的過程, 采用的功耗模型是漢明距離模型, 根據(jù)文獻[9], 有時候漢明重量模型也會有效. 根據(jù)上述描述的防護機制, 算法計算過程中的真值僅出現(xiàn)在非線性運算部分, 因此, 該防護應該有效抵御針對輪寄存器的功耗分析.

        第二種防護是全掩碼, 在線性部分掩碼基礎上加上掩碼的S 盒, 即對非線性部分也進行掩碼. 從理論上分析, 后一種防護使得算法在計算過程中, 不會出現(xiàn)真實的中間結果, 因此應該能有效抵御任何對于線性邏輯和非線性邏輯的差分功耗分析.

        事實上, 如果線性部分的防護措施添加恰當, 則能夠基本抵御差分功耗分析. 原因是非線性邏輯主要由組合邏輯組成, 其翻轉速度較快, 雖然存在毛刺現(xiàn)象, 但利用現(xiàn)有精度的示波器去發(fā)現(xiàn)此類毛刺并加以利用, 其分析代價也會十分巨大. 但在仿真實驗中, 由于模擬采樣精度可以很高, 所以會發(fā)現(xiàn)由于毛刺產(chǎn)生的泄露. 在后續(xù)的實驗中, 會對上述兩類防護分別進行分析.

        圖1 DES 線性掩碼的運算結構Figure 1 Operation structure of DES linear mask

        3 基于功耗仿真的分析結果

        3.1 實驗過程

        本文利用EDA 工具對DES 的verilog 代碼進行綜合, 布局布線. 完成版圖后, 對網(wǎng)表進行帶反標時序參數(shù)的仿真. 利用功耗仿真工具PTPX, 可以得到不同明文輸入下電路的功耗曲線, 由此形成分析樣本,在本實驗中準備了4000 條功耗曲線作為分析樣本.同時,為了作對比實驗,本文利用FPGA(Sasebo GII)對同樣的電路代碼進行綜合仿真, 利用外部線性反饋移位寄存器每周期生成隨機掩碼. 通過示波器進行功耗曲線采集, 由此形成與電路代碼對應的分析樣本, 在本實驗中利用FPGA 采集了30 萬條功耗曲線作為樣本.

        對于DES 算法的攻擊, 通常利用非線性邏輯S 盒操作, 在無防護情況下, 單個S 盒可恢復4 比特密鑰數(shù)據(jù). 本文主要采取表1 所示的攻擊位置和攻擊模型, 采用的攻擊方法主要是相關性功耗分析.

        表1 攻擊位置和攻擊模型Table 1 Attack location and attack model

        針對線性部分掩碼防護, 由于僅在S 盒輸出位置出現(xiàn)了真值, 理論上可抵御第一種、第二種和第三種攻擊, 而在第四種攻擊下有泄露. 針對全掩碼的防護方法, 理論上可抵御所有攻擊.

        3.2 針對線性部分掩碼防護的分析

        根據(jù)上述分析, 線性部分的掩碼將有效抵御針對輪寄存器的功耗分析, 即無法攻擊寄存器的存取操作,實際芯片的攻擊也顯示該防護方法有效. 對于電路代碼, 采取了表1 中攻擊選擇對其進行分析, 圖2 顯示了對單個S 盒輸出的攻擊結果.

        圖2 攻擊結果Figure 2 Attack result

        圖2 中橫坐標為曲線數(shù)量, 縱坐標為相關性系數(shù), 紅色實線顯示的是正確密鑰下對應的相關性系數(shù). 根據(jù)結果顯示, 除了S 盒輸出的漢明重量有泄漏之外, 攻擊輪寄存器的漢明重量也存在信息泄露. 這說明在算法執(zhí)行過程中, 有真值泄露, 根據(jù)分析結果所對應的功耗模型可初步判斷與第一輪輸出結果相關的計算部分產(chǎn)生了泄露, 由于非線性部分未采取掩碼措施, 因此泄露可能出現(xiàn)在S 盒的輸出.

        3.3 針對非線性部分掩碼防護的分析

        根據(jù)第2 節(jié)的分析, 同時使用非線性和線性部分的掩碼, 在整個算法過程中將不出現(xiàn)真值, 因此無法通過旁路功耗分析攻擊寄存器存取和S 盒計算部分, 即抵御所有的攻擊方式. 實驗結果也表明無信息泄露.

        4 基于FPGA 的分析結果

        同樣的, 對FPGA 采集的功耗曲線也做了相應的分析, 結果如圖3 所示.

        綜上試驗結果, 結合實際芯片通過測評的結果, 表2 列出了不同平臺下, 兩種防護的實驗結果.

        從表2 中可以看出, 不同實驗平臺下, 不同的防護措施表現(xiàn)出不同的防護能力. 同時, 仿真平臺下, 第二種攻擊出現(xiàn)了泄露, 這與理論分析結果有所不同. 在下節(jié)中嘗試理論解釋這些現(xiàn)象, 同時本文也認為電路實現(xiàn)的差別對分析結果有影響.

        圖3 攻擊結果Figure 3 Attack result

        表2 不同平臺下兩種防護的實驗結果Table 2 Experimental results of two kinds of protection on different platforms

        5 泄露信息分析

        泄露主要出現(xiàn)在線性部分的掩碼防護中,功耗仿真工具PTPX 可提取層次化模塊的功耗,因此在編寫電路代碼時將算法中的F 函數(shù)、E 置換和S 盒等運算組件單獨寫成模塊, 便于對其功耗進行單獨提取和分析. 采用與發(fā)現(xiàn)旁路信息泄露同樣的功耗模型, 分別對F 函數(shù)、E 置換和S 盒進行了分析. 結果發(fā)現(xiàn)幾乎所有的泄露都出現(xiàn)在S 盒模塊中.

        5.1 S 盒本身輸出的漢明重量的泄露

        該泄露對應第四種攻擊的結果. 由于S 盒輸出是真值, 雖然很快與掩碼進行異或, 但由于數(shù)據(jù)延遲的影響, 會導致總線上出現(xiàn)數(shù)據(jù)真值. 通過觀察功耗仿真曲線, 發(fā)現(xiàn)S 盒和輸入信號和輸出信號變化時存在大量毛刺. 根據(jù)實驗結果, 可以確定泄露位置都在S 盒計算的后半部分. 此時S 盒的真實結果陸續(xù)計算出來, 并在數(shù)據(jù)線上進行輸出.

        由于仿真精度較高, 可達到皮秒級別, 所以幾乎可以發(fā)現(xiàn)每個S 盒的真值泄露. 在實驗中該泄露出現(xiàn)的位置是在明文輸入之后, 即S 盒已計算出實際結果, 但還未更新寄存器. 在FPGA 和實際芯片中, 由于采樣精度受到限制, 并且有外部器件產(chǎn)生的噪聲, 所以只能認為有可能發(fā)生泄露, 但實際測量很困難.

        5.2 輪計算結果的漢明重量的泄露

        該泄露對應第二種攻擊的結果. 同樣地, 對各個運算組件分別進行了功耗分析, 發(fā)現(xiàn)在輪計算之后有信息泄露. 由于該處的數(shù)值與真值和隨機掩碼數(shù)據(jù)相關, 于是直接計算了隨機掩碼后的輪運算數(shù)據(jù)和實際結果的相關性. 仿真功耗實驗中的隨機掩碼數(shù)據(jù)來自于軟件隨機函數(shù)生成, 實驗結果顯示相關性較大, 說明隨機數(shù)樣本的隨機性較弱. FPGA 實驗中的隨機掩碼數(shù)據(jù)來自于線性移位寄存器, 實驗結果顯示相關性較小, 說明該隨機數(shù)樣本的隨機性符合防護要求.

        6 防護措施的改進

        雖然實際芯片和FPGA 未發(fā)現(xiàn)明顯泄露, 但仿真功耗的實驗說明了泄露隱患的存在. 對于這些隱患,本文提出以下改進建議.

        6.1 線性操作部分需注意電路實現(xiàn)方式

        電路實現(xiàn)對于功耗信息的泄露有較大影響. 根據(jù)圖1 的防護措施, 對于非線性部分的掩碼在進入S 盒之前需要退去掩碼. 因此會出現(xiàn)帶掩碼的數(shù)據(jù), 子密鑰和去掩碼數(shù)據(jù)幾乎同時進行異或操作的時候.

        正常的異或順序是帶掩碼的數(shù)據(jù)和子密鑰先異或, 其結果再和掩碼數(shù)據(jù)異或. 但由于電路延遲的緣故,可能三個數(shù)據(jù)到來的時間會有差異. 如果子密鑰在最后到達, 就會造成S 的輸入和任何掩碼無關, 也就是說線性部分的掩碼作用在輪計算結果到S 盒之前完全消失.

        圖4 顯示了當3 個值幾乎同時異或時,利用第一種攻擊方法的分析結果.分別用仿真平臺和FPGA 進行了實驗.

        圖4 攻擊結果Figure 4 Attack result

        可以通過適當加入延遲單元, 使得兩個異或操作分開, 則上述的攻擊模型對曲線無效, 同時可有效應對第四種攻擊. 這樣一來, 該防護方案可抵御所有的一階攻擊. 由于該方案在每次運算采用了不同的掩碼,因此也可有效抵御高階攻擊.

        6.2 非線性操作部分采用隱藏的防護方法

        根據(jù)上述分析, 掩碼中的泄露主要來自于非線性邏輯. 非線性邏輯的掩碼需要較高的電路面積代價,因此可以考慮采用隱藏和掩碼結合的方式, 以時間代價換取面積的減少. 目前旁路攻擊的模型主要是針對非線性邏輯的, 可以通過功耗仿真的方法定位泄露細節(jié), 采取相應的防護措施, 從而消除非線性邏輯實現(xiàn)過程中帶來的安全隱患.

        7 總結與展望

        本文對一類已通過安全認證的密碼芯片的電路代碼進行了仿真和FPGA 實驗, 以期驗證芯片在設計階段抵御旁路功耗分析的能力, 并嘗試說明不同實現(xiàn)方式下, 功耗曲線和分析結果的差異. 通過一些對比實驗, 可做出以下總結:

        (1) 對于已加入掩碼防護的電路可能存在旁路信息泄露隱患, 利用仿真功耗精度高的特點可有效發(fā)現(xiàn).

        (2) 不同階段、不同形式的功耗數(shù)據(jù),在同樣的分析方法下表現(xiàn)出一定的差異.功耗仿真平臺和FPGA的分析對于實際電路都有參考價值. 在同樣的泄露分析模型, 一般而言如果功耗仿真平臺未發(fā)現(xiàn)泄露, 則實際電路也能抵御相應攻擊.

        (3) 電路實現(xiàn)對于分析結果有較大影響. 處理好線性部分的掩碼, 可有效實現(xiàn)低代價的防護方案.

        當然有些問題還未徹底解決. 譬如雖然發(fā)現(xiàn)仿真曲線和實際曲線在分析方面的差異, 但造成這些差異的原因無法準確解釋. 本文猜測信息的泄露來自于電路毛刺, 在仿真功耗中, 無噪聲且精度較高, 因此信噪比很高. 而在實際電路中, 受采樣頻率的影響, 可能無法精確采集到此類毛刺, 且由于噪聲的疊加, 使得信噪比較低. 此外, 不同結構分組密碼算法的防護實現(xiàn)方式也值得進一步研究.

        旁路功耗分析技術在不斷發(fā)展, 該技術體現(xiàn)了微電子、計算機和密碼等領域的融合. 對于分析方法實施的研究, 可揭示新的可能存在的安全隱患, 有助于降低防護方案的成本.

        猜你喜歡
        掩碼毛刺旁路
        旁路放風效果理論計算
        一種鑄鐵鉆孔新型去毛刺刀具的應用
        一種筒類零件孔口去毛刺工具
        低面積復雜度AES低熵掩碼方案的研究
        通信學報(2019年5期)2019-06-11 03:05:56
        基于布爾異或掩碼轉算術加法掩碼的安全設計*
        通信技術(2018年3期)2018-03-21 00:56:37
        可抑制毛刺的鉆頭結構
        新型銅合金化學去毛刺劑的研制
        急診不停跳冠狀動脈旁路移植術在冠心病介入失敗后的應用
        IVPN業(yè)務旁路解決方案
        基于掩碼的區(qū)域增長相位解纏方法
        亚洲精品乱码久久久久久蜜桃不卡 | 青青草免费在线视频导航| 国产91吞精一区二区三区| 精品黑人一区二区三区| 99国语激情对白在线观看| 久久久熟女一区二区三区| 五月综合激情婷婷六月| 欧美孕妇xxxx做受欧美88| 久久6国产| а的天堂网最新版在线| 国产午夜福利在线观看中文字幕| 亚洲av中文无码字幕色本草 | 大地资源网最新在线播放| 麻豆久久久国内精品| 新久久国产色av免费看| 精品国产麻豆免费人成网站| 无码av无码天堂资源网| 美女裸体无遮挡免费视频的网站| 人片在线观看无码| 亚洲成a人一区二区三区久久| 亚洲天堂成人av在线观看| 国产真实强被迫伦姧女在线观看| 国产午夜视频在永久在线观看| 亚洲精彩视频一区二区| 中文字幕乱码在线人妻| 亚洲中文字幕在线观看| 久久久久亚洲av无码专区网站| 亚洲国产福利精品一区二区 | 99热视热频这里只有精品| 国产白浆流出一区二区| 亚洲伊人久久大香线蕉| 18精品久久久无码午夜福利| 午夜成人理论无码电影在线播放 | 一区两区三区视频在线观看| 无码人妻丰满熟妇区免费| 亚洲av综合色区无码一二三区 | 国产香蕉一区二区三区在线视频| 亚洲精品白浆高清久久| 国产二区中文字幕在线观看| 91成人自拍国语对白| 久久夜色精品国产噜噜亚洲av |