專(zhuān)利名稱(chēng):數(shù)據(jù)處理電路及其控制方法
技術(shù)領(lǐng)域:
一般來(lái)說(shuō),本發(fā)明涉及數(shù)據(jù)處理電路及其控制方法。更具體來(lái)說(shuō),本發(fā)明涉及一種為防止用于加密方案、如DES(數(shù)據(jù)加密標(biāo)準(zhǔn))的加密密鑰被盜提供高安全性的數(shù)據(jù)處理電路及其控制方法。
背景技術(shù):
例如,在采用IC(集成電路)卡和讀取器/寫(xiě)入器的系統(tǒng)中,要在IC卡與讀取器/寫(xiě)入器之間交換的數(shù)據(jù)采用加密密鑰進(jìn)行加密,以便防止數(shù)據(jù)篡改或竊取。
加密方案大致分為共享密鑰類(lèi)型和公鑰類(lèi)型。在共享密鑰類(lèi)型中,采用稱(chēng)作共享密鑰的同一個(gè)加密密鑰對(duì)數(shù)據(jù)加密和解密,共享密鑰類(lèi)型的一種已知加密方案是DES。在公鑰類(lèi)型中,采用稱(chēng)作公鑰和私鑰的分開(kāi)的加密密鑰對(duì)數(shù)據(jù)加密和解密,公鑰類(lèi)型的一種已知加密方案是RSA(Rivest,Shamir,Adeleman)算法。
一般來(lái)說(shuō),加密通過(guò)硬件加密電路、如單IC來(lái)執(zhí)行,因?yàn)槿绻用苓^(guò)程可被觀(guān)察,則加密方案和加密密鑰會(huì)容易被破解(找出)。在這種情況下,例如,未加密數(shù)據(jù)(或明文)及其加密數(shù)據(jù)(或密文)可在是IC的加密電路外部觀(guān)察到。但是,難以破解加密電路用來(lái)從明文和密文進(jìn)行加密的加密方案和加密密鑰。
最近,已經(jīng)提出一種使加密電路所用的加密密鑰可以通過(guò)分析加密電路的功耗(電流消耗)來(lái)解碼的、稱(chēng)作DPA(差異功率分析)的技術(shù)(參見(jiàn)例如P.Kocher、J.Jaffe、B.Jun的“差異功率分析”,Advances inCryptology-Crypto 99 Proceedings,Lecture Notes In Computer ScienceVol.1666,M.Wiener ed.,Springer-Verlag,1999,也可從http://www.cryptography.com/resources/whitepers/DPA.pdf(自2004年2月23日起))。
DPA是利用加密電路所執(zhí)行的處理中的邏輯“1”與“0”電平之間的功耗的細(xì)小差異的一種技術(shù)。加密電路例如由金屬氧化物半導(dǎo)體(MOS)IC組成。理想條件下,沒(méi)有電流流入MOS IC。
但實(shí)際上,泄漏電流等流入加密電路。泄漏電流等取決于邏輯“1”或“0”電平,在加密電路所執(zhí)行的處理中產(chǎn)生邏輯“1”與“0”電平之間的功耗的差異。此外,加密電路中的功耗在數(shù)據(jù)被變換時(shí)增加。在DPA中,利用功耗的差異對(duì)加密電路所使用的加密密鑰進(jìn)行解碼。
采用DES進(jìn)行加密的加密電路從加密密鑰(即共享密鑰)產(chǎn)生中間密鑰,并采用中間密鑰對(duì)數(shù)據(jù)加密。
DPA算法使加密電路中所使用的中間密鑰能夠較易于通過(guò)分析加密電路的功耗來(lái)破解(解碼)。因此,DPA方法在加密電路所執(zhí)行的加密的安全性方面具有嚴(yán)重問(wèn)題。
發(fā)明內(nèi)容
因此,本發(fā)明的一個(gè)目的是提供防止通過(guò)基于功耗分析的攻擊盜取加密密鑰的高安全性。
在本發(fā)明的一個(gè)方面,用于執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理的數(shù)據(jù)處理電路包括處理單元,執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理;噪聲生成單元,產(chǎn)生噪聲;以及疊加單元,將噪聲疊加到處理單元消耗的電流上。
數(shù)據(jù)處理電路還可包括定時(shí)信號(hào)生成電路,定時(shí)信號(hào)生成電路產(chǎn)生表明噪聲疊加到消耗電流上的定時(shí)的定時(shí)信號(hào),以及疊加單元可按照定時(shí)信號(hào)將噪聲疊加到消耗電流上。
處理單元可與預(yù)定時(shí)鐘同步地執(zhí)行處理,以及定時(shí)信號(hào)生成單元可根據(jù)預(yù)定時(shí)鐘產(chǎn)生定時(shí)信號(hào)。
數(shù)據(jù)處理電路還可包括第二噪聲生成單元,它產(chǎn)生不同于噪聲生成單元所產(chǎn)生的噪聲的第二噪聲,以及第二噪聲也可疊加到消耗電流上。
噪聲生成單元可通過(guò)相加多個(gè)獨(dú)立信號(hào)來(lái)產(chǎn)生噪聲,以及數(shù)據(jù)處理電路還可包括控制單元,它控制使噪聲生成單元根據(jù)加密的安全等級(jí)產(chǎn)生噪聲要相加的信號(hào)數(shù)量。
在本發(fā)明的另一個(gè)方面,用于包括執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理的處理單元的數(shù)據(jù)處理電路的控制方法包括產(chǎn)生噪聲的噪聲生成步驟以及將噪聲疊加到處理單元消耗的電流上的疊加步驟。
在根據(jù)本發(fā)明的數(shù)據(jù)處理電路和控制方法中,產(chǎn)生噪聲,以及所產(chǎn)生的噪聲被疊加到處理單元所消耗的電流上。
根據(jù)本發(fā)明,可提供高安全性。
圖1是根據(jù)本發(fā)明的第一實(shí)施例的IC芯片的框圖;圖2是流程圖,表示IC芯片的操作;圖3是流程圖,表示圖1所示的噪聲生成電路的操作;圖4是用于圖1所示的IC芯片中的信號(hào)的時(shí)序圖;圖5是根據(jù)本發(fā)明的第二實(shí)施例的IC芯片的框圖;圖6是用于圖5所示的IC芯片中的信號(hào)的時(shí)序圖;以及圖7是根據(jù)本發(fā)明的第三實(shí)施例的IC芯片的框圖。
具體實(shí)施例方式
現(xiàn)在參照附圖來(lái)描述本發(fā)明的實(shí)施例。
圖1說(shuō)明根據(jù)本發(fā)明的第一實(shí)施例的IC芯片。
在圖1所示的IC芯片中,從IC芯片外部提供的數(shù)據(jù)(明文)被加密,而且加密數(shù)據(jù)被輸出到外部。
在圖1中,用于加密的加密密鑰、待加密的數(shù)據(jù)(明文)以及主時(shí)鐘MCLK被提供給加密處理電路1。
加密處理電路1根據(jù)例如DES采用所提供的加密密鑰與所提供的主時(shí)鐘MCLK同步地對(duì)所提供的明文數(shù)據(jù)進(jìn)行加密。具體來(lái)說(shuō),加密處理電路1從所提供的加密密鑰生成中間密鑰,并根據(jù)DES采用中間密鑰對(duì)數(shù)據(jù)加密。加密處理電路1將已加密數(shù)據(jù)輸出到IC芯片外部。
電源VDD經(jīng)由電源線(xiàn)L從IC芯片外部提供給加密處理電路1,以及加密處理電路1響應(yīng)電源VDD的供電而執(zhí)行加密。
在圖1中(另外在圖5和圖7中),加密處理電路1消耗電流Ides。加密處理電路1連接到IC芯片的接地端子,以及所消耗的電流Ides最終流到IC芯片的接地端子。
主時(shí)鐘MCLK還提供給延遲電路2。延遲電路2使所提供的主時(shí)鐘MCLK延遲與加密處理電路1所執(zhí)行的加密處理變換數(shù)據(jù)的時(shí)間周期對(duì)應(yīng)的時(shí)間周期,以及將延遲時(shí)鐘提供給門(mén)電路3。
根據(jù)從延遲電路2提供的主時(shí)鐘MCLK,門(mén)電路3產(chǎn)生定時(shí)信號(hào)IT,表明如下所述的噪聲生成電路5產(chǎn)生的噪聲電流In疊加到加密處理電路1消耗的電流Ides上的定時(shí),以及將所產(chǎn)生的定時(shí)信號(hào)IT提供給開(kāi)關(guān)4。
開(kāi)關(guān)4的第一端連接到電源線(xiàn)L,以及第二端連接到噪聲生成電路5。開(kāi)關(guān)4根據(jù)從門(mén)電路3提供的定時(shí)信號(hào)IT接通或斷開(kāi),使得噪聲生成電路5產(chǎn)生的噪聲電流In疊加到流入電源線(xiàn)L的消耗電路Ides上。
噪聲生成電路5包括N個(gè)振蕩器101、102、…、10N,N個(gè)噪聲生成器111、112、…、11N,N個(gè)開(kāi)關(guān)121、122、…、12N,N個(gè)電流源131、132、…、13N,以及控制電路14。噪聲生成電路5計(jì)算多個(gè)獨(dú)立信號(hào)(電流)的總和,從而產(chǎn)生具有高斯分布的噪聲電流。更準(zhǔn)確地說(shuō),這個(gè)噪聲電流是可視為其分布接近高斯分布的噪聲的電流。
振蕩器10n根據(jù)來(lái)自控制電路14的控制信號(hào)驅(qū)動(dòng)噪聲生成器11n,其中n=1,2,…,N。噪聲生成器11n由振蕩器10n驅(qū)動(dòng)以產(chǎn)生例如偽隨機(jī)噪聲,而偽隨機(jī)噪聲作為輸出信號(hào)提供給開(kāi)關(guān)12n。
開(kāi)關(guān)12n根據(jù)來(lái)自噪聲生成器11n的輸出信號(hào)接通或斷開(kāi)。開(kāi)關(guān)12n的第一端連接到電流源13n,以及第二端連接到IC芯片的接地端子。當(dāng)開(kāi)關(guān)12n接通時(shí),從電流源13n輸出的電流經(jīng)由開(kāi)關(guān)12n流到IC芯片的接地端子。
電流源13n的第一端連接到開(kāi)關(guān)12n的第一端,以及使具有預(yù)定幅度(電平)的電流經(jīng)由開(kāi)關(guān)12n流動(dòng)。電流源131至13N的第二端相互連接,以及電流源131至13N的第二端互相連接的節(jié)點(diǎn)連接到開(kāi)關(guān)4的第二端。
加密處理電路1執(zhí)行的加密的安全等級(jí)提供給控制電路14。
安全等級(jí)取決于要由加密電路1加密的數(shù)據(jù)的重要性或保密性。安全等級(jí)可從IC芯片外部提供,或者可在IC芯片中預(yù)先設(shè)置。
控制電路14根據(jù)所提供的安全等級(jí)控制振蕩器101至10N。
在噪聲生成電路5中,電流源131至13N引起流動(dòng)的電流在電流源131至13N的第二端相互連接的節(jié)點(diǎn)處相加,以及使所得的噪聲電流In流入開(kāi)關(guān)4。
連接到電流源13n的第一端的開(kāi)關(guān)12n根據(jù)來(lái)自振蕩器10n所驅(qū)動(dòng)的噪聲生成器11n的輸出信號(hào)而接通或斷開(kāi)。因此,電流源13n使電流按照來(lái)自噪聲生成器11n的輸出信號(hào)流動(dòng)。
根據(jù)中心極限定理,通過(guò)相加多個(gè)獨(dú)立信號(hào)得到的總和信號(hào)隨著要相加的信號(hào)數(shù)量的增加而接近高斯分布。
在噪聲生成電路5中,從噪聲生成器111至11N輸出的偽隨機(jī)噪聲信號(hào)是獨(dú)立(或正交)信號(hào)。因此,電流源131至13N引起的經(jīng)由開(kāi)關(guān)121至12N流動(dòng)的電流也是獨(dú)立信號(hào)。
在噪聲生成電路5中,電流源131至13N引起流動(dòng)的獨(dú)立電流在電流源131至13N的第二端相互連接的節(jié)點(diǎn)處相加,以及產(chǎn)生其分布接近高斯分布的電流,即作為(噪聲極接近)真正隨機(jī)噪聲的噪聲電流。
理論上,在圖1所示的IC芯片中,流入電源線(xiàn)L的電流I通過(guò)將噪聲生成電路5產(chǎn)生的噪聲電流In疊加到加密處理電路1所消耗的電流Ides上、即Ides+In來(lái)得到。流入電源線(xiàn)L的電流I不等于加密處理電路1所消耗的電流Ides,而是其中噪聲電流In疊加在消耗電流Ides上的一種電流。因此,可在IC芯片外部觀(guān)察到的電流I通過(guò)將噪聲電流In疊加在消耗電流Ides上來(lái)確定,而不是加密處理電路1所消耗的電流Ides,從而防止通過(guò)基于消耗電流Ides的分析的DPA攻擊來(lái)破解中間密鑰,以便提供高安全性。
噪聲電流In疊加在消耗電流Ides上,以便對(duì)IC芯片外部隱藏消耗電流Ides,因此期望是隨機(jī)的(隨機(jī)性高)。
另一方面,根據(jù)中心極限定理,當(dāng)電流源131至13N的數(shù)量增加時(shí),可產(chǎn)生接近高斯分布的噪聲電流(即更隨機(jī)的噪聲電流)。因此,希望增加引起獨(dú)立電流流動(dòng)的電流源131至13N的數(shù)量,以便防止流入電源線(xiàn)L的電流I被通過(guò)DPA進(jìn)行分析。
但是,當(dāng)引起獨(dú)立電流流動(dòng)的電流源131至13N的數(shù)量N增加時(shí),整個(gè)IC芯片的電流消耗也會(huì)增加。
一般來(lái)說(shuō),對(duì)于較高安全等級(jí)(將由加密電路1加密的數(shù)據(jù)的重要性或保密性)的需求,要求更高的抗DPA攻擊的能力。
控制電路14根據(jù)安全等級(jí)控制為了產(chǎn)生噪聲電流要相加的獨(dú)立電流的數(shù)量。
當(dāng)安全等級(jí)較低時(shí)(即,當(dāng)將由加密電路1加密的數(shù)據(jù)的重要性或保密性較低時(shí)),控制電路14根據(jù)安全等級(jí)控制振蕩器101至10N以減少驅(qū)動(dòng)噪聲生成器111至11N的振蕩器的數(shù)量。開(kāi)關(guān)12n在噪聲生成器11n沒(méi)有被振蕩器10n驅(qū)動(dòng)時(shí)處于斷開(kāi)位置,從而沒(méi)有引起任何電流從電流源13n流出。
因此,通過(guò)減少驅(qū)動(dòng)噪聲生成器111至11N的振蕩器的數(shù)量,在電流源131至13N的第二端相互連接的節(jié)點(diǎn)處相加的獨(dú)立電流的數(shù)量也可減少。
在這種情況下,雖然噪聲生成電路5產(chǎn)生了略少隨機(jī)性的噪聲電流,但整個(gè)IC芯片的電流消耗可減小。
當(dāng)安全等級(jí)較高時(shí)(即,當(dāng)將由加密電路1加密的數(shù)據(jù)的重要性或保密性較高時(shí)),控制電路14根據(jù)安全等級(jí)控制振蕩器101至10N以增加驅(qū)動(dòng)噪聲生成器111至11N的振蕩器的數(shù)量。連接到電流源13n的開(kāi)關(guān)12n根據(jù)來(lái)自振蕩器10n所驅(qū)動(dòng)的噪聲生成器11n的輸出偽隨機(jī)噪聲信號(hào)接通或斷開(kāi)。因此,當(dāng)驅(qū)動(dòng)噪聲生成器111至11N的振蕩器的數(shù)量增加時(shí),在電流源131至13N的第二端相互連接的節(jié)點(diǎn)處相加的獨(dú)立電流的數(shù)量也增加。
在這種情況下,雖然整個(gè)IC芯片的電流消耗略微增加,但更隨機(jī)的噪聲電流可由噪聲生成電路5產(chǎn)生,從而產(chǎn)生更強(qiáng)的抗DPA攻擊的能力。
圖2是流程圖,表示圖1所示的IC芯片的操作。
在步驟S1,IC芯片中的門(mén)電路3產(chǎn)生定時(shí)信號(hào)IT。當(dāng)主時(shí)鐘MCLK經(jīng)由延遲電路2提供給門(mén)電路3時(shí),門(mén)電路3根據(jù)經(jīng)由延遲電路2提供的主時(shí)鐘MCLK產(chǎn)生定時(shí)信號(hào)IT,并將定時(shí)信號(hào)IT提供給開(kāi)關(guān)4。
在步驟S2,開(kāi)關(guān)4根據(jù)從門(mén)電路3提供的定時(shí)信號(hào)IT接通或斷開(kāi)。響應(yīng)開(kāi)關(guān)4的通-斷操作,噪聲生成電路5所產(chǎn)生的噪聲電流In的流動(dòng)被接通或斷開(kāi)。在電源線(xiàn)L中,噪聲生成電路5所產(chǎn)生的噪聲電流In僅當(dāng)開(kāi)關(guān)4接通時(shí)才疊加到加密處理電路1所消耗的電流Ides上。
其流動(dòng)響應(yīng)開(kāi)關(guān)4的通-斷操作而接通或斷開(kāi)的噪聲電流In由In’表示。
在步驟S3,加密處理電路1執(zhí)行加密處理,從而對(duì)提供給加密處理電路1的數(shù)據(jù)進(jìn)行加密。
在圖1所示的IC芯片中,消耗電流Ides從電源線(xiàn)L流到加密處理電路1。噪聲電流In’從電源線(xiàn)L流到噪聲生成電路5。因此,流入電源線(xiàn)L的電流I由消耗電流Ides與噪聲電流In’之和表示。
圖3是流程圖,表示圖1所示的噪聲生成電路5的操作。
在步驟S11,噪聲生成電路5中的控制電路14根據(jù)所提供的安全等級(jí)確定要激活的振蕩器的數(shù)量(即驅(qū)動(dòng)噪聲生成器111至11N的振蕩器的數(shù)量),以及產(chǎn)生表明振蕩器數(shù)量的控制信號(hào)??刂齐娐?4將控制信號(hào)提供給振蕩器101至10N。
響應(yīng)來(lái)自控制電路14的控制信號(hào),在步驟S12,與來(lái)自控制電路14的控制信號(hào)所表明的數(shù)量對(duì)應(yīng)的數(shù)量的振蕩器101至10N被激活以驅(qū)動(dòng)相應(yīng)的噪聲生成器111至11N。例如,如果來(lái)自控制電路14的控制信號(hào)表明數(shù)量N’,其中N’為1至N的某個(gè)值,則振蕩器101至10N’驅(qū)動(dòng)噪聲生成器111至11N’,以及輸出信號(hào)從噪聲生成器111至11N提供給開(kāi)關(guān)121至12N’。
在步驟S13,開(kāi)關(guān)121至12N’根據(jù)來(lái)自噪聲生成器111至11N’輸出信號(hào)接通或斷開(kāi)。然后,電流源131至13N’引起流動(dòng)的獨(dú)立電流在電流源131至13N的第二端相互連接的節(jié)點(diǎn)處相加,以及產(chǎn)生所得噪聲電流In。
圖4是時(shí)序圖,表示用于圖1所示的IC芯片中的信號(hào)。
圖1所示的加密處理電路1例如在主時(shí)鐘MCLK的上升沿被激活。
在圖4中,門(mén)電路3所產(chǎn)生的定時(shí)信號(hào)IT在主時(shí)鐘MCLK的上升沿附近被設(shè)置為邏輯“1”電平,而在其它情況下則被設(shè)置為邏輯“0”電平。
在圖1所示的IC芯片中,當(dāng)開(kāi)關(guān)4處于接通位置時(shí),噪聲生成電路5所產(chǎn)生的噪聲電流In從電源線(xiàn)L流到噪聲生成電路5(或者開(kāi)關(guān)4)。
雖然噪聲生成電路5所產(chǎn)生的噪聲電流In在圖4中與主時(shí)鐘MCLK同步地變化,但噪聲電流In不需要與主時(shí)鐘MCLK同步地變化。從噪聲生成器111至11N輸出以產(chǎn)生噪聲電流In的信號(hào)不需要相互同步,或者不需要與主時(shí)鐘MCLK同步。
噪聲電流In’響應(yīng)開(kāi)關(guān)4根據(jù)定時(shí)信號(hào)IT的通-斷操作而從電源線(xiàn)L流到噪聲生成電路5。噪聲電流In’在定時(shí)信號(hào)IT設(shè)置為邏輯“1”電平的時(shí)間周期中相當(dāng)于噪聲電流In。
圖4還表示加密處理電路1所消耗的電流Ides以及流入電源線(xiàn)L的電流I。電流I是其中噪聲電流In’疊加到消耗電流Ides上的電流。
如圖4所示,消耗電流Ides隱藏在電流I中。
消耗電流Ides也可通過(guò)將噪聲生成電路5所產(chǎn)生的噪聲電流In而不是噪聲電流In’疊加到消耗電流Ides上來(lái)隱藏。
但是,如果噪聲生成電路5所產(chǎn)生的噪聲電流In疊加在消耗電流Ides上,則噪聲電流In始終流動(dòng),因此整個(gè)IC芯片的電流消耗增加。
例如,如果在邏輯“0”與“1”電平之間消耗電流Ides中沒(méi)有差異出現(xiàn)于加密處理電路1所執(zhí)行的加密處理中的定時(shí)處疊加噪聲電流,則可能難以隱藏加密處理電路1所消耗的電流Ides。
在圖1所示的IC芯片中,在邏輯“0”與“1”電平之間消耗電流Ides的差異出現(xiàn)于加密處理電路1所執(zhí)行的加密處理中的定時(shí)處疊加噪聲電流。更明確地說(shuō),噪聲電流在包含在其中圖1所示加密處理電路1被激活的主時(shí)鐘MCLK的上升沿的時(shí)間周期、也就是在定時(shí)信號(hào)IT設(shè)置為邏輯“1”電平的時(shí)間周期被疊加。
因此,加密處理電路1所消耗的電流Ides、即在加密處理電路1所執(zhí)行的加密處理中在邏輯“0”與“1”電平之間的消耗電流Ides的差異可被隱藏,以及整個(gè)IC芯片的功耗可減少。
圖5是根據(jù)本發(fā)明的第二實(shí)施例的IC芯片的簡(jiǎn)圖。在圖5,與圖1所示對(duì)應(yīng)的組件被賦予相同的參考標(biāo)號(hào),因此省略對(duì)它們的描述。圖5所示的IC芯片具有與圖1所示的IC芯片相似的結(jié)構(gòu),但它還包括噪聲生成電路21。
噪聲生成電路21具有與圖1所示的噪聲生成電路5相似的結(jié)構(gòu)。但是,噪聲生成電路5和21產(chǎn)生不同類(lèi)型的噪聲電流。
在圖5中,噪聲生成電路21產(chǎn)生噪聲電流In”。
在圖5所示的IC芯片中,噪聲生成電路21所產(chǎn)生的噪聲電流In”從電源線(xiàn)L流到噪聲生成電路21。流入電源線(xiàn)L的電流I通過(guò)將經(jīng)由開(kāi)關(guān)4流動(dòng)的噪聲電流In’和噪聲電流In”疊加到加密處理電路1所消耗的電流Ides上來(lái)得到。
與噪聲生成電路5相似,噪聲生成電路21根據(jù)安全等級(jí)控制為產(chǎn)生噪聲電流In”而要相加的獨(dú)立信號(hào)的數(shù)量。
圖6是時(shí)序圖,表示用于圖5所示的IC芯片中的信號(hào)。
圖6所示的主時(shí)鐘MCLK、定時(shí)信號(hào)IT、噪聲電流In、噪聲電流In’以及加密處理電路1所消耗的電流Ides與圖4所示相同。
雖然噪聲電流In在圖6中與主時(shí)鐘MCLK同步地變化,但噪聲電流In不需要與主時(shí)鐘MCLK同步地變化。同樣的情況適用于噪聲電流In”。
圖6還表示噪聲生成電路21所產(chǎn)生的噪聲電流In”以及流入電源線(xiàn)L的電流I。電流I是其中噪聲電流In’和In”疊加到消耗電流Ides上的電流。
如圖6所示,消耗電流Ides隱藏在電流I中。
使圖6(或圖4)所示的噪聲電流In’僅在開(kāi)關(guān)4根據(jù)定時(shí)信號(hào)IT接通的時(shí)間周期里流動(dòng),因此是根據(jù)定時(shí)信號(hào)IT的動(dòng)態(tài)噪聲電流。
另一方面,圖6所示的噪聲電流In”始終從電源線(xiàn)L流到噪聲生成電路21,因此是靜態(tài)噪聲電流。
在圖5所示的IC芯片中,加密處理電路1所消耗的電流Ides通過(guò)動(dòng)態(tài)噪聲電流In’和靜態(tài)噪聲電流In”來(lái)隱藏。因此,圖5所示的IC芯片可比圖1所示的IC芯片提供對(duì)DPA攻擊的更強(qiáng)抵抗力。
圖7是根據(jù)本發(fā)明的第三實(shí)施例的IC芯片的簡(jiǎn)圖。在圖7,與圖1所示對(duì)應(yīng)的組件被賦予相同的參考標(biāo)號(hào),因此省略對(duì)它們的描述。圖7所示的IC芯片具有與圖1所示的IC芯片相似的結(jié)構(gòu),但它還包括門(mén)電路31、開(kāi)關(guān)32和噪聲生成電路33。
與門(mén)電路3相似,門(mén)電路31根據(jù)從延遲電路2輸出的主時(shí)鐘MCLK產(chǎn)生定時(shí)信號(hào),并將所產(chǎn)生的定時(shí)信號(hào)提供給開(kāi)關(guān)32。門(mén)電路31所產(chǎn)生的定時(shí)信號(hào)在不同于從門(mén)電路3輸出的定時(shí)信號(hào)IT的定時(shí)(時(shí)間周期)被設(shè)置為邏輯“1”電平。
開(kāi)關(guān)32根據(jù)從門(mén)電路31輸出的定時(shí)信號(hào)接通或斷開(kāi)。
如上所述,門(mén)電路31產(chǎn)生不同于從門(mén)電路3輸出的定時(shí)信號(hào)IT的定時(shí)信號(hào)。因此,開(kāi)關(guān)4和32在不同定時(shí)處接通或斷開(kāi)。
噪聲生成電路33具有與圖1所示的噪聲生成電路5相似的結(jié)構(gòu)。噪聲生成電路5和33可產(chǎn)生不同類(lèi)型的噪聲電流,與圖5所示的噪聲生成電路5和21相似,或者可產(chǎn)生相同類(lèi)型的噪聲電流。
在圖7所示的IC芯片中,開(kāi)關(guān)32的通-斷操作使噪聲電流In從電源線(xiàn)L流到噪聲生成電路33。噪聲電流In為動(dòng)態(tài)噪聲電流,與開(kāi)關(guān)4的通-斷操作引起的從電源線(xiàn)L流到噪聲生成電路5的噪聲電流In’相似。
因此,在圖7所示的IC芯片中,彼此不同的動(dòng)態(tài)噪聲電流In’和In疊加在加密處理電路1所消耗的電流Ides上。也就是說(shuō),在圖7所示的IC芯片中,消耗電流Ides通過(guò)兩個(gè)不同的動(dòng)態(tài)噪聲電流In’和In來(lái)隱藏。因此,與圖5所示的IC芯片相似,圖7所示的IC芯片可比圖1所示的IC芯片提供對(duì)DPA攻擊的更強(qiáng)抵抗力。
在圖5和圖7所示的第二和第三實(shí)施例中,兩個(gè)不同的噪聲電流疊加在加密處理電路1所消耗的電流Ides上。但是,三個(gè)或三個(gè)以上噪聲電流可疊加在消耗電流Ides上。
圖5所示的IC芯片可以不包括延遲電路2、門(mén)電路3以及噪聲生成電路5。在這種情況下,只有噪聲生成電路21所產(chǎn)生的靜態(tài)噪聲電流In”疊加到加密處理電路1所消耗的電流Ides上。與圖5所示的沒(méi)有包括延遲電路2、門(mén)電路3以及噪聲生成電路5的IC芯片等效的配置可通過(guò)圖1所示的IC芯片來(lái)實(shí)現(xiàn),其中開(kāi)關(guān)4保持常閉。
圖1所示的IC芯片可選擇一種其中開(kāi)關(guān)4始終處于接通位置的模式,或者其中開(kāi)關(guān)4根據(jù)從門(mén)電路3輸出的定時(shí)信號(hào)IT來(lái)接通或斷開(kāi)的模式。
在所述實(shí)施例中,已經(jīng)在執(zhí)行DES加密的IC芯片的上下文中描述了本發(fā)明。但是,本發(fā)明也可適用于執(zhí)行DES加密之外的任何類(lèi)型的加密的IC芯片,或者不僅執(zhí)行加密處理而且還執(zhí)行與加密有關(guān)的處理、如解密的IC芯片。
本發(fā)明可以不僅適用于IC芯片,而且適用于執(zhí)行數(shù)據(jù)加密或與加密有關(guān)的處理、例如解密的IC卡、讀取器/寫(xiě)入器、或者任何其它具有IC卡功能的PDA(個(gè)人數(shù)字助理)、如蜂窩電話(huà)。
所述實(shí)施例只是本發(fā)明的實(shí)例,本發(fā)明不限于這些實(shí)施例??蛇M(jìn)行各種修改而沒(méi)有背離本發(fā)明的范圍。
權(quán)利要求
1.一種用于執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理的數(shù)據(jù)處理電路,包括用于執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理的處理部件;用于產(chǎn)生噪聲的噪聲生成部件;以及用于將所述噪聲疊加到所述處理部件所消耗的電流上的疊加部件。
2.如權(quán)利要求1所述的數(shù)據(jù)處理電路,其特征在于還包括定時(shí)信號(hào)生成部件,用于產(chǎn)生表明所述噪聲被疊加到所述消耗電流上時(shí)的定時(shí)的定時(shí)信號(hào),其中所述疊加部件根據(jù)所述定時(shí)信號(hào)將所述噪聲疊加到所述消耗電流上。
3.如權(quán)利要求2所述的數(shù)據(jù)處理電路,其特征在于,所述處理部件與預(yù)定時(shí)鐘同步地執(zhí)行所述處理,以及所述定時(shí)信號(hào)生成部件根據(jù)所述預(yù)定時(shí)鐘產(chǎn)生所述定時(shí)信號(hào)。
4.如權(quán)利要求1所述的數(shù)據(jù)處理電路,其特征在于還包括第二噪聲生成部件,用于產(chǎn)生與所述噪聲生成部件所產(chǎn)生的所述噪聲不同的第二噪聲,其中所述第二噪聲也被疊加到所述消耗電流上。
5.如權(quán)利要求1所述的數(shù)據(jù)處理電路,其特征在于,所述噪聲生成部件通過(guò)相加多個(gè)獨(dú)立信號(hào)來(lái)產(chǎn)生噪聲,以及所述數(shù)據(jù)處理電路還包括控制部件,用于根據(jù)加密的安全等級(jí)控制使所述噪聲生成部件產(chǎn)生所述噪聲要相加的信號(hào)數(shù)量。
6.一種用于數(shù)據(jù)處理電路的控制方法,所述數(shù)據(jù)處理電路包括用于執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理的處理部件,所述控制方法包括產(chǎn)生噪聲的噪聲生成步驟;以及將所述噪聲疊加到所述處理部件所消耗的電流上的疊加步驟。
7.一種用于執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理的數(shù)據(jù)處理電路,包括處理器,配置成執(zhí)行與對(duì)數(shù)據(jù)加密有關(guān)的處理;噪聲生成器,配置成產(chǎn)生噪聲;以及疊加單元,配置成將所述噪聲疊加到所述處理器所消耗的電流上。
8.如權(quán)利要求7所述的數(shù)據(jù)處理電路,其特征在于還包括定時(shí)信號(hào)生成器,所述定時(shí)信號(hào)生成器配置成產(chǎn)生定時(shí)信號(hào),該信號(hào)表明所述噪聲疊加到所述消耗電流上時(shí)的定時(shí),其中所述疊加單元根據(jù)所述定時(shí)信號(hào)將所述噪聲疊加到所述消耗電流上。
9.如權(quán)利要求8所述的數(shù)據(jù)處理電路,其特征在于,所述處理器與預(yù)定時(shí)鐘同步地執(zhí)行所述處理,以及所述定時(shí)信號(hào)生成器根據(jù)所述預(yù)定時(shí)鐘產(chǎn)生所述定時(shí)信號(hào)。
10.如權(quán)利要求7所述的數(shù)據(jù)處理電路,其特征在于還包括第二噪聲生成器,所述第二噪聲生成器配置成產(chǎn)生與所述噪聲生成器所產(chǎn)生的所述噪聲不同的第二噪聲,其中所述第二噪聲也被疊加到所述消耗電流上。
11.如權(quán)利要求7所述的數(shù)據(jù)處理電路,其特征在于,所述噪聲生成器通過(guò)相加多個(gè)獨(dú)立信號(hào)來(lái)產(chǎn)生噪聲,以及所述數(shù)據(jù)處理電路還包括控制器,所述控制器配置成根據(jù)加密的安全等級(jí)控制使所述噪聲生成器產(chǎn)生所述噪聲要相加的信號(hào)數(shù)量。
全文摘要
當(dāng)加密處理電路對(duì)數(shù)據(jù)加密時(shí),電流流入加密處理電路。噪聲生成電路所產(chǎn)生的噪聲電流被疊加到加密處理電路所消耗的電流上。本發(fā)明適用于采用密鑰對(duì)明文數(shù)據(jù)加密的IC芯片,從而防止密鑰通過(guò)基于電流消耗分析的DPA攻擊被破解,從而提供高安全性。
文檔編號(hào)H04L9/00GK1665180SQ200510053030
公開(kāi)日2005年9月7日 申請(qǐng)日期2005年3月4日 優(yōu)先權(quán)日2004年3月4日
發(fā)明者有澤繁, 江坂征二 申請(qǐng)人:索尼株式會(huì)社