專利名稱:加密集成電路防電源攻擊方法
技術(shù)領(lǐng)域:
本發(fā)明適用的技術(shù)領(lǐng)域?yàn)閹в袛?shù)字加密的集成電路芯片設(shè)計(jì)。目前應(yīng)用比較廣泛的帶有加密技術(shù)的集成電路芯片是各種類型的IC卡集成電路芯片,如GSM手機(jī)上使用的SIM卡芯片、CDMA手機(jī)上使用的UIM卡芯片、銀行卡芯片、社??ㄐ酒?、交通卡芯片、除以上所列之外的其他各類身份卡芯片、記賬卡芯片、各種不同應(yīng)用的存儲(chǔ)卡芯片、賬號(hào)電話卡等集成電路芯片。
背景技術(shù):
既然是帶有加密的技術(shù),就存在有解密與如何防止被非法解密的問(wèn)題。攻擊帶有加密技術(shù)的集成電路芯片采用的方法有窮舉法,解剖芯片分析電路得到加密方法(加密算法)、密文或個(gè)別明文密文對(duì)、密鑰(包括password或signature)等。另外一種不破壞集成電路芯片的分析加密方法從而得到密文或密鑰的攻擊方法就是電源攻擊,使用測(cè)試設(shè)備對(duì)芯片的電源耗電電流進(jìn)行監(jiān)測(cè),記錄芯片電源耗電電流的變化過(guò)程,分析加密算法從而得到密鑰,或從功耗電流的微小差別分析芯片內(nèi)非易失性存儲(chǔ)器的讀寫過(guò)程,得到存入非易失性存儲(chǔ)器的內(nèi)容等。非法攻擊者可以通過(guò)以上方法達(dá)到偽造、盜用各類加密集成電路的目的,造成加密集成電路合法使用者的財(cái)產(chǎn)與權(quán)益損害。電源攻擊法與解剖芯片的方法相比,為達(dá)到解密集成電路芯片的目的,使用電源攻擊法的攻擊者所需付出的代價(jià)要小得多,對(duì)非法攻擊者會(huì)更具有吸引力。
發(fā)明內(nèi)容
本發(fā)明的中心思想是在設(shè)計(jì)帶加密技術(shù)的集成電路時(shí),在實(shí)現(xiàn)集成電路本身功能的設(shè)計(jì)之外,另外設(shè)計(jì)一部分電路用于產(chǎn)生隨機(jī)變化的額外的附加功耗電流,附加功耗電流將迭加在原設(shè)計(jì)的電路功耗電流之上。額外附加的這部分功耗電流的大小是隨機(jī)變化的,當(dāng)攻擊者從芯片的電源上來(lái)監(jiān)測(cè)芯片的功耗電流時(shí),無(wú)法把附加的這部分電流與芯片正常工作時(shí)的耗電電流分開,在這部分附加功耗電流隨芯片的工作時(shí)鐘隨機(jī)變化時(shí)將掩蓋芯片正常工作時(shí)的功耗電流變化,使攻擊者無(wú)法觀察到真實(shí)的芯片功耗電流的變化規(guī)律,無(wú)法分析芯片中加密算法的加密過(guò)程,或無(wú)法分析得到寫在非易失性存儲(chǔ)器內(nèi)的內(nèi)容,從而達(dá)到防止加密集成電路受到電源攻擊法攻擊的目的。
具體實(shí)施例方式在設(shè)計(jì)所要保護(hù)的帶加密技術(shù)的集成電路時(shí),設(shè)計(jì)一個(gè)隨機(jī)數(shù)發(fā)生器(在已經(jīng)有隨機(jī)數(shù)發(fā)生器的一些帶加密技術(shù)的集成電路中,如在與原電路中隨機(jī)數(shù)發(fā)生器的使用不發(fā)生沖突的情況下可直接使用原來(lái)的隨機(jī)數(shù)發(fā)生器),也可使用循環(huán)周期足夠長(zhǎng)的偽隨機(jī)數(shù)發(fā)生器。此隨機(jī)數(shù)發(fā)生器應(yīng)足夠大,如32bit、64bit、128bit或更大,在額外加入的門數(shù)與功耗允許的情況下越大效果會(huì)越好。應(yīng)使用集成電路芯片上驅(qū)動(dòng)實(shí)現(xiàn)加密算法電路所使用的時(shí)鐘沿來(lái)驅(qū)動(dòng)隨機(jī)數(shù)發(fā)生器電路,每個(gè)驅(qū)動(dòng)時(shí)鐘沿應(yīng)能產(chǎn)生一個(gè)新的隨機(jī)數(shù),即組成隨機(jī)數(shù)發(fā)生器電路的所有觸發(fā)器的‘0’、‘1’狀態(tài)在每個(gè)驅(qū)動(dòng)時(shí)鐘沿產(chǎn)生一次新的組合,由‘0’翻轉(zhuǎn)到‘1’或由‘1’翻轉(zhuǎn)到‘0’的觸發(fā)器個(gè)數(shù)應(yīng)該是隨機(jī)的。
在使用CMOS工藝生產(chǎn)的集成電路上,由于電路的對(duì)稱性功耗電流主要集中在單元電路‘0’、‘1’狀態(tài)的翻轉(zhuǎn)瞬間,在電路不發(fā)生‘0’、‘1’狀態(tài)翻轉(zhuǎn)時(shí)的靜態(tài),‘0’、‘1’兩個(gè)狀態(tài)的功耗基本相同。單純由觸發(fā)器組成的隨機(jī)數(shù)發(fā)生器的功耗電流也將集中在驅(qū)動(dòng)時(shí)鐘沿的附近,會(huì)留下靜態(tài)窗口。為防止攻擊者利用靜態(tài)窗口來(lái)分析電路,應(yīng)在每個(gè)觸發(fā)器的輸出端接一個(gè)‘0’、‘1’狀態(tài)翻轉(zhuǎn)時(shí)瞬態(tài)功耗電流不同的負(fù)載電路。負(fù)載電路的‘0’、‘1’狀態(tài)翻轉(zhuǎn)時(shí)的瞬態(tài)功耗電流差應(yīng)與被保護(hù)的集成電路工作時(shí)的最小功耗電流變化量可比。
仔細(xì)考察邏輯集成電路的工作過(guò)程,可以看到在時(shí)鐘沿驅(qū)動(dòng)觸發(fā)器翻轉(zhuǎn)時(shí)所形成的功耗電流會(huì)集中在時(shí)鐘沿附近。如圖(1)(A)所示是單一由時(shí)鐘上升沿驅(qū)動(dòng)觸發(fā)器翻轉(zhuǎn)后形成功耗電流脈沖,由于同時(shí)翻轉(zhuǎn)的觸發(fā)器的個(gè)數(shù)不同電流脈沖的高度會(huì)有所不同。在實(shí)際的邏輯集成電路中,邏輯電路不僅僅是由觸發(fā)器組成的,在每個(gè)觸發(fā)器之后會(huì)連接一些組合邏輯。如果先假設(shè)觸發(fā)器后面跟有三級(jí)組合邏輯電路,類似于圖(2)所示,而且每級(jí)邏輯門的時(shí)間延時(shí)相同,大約十分之一時(shí)鐘周期左右。這樣在組合邏輯的輸出由‘0’轉(zhuǎn)變?yōu)椤?’或由‘1’轉(zhuǎn)變?yōu)椤?’時(shí)的功耗電流會(huì)形成像圖(1)(B)中所示那樣,在觸發(fā)器的功耗電流脈沖之后排列成三個(gè)脈沖電流,每一級(jí)脈沖電流的高度與多少個(gè)邏輯門發(fā)生了‘0’到‘1’或‘1’到‘0’的轉(zhuǎn)變相關(guān)。在實(shí)際的邏輯集成電路中不同功能的觸發(fā)器與不同功能的邏輯門電路的延時(shí)會(huì)有所不同,所形成的功耗電流會(huì)有一定的分布,但是某一特定功能的邏輯集成電路在工作時(shí),會(huì)形成帶有類似指紋特征的功耗電流特征分布圖案。記錄和分析集成電路電源上的電流變化規(guī)律就可以辨別出這些帶有指紋特征的功耗電流特征圖案。圖(3)為一個(gè)做16輪DES加密運(yùn)算的集成電路,在其電源功耗電流上留下的特征圖案。在某一特定功能的邏輯集成電路處理不同的數(shù)據(jù)時(shí),功耗電流的特征圖案會(huì)有微小的變化。使用差分電流分析法就可以分辨出這些微小的變化,可以進(jìn)一步分析出每次處理的數(shù)據(jù)的‘0’和‘1’的個(gè)數(shù)。這就是使用電源攻擊法的攻擊者所要做的工作。
如果僅僅使用隨時(shí)鐘沿隨機(jī)翻轉(zhuǎn)的觸發(fā)器所形成的附加功耗電流就無(wú)法完全掩蓋邏輯集成電路功耗電流的特征圖案。要想完全掩蓋功耗電流的特征圖案,必須在附加的觸發(fā)器的功耗電流之后再加入一些帶有一定延時(shí)分布的附加功耗電流。
圖(4)是我們使用的一種負(fù)載電路的原理圖,可以用來(lái)改變邏輯集成電路功耗電流瞬態(tài)變化的高度,因?yàn)槭褂昧藘?chǔ)能元件可以不過(guò)多的增加實(shí)際集成電路的平均功耗電流。在電路輸入端由‘1’翻轉(zhuǎn)到‘0’時(shí),兩個(gè)RC電路串接的N管導(dǎo)通,電源開始向電容充電,跨接在兩個(gè)RC電路上的P管截止。在電路輸入端由‘0’翻轉(zhuǎn)到‘1’時(shí),兩個(gè)RC電路上的串接的N管截止,經(jīng)過(guò)兩個(gè)反相器的延時(shí)時(shí)間之后,跨接的P管導(dǎo)通,將兩個(gè)充完電的電容串接向電源放電。圖(5)是四個(gè)這種負(fù)載電路在由“1110”翻轉(zhuǎn)到“0001”,或由“0001”翻轉(zhuǎn)到“1110”時(shí)產(chǎn)生的功耗電流的情況。
在與隨機(jī)翻轉(zhuǎn)觸發(fā)器相接時(shí)插入一些延時(shí)buffer,推后其改變功耗電流瞬態(tài)變化高度的位置,這樣在多個(gè)隨機(jī)翻轉(zhuǎn)的觸發(fā)器后面使用這種負(fù)載電路時(shí)插入不同的延時(shí),就可以形成帶有一定時(shí)間分布的功耗電流的改變,達(dá)到完全掩蓋功耗電流指紋特征圖案的目的。具體設(shè)計(jì)電路時(shí)可以將隨機(jī)翻轉(zhuǎn)觸發(fā)器分為多組,在每一組觸發(fā)器后面插入具有不同延時(shí)的buffer,然后再接負(fù)載電路。例如使用64個(gè)觸發(fā)器作為隨機(jī)翻轉(zhuǎn)觸發(fā)器,分為四組,每組16個(gè)觸發(fā)器。第一組插入1/6時(shí)鐘周期的延時(shí),第二組插入2/6時(shí)鐘周期的延時(shí),...,第四組插入4/6時(shí)鐘周期的延時(shí)。在時(shí)鐘的上升沿和下降沿都驅(qū)動(dòng)隨機(jī)翻轉(zhuǎn)觸發(fā)器的設(shè)計(jì)中,可插入1/12、2/12、3/12、4/12時(shí)鐘周期延時(shí)的buffer。為了減少所使用的延時(shí)buffer的門數(shù),可以適當(dāng)?shù)臏p少插入的延時(shí),但是至少應(yīng)覆蓋兩個(gè)驅(qū)動(dòng)時(shí)鐘沿之間2/3的區(qū)域,否則達(dá)不到足夠掩蓋指紋特征圖案的目的。也可分組用每一個(gè)觸發(fā)器控制環(huán)振的起振或停振,組內(nèi)環(huán)振級(jí)數(shù)相同,組間環(huán)振級(jí)數(shù)不同,環(huán)振的輸出驅(qū)動(dòng)負(fù)載電路,有一定幾率使多個(gè)負(fù)載電路產(chǎn)生的部分脈沖電流的位置相同。在多時(shí)鐘集成電路芯片(或單一時(shí)鐘但時(shí)鐘的上升沿與下降沿同時(shí)使用的集成電路)上如果涉及到加密電路的時(shí)鐘沿多于一個(gè),為達(dá)到好的保護(hù)效果可使用多個(gè)附加隨機(jī)功耗生成電路,應(yīng)每個(gè)驅(qū)動(dòng)時(shí)鐘沿驅(qū)動(dòng)一個(gè)附加隨機(jī)功耗電路。
電路中的電阻與電容的取值,應(yīng)根據(jù)被保護(hù)集成電路的平均功耗電流和工作頻率來(lái)確定。在每個(gè)延時(shí)分組為16個(gè)觸發(fā)器時(shí),單一負(fù)載電路電容充電時(shí)的脈沖電流峰值在平均功耗電流的1/30到1/20左右,RC的充放電時(shí)間常數(shù)為工作時(shí)鐘頻率周期的1/20左右比較合適
權(quán)利要求
權(quán)利要求
本發(fā)明的技術(shù)要點(diǎn)是防電源攻擊電路產(chǎn)生附加隨機(jī)變化的功耗電流迭加在被保護(hù)的帶加密技術(shù)集成電路的功耗電流之上,掩蓋原集成電路所產(chǎn)生的有變化規(guī)律的功耗電流。使用本發(fā)明保護(hù)的集成電路在測(cè)量其功耗電流時(shí),將看不出明顯的變化規(guī)律類似于使流分量上迭加的噪聲電流,即使能看出大概的有規(guī)律的變化輪廓在使用差分電流技術(shù)分析時(shí)得到的也只是無(wú)明顯規(guī)律的類似噪聲電流的結(jié)果。凡帶有以上技術(shù)特征的帶有加密技術(shù)的集成電路(包括用硬件實(shí)現(xiàn)加密技術(shù)的集成電路和SOC集成電路使用軟件實(shí)現(xiàn)加密技術(shù)的集成電路),應(yīng)是使用了本發(fā)明所說(shuō)明的方法保護(hù)的集成電路,屬于本專利保護(hù)的范圍。
全文摘要
本發(fā)明的名稱是加密集成電路防電源攻擊的方法,所屬技術(shù)領(lǐng)域?yàn)榧呻娐吩O(shè)計(jì),用于帶有加密技術(shù)的集成電路設(shè)計(jì),防止攻擊者用電源攻擊的方法破解加密技術(shù)。所謂電源攻擊是指攻擊者使用測(cè)量設(shè)備,監(jiān)測(cè)帶有加密技術(shù)的集成電路的電源功耗電流,分析集成電路加密過(guò)程中功耗電流的瞬態(tài)變化,破解加密方法。本發(fā)明防止電源攻擊的方法是在設(shè)計(jì)帶加密技術(shù)集成電路的同時(shí)在集成電路芯片中設(shè)計(jì)一個(gè)防電源攻擊電路,擾亂集成電路正常工作時(shí)電源功耗電流的變化規(guī)律,使攻擊者使用測(cè)量設(shè)備無(wú)法測(cè)量和監(jiān)測(cè)到集成電路工作過(guò)程中真實(shí)功耗電流的變化規(guī)律,防止帶加密技術(shù)的集成電路被破解。
文檔編號(hào)G11C11/34GK1485857SQ0212923
公開日2004年3月31日 申請(qǐng)日期2002年9月27日 優(yōu)先權(quán)日2002年9月27日
發(fā)明者張智宏 申請(qǐng)人:北京華虹集成電路設(shè)計(jì)有限責(zé)任公司