專利名稱:電子元件及其用于屏蔽指令執(zhí)行或數據處理的方法
技術領域:
本發(fā)明涉及電子元件及其用于屏蔽指令執(zhí)行或數據處理的方法。
具體地說,本發(fā)明涉及的電子元件用于業(yè)務存取或數據存取受到嚴格控制的應用領域。這類電子元件形成的是圍繞微處理器和存儲器的體系結構,它們執(zhí)行的算法使用的是存儲在元件中的秘密數據,而這些數據外部不能得到。這樣,一個秘密數據就可以用于完成有效的電子事務處理,例如進行購物,在任何時間該數據都不會在元件外部得到。
但是,在某些情況下,通過在外部觀察某些參數,例如與外部系統(tǒng)交換的數據或元件的電源接線端消耗的電流,根據統(tǒng)計處理就可以檢索與該元件有關的信息。特別是,通過根據時間觀察數據總線上傳播的信息(數據總線通常是一組總線),就可以獲得在這些信息和該元件中所用的算法處理之間的相關性。
也可以通過觀察電流隨時間的功耗情況得到所說信息的相關性。這樣就可以推出一個指令中處理的比特值。人們知道,在給定時間內一個特定指令消耗的電流根據處理的比特值“0”或“1”而變化。
本發(fā)明的目的在于屏蔽元件中的指令執(zhí)行和數據處理的方法,以便不能觀察電子元件的外部參數。
根據本發(fā)明,考慮隨機地中斷電子元件執(zhí)行的主程序,從而執(zhí)行一個輔助程序。由此,隨時改變了程序的執(zhí)行。從外部看起來,不再可能進行統(tǒng)計處理,這是因為記錄的曲線暫時隨機地全部偏離了。如果觀察到了數據交換的例子,則不論外部如何控制,由卡對任何外部命令的響應時間隨時都會發(fā)生變化,從而不再能夠推斷出任何相關信息。
對于觀察電流消耗來講,這種隨時間消耗的電流自身截斷,而且使電流消耗偏離正常的電流消耗曲線,也就不能得到任何相關信息。
這樣,作為體現這種特征的本發(fā)明涉及的電子元件包括至少一個微處理器和存儲設備,以便執(zhí)行主要程序。
根據本發(fā)明,該元件還包括一個隨機數值計算器,該計算器的輸出產生一個結束計算信息信號作為輸出,以便在要求由微處理器執(zhí)行一個輔助程序時暫停所述主要程序的執(zhí)行。
在本發(fā)明的一個實施方案中,該輔助程序的執(zhí)行持續(xù)時間是恒定的。在本發(fā)明的另一個實施方案中,該執(zhí)行持續(xù)時間是變化的,而且該執(zhí)行持續(xù)時間甚至是隨機的。
在一個改進的實施方案中,使該輔助程序啟動電流消耗設備,所述電流消耗設備使元件的電流消耗曲線變形,這樣也就更加有效屏蔽了所進行的操作和受控數據。
本發(fā)明還涉及屏蔽電子元件中的指令執(zhí)行或數據處理的方法。
通過下面結合附圖對示意性的非限定例子的說明將會詳細了解本發(fā)明的其它特征和優(yōu)點,其中
圖1是本發(fā)明電子元件的方框圖;和圖2是本發(fā)明另一實施例電子元件的另一方框圖。
圖1示出的是本發(fā)明電子元件CI的簡單方框圖。該電子元件包括一個微處理器1和與數據主線6相連的內源。所述內源主要包括一些存儲器,一個計算器4和一個隨機數值R的發(fā)生器5,在該實施例中所述存儲器是一個程序存儲器2和一個工作存儲器3。
電子元件CI包括不同的外部連接端子。在該實施例中,是一組數據的輸入/輸出元件,因此具有一個數據輸入/輸出端子I/O。它還包括一個接地端子Vss,一個電源端子Vcc,和一些與控制信號相關的端子(未示出)。
微處理器在輸入/輸出接口8處接收指令和數據,該接口連接到與外部系統(tǒng)相關的數據輸入/輸出端子上。
微處理器內產生不同的控制信號,以便管理不同的內源。
在這些控制信號中,示出了計算器4的一個有效信號EN,計算器的一個起始信號LOAD和隨機發(fā)生器5的一個激發(fā)信號SEL。
當計算器運行時(處于工作狀態(tài)),該計算器產生一個計算結束信號ITO。該計算結束信息信號用作切斷微處理器的信號。這樣,該信號連接到微處理器的斷路器7的輸入。應注意的是,計算結束表示的是一種一般表達式,意思是計算器結束直到一個確定數值,或者是指從確定數值計算器結束向下計算到零。
應注意的是,在所示的具體實施例中,計算器是一個硬件。
微處理器1執(zhí)行存儲程序中的主程序,該程序與輸入/輸出接口8接收的指令或數據有關,而這些數據又與外部系統(tǒng)有關。
根據本發(fā)明,主程序的執(zhí)行隨時都會被屏蔽,并同時執(zhí)行存儲程序中的輔助程序。
為此,在開始主程序時,使計算器初始化運行時帶有一個新的隨機數值。實際上,該運行包括使計算器無效(EN處于不工作狀態(tài))的指令,先取出隨機發(fā)生器5中的隨機數值R,然后將該數值加到(LOAD)計算器中,最后啟動計算器(EN處于工作狀態(tài))。
當計算器減到零時,該計算器就激勵計算結束的信息信號ITO,這就切斷微處理器的運行。當執(zhí)行(由微處理器執(zhí)行)輔助程序時,就屏蔽主程序。輔助程序對應于所考慮的切斷管理運行。
輔助程序至少包括上述已經用于使計算器初始化到一個新隨機數值的序列,以便能夠產生一個新的切斷。
該輔助程序可以對應于一個固定指令數值,在這種情況下,定時執(zhí)行輔助程序。例如,如果輔助程序只有取出發(fā)生器5的新隨機數值R和將該新隨機數值R裝入計算器4中(初始化)的指令,則定時地執(zhí)行輔助程序。
在這種情況下,除了執(zhí)行主程序外,同時還定期隨機地進行若干編碼(對應于輔助程序)。
在本發(fā)明的一個變型中,可以使輔助程序的執(zhí)行持續(xù)時間發(fā)生變化。
在第一個實施例中,輔助程序在一個二元數據上進行試驗,該數據每次做完程序就要修改,然后使執(zhí)行的指令數成隨試驗結果而變化。也可以使可變執(zhí)行持續(xù)時間依賴隨數學函數,例如,假定該數學函數需要多次計算才能求得結果,則執(zhí)行持續(xù)時間根據數學函數進行變化。所有這些求得一個可變持續(xù)時間的技術都是公知的。
在另一個實施例中,使該可變執(zhí)行持續(xù)時間隨機發(fā)生變化。在該實施例中,使輔助程序包括禁止該計算器,即先取出一個新的隨機數值,再在反向計數回路中進行反向計數使該數值到達零,然后再用一個新的隨機數值對計算器初始化。
在該變型中,將不定時進行的編碼不定時地引入執(zhí)行的主程序中。
實際上,本發(fā)明可以有多種變換。
特別是在主程序的執(zhí)行持續(xù)時間減少不是很多的情況下,可以在當時就限制因執(zhí)行輔助程序引起的總的延遲時間。
在本發(fā)明的另一個實施方案中,不僅隨機瞬間地暫停主程序的執(zhí)行,而且還消耗附加電流,該附加電流會“擾亂”執(zhí)行主程序時的電流消耗。
這種附加電流的消耗可以是瞬間地由輔助程序中的指令引起的。例如,可以在該輔助程序中用一種算法進行多次計算,所述算法例如是加密算法。
所執(zhí)行的這種運算是相應瞬間的電流消耗,也就是指執(zhí)行指令的時間,由于該瞬間的電流消耗加入到了正常電流消耗中,所以就會擾亂主程序的正常消耗,主程序的正常消耗是由于執(zhí)行主程序而隨時間變化的。
也可以在某一段時間內增加電流的消耗,以便具有持久的作用。因此,輔助程序起動電流消耗設備,當執(zhí)行輔助程序及主程序以后的指令時,該電流消耗設備至少在某一段時間消耗電流。
圖2示出的是本發(fā)明該第二實施方式的電子元件的方框圖。
除了上面已經描述過的那些標號與圖1相同的元件以外,電子元件還有一個充電泵9。
該充電泵主要用于產生高壓Vpp,該高壓用于根據電源電壓Vcc進行編程和清零,以便能夠對一個電子編程存儲器和/或電子清零存儲器中的數據進行編程和/或清零,所述存儲器例如通常稱作EPROM,EEPROM,還有flash EPROM存儲器的存儲器。在本發(fā)明中,該充電泵與編程存儲器相連。
在該實施例中,該泵由編程存儲器的讀出信號WE起動。
這種泵的特征為公知特征,它在輸出產生高壓期間和在編程或清零期間(幾個毫秒)消耗大量電流。通過起動該泵,也就是說通過在輔助程序中提供編程指令,就會增加一個相當大的電流消耗,由此就會屏蔽輔助程序及主程序以后的指令。
本發(fā)明并不限于上述實施方案或變形型。本發(fā)明包括所有用于在某一固定時間、變化或隨機時間內暫停地屏蔽主程序的設備,有或沒有使用增加輔助電流消耗的設備均可以。
通過使用本發(fā)明上述任何一種變型或這些變型的組合進行屏蔽或干擾,就不可能出現任何統(tǒng)計處理。
實際上,選擇這種或那種輔助程序可以取決于電子元件的用途。
本發(fā)明可應用到所有包括至少一個計算器和一個隨機發(fā)生器的電子元件。對于給定的電子元件來講,選擇這種或那種輔助程序取決于所考慮的元件的來源以及與所要進行的用途相關的功能。
也可以使用與其它程序混合的不同輔助程序,為了改善干擾的效果,則在開始切斷時就選擇所要執(zhí)行的輔助程序。
這種電子元件特別適用于智能卡,以便改善它們的不可侵犯性。
權利要求
1.一種電子元件,它包括至少一個用于執(zhí)行主程序的微處理器(1)和存儲設備(2,3),其特征在于該元件還包括一個計算隨機數值(R)的計算器(4),所述計算器產生一個計算結束的信息信號(ITO)作為輸出,以便當微處理器執(zhí)行一個輔助程序時,暫停所述主要程序的執(zhí)行。
2.根據權利要求1所述的電子元件,其特征在于該輔助程序的執(zhí)行持續(xù)時間是恒定的。
3.根據權利要求1所述的電子元件,其特征在于該輔助程序的執(zhí)行持續(xù)時間是變化的。
4.根據權利要求3所述的電子元件,其特征在于該輔助程序的執(zhí)行持續(xù)時間是隨機的。
5.根據上述任一權利要求所述的電子元件,其特征在于它還包括由輔助程序啟動的電流消耗設備。
6.根據權利要求5所述的電子元件,其特征在于所述電流消耗設備包括一個充電泵(9)。
7.根據權利要求5或6所述的電子元件,其特征在于所述電流消耗設備具有產生電流瞬時消耗的指令。
8.一種用于屏蔽電子元件(CI)中的操作執(zhí)行和數據處理的方法,該電子元件包括一個用于執(zhí)行主程序的微處理器(1)和存儲設備(2,3),其特征在于使用產生一個隨機數值(R)的發(fā)生器(5)和一個計算器(4),以便當請求執(zhí)行一個輔助程序時,隨機瞬間地暫停所述主要程序的執(zhí)行。
9.根據權利要求8所述的方法,其特征在于所述輔助程序在于使計算器(4)不起動,取出一個新的隨機數值(R),用該新數值使計算器(4)初始化,在重新執(zhí)行主要程序前進行反向計數。
10.根據權利要求8所述的方法,其特征在于隨機地執(zhí)行所述輔助程序。
11.根據權利要求10所述的方法,其特征在于輔助程序使計算器(4)不起動,取出一個新的隨機數值(R),在輔助程序回路中進行反向計數使該新數值到達零,然后再取另一個新的隨機數值(R)對計算器初始化到所說另一新值,在重新執(zhí)行主要程序前起動計算器。
12.根據權利要求8至11之一所述的方法,其特征在于所述輔助程序還起動電流消耗設備。
13.根據權利要求12所述的方法,其特征在于電流消耗設備包括一個充電泵(9)。
14.根據權利要求12或13所述的方法,其特征在于所述電流消耗設備具有產生電流瞬時消耗的指令。
15.根據權利要求8至14之一所述的方法,其特征在于它包括不同的輔助程序。
全文摘要
本發(fā)明涉及一種電子元件(CI),它包括一個用于執(zhí)行主要程序的微處理器(1)和存儲設備(2,3)。一個隨機數值(R)的發(fā)生器(4)的輸出產生一個計算結束的信息信號(ITO),以便當執(zhí)行一個輔助程序時,暫停所述主要程序的執(zhí)行。本發(fā)明適用于智能卡。
文檔編號G06F21/55GK1332860SQ99812249
公開日2002年1月23日 申請日期1999年10月15日 優(yōu)先權日1998年10月16日
發(fā)明者P·安圭塔, D·納卡徹 申請人:格姆普拉斯公司