分析泄漏功率攻擊采用90nm CMOS技術的加密器件
可以在一個組合設計中增加電阻,構成一個簡單的加密核心(圖1)。表3是輸入組合的電阻泄漏電流,它表示出泄漏電流與一個二進制字中1的數量的直接關系。對整個加密核心的仿真給出了原文本與密鑰的所有可能組合(表4)。該表以升序對泄漏電流排序,并按輸入密鑰對其分組,輸入欄是S盒的輸入,而輸出欄是加密核心的輸出。
泄漏電流攻擊
研究人員一般按加密算法,根據被動或主動弱點的實現類別,將攻擊區分為數學類和實現類。研究人員試圖找出能制約這些強大攻擊的措施。被動攻擊得益于旁路信息,通過測量一些物理量可以搜集到它(圖2)。主動攻擊有更高的擴散危害,因為它們會帶來造成錯誤計算的故障,從而暴露密鑰。
圖2,被動攻擊得益于旁路信息,通過測量一些物理量就可以獲得這些信息。
最常見的旁路攻擊渠道就是一款器件的功耗。這些類型的攻擊均采用簡單功率分析、微分功率分析以及相關性功率分析。在簡單功率分析攻擊時,攻擊者會使用一次測量得到的旁路信息,直接確定一個密鑰或部分密鑰。微分與相關性功率分析是統計性攻擊,需要進行大量測量和數據采集。相關性功率攻擊過程包括采集數據、分析所獲得數據、使用被攻擊器件的一種所謂假設模型。
圖3,泄漏功率分析攻擊的結果表明,通過泄漏功率數據,除0000密鑰以外,所有密鑰都清晰可辨。
你可以用一個統計分析工具來探測加密核心的密鑰。另外,還有一種攻擊方法,是通過計算所獲泄漏電流的矢量與采用一個假設密鑰的邏輯矢量之間的相關系數。該方法使用S盒中輸入的漢明權重,或一個二進制字中1的個數作為邏輯矢量。從一個密鑰假設可以獲得這個權重。圖3給出了計算出的相關系數。橙色方塊表示正確的密鑰假設,綠色圓表示一個隨機密鑰假設。采用這種攻擊的結果是,除了0000密鑰以外,所有密鑰都可清晰辨識。研究人員正在探討0000密鑰結果不同的原因。
這個初步研究表明,通過泄漏電流去揭示密鑰存在著實際的可能性。采用相關系數作攻擊的結果表示,泄漏功率分析可能成為你設計加密核心時應考慮的一個問題,尤其是對那些采用小于0.1μm邏輯門的核心,它們有很高的泄漏功耗。
評論