專利名稱:檢測密碼模塊抵御能量分析攻擊能力的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其是密碼模塊的實(shí)際安全性方面;可應(yīng)用于密 碼模塊實(shí)現(xiàn)抵御能量分析攻擊能力的檢測,主要應(yīng)用于密碼系統(tǒng)的設(shè)計(jì)、分析與測評(píng)。
背景技術(shù):
密碼模塊廣泛應(yīng)用于各種涉及密碼安全的電子產(chǎn)品中,如智能卡、網(wǎng)銀鑰匙、射頻 識(shí)別標(biāo)簽等。而在實(shí)踐中,大量的針對密碼模塊進(jìn)行的攻擊、破譯分析研究活動(dòng),直接關(guān)系 到使用密碼模塊的電子產(chǎn)品的安全性。側(cè)信道攻擊是密碼分析研究的一個(gè)重要分支。它是通過獲取并分析密碼模塊操作 過程中的電信號(hào)或電磁信號(hào)的變化與中間數(shù)值或執(zhí)行操作的關(guān)系,繼而獲得密鑰信息的一 種密碼攻擊手段。研究實(shí)踐表明,即使密碼算法在數(shù)學(xué)意義下是安全的,任何不恰當(dāng)?shù)膶?shí)現(xiàn) 所泄漏的側(cè)信道信息仍會(huì)導(dǎo)致嚴(yán)重的安全隱患。能量分析攻擊就是這樣一種功能強(qiáng)大的典 型側(cè)信道攻擊。這種攻擊方法實(shí)際效果顯著,受到廣泛關(guān)注,已成為側(cè)信道攻擊領(lǐng)域的熱點(diǎn) 問題。密碼模塊抵御能量分析攻擊的能力直接決定了相應(yīng)電子產(chǎn)品的安全性強(qiáng)弱。本發(fā)明 提出了一套檢測密碼模塊對能量分析攻擊的防御能力的流程和基本方法,為密碼系統(tǒng)的設(shè) 計(jì)、分析與評(píng)估提供了必要的基礎(chǔ)方法和支撐工具。
發(fā)明內(nèi)容
本發(fā)明提供一種檢測密碼模塊抵御能量分析攻擊能力的方法,使用該評(píng)估方法可 以對密碼模塊抵御能量分析攻擊能力的強(qiáng)弱進(jìn)行量化評(píng)估。在能量分析過程中,每個(gè)候選子密鑰Si(l < i < η) (η為候選子密鑰的個(gè)數(shù))對 應(yīng)于用于表征該子密鑰正確可能性的數(shù)值,該數(shù)值被稱為候選子密鑰Si的參考值。本發(fā) 明的基本思路是將所有候選子密鑰Si對應(yīng)的參考值m/,轉(zhuǎn)換為服從高斯分布的隨機(jī)變量樣
本I^itj如果所有的參考值;^8服從同一個(gè)或者非常近似的分布,則敵手難以通過候選子
密鑰的參考值區(qū)分出正確的子密鑰,即密碼模塊對能量分析攻擊是安全的?;谏鲜鏊悸?,本發(fā)明的技術(shù)方案為一種檢測密碼模塊抵御能量分析攻擊能力 的方法,包括如下主要步驟1)對密碼模塊實(shí)施能量分析攻擊,獲取每個(gè)候選子密鑰Si的參考值 Λ ;2)基于所有候選子密鑰的參考值〈 y;, / ..., /&〉計(jì)算參考值跨度At ;3)根據(jù)參考值跨度△ t計(jì)算密碼模塊能量分析攻擊抵御能力安全因子r ;4)根據(jù)r大小評(píng)估密碼模塊抵御能量分析攻擊的能力,安全因子r與該能力正相 關(guān)。下面對各個(gè)步驟的具體操作做進(jìn)一步的說明。首先,第1)步的具體實(shí)施流程方法為i.隨機(jī)生成密鑰模塊的明文;ii.將明文逐一輸入密碼模塊,執(zhí)行密碼操作并采集密碼模塊的能量跡(能耗曲 線);
iii.逐一猜測密碼模塊的子密鑰并利用區(qū)分器得到每個(gè)候選子密鑰Si對應(yīng)的參 考值 Λ。其中,第ii步所述采集密碼模塊能量跡的方法為a)啟動(dòng)包含密碼模塊的密碼設(shè)備;b)設(shè)置密碼設(shè)備的輸入明文;c)密碼設(shè)備執(zhí)行密碼算法,并向示波器發(fā)送觸發(fā)信號(hào);d)示波器采樣測量密碼設(shè)備的能量消耗值并將采樣結(jié)果傳輸給計(jì)算機(jī);e)重復(fù)步驟b)至d),直到所采樣的能量跡數(shù)量滿足攻擊需要為止。在第2)步中,首先需要根據(jù)所選用的區(qū)分器對參考值M/,做相應(yīng)變換。如果采 用均值差檢驗(yàn)作為區(qū)分器,則對參考值"Λ,做恒等變換;如果采用皮爾遜相關(guān)系數(shù)作為區(qū)分
器,則對參考值My^iAFisher變換。變換后的參考值記為纟“ ^^^,…,^‘)接著計(jì)算
參考值跨度At,方法為 其中,HJf..、和ref 分別是最大的參考值和最小的參考值的統(tǒng)計(jì)估計(jì)量;S為所
‘ “ ι 二 \ι.· Ii I ! M
有參考值的標(biāo)準(zhǔn)差的統(tǒng)計(jì)估計(jì)量,即--i7fr ;=為所有參考值的均值的
統(tǒng)計(jì)估計(jì)量,即=; η為候選子密鑰的個(gè)數(shù)。 第3)步中密碼模塊能量分析攻擊抵御能力安全因子r的計(jì)算方法為
-Atrco
h(t)dt + h(t)dt
-ooJAt其中,h(t)為t(n-l)分布的概率密度函數(shù)。t是統(tǒng)計(jì)分布。因?yàn)槊艽a模塊能量分析攻擊抵御能力越強(qiáng),則最大參考值I ·和最小參考值 的差異越不顯著。即參考值跨度At越小,安全因子r越大;反之,參考值跨度At越
m π
大,則安全因子r越小。第4)步根據(jù)r判斷密碼模塊抵御能量分析攻擊的能力。具體的,設(shè)定r的閾值rt, 認(rèn)為大于rt的密碼模塊對能量分析攻擊是安全的,安全因子r小于閾值&的密碼模塊對于 能量分析攻擊是不安全的。rt優(yōu)選0. 01 0. 05之間的值。本發(fā)明的方法將密碼模塊對能量分析攻擊的抵御能力量化,可以幫助準(zhǔn)確、快速 地測評(píng)設(shè)置有密碼計(jì)算功能的安全產(chǎn)品的安全性和安全程度。具體的,本發(fā)明可以應(yīng)用于 智能卡等基于嵌入式微處理器的,廣泛應(yīng)用于金融、政府、社會(huì)服務(wù)等諸多領(lǐng)域的專用或通 用計(jì)算設(shè)備。通過本發(fā)明,可以快速檢測密碼模塊抵御能量分析攻擊的能力。本發(fā)明為同 一類型的不同密碼模塊產(chǎn)品的抗能量分析攻擊能力進(jìn)行橫向?qū)Ρ?,以及廣泛類型的密碼設(shè) 備在能量分析攻擊下的安全性測評(píng)提供了有效的基本支撐工具。
圖1是本發(fā)明的檢測密碼模塊抵御能量分析攻擊能力的方法的流程2是能量分析攻擊原理3是能量分析攻擊中能量跡的基本測量配置4是能量分析攻擊基本配置中各設(shè)備間的交互順序
具體實(shí)施例方式檢測密碼模塊抵御能量分析攻擊能力的方法,包括1)對密碼模塊實(shí)施能量分析攻擊,獲取每個(gè)候選子密鑰Si的參考值"Λ ;2)基于所有候選子密鑰的參考值〈〃<1,〃吹2,..., 乂(1〉計(jì)算參考值跨度Δ t ;3)根據(jù)參考值跨度△ t計(jì)算密碼模塊能量分析攻擊抵御能力安全因子r ;4)根據(jù)r大小評(píng)估密碼模塊抵御能量分析攻擊的能力,安全因子r與該能力正相關(guān)。參見圖1,其具體的流程方法如下SlOl 通過對密碼模塊實(shí)施能量分析攻擊獲取每個(gè)候選子密鑰Si的參考值"Λ。S102 獲取候選子密鑰的參考值的最大值、和最小值?i 。S103 計(jì)算所有參考值的標(biāo)準(zhǔn)差,
其中,
為所有參
考值的均值,即《sf = , 以,;η為候選子密鑰的個(gè)數(shù)。S104 按如下公式計(jì)算參考值跨度Il = sV Γ</ ■-
sS105 計(jì)算密碼模塊能量分析攻擊抵御能力安全因子r 其中,h(t)為t(n-l)分布的概率密度函數(shù)。S106 根據(jù)安全因子的大小評(píng)估密碼模塊抵御能量分析攻擊的能力。安全因子r 越大,則表明密碼模塊能量分析攻擊抵御能力越強(qiáng);安全因子r越小,則表明密碼模塊能量 分析攻擊抵御能力越弱。若密碼模塊能量分析攻擊抵御能力大于給定的安全閾值rt,則認(rèn) 為該密碼模塊對能量分析攻擊是安全的,否則是不安全的。通常,安全閾值rt取值為0. 01 至 0. 05。其中,步驟SlOl是通過對密碼模塊實(shí)施能量分析攻擊獲取每個(gè)候選子密鑰Si的 參考值 Λ,這個(gè)過程就是執(zhí)行能量分析攻擊的過程。其具體原理參見圖2,包括如下步驟i.隨機(jī)生成密碼模塊的明文;ii.在密鑰S。的作用下,當(dāng)目標(biāo)設(shè)備執(zhí)行q次加密操作時(shí),敵手采樣得到q條能量 跡Lq= [I1, I2, ... , IJ0對于每一條能量跡Ii (i = 1,2,...,q),敵手保存相應(yīng)的明文Xi 到向量 Xq = [χ” x2,...,xq]中。iii.對于每一個(gè)子密鑰猜測Si e S,做如下操作
6
a)對于向量Xq = [X1, X2, ... , xq]中的每一個(gè)明文Xi和子密鑰猜測S,敵手預(yù)測 目標(biāo)設(shè)備中的中間值ν;,并保存在向量< =K名,…乂]中。b)對于向量中< =[ …乂]的每一個(gè)中間值ν;,敵手根據(jù)能量泄露模型計(jì)算其相 應(yīng)的能耗泄漏<,并將其存入向量=[ ···,<]。c)敵手根據(jù)統(tǒng)計(jì)方法計(jì)算子密鑰猜測Si對應(yīng)的參考值"Λ。iiii.用對參考值做相應(yīng)的變換(當(dāng)采用均值差檢驗(yàn)做區(qū)分器時(shí),對參考值做恒 等變換;當(dāng)采用皮爾遜相關(guān)安全因子做區(qū)分器時(shí),對參考值做Fisher變換)使得每一個(gè)子
密鑰猜測對應(yīng)的參考值可用正態(tài)分布來刻畫,設(shè)調(diào)整后的結(jié)果為< I JT/;.,,..,ι ^ >。第ii步需要測量密碼模塊的執(zhí)行密碼操作時(shí)的能量跡,需要搭建一套專用的能 量消耗測量環(huán)境。測量配置的主要部件包括電源、時(shí)鐘發(fā)生器、密碼設(shè)備、測量電路(EM探頭/探 針)、一臺(tái)數(shù)字示波器和一臺(tái)PC,如圖3所示。測量電路為數(shù)字采樣示波器提供信號(hào),該信 號(hào)與密碼設(shè)備的瞬時(shí)能量消耗成正比。PC用于對密碼設(shè)備和數(shù)字示波器進(jìn)行控制、存儲(chǔ)測 量獲得的能量跡,并對能量跡進(jìn)行分析。密碼設(shè)備執(zhí)行密碼操作時(shí),為了測量設(shè)備的能量消耗,上述基本組件需要按照如 下的基本流程進(jìn)行交互,如圖4所示。首先,步驟(1)密碼設(shè)備上電并接收時(shí)鐘信號(hào)。此 時(shí),設(shè)備已經(jīng)處于可操作狀態(tài)并且可以接受命令的啟動(dòng)狀態(tài)。接下來,在步驟(2)中,PC對 示波器進(jìn)行配置。在步驟(3)中,設(shè)置密碼設(shè)備的輸入明文,密碼設(shè)備開始執(zhí)行密碼算法, 并向示波器發(fā)送觸發(fā)信號(hào)。算法執(zhí)行期間,執(zhí)行步驟(4)示波器測量密碼設(shè)備的能量消耗 值,能量消耗值通過測量電路測量。在步驟(5)中,PC從設(shè)備中獲取密碼算法的輸出,最后 執(zhí)行步驟(6)PC從示波器中獲取采樣到的能量跡。不斷重復(fù)步驟(2)至步驟(6),直到所采 樣的能量跡數(shù)量滿足攻擊需要為止。需要特別強(qiáng)調(diào)的是本發(fā)明同樣適用于電磁攻擊等其他類型的攻擊。盡管為說明目 的公開了本發(fā)明的具體實(shí)例和附圖,其目的在于幫助理解本發(fā)明的內(nèi)容并加以實(shí)施,但是 本領(lǐng)域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的權(quán)利要求的精神和范圍內(nèi),各種替 換、變化和修改都是可能的。本發(fā)明不應(yīng)局限于本說明書最佳實(shí)施例和附圖所公開的內(nèi)容, 本發(fā)明要求保護(hù)的范圍以權(quán)利要求書界定的范圍為準(zhǔn)。
權(quán)利要求
檢測密碼模塊抵御能量分析攻擊能力的方法,包括如下步驟1)對密碼模塊實(shí)施能量分析攻擊,獲取每個(gè)候選子密鑰si的參考值2)基于所有候選子密鑰的參考值計(jì)算參考值跨度Δt;3)根據(jù)統(tǒng)計(jì)量Δt計(jì)算密碼模塊能量分析攻擊抵御能力安全因子r;4)根據(jù)r大小評(píng)估密碼模塊抵御能量分析攻擊的能力。FDA0000023909880000011.tif,FDA0000023909880000012.tif
2.根據(jù)權(quán)利要求1所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于所述第1)步驟的具體方法如下 i.隨機(jī)生成密鑰模塊的明文; 將明文逐一輸入密碼模塊,執(zhí)行密碼操作并采集密碼模塊的能量跡;iii.逐一猜測密碼模塊的子密鑰并利用區(qū)分器得到每個(gè)候選子密鑰Si對應(yīng)的參考值O
3.根據(jù)權(quán)利要求2所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于第 步所述采集密碼模塊能量跡的方法為a)啟動(dòng)包含密碼模塊的密碼設(shè)備;b)設(shè)置密碼設(shè)備的輸入明文;c)密碼設(shè)備執(zhí)行密碼算法,并向示波器發(fā)送觸發(fā)信號(hào);d)示波器采樣測量密碼設(shè)備的能量消耗值并將采樣結(jié)果傳輸給計(jì)算機(jī);e)重復(fù)步驟b)至d),直到所采樣的能量跡數(shù)量滿足攻擊需要為止。
4.根據(jù)權(quán)利要求1所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于第 2)步驟的具體方法為首先對參考值&做相應(yīng)變換,變換后的參考值為On;〗—.第二步計(jì)算參考值跨度At:其中,t和..分別是最大的參考值和最小的參考值的統(tǒng)計(jì)估計(jì)量;s為所有參[ . __________考值的標(biāo)準(zhǔn)差的統(tǒng)計(jì)估計(jì)量,即、=. —為所有參考值的均值的統(tǒng)計(jì)\ 了.Fe /估計(jì)量,即一 . Σ1;· η為候選子密鑰的個(gè)數(shù)。- - ,
5.根據(jù)權(quán)利要求4所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于根 據(jù)區(qū)分器對參考值 人做相應(yīng)變換。
6.根據(jù)權(quán)利要求5所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于采 用均值差檢驗(yàn)作為區(qū)分器,則對參考值 人做恒等變換。
7.根據(jù)權(quán)利要求5所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于采 用皮爾遜相關(guān)系數(shù)作為區(qū)分器,則對參考值 人做Fisher變換。
8.根據(jù)權(quán)利要求1所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于 第3)步中密碼模塊能量分析攻擊抵御能力安全因子r的計(jì)算方法為 其中,h(t)為t(n-l)分布的概率密度函數(shù)。
9.根據(jù)權(quán)利要求1或8任一所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特 征在于在所述第4)步中設(shè)置安全因子r的閾值rt,確定安全因子r大于閾值rt的密碼模 塊對于能量分析攻擊是安全的;安全因子r小于閾值^的密碼模塊對于能量分析攻擊是不 安全的。
10.根據(jù)權(quán)利要求9所述的檢測密碼模塊抵御能量分析攻擊能力的方法,其特征在于 所述閾值rt優(yōu)選0. 01 0. 05之間的值。
全文摘要
本發(fā)明公開一種檢測密碼模塊抵御能量分析攻擊能力的方法,包括如下步驟1)對密碼模塊實(shí)施能量分析攻擊,獲取每個(gè)候選子密鑰si的參考值2)基于所有子密鑰的參考值計(jì)算參考值跨度Δt;3)根據(jù)參考值跨度Δt計(jì)算密碼模塊能量分析攻擊抵御能力安全因子r;4)根據(jù)r值的大小來度量密碼模塊抵御能量分析攻擊的能力。抵御能力與安全因子r正相關(guān)?;诒景l(fā)明,可以準(zhǔn)確、快速地度量含有密碼模塊的計(jì)算設(shè)備的抗能量分析攻擊的安全性和安全程度,為密碼模塊的設(shè)計(jì)、分析與測評(píng)提供必要的基礎(chǔ)方法和支撐工具。
文檔編號(hào)H04L12/24GK101924600SQ20101024160
公開日2010年12月22日 申請日期2010年7月30日 優(yōu)先權(quán)日2010年7月30日
發(fā)明者劉繼業(yè), 周永彬, 陳海寧, 黃金剛 申請人:中國科學(xué)院軟件研究所