• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      功耗分析攻擊中的功耗與數(shù)據(jù)相關(guān)性模型

      2012-08-07 09:43:16羅鵬馮登國周永彬
      通信學(xué)報(bào) 2012年1期
      關(guān)鍵詞:漢明攻擊者功耗

      羅鵬,馮登國,周永彬

      (1. 中國科學(xué)院 軟件研究所,北京 100049;2. 中國科學(xué)院 研究生院,北京 100049)

      1 引言

      隨著電路等分析技術(shù)的發(fā)展,密碼破解已經(jīng)不再單純地停留在數(shù)學(xué)手段之上,還可從密碼芯片運(yùn)算時(shí)的功耗入手。通過對(duì)密碼芯片運(yùn)算時(shí)的功耗分析發(fā)現(xiàn),密碼芯片在進(jìn)行運(yùn)算時(shí)的功耗波形與所使用的密鑰有著一定的關(guān)系,當(dāng)使用密鑰不同時(shí),密碼芯片運(yùn)算時(shí)的功耗也會(huì)表現(xiàn)出不同的特性,于是,攻擊者利用這種密鑰和功耗間的關(guān)系,對(duì)密碼芯片運(yùn)算過程的功耗進(jìn)行分析,分析出密碼芯片運(yùn)算所使用的密鑰,對(duì)于這種利用密鑰和運(yùn)算時(shí)的功耗間的關(guān)系來進(jìn)行密鑰分析的方法稱為功耗分析攻擊[1~5]。

      為了使功耗分析攻擊得以實(shí)現(xiàn),必須建立功耗與密鑰或與密鑰緊密相關(guān)的數(shù)據(jù)之間的關(guān)系模型,這樣才能通過分析功耗,破解出密碼芯片上的密鑰或者與密鑰相關(guān)的信息。

      2 器件功耗與數(shù)據(jù)相關(guān)性的物理基礎(chǔ)

      2.1 CMOS反相器電路

      CMOS邏輯門電路是在TTL電路問世之后,所開發(fā)出的第2種廣泛應(yīng)用的數(shù)字集成器件,從發(fā)展趨勢來看,由于制造工藝的改進(jìn),CMOS電路的性能超越了TTL而成為占主導(dǎo)地位的邏輯器件,它的功耗和抗干擾能力則遠(yuǎn)優(yōu)于TTL。此外,幾乎所有的超大規(guī)模存儲(chǔ)器件以及PLD器件都采用CMOS工藝制造,且費(fèi)用較低。目前主流的加密、解密設(shè)備均使用CMOS電路,研究其功耗情況對(duì)使用功耗分析技術(shù)對(duì)設(shè)備進(jìn)行攻擊有重大意義。

      本以CMOS反相器為例,主要討論與功耗分析攻擊相關(guān)的CMOS電路功耗問題。

      CMOS反相器電路如圖1所示,它由2只增強(qiáng)型MOSFET組成,其中,一個(gè)為N溝道結(jié)構(gòu),另一個(gè)為P溝道結(jié)構(gòu)。其總功耗Pinv可看成靜態(tài)功耗Pstat和動(dòng)態(tài)功耗Pdyn2部分功耗之和。

      圖1 CMOS反相器電路

      2.2 靜態(tài)功耗分析

      當(dāng)反相器輸入Vi穩(wěn)定時(shí)器件所產(chǎn)生的功耗為靜態(tài)功耗Pstat。Vi不論其為高還是低電平,2個(gè)MOS管中必定是一個(gè)處于導(dǎo)通,另一個(gè)處于截止,因此在VDD到GND之間處于截止的MOS管上僅有一個(gè)很小的泄露電流Ileak,則靜態(tài)功耗Pstat可以用以下公式計(jì)算得到:

      2.3 動(dòng)態(tài)功耗分析

      當(dāng)輸入信號(hào)Vi發(fā)生變化時(shí),輸出信號(hào)會(huì)隨之發(fā)生變化,此時(shí)器件會(huì)產(chǎn)生動(dòng)態(tài)功耗Pdyn。表1給出當(dāng)輸入信號(hào)(或輸出信號(hào))發(fā)生變化時(shí),反相器的功耗情況。

      表1 輸入信號(hào)與反相器功耗對(duì)應(yīng)情況

      影響動(dòng)態(tài)功耗Pdyn的主要因素有2個(gè):對(duì)負(fù)載電容CL充放電所產(chǎn)生的功耗Pchrg和MOS管在翻轉(zhuǎn)過程中的短路電流所產(chǎn)生的功耗Psc。令 α為加權(quán)因子,f為器件翻轉(zhuǎn)的時(shí)鐘頻率,tsc為MOS器件短路時(shí)間,則功耗計(jì)算如式(3)和式(4)所示。

      圖2所示為一個(gè)CMOS反相器的模擬仿真示意圖。從圖中可以看出,當(dāng)輸入信號(hào)Vi發(fā)生翻轉(zhuǎn)(0到1或1到0)時(shí),電源電流iDD均出現(xiàn)正向脈沖,且2種脈沖波形、高度都不相同。由此可看出,當(dāng)CMOS單元中有不同數(shù)據(jù)通過的時(shí)候,會(huì)產(chǎn)生相應(yīng)的功耗波動(dòng),即為動(dòng)態(tài)功耗與數(shù)據(jù)的相關(guān)性。

      圖2 CMOS反相器輸入、輸出與iDD間關(guān)系仿真

      同理,對(duì)于由CMOS器件構(gòu)成的異或門、與非門等基本邏輯門電路均存在類似的數(shù)據(jù)相關(guān)性。

      在實(shí)際的電路網(wǎng)絡(luò)中,存在延遲、競爭、反饋、毛刺等各種復(fù)雜情況。當(dāng)信號(hào)通過這樣的網(wǎng)絡(luò)時(shí),由狀態(tài)翻轉(zhuǎn)而產(chǎn)生的各個(gè)脈沖之間呈現(xiàn)非線性的作用關(guān)系,電路單元某時(shí)刻功耗與數(shù)據(jù)的相關(guān)性并不是簡單的線性疊加。但對(duì)于功耗分析攻擊者來說,通過簡單的線性相關(guān)性模型就可分析出被處理數(shù)據(jù)的很多信息,甚至直接還原出數(shù)據(jù),因此線性相關(guān)性模型具有很強(qiáng)的實(shí)用意義。

      3 功耗與數(shù)據(jù)相關(guān)性模型

      在功耗分析攻擊中,攻擊者需要將數(shù)據(jù)值與被攻擊設(shè)備的功耗建立一定的映射關(guān)系。在具體實(shí)施攻擊的技術(shù)中,這種關(guān)系不必是一種嚴(yán)格的值對(duì)應(yīng),攻擊者只需要知道功耗值的相對(duì)差別而不必了解功耗的絕對(duì)值情況就可實(shí)施攻擊。因此針對(duì)功耗分析攻擊所建立的功耗與數(shù)據(jù)相關(guān)性模型要比設(shè)計(jì)一個(gè)密碼設(shè)備所進(jìn)行的功耗分析仿真模型簡單得多。在本節(jié)將著重描述當(dāng)前功耗分析攻擊中基礎(chǔ)的模型——漢明距離模型。在此基礎(chǔ)上,建立更實(shí)用的模型——漢明重量模型,并分析該模型的正確性和適用環(huán)境。

      3.1 漢明距離模型

      由上節(jié)討論可知,某時(shí)刻在數(shù)字電路中有器件發(fā)生翻轉(zhuǎn)就會(huì)產(chǎn)生動(dòng)態(tài)功耗,并且翻轉(zhuǎn)的器件越多,則功耗越大,那么只需計(jì)算數(shù)據(jù)值導(dǎo)致的翻轉(zhuǎn)個(gè)數(shù),就可和功耗值的相對(duì)大小建立聯(lián)系,這個(gè)就是漢明距離模型(HDM, hamming-distance model)的基本原理。

      在信息論中,2個(gè)等長二進(jìn)制數(shù)串之間的漢明距離(HD, hamming-distance)是這2個(gè)二進(jìn)制數(shù)串對(duì)應(yīng)位置的不同字符的個(gè)數(shù)。而一個(gè)二進(jìn)制數(shù)串的漢明重量(HW, hamming-weight)就是該數(shù)串中“1”的個(gè)數(shù)。

      令V0為電路翻轉(zhuǎn)前二進(jìn)制數(shù)據(jù),V1為電路翻轉(zhuǎn)后的二進(jìn)制數(shù)據(jù),則有

      其中,⊕運(yùn)算為按位異或,差錯(cuò)圖案E=V0⊕V1也是一個(gè)相同長度的二進(jìn)制數(shù)串,差錯(cuò)圖案中的“1”標(biāo)識(shí)了V0和V1在哪些位置是不相同的。因此,2個(gè)等長二進(jìn)制數(shù)串的漢明距離即為它們之間差錯(cuò)圖案的重量。

      在HDM中,假設(shè)器件翻轉(zhuǎn)(無論是從“0”到“1”,還是“1”到“0”)都產(chǎn)生相同的功耗;而“0”到“0”和“1”到“1”也可產(chǎn)生相同的功耗,但與翻轉(zhuǎn)產(chǎn)生的功耗完全不同。再假設(shè)忽略各個(gè)電路單元中分布式電容的差異,這時(shí)可得結(jié)論:器件翻轉(zhuǎn)前后的功耗大小與前后二進(jìn)制數(shù)值的漢明距離近似成線性相關(guān),即

      其中,k和d為由器件特性決定的常數(shù)。

      HDM模型一般用于對(duì)總線和寄存器的功耗進(jìn)行描述。通過該模型,攻擊者建立了數(shù)據(jù)傳輸存儲(chǔ)時(shí)始、終態(tài)間器件翻轉(zhuǎn)個(gè)數(shù)與功耗之間的相對(duì)關(guān)系,從而獲得數(shù)據(jù)的信息:從簡單功耗分析攻擊(SPA, simple power analysis attack)的角度,只需檢測出功耗的相對(duì)大小,既可獲得數(shù)據(jù)的漢明距離的信息;而從差分功耗分析攻擊(DPA, differential power analysis)的角度,可用漢明距離作為區(qū)分(又稱為選擇)函數(shù)對(duì)功耗曲線進(jìn)行分類實(shí)施攻擊。

      HDM模型必須同時(shí)知道初態(tài)值和終態(tài)值,以此才能正確計(jì)算出漢明距離,而在實(shí)踐中,攻擊者往往無法做到2個(gè)值都明確。

      3.2 漢明重量模型

      漢明重量模型(HWM, hamming-weight model)要比HDM模型簡單。在這個(gè)模型中,攻擊者假設(shè)功耗的大小與正在處理的數(shù)據(jù)V1中被置位成“1”的個(gè)數(shù)成正比,也就是和V1的漢明重量成正比,而在這個(gè)數(shù)據(jù)之前、之后所處理數(shù)據(jù)產(chǎn)生的影響忽略不計(jì)。即

      其中,k和d為由器件特性決定的常數(shù)。

      該模型的優(yōu)勢在于并不需要對(duì)被攻擊的電路單元所有狀態(tài)值都有所了解,只需知道某個(gè)狀態(tài)值的漢明重量,就可構(gòu)造功耗與數(shù)值間相對(duì)關(guān)系。

      乍看這個(gè)模型并不能很好地用來描述上一節(jié)所討論的CMOS電路,因?yàn)樗墓娜Q于數(shù)據(jù)的翻轉(zhuǎn)個(gè)數(shù),而不是數(shù)據(jù)的置位成“1”的個(gè)數(shù)。然而通過下面的分析可以看到,在特定的實(shí)際攻擊環(huán)境中,HWM模型是一個(gè)非常有實(shí)用價(jià)值的模型。下文假定某n位電路單元的數(shù)據(jù)初態(tài)值為V0,終態(tài)值為V1。

      3.2.1 V0中各比特均相等

      眾多實(shí)際電路設(shè)計(jì)中,為保證穩(wěn)定性,在傳輸、存儲(chǔ)某個(gè)數(shù)據(jù)V1前,會(huì)先將電路狀態(tài)全部置位或全部復(fù)位。此時(shí),HWM就成了HDM的簡化形式。

      當(dāng)V0為n位全“0”數(shù)據(jù)時(shí),有

      由HDM模型(式(6))得

      同理,當(dāng)V0為n位全“1”數(shù)據(jù)時(shí),有

      由式(9)和式(11)可知,功耗的大小與V1或V1反碼的漢明重量近似成線性相關(guān)。

      3.2.2 V0為一個(gè)常數(shù)

      電路每次都將V0設(shè)置成某個(gè)常數(shù),但該常數(shù)并不為攻擊者所知。這時(shí),對(duì)整個(gè)數(shù)串用HWM進(jìn)行建模明顯與HDM模型得到的結(jié)果不同,但對(duì)V0到V1轉(zhuǎn)換過程中的某一位用HWM建模則總是和HDM一致的,其原理如3.2.1節(jié)中所述,可將該位看成是n=1時(shí)V0中各比特位均相等情況的特例。而在實(shí)際功耗分析攻擊中,經(jīng)常會(huì)利用運(yùn)算中間值的某位來對(duì)密鑰進(jìn)行猜測、攻擊,此時(shí),就可對(duì)該位使用HWM模型。

      還可通過對(duì)每一比特位用HWM進(jìn)行建模,先獲取V0所有位的信息,然后就可使用HDM模型對(duì)電路單元進(jìn)行功耗分析攻擊。

      3.2.3 V0為一個(gè)與V1獨(dú)立的均勻分布隨機(jī)變量

      HWM模型應(yīng)用中最壞的情況是,在攻擊者進(jìn)行測試攻擊時(shí)V0的各個(gè)比特是隨機(jī)變化的,且與V1是獨(dú)立的。這時(shí),HW(V1)明顯與HD(V0⊕V1)相互獨(dú)立的。這意味著對(duì)相同的電路單元用HWM建模和用HDM建模會(huì)得到完全獨(dú)立的結(jié)果。

      但實(shí)際情況中,HDM假設(shè)的電路單元翻轉(zhuǎn)所產(chǎn)生的功耗均相同這點(diǎn)并不完全正確,從對(duì)圖2的分析中已經(jīng)看到,“0”到“1”翻轉(zhuǎn)的功耗要比“1”到“0”翻轉(zhuǎn)的功耗大,在這樣的情況下,當(dāng)V0為均勻分布的隨機(jī)變量,而HW(V1)越大時(shí),電路單元中“0”翻轉(zhuǎn)到“1”的位數(shù)多的可能性就越大,那么從統(tǒng)計(jì)平均的角度看,大漢明重量對(duì)應(yīng)的功耗就會(huì)比小漢明重量的要大。因此,只需用相同的數(shù)據(jù)V1對(duì)電路單元進(jìn)行反復(fù)測試,然后進(jìn)行平均,即可獲得與HWM相對(duì)應(yīng)的功耗分布。

      由上述可知,漢明重量在實(shí)踐中是一個(gè)非常實(shí)用的功耗分析模型,從當(dāng)前的功耗分析攻擊發(fā)表的文獻(xiàn)中亦可發(fā)現(xiàn),絕大部分功耗分析攻擊都是基于漢明重量模型的攻擊。

      4 MCU功耗統(tǒng)計(jì)特性與漢明重量分析

      根據(jù)圖3顯示的原理圖搭建功耗采集平臺(tái),該平臺(tái)主要包括示波器、PC機(jī)、MCU智能運(yùn)算模塊和電源。

      圖3 功耗采集平臺(tái)原理

      MCU智能運(yùn)算模塊是整個(gè)功耗采集平臺(tái)的核心,智能運(yùn)算模塊MCU選用宏晶科技的STC89C52。STC89C52可用于工業(yè)控制等方面,并且市場上大多數(shù)智能卡讀寫器的控制芯片是與STC89C52同系列的MCU,因此這對(duì)以后研究智能卡密碼系統(tǒng)的功耗分析攻擊有很強(qiáng)的參考性。

      4.1 電子噪聲

      在實(shí)際應(yīng)用中,電子噪聲是不可避免的。要想研究電子噪聲Pel-noise的概率分布,需要密碼設(shè)備執(zhí)行相同的操作,處理相同的數(shù)據(jù),例如重復(fù)移動(dòng)數(shù)據(jù)0從它的內(nèi)存到寄存器。圖4顯示了MCU執(zhí)行賦值操作ucData=0x00時(shí)的功耗軌跡。

      圖4 執(zhí)行賦值操作ucData=0x00時(shí)MCU的功耗軌跡

      重復(fù)上述過程6 000次,得到6 000組數(shù)據(jù)。這6 000組數(shù)據(jù)均是隨時(shí)間變化的,這里只使用了樣本點(diǎn)2 328ns處的功耗。對(duì)于這6000個(gè)點(diǎn),得到電壓與發(fā)生頻率的分布直方圖,如圖5所示。

      圖5 2 328ns點(diǎn)的功耗分布直方圖

      實(shí)驗(yàn)顯示大多數(shù)2 328ns點(diǎn)的電壓分布在15.1mV左右,只有很少的點(diǎn)分布于14.5mV和15.7mV。不僅2 328ns點(diǎn)的功耗分布情況如圖5所示,如果統(tǒng)計(jì)其他時(shí)刻點(diǎn)的功耗分布情況,將會(huì)得到和圖5極其相似的分布,而圖5顯示概率分布近似服從正態(tài)分布。

      實(shí)驗(yàn)中對(duì)2 328ns點(diǎn)的6 000組數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,得到樣本均值=15.1mV,樣本標(biāo)準(zhǔn)差S=0.186 65mv。因此,可以說2 328ns點(diǎn)的功耗服從均值μ=15.1mV,σ =0.18665mV的正態(tài)分布,記為X~N(15.1,0.18665)。利用matlab仿真產(chǎn)生一個(gè)均值μ=15.1mV,σ=0.186 65mV的正態(tài)分布,如圖6所示,對(duì)比圖5和圖6可知,兩者顯示的統(tǒng)計(jì)特性是相一致的,模型匹配的很好。這進(jìn)一步驗(yàn)證了2 328ns點(diǎn)的功耗分布逼近正態(tài)分布。

      圖6 均值為15.1mV、方差為0.186 65的正態(tài)分布

      4.2 與數(shù)據(jù)相關(guān)功耗

      對(duì)于與數(shù)據(jù)相關(guān)的功耗Pdata,最關(guān)注的是當(dāng)密碼設(shè)備處理不同的數(shù)據(jù)時(shí),Pdata與數(shù)據(jù)的漢明重量(或漢明距離)之間的關(guān)系。為此,設(shè)計(jì)如下實(shí)驗(yàn)。

      重新測量對(duì)MCU累加器進(jìn)行賦值的過程。與先前實(shí)驗(yàn)不同的是這次實(shí)驗(yàn)使用了256個(gè)不同的數(shù)據(jù)值,每個(gè)數(shù)據(jù)各測量150次。對(duì)于8bit的數(shù)據(jù)共計(jì)有9個(gè)漢明重量。將得到的256×150個(gè)數(shù)據(jù)分成9組,漢明重量相同的數(shù)據(jù)分為一組。

      分別對(duì)9組數(shù)據(jù)進(jìn)行統(tǒng)計(jì)處理。得到某個(gè)時(shí)刻點(diǎn)所對(duì)應(yīng)的功耗,繪制該點(diǎn)功耗與漢明重量之間的關(guān)系圖,如圖7所示。為了精確化得到的結(jié)論,需要盡量排除電子噪聲對(duì)于功耗的影響。根據(jù)4.2節(jié)的介紹,電子噪聲Pel-noise服從正態(tài)分布,因此可以選擇相應(yīng)的信號(hào)處理技術(shù)盡量減小Pel-noise的均方差,不過完全消除Pel-noise的影響是不可能的。

      圖7顯示,漢明重量為0時(shí)對(duì)應(yīng)的功耗最小,漢明重量為8時(shí)導(dǎo)致功耗最高。由于實(shí)驗(yàn)的前提條件是假設(shè)電子噪聲全部消除,并且對(duì)數(shù)據(jù)操作相同的步驟,因此,圖7所示功耗與漢明重量的功耗軌跡,也正反映了dataP與漢明重量的關(guān)系,即對(duì)于密碼設(shè)備MCU來說,dataP與處理數(shù)據(jù)的漢明重量成正比。

      5 結(jié)束語

      在功耗分析攻擊中,攻擊者需要將數(shù)據(jù)值與被攻擊設(shè)備的功耗建立一定的映射關(guān)系。本文在器件功耗與數(shù)據(jù)相關(guān)性的物理基礎(chǔ)上詳細(xì)闡述了漢明距離模型和漢明重量模型,從理論上證明了漢明重量模型的正確性。并建立MCU功耗采集平臺(tái),驗(yàn)證了漢明重量模型的有效性和實(shí)用性。

      [1] KOCHER P, JAFFE J, JUN B. Differential power analysis[A]. Proceedings of the 19th Annual International Cryptology Conference[C].Cryptology, 1999. 388- 397.

      [2] KOCHER P C. Timing attacks on implementations of Diffie- Hellman,RSA, DSS, and other systems[A]. CRYPTO' 96[C]. 1996.104-113.

      [3] WU Z, CHEN Y, CHEN J, etal. Exponential information’s extraction from power traces of modulo exponentiation implemented on FPGA[J]. Journal on Communications, 2010,31(2):17-21

      [4] WU Z, CHEN Y, WANG M , etal. Improvement of equivalent power consumption coding secure against power analysis attacks[J]. Journal on Communications, 2010,31(8):26-30

      [5] WANG M, WU Z. Simple power analysis attack on random pseudo operations[J]]. Journal on Communications, 2012,31(5):138-142.

      猜你喜歡
      漢明攻擊者功耗
      基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
      正面迎接批判
      愛你(2018年16期)2018-06-21 03:28:44
      揭開GPU功耗的面紗
      數(shù)字電路功耗的分析及優(yōu)化
      電子制作(2016年19期)2016-08-24 07:49:54
      媳婦管錢
      “功耗”說了算 MCU Cortex-M系列占優(yōu)
      電子世界(2015年22期)2015-12-29 02:49:44
      有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
      中年研究
      IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
      漢明距離矩陣的研究
      长丰县| 巴楚县| 岱山县| 麦盖提县| 夹江县| 葫芦岛市| 景德镇市| 库车县| 宁国市| 香河县| 多伦县| 奈曼旗| 洞口县| 新晃| 浮梁县| 贵阳市| 广安市| 和田市| 宕昌县| 仪征市| 西平县| 永州市| 独山县| 科尔| 亳州市| 万载县| 惠水县| 资兴市| 咸宁市| 宁强县| 新泰市| 和田县| 隆尧县| 卓尼县| 徐汇区| 合山市| 徐水县| 武宁县| 淮北市| 鄄城县| 峨边|